From 35abc758bf497882462d50deda212af8a1666a9d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 25 十一月 2024 09:22:37 +0800
Subject: [PATCH] 优化出售车辆时间问题

---
 service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java |  469 +++++++++++----------------------------------------------
 1 files changed, 95 insertions(+), 374 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
index 4b4a65c..c2fba61 100755
--- a/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportFeeMonthStatistics/impl/GetReportFeeMonthStatisticsBMOImpl.java
@@ -3,28 +3,28 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.smo.IComputeFeeSMO;
 import com.java110.dto.PageDto;
-import com.java110.dto.RoomDto;
+import com.java110.dto.room.RoomDto;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.dto.fee.FeeDto;
 import com.java110.dto.owner.OwnerDto;
-import com.java110.dto.owner.OwnerRoomRelDto;
-import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairUserDto;
 import com.java110.dto.report.ReportDeposit;
-import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsDto;
-import com.java110.dto.reportFeeMonthStatistics.ReportFeeMonthStatisticsTotalDto;
+import com.java110.dto.reportFee.ReportFeeMonthStatisticsDto;
 import com.java110.intf.community.IRepairInnerServiceSMO;
 import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
+import com.java110.intf.fee.IFeeDetailInnerServiceSMO;
+import com.java110.intf.report.IQueryPayFeeDetailInnerServiceSMO;
 import com.java110.intf.report.IReportFeeMonthStatisticsInnerServiceSMO;
 import com.java110.intf.user.IOwnerInnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
 import com.java110.report.bmo.reportFeeMonthStatistics.IGetReportFeeMonthStatisticsBMO;
-import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.ListUtil;
 import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.java110.core.log.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -39,7 +39,6 @@
 public class GetReportFeeMonthStatisticsBMOImpl implements IGetReportFeeMonthStatisticsBMO {
 
     private static final Logger logger = LoggerFactory.getLogger(GetReportFeeMonthStatisticsBMOImpl.class);
-
 
     private int MAX_ROWS = 500;  // 鏈�澶ц鏁�
 
@@ -61,12 +60,17 @@
     @Autowired
     private IComputeFeeSMO computeFeeSMOImpl;
 
+    @Autowired
+    private IFeeDetailInnerServiceSMO feeDetailInnerServiceSMOImpl;
+
+    @Autowired
+    private IQueryPayFeeDetailInnerServiceSMO queryPayFeeDetailInnerServiceSMOImpl;
+
     /**
      * @param reportFeeMonthStatisticsDto
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public ResponseEntity<String> get(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-
 
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeMonthStatisticssCount(reportFeeMonthStatisticsDto);
 
@@ -86,6 +90,7 @@
 
     @Override
     public ResponseEntity<String> queryReportFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFeeSummaryCount(reportFeeMonthStatisticsDto);
 
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = new ArrayList<>();
@@ -122,9 +127,7 @@
         }
 
         ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos);
-
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-
         return responseEntity;
     }
 
@@ -170,7 +173,6 @@
                     .setScale(2, BigDecimal.ROUND_HALF_UP);
             tmpReportFeeMonthStatisticsDto.setHisOweAmount(hisOweAmountDec.doubleValue());
 
-
             //褰撴湀搴旀敹
             curReceivableAmountDec = new BigDecimal(tmpReportFeeMonthStatisticsDto.getCurReceivableAmount());
             curReceivableAmountDec = curReceivableAmountDec.add(new BigDecimal(reportFeeMonthStatisticsDto.getCurReceivableAmount()))
@@ -207,7 +209,6 @@
                     .setScale(2, BigDecimal.ROUND_HALF_UP);
             tmpReportFeeMonthStatisticsDto.setReceivedAmount(receivedAmountDec.doubleValue() + "");
         }
-
         return reportFeeMonthStatisticsDtos;
     }
 
@@ -225,14 +226,14 @@
                 return tmpReportFeeMonthStatisticsDto;
             }
         }
-
         return null;
     }
 
     @Override
     public ResponseEntity<String> queryReportFloorUnitFeeSummary(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+        reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + "");
+        reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + "");
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFloorUnitFeeSummaryCount(reportFeeMonthStatisticsDto);
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportFloorUnitFeeSummary(reportFeeMonthStatisticsDto);
@@ -261,17 +262,45 @@
 
     @Override
     public ResponseEntity<String> queryFeeBreakdown(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+        if (StringUtil.isEmpty(reportFeeMonthStatisticsDto.getYearMonth())) {
+            reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + "");
+            reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + "");
+        }
+
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdownCount(reportFeeMonthStatisticsDto);
 
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto);
             ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdownMajor(reportFeeMonthStatisticsDto);
+            reportFeeMonthStatisticsDto.setPage(PageDto.DEFAULT_PAGE);
+            List<ReportFeeMonthStatisticsDto> reportFeeMonthStatistics = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeBreakdown(reportFeeMonthStatisticsDto);
+            BigDecimal allOweAmount = new BigDecimal(0.0);
+            BigDecimal allHisOweReceivedAmount = new BigDecimal(0.0);
+            for (ReportFeeMonthStatisticsDto reportFeeMonthStatistic : reportFeeMonthStatistics) {
+                //鑾峰彇鍘嗗彶娆犺垂
+                BigDecimal hisOweAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweAmount());
+                //鑾峰彇褰撴湀搴旀敹
+                BigDecimal curReceivableAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivableAmount());
+                //鑾峰彇褰撴湀瀹炴敹
+                BigDecimal curReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivedAmount());
+                //鑾峰彇娆犲�鸿拷鍥�
+                BigDecimal hisOweReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweReceivedAmount());
+                //璁$畻娆犺垂閲戦
+                BigDecimal oweAmount = hisOweAmount.add(curReceivableAmount).subtract(curReceivedAmount).subtract(hisOweReceivedAmount);
+                if (oweAmount.compareTo(BigDecimal.ZERO) == 1) { //娆犺垂閲戦澶т簬0
+                    allOweAmount = allOweAmount.add(oweAmount);
+                }
+                if (hisOweReceivedAmount.compareTo(BigDecimal.ZERO) == 1) { //娆犺垂杩藉洖澶т簬0
+                    allHisOweReceivedAmount = allHisOweReceivedAmount.add(hisOweReceivedAmount);
+                }
+            }
             if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
                 for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
                     reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
                     reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
-                    reportFeeMonthStatisticsDto1.setAllOweAmount(tmpReportFeeMonthStatisticsDto.getAllOweAmount());
+                    reportFeeMonthStatisticsDto1.setAllOweAmount(allOweAmount.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    reportFeeMonthStatisticsDto1.setAllHisOweReceivedAmount(allHisOweReceivedAmount.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
                 }
             }
         } else {
@@ -287,51 +316,49 @@
 
     @Override
     public ResponseEntity<String> queryFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+        reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + "");
+        reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + "");
+
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetailCount(reportFeeMonthStatisticsDto);
 
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
-        //搴旀敹鎬婚噾棰�(澶ц)
-        Double allReceivableAmount = 0.0;
-        //瀹炴敹閲戦(澶ц)
-        Double allReceivedAmount = 0.0;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetail(reportFeeMonthStatisticsDto);
             List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryAllFeeDetail(reportFeeMonthStatisticsDto);
-            allReceivableAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivableAmount());
-            allReceivedAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivedAmount());
+            reportFeeMonthStatisticsDto.setPage(PageDto.DEFAULT_PAGE);
+            List<ReportFeeMonthStatisticsDto> reportFeeMonthStatistics = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeDetail(reportFeeMonthStatisticsDto);
+            BigDecimal allOweAmount = new BigDecimal(0.0);
+            BigDecimal allHisOweReceivedAmount = new BigDecimal(0.0);
+            for (ReportFeeMonthStatisticsDto reportFeeMonthStatistic : reportFeeMonthStatistics) {
+                //鑾峰彇鍘嗗彶娆犺垂
+                BigDecimal hisOweAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweAmount());
+                //鑾峰彇褰撴湀搴旀敹
+                BigDecimal curReceivableAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivableAmount());
+                //鑾峰彇褰撴湀瀹炴敹
+                BigDecimal curReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getCurReceivedAmount());
+                //鑾峰彇娆犺垂杩藉洖
+                BigDecimal hisOweReceivedAmount = new BigDecimal(reportFeeMonthStatistic.getHisOweReceivedAmount());
+                //璁$畻娆犺垂閲戦
+                BigDecimal oweAmount = hisOweAmount.add(curReceivableAmount).subtract(curReceivedAmount).subtract(hisOweReceivedAmount);
+                if (oweAmount.compareTo(BigDecimal.ZERO) == 1) { //娆犺垂閲戦澶т簬0
+                    allOweAmount = allOweAmount.add(oweAmount);
+                }
+                if (hisOweReceivedAmount.compareTo(BigDecimal.ZERO) == 1) { //娆犺垂杩藉洖澶т簬0
+                    allHisOweReceivedAmount = allHisOweReceivedAmount.add(hisOweReceivedAmount);
+                }
+            }
+            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
+                for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
+                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(reportFeeMonthStatisticsList.get(0).getAllReceivableAmount());
+                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(reportFeeMonthStatisticsList.get(0).getAllReceivedAmount());
+                    reportFeeMonthStatisticsDto1.setAllOweAmount(allOweAmount.setScale(2, BigDecimal.ROUND_HALF_UP).toString());
+                    reportFeeMonthStatisticsDto1.setAllHisOweReceivedAmount(allHisOweReceivedAmount.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue());
+                }
+            }
         } else {
             reportFeeMonthStatisticsDtos = new ArrayList<>();
         }
-
-        //搴旀敹鎬婚噾棰�(灏忚)
-        Double totalReceivableAmount = 0.0;
-        //瀹炴敹鎬婚噾棰�(灏忚)
-        Double totalReceivedAmount = 0.0;
-        List<ReportFeeMonthStatisticsDto> reportList = new ArrayList<>();
-        for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) {
-            //搴旀敹閲戦
-            Double receivableAmount = Double.valueOf(reportFeeMonthStatistics.getReceivableAmount());
-            //瀹炴敹閲戦
-            Double receivedAmount = Double.valueOf(reportFeeMonthStatistics.getReceivedAmount());
-            totalReceivableAmount = totalReceivableAmount + receivableAmount;
-            totalReceivedAmount = totalReceivedAmount + receivedAmount;
-        }
-
-        //鏌ヨ璇ュ皬鍖轰笅鐨勮垂鐢ㄩ」鐩�
-        FeeConfigDto feeConfigDto = new FeeConfigDto();
-        feeConfigDto.setCommunityId(reportFeeMonthStatisticsDto.getCommunityId());
-        List<FeeConfigDto> feeConfigDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
-
-        for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) {
-            reportFeeMonthStatistics.setTotalReceivableAmount(String.format("%.2f", totalReceivableAmount));
-            reportFeeMonthStatistics.setTotalReceivedAmount(String.format("%.2f", totalReceivedAmount));
-            reportFeeMonthStatistics.setAllReceivableAmount(String.format("%.2f", allReceivableAmount));
-            reportFeeMonthStatistics.setAllReceivedAmount(String.format("%.2f", allReceivedAmount));
-            reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos);
-            reportList.add(reportFeeMonthStatistics);
-        }
-
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos);
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
@@ -341,12 +368,11 @@
     @Override
     public ResponseEntity<String> queryOweFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryOweFeeDetailCount(reportFeeMonthStatisticsDto);
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryOweFeeDetail(reportFeeMonthStatisticsDto);
             ReportFeeMonthStatisticsDto tmpReportFeeMonthStatisticsDto = reportFeeMonthStatisticsInnerServiceSMOImpl.queryOweFeeDetailMajor(reportFeeMonthStatisticsDto);
-            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
+            if (!ListUtil.isNull(reportFeeMonthStatisticsDtos)) {
                 for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 : reportFeeMonthStatisticsDtos) {
 //                    reportFeeMonthStatisticsDto1.setAllReceivableAmount(tmpReportFeeMonthStatisticsDto.getAllReceivableAmount());
 //                    reportFeeMonthStatisticsDto1.setAllReceivedAmount(tmpReportFeeMonthStatisticsDto.getAllReceivedAmount());
@@ -365,293 +391,13 @@
         return responseEntity;
     }
 
-    @Override
-    public ResponseEntity<String> queryPayFeeDetail(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
 
-        JSONObject countInfo = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetailCount(reportFeeMonthStatisticsDto);
-
-        int count = Integer.parseInt(countInfo.get("count").toString());
-
-        List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
-        ReportFeeMonthStatisticsTotalDto reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto();
-        List<ReportFeeMonthStatisticsDto> reportList = new ArrayList<>();
-        //鏌ヨ璇ュ皬鍖轰笅鐨勮垂鐢ㄩ」鐩�
-        FeeConfigDto feeConfigDto = new FeeConfigDto();
-        feeConfigDto.setCommunityId(reportFeeMonthStatisticsDto.getCommunityId());
-        List<FeeConfigDto> feeConfigDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
-        //搴旀敹鎬婚噾棰�(澶ц)
-        Double allReceivableAmount = 0.0;
-        //瀹炴敹閲戦(澶ц)
-        Double allReceivedAmount = 0.0;
-        //浼樻儬閲戦(澶ц)
-        Double allPreferentialAmount = 0.0;
-        //鍑忓厤閲戦(澶ц)
-        Double allDeductionAmount = 0.0;
-        //婊炵撼閲�(澶ц)
-        Double allLateFee = 0.0;
-        //绌虹疆鎴挎墦鎶�(澶ц)
-        Double allVacantHousingDiscount = 0.0;
-        //绌虹疆鎴垮噺鍏�(澶ц)
-        Double allVacantHousingReduction = 0.0;
-
-
-        //鍚村鏂� 娉ㄩ噴 鎰熻鍜屼笂闈㈢殑369 鍔熻兘閲嶅
-        //int size = 0;
-        if (count > 0) {
-            //鏌ヨ缂磋垂鏄庣粏
-            reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto);
-            //鍚村鏂� 娉ㄩ噴 鎰熻鍜屼笂闈㈢殑369 鍔熻兘閲嶅
-//            if (reportFeeMonthStatisticsDtos != null && reportFeeMonthStatisticsDtos.size() > 0) {
-//                //鏌ヨ鎵�鏈夌即璐规槑缁嗚褰�
-//                ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto1 = BeanConvertUtil.covertBean(reportFeeMonthStatisticsDto, ReportFeeMonthStatisticsDto.class);
-//                reportFeeMonthStatisticsDto1.setPage(PageDto.DEFAULT_PAGE);
-//                List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos1 = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetail(reportFeeMonthStatisticsDto1);
-//                size = reportFeeMonthStatisticsDtos1.size();
-//            }
-            //鏌ヨ搴旀敹銆佸疄鏀舵�婚噾棰�(澶ц)
-            List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsList = reportFeeMonthStatisticsInnerServiceSMOImpl.queryAllPayFeeDetail(reportFeeMonthStatisticsDto);
-            //鏌ヨ(浼樻儬銆佸噺鍏嶃�佹粸绾抽噾銆佺┖缃埧鎵撴姌銆佺┖缃埧鍑忓厤閲戦绛�)澶ц鎬婚噾棰�
-            List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsSum = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPayFeeDetailSum(reportFeeMonthStatisticsDto);
-            allReceivableAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivableAmount());
-            allReceivedAmount = Double.valueOf(reportFeeMonthStatisticsList.get(0).getAllReceivedAmount());
-            for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsSum) {
-                //杩欓噷鏄煡璇㈠嚭鐨勯噾棰濇�诲拰
-                String discountPrice = reportFeeMonthStatistics.getDiscountPrice();
-                //浼樻儬閲戦(澶ц)
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("1")) {
-                    allPreferentialAmount = Double.valueOf(discountPrice);
-                }
-                //鍑忓厤閲戦(澶ц)
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("2")) {
-                    allDeductionAmount = Double.valueOf(discountPrice);
-                }
-                //婊炵撼閲�(澶ц)
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) {
-                    allLateFee = Double.valueOf(discountPrice);
-                }
-                //绌虹疆鎴挎墦鎶橀噾棰�(澶ц)
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("4")) {
-                    allVacantHousingDiscount = Double.valueOf(discountPrice);
-                }
-                //绌虹疆鎴垮噺鍏嶉噾棰�(澶ц)
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("5")) {
-                    allVacantHousingReduction = Double.valueOf(discountPrice);
-                }
-            }
-            //搴旀敹鎬婚噾棰�(灏忚)
-            Double totalReceivableAmount = 0.0;
-            //瀹炴敹鎬婚噾棰�(灏忚)
-            Double totalReceivedAmount = 0.0;
-            //浼樻儬閲戦(灏忚)
-            Double totalPreferentialAmount = 0.0;
-            //鍑忓厤閲戦(灏忚)
-            Double totalDeductionAmount = 0.0;
-            //绌虹疆鎴挎墦鎶橀噾棰�(灏忚)
-            Double totalVacantHousingDiscount = 0.0;
-            //绌虹疆鎴垮噺鍏嶉噾棰�(灏忚)
-            Double totalVacantHousingReduction = 0.0;
-            //婊炵撼閲�(灏忚)
-            Double totalLateFee = 0.0;
-            List<String> ownerIds = new ArrayList<>();
-            for (ReportFeeMonthStatisticsDto reportFeeMonthStatistics : reportFeeMonthStatisticsDtos) {
-                //搴旀敹閲戦
-                Double receivableAmount = Double.valueOf(reportFeeMonthStatistics.getReceivableAmount());
-                //瀹炴敹閲戦
-                Double receivedAmount = Double.valueOf(reportFeeMonthStatistics.getReceivedAmount());
-                totalReceivableAmount = totalReceivableAmount + receivableAmount;
-                totalReceivedAmount = totalReceivedAmount + receivedAmount;
-
-                if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(reportFeeMonthStatistics.getPayerObjType())) {
-                    ownerIds.add(reportFeeMonthStatistics.getOwnerId());
-                }
-
-                // 鏈�澶ц褰曟椂 灏卞幓鍒锋柊
-                //濡傛灉鏄溅浣嶅埛鎴垮眿淇℃伅
-                if (ownerIds.size() == MAX_ROWS) {
-                    refreshReportFeeMonthStatistics(ownerIds, reportFeeMonthStatisticsDtos);
-                    ownerIds = new ArrayList<>();
-                }
-
-                //浼樻儬閲戦
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("1")) {
-                    //鑾峰彇浼樻儬閲戦
-                    Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
-                    totalPreferentialAmount = totalPreferentialAmount + discountPrice;
-                    //浼樻儬閲戦
-                    reportFeeMonthStatistics.setPreferentialAmount(reportFeeMonthStatistics.getDiscountPrice());
-                } else {
-                    reportFeeMonthStatistics.setPreferentialAmount("0");
-                }
-                //鍑忓厤閲戦
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("2")) {
-                    //鑾峰彇鍑忓厤閲戦
-                    Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
-                    totalDeductionAmount = totalDeductionAmount + discountPrice;
-                    //鍑忓厤閲戦
-                    reportFeeMonthStatistics.setDeductionAmount(reportFeeMonthStatistics.getDiscountPrice());
-                } else {
-                    reportFeeMonthStatistics.setDeductionAmount("0");
-                }
-                //婊炵撼閲�
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("3")) {
-                    //鑾峰彇婊炵撼閲戦噾棰�
-                    Double discountPrice = (Double.valueOf(reportFeeMonthStatistics.getDiscountPrice())) * (-1);
-                    totalLateFee = totalLateFee + discountPrice;
-                    //婊炵撼閲�
-                    reportFeeMonthStatistics.setLateFee(reportFeeMonthStatistics.getDiscountPrice());
-                } else {
-                    reportFeeMonthStatistics.setLateFee("0");
-                }
-                //绌虹疆鎴挎墦鎶�
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("4")) {
-                    //绌虹疆鎴挎墦鎶橀噾棰�
-                    Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
-                    totalVacantHousingDiscount = totalVacantHousingDiscount + discountPrice;
-                    //绌虹疆鎴挎墦鎶�
-                    reportFeeMonthStatistics.setVacantHousingDiscount(reportFeeMonthStatistics.getDiscountPrice());
-                } else {
-                    reportFeeMonthStatistics.setVacantHousingDiscount("0");
-                }
-                //绌虹疆鎴垮噺鍏�
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getDiscountSmallType()) && reportFeeMonthStatistics.getDiscountSmallType().equals("5")) {
-                    //绌虹疆鎴垮噺鍏嶉噾棰�
-                    Double discountPrice = Double.valueOf(reportFeeMonthStatistics.getDiscountPrice());
-                    totalVacantHousingReduction = totalVacantHousingReduction + discountPrice;
-                    //绌虹疆鎴垮噺鍏�
-                    reportFeeMonthStatistics.setVacantHousingReduction(reportFeeMonthStatistics.getDiscountPrice());
-                } else {
-                    reportFeeMonthStatistics.setVacantHousingReduction("0");
-                }
-                if (FeeDto.PAYER_OBJ_TYPE_ROOM.equals(reportFeeMonthStatistics.getPayerObjType())) {
-                    reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getFloorNum()
-                            + "鏍�" + reportFeeMonthStatistics.getUnitNum()
-                            + "鍗曞厓" + reportFeeMonthStatistics.getRoomNum() + "瀹�");
-                } else if (FeeDto.PAYER_OBJ_TYPE_CAR.equals(reportFeeMonthStatistics.getPayerObjType())) {
-                    reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getCarNum());
-                } else {
-                    reportFeeMonthStatistics.setObjName(reportFeeMonthStatistics.getContractCode());
-
-                }
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getImportFeeName())) {
-                    reportFeeMonthStatistics.setFeeName(reportFeeMonthStatistics.getImportFeeName());
-                }
-                //璐圭敤椤圭洰
-                reportFeeMonthStatistics.setFeeConfigDtos(feeConfigDtos);
-                if (!StringUtil.isEmpty(reportFeeMonthStatistics.getRepairId())) {
-                    RepairDto repairDto = new RepairDto();
-                    repairDto.setRepairId(reportFeeMonthStatistics.getRepairId());
-                    //鏌ヨ鎶ヤ慨鍗�
-                    List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
-                    Assert.listOnlyOne(repairDtos, "鏌ヨ鎶ヤ慨鍗曢敊璇紒");
-                    if (!StringUtil.isEmpty(repairDtos.get(0).getRepairObjType()) && repairDtos.get(0).getRepairObjType().equals("004")) {
-                        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
-                        ownerRoomRelDto.setRoomId(repairDtos.get(0).getRepairObjId());
-                        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
-                        if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 0) { //鏌ヨ鏉℃暟涓�0鏉�
-                            OwnerRoomRelDto ownerRoomRel = new OwnerRoomRelDto();
-                            ownerRoomRel.setRoomId(repairDtos.get(0).getRepairObjId());
-                            ownerRoomRel.setStatusCd("1"); //鐪嬬湅涓氫富鎴垮眿鍏崇郴鏁版嵁鏄惁鍒犻櫎浜�
-                            List<OwnerRoomRelDto> ownerRoomRels = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRel);
-                            Assert.listOnlyOne(ownerRoomRels, "鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
-                            OwnerDto owner = new OwnerDto();
-                            owner.setOwnerId(ownerRoomRels.get(0).getOwnerId());
-                            owner.setOwnerTypeCd("1001"); //涓氫富鏈汉
-                            List<OwnerDto> owners = ownerInnerServiceSMOImpl.queryOwners(owner);
-                            if (owners != null && owners.size() == 0) { //鏌ュ嚭鏉℃暟涓�0鏉�
-                                //鍒ゆ柇涓氫富鏄惁鍒犻櫎浜�
-                                OwnerDto newOwner = new OwnerDto();
-                                newOwner.setOwnerId(ownerRoomRels.get(0).getOwnerId());
-                                newOwner.setOwnerTypeCd("1001"); //涓氫富鏈汉
-                                newOwner.setStatusCd("1");
-                                List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner);
-                                Assert.listOnlyOne(newOwners, "鏌ヨ涓氫富淇℃伅閿欒锛�");
-                                reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName());
-                            } else if (owners != null && owners.size() == 1) { //鏌ュ嚭鏉℃暟涓�1鏉�
-                                reportFeeMonthStatistics.setOwnerName(owners.get(0).getName());
-                            } else {
-                                throw new IllegalArgumentException("鏌ヨ涓氫富淇℃伅閿欒锛�");
-                            }
-                        } else if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() == 1) { //鏌ヨ鏉℃暟涓�1鏉�
-                            OwnerDto ownerDto = new OwnerDto();
-                            ownerDto.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
-                            ownerDto.setOwnerTypeCd("1001"); //涓氫富鏈汉
-                            List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
-                            if (ownerDtos != null && ownerDtos.size() == 0) { //涓氫富鏌ヨ鏉℃暟涓�0鏉�
-                                //鍒ゆ柇涓氫富鏄惁鍒犻櫎浜�
-                                OwnerDto newOwner = new OwnerDto();
-                                newOwner.setOwnerId(ownerRoomRelDtos.get(0).getOwnerId());
-                                newOwner.setOwnerTypeCd("1001"); //涓氫富鏈汉
-                                newOwner.setStatusCd("1");
-                                List<OwnerDto> newOwners = ownerInnerServiceSMOImpl.queryOwners(newOwner);
-                                Assert.listOnlyOne(newOwners, "鏌ヨ涓氫富淇℃伅閿欒锛�");
-                                reportFeeMonthStatistics.setOwnerName(newOwners.get(0).getName());
-                            } else if (ownerDtos != null || ownerDtos.size() == 1) {
-                                reportFeeMonthStatistics.setOwnerName(ownerDtos.get(0).getName());
-                            } else {
-                                throw new IllegalArgumentException("鏌ヨ涓氫富淇℃伅閿欒锛�");
-                            }
-                        } else {
-                            throw new IllegalArgumentException("鏌ヨ涓氫富鎴垮眿鍏崇郴琛ㄩ敊璇紒");
-                        }
-                    }
-                }
-                if (!hasInReportListAndMerge(reportList, reportFeeMonthStatistics)) {
-                    reportList.add(reportFeeMonthStatistics);
-                }
-            }
-
-            //濡傛灉鏄溅浣嶅埛鎴垮眿淇℃伅
-            if (ownerIds.size() > 0) {
-                refreshReportFeeMonthStatistics(ownerIds, reportFeeMonthStatisticsDtos);
-            }
-
-            //搴旀敹鎬婚噾棰�(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalReceivableAmount(String.format("%.2f", totalReceivableAmount));
-            //瀹炴敹閲戦(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalReceivedAmount(String.format("%.2f", totalReceivedAmount));
-            //浼樻儬閲戦(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalPreferentialAmount(String.valueOf(totalPreferentialAmount));
-            //鍑忓厤閲戦(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalDeductionAmount(String.valueOf(totalDeductionAmount));
-            //婊炵撼閲�(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalLateFee(String.valueOf(totalLateFee));
-            //绌虹疆鎴挎墦鎶�(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalVacantHousingDiscount(String.valueOf(totalVacantHousingDiscount));
-            //绌虹疆鎴垮噺鍏�(灏忚)
-            reportFeeMonthStatisticsTotalDto.setTotalVacantHousingReduction(String.valueOf(totalVacantHousingReduction));
-            //搴旀敹閲戦(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllReceivableAmount(String.format("%.2f", allReceivableAmount));
-            //瀹炴敹閲戦(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllReceivedAmount(String.format("%.2f", allReceivedAmount));
-            //浼樻儬閲戦(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllPreferentialAmount(String.valueOf(allPreferentialAmount));
-            //鍑忓厤閲戦(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllDeductionAmount(String.valueOf(allDeductionAmount));
-            //婊炵撼閲�(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllLateFee(String.valueOf(allLateFee));
-            //绌虹疆鎴挎墦鎶橀噾棰�(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllVacantHousingDiscount(String.valueOf(allVacantHousingDiscount));
-            //绌虹疆鎴垮噺鍏嶉噾棰�(澶ц)
-            reportFeeMonthStatisticsTotalDto.setAllVacantHousingReduction(String.valueOf(allVacantHousingReduction));
-        } else {
-            reportFeeMonthStatisticsDtos = new ArrayList<>();
-            reportList.addAll(reportFeeMonthStatisticsDtos);
-            reportFeeMonthStatisticsTotalDto = new ReportFeeMonthStatisticsTotalDto();
-        }
-
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportList, reportFeeMonthStatisticsTotalDto);
-
-        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-
-        return responseEntity;
-    }
 
     /**
      * @param ownerIds
      * @param reportFeeMonthStatisticsDtos
      */
     private void refreshReportFeeMonthStatistics(List<String> ownerIds, List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos) {
-
         if (ownerIds == null || ownerIds.size() < 1) {
             return;
         }
@@ -665,7 +411,7 @@
                 continue;
             }
             for (OwnerDto ownerDto1 : ownerDtos) {
-                if (!reportFeeMonthStatisticsDto.getOwnerId().equals(ownerDto1.getOwnerId())) {
+                if (!StringUtil.isEmpty(reportFeeMonthStatisticsDto.getOwnerId()) && !reportFeeMonthStatisticsDto.getOwnerId().equals(ownerDto1.getOwnerId())) {
                     continue;
                 }
                 objName = reportFeeMonthStatisticsDto.getObjName() + "(" + ownerDto1.getFloorNum() + "鏍�" + ownerDto1.getUnitNum() + "鍗曞厓" + ownerDto1.getRoomNum() + "瀹�)";
@@ -728,7 +474,6 @@
 
     @Override
     public ResponseEntity<String> queryPrePaymentCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
 
         reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPrePaymentCount(reportFeeMonthStatisticsDto);
@@ -742,7 +487,6 @@
 
     @Override
     public ResponseEntity<String> queryDeadlinePaymentCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
 
         reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryDeadlinePaymentCount(reportFeeMonthStatisticsDto);
@@ -756,7 +500,6 @@
 
     @Override
     public ResponseEntity<String> queryOwePaymentCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
         List<ReportFeeMonthStatisticsDto> reportAllFeeMonthStatisticsDtos = null;
 
@@ -775,7 +518,6 @@
             }
         }
 
-
         ResultVo resultVo = new ResultVo(reportAllFeeMonthStatisticsDtos);
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
@@ -791,6 +533,8 @@
      */
     @Override
     public ResponseEntity<String> queryReportProficientCount(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
+        reportFeeMonthStatisticsDto.setFeeYear(DateUtil.getYear() + "");
+        reportFeeMonthStatisticsDto.setFeeMonth(DateUtil.getMonth() + "");
         JSONObject result = reportFeeMonthStatisticsInnerServiceSMOImpl.queryReportProficientCount(reportFeeMonthStatisticsDto);
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(result.toString(), HttpStatus.OK);
 
@@ -939,7 +683,7 @@
         //鑾峰彇鎬绘潯鏁�
         int size = staffs.size();
 
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) repairUserDto.getRow()), repairUserList.size(), repairUserList, staffs, repairUser);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) size / (double) repairUserDto.getRow()), size, repairUserList, staffs, repairUser);
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 
@@ -1062,9 +806,8 @@
 
     @Override
     public ResponseEntity<String> queryHuaningOweFee(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeCount(reportFeeMonthStatisticsDto);
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
+        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeCounts(reportFeeMonthStatisticsDto);
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFee(reportFeeMonthStatisticsDto);
         } else {
@@ -1080,26 +823,16 @@
 
     @Override
     public ResponseEntity<String> queryHuaningPayFee(Map paramInfo) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.set(Calendar.YEAR, (int) paramInfo.get("year"));
-        calendar.set(Calendar.MONTH, (int) paramInfo.get("month") - 1);
-        paramInfo.put("yearMonth", DateUtil.getFormatTimeString(calendar.getTime(), "YYYY-MM"));
-        calendar.add(Calendar.MONTH, 1);
-        paramInfo.put("nextYear", calendar.get(Calendar.YEAR));
-        paramInfo.put("nextMonth", calendar.get(Calendar.MONTH) + 1);
-        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFeeCount(paramInfo);
-
         List<Map> reportFeeMonthStatisticsDtos = null;
+        int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFeeCounts(paramInfo);
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningPayFee(paramInfo);
         } else {
             reportFeeMonthStatisticsDtos = new ArrayList<>();
         }
-
-        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (int) paramInfo.get("row")), count, reportFeeMonthStatisticsDtos);
-
+        ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto = BeanConvertUtil.covertBean(paramInfo, ReportFeeMonthStatisticsDto.class);
+        ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) reportFeeMonthStatisticsDto.getRow()), count, reportFeeMonthStatisticsDtos);
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
-
         return responseEntity;
     }
 
@@ -1130,12 +863,12 @@
 
     @Override
     public ResponseEntity<String> queryHuaningOweFeeDetail(Map paramInfo) {
-        Calendar calendar = Calendar.getInstance();
+        //Calendar calendar = Calendar.getInstance();
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeDetailCount(paramInfo);
         List<Map> reportFeeMonthStatisticsDtos = null;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryHuaningOweFeeDetail(paramInfo);
-            refreshOweFee(reportFeeMonthStatisticsDtos, paramInfo);
+            // refreshOweFee(reportFeeMonthStatisticsDtos, paramInfo);
         } else {
             reportFeeMonthStatisticsDtos = new ArrayList<>();
         }
@@ -1155,44 +888,36 @@
         calendar.set(Calendar.MONTH, 0);
         Date curStart = calendar.getTime();
 
-
         for (Map paramIn : reportFeeMonthStatisticsDtos) {
-
             startTime = (Date) paramIn.get("startTime");
             endTime = (Date) paramIn.get("endTime");
             BigDecimal money = (BigDecimal) paramIn.get("oweAmount");
-            double month = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, endTime));
+            double month = Math.ceil(DateUtil.dayCompare(startTime, endTime));
             if (month < 1) {
                 paramIn.put("btAmount", 0);
                 paramIn.put("bfAmount", 0);
                 continue;
             }
-
             //姣忔湀閲戦
             BigDecimal monthAmount = money.divide(new BigDecimal(month), 2, BigDecimal.ROUND_HALF_EVEN);
-
             if (startTime.getTime() < curStart.getTime()) {
                 BigDecimal btAmountDec = monthAmount.multiply(new BigDecimal(curMonth)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                 paramIn.put("btAmount", btAmountDec.doubleValue());
-                double preMonth = Math.ceil(computeFeeSMOImpl.dayCompare(startTime, curStart));
+                double preMonth = Math.ceil(DateUtil.dayCompare(startTime, curStart));
                 BigDecimal bfAmountDec = monthAmount.multiply(new BigDecimal(preMonth)).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                 paramIn.put("bfAmount", bfAmountDec.doubleValue());
                 continue;
             }
-
             if (startTime.getTime() >= curStart.getTime()) {
                 paramIn.put("btAmount", money.doubleValue());
                 paramIn.put("bfAmount", 0);
             }
         }
-
     }
 
     @Override
     public ResponseEntity<String> queryPrePayment(ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto) {
-
         int count = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPrePaymentNewCount(reportFeeMonthStatisticsDto);
-
         List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos = null;
         if (count > 0) {
             reportFeeMonthStatisticsDtos = reportFeeMonthStatisticsInnerServiceSMOImpl.queryPrePayment(reportFeeMonthStatisticsDto);
@@ -1223,22 +948,20 @@
     }
 
     private void freshReportOweDay(List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos) {
+        int day = 0;
         for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto : reportFeeMonthStatisticsDtos) {
             try {
-                int day = DateUtil.daysBetween(DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getDeadlineTime(), DateUtil.DATE_FORMATE_STRING_A), DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getFeeCreateTime(),
-                        DateUtil.DATE_FORMATE_STRING_A));
+                day = DateUtil.daysBetween(DateUtil.getDateFromStringA(reportFeeMonthStatisticsDto.getDeadlineTime()),
+                        DateUtil.getDateFromStringA(reportFeeMonthStatisticsDto.getFeeCreateTime()));
                 reportFeeMonthStatisticsDto.setOweDay(day);
             } catch (Exception e) {
                 logger.error("璁$畻娆犺垂澶╂暟澶辫触", e);
             }
-
         }
     }
 
     private void freshReportDeadlineDay(List<ReportFeeMonthStatisticsDto> reportFeeMonthStatisticsDtos) {
-
         Date nowDate = DateUtil.getCurrentDate();
-
         for (ReportFeeMonthStatisticsDto reportFeeMonthStatisticsDto : reportFeeMonthStatisticsDtos) {
             try {
                 int day = DateUtil.daysBetween(DateUtil.getDateFromString(reportFeeMonthStatisticsDto.getDeadlineTime(),
@@ -1250,6 +973,4 @@
 
         }
     }
-
-
 }

--
Gitblit v1.8.0