From 35fb8082fde72fe5c6ed2b5fbd20b582949acbfe Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 26 八月 2021 15:41:34 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java b/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
index 39164ca..6e043f5 100644
--- a/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
+++ b/service-report/src/main/java/com/java110/report/bmo/reportOweFee/impl/GetReportOweFeeBMOImpl.java
@@ -5,6 +5,7 @@
 import com.java110.intf.report.IReportOweFeeInnerServiceSMO;
 import com.java110.report.bmo.reportOweFee.IGetReportOweFeeBMO;
 import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
@@ -30,7 +31,7 @@
      */
     public ResponseEntity<String> get(ReportOweFeeDto reportOweFeeDto) {
 
-
+        reportOweFeeDto.setHasOweFee("Y");
         int count = reportOweFeeInnerServiceSMOImpl.queryReportOweFeesCount(reportOweFeeDto);
 
         List<ReportOweFeeDto> reportOweFeeDtos = null;
@@ -56,7 +57,6 @@
      */
     @Override
     public ResponseEntity<String> getAllFees(ReportOweFeeDto reportOweFeeDto) {
-        //
         List<ReportOweFeeDto> allReportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto);
         if (allReportOweFeeDtos == null || allReportOweFeeDtos.size() < 1) {
             return ResultVo.createResponseEntity(allReportOweFeeDtos);
@@ -134,9 +134,23 @@
         ReportOweFeeDto reportOweFeeDto = new ReportOweFeeDto();
         reportOweFeeDto.setPayerObjIds(payObjIds.toArray(new String[payObjIds.size()]));
         List<ReportOweFeeDto> allReportOweFeeDtos = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFees(reportOweFeeDto);
-
+        List<ReportOweFeeDto> reportOweFeeDtos = new ArrayList<>();
+        for (ReportOweFeeDto reportOweFee : allReportOweFeeDtos) {
+            ReportOweFeeDto reportOwe = new ReportOweFeeDto();
+            reportOwe.setOweId(reportOweFee.getOweId());
+            if (reportOweFee.getPayerObjType().equals("3333")) {
+                List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByRoom(reportOwe);
+                reportOweFee.setOweId(reportOweFees.get(0).getOweId());
+                reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
+            } else if (reportOweFee.getPayerObjType().equals("6666")) {
+                List<ReportOweFeeDto> reportOweFees = reportOweFeeInnerServiceSMOImpl.queryReportAllOweFeesByCar(reportOwe);
+                reportOweFee.setOweId(reportOweFees.get(0).getOweId());
+                reportOweFee.setOwnerName(reportOweFees.get(0).getOwnerName());
+            }
+            reportOweFeeDtos.add(reportOweFee);
+        }
         for (ReportOweFeeDto tmpReportOweFeeDto : oldReportOweFeeDtos) {
-            dealItem(tmpReportOweFeeDto, allReportOweFeeDtos);
+            dealItem(tmpReportOweFeeDto, reportOweFeeDtos);
         }
 
         if (configIds == null || configIds.length < 1) {
@@ -190,10 +204,12 @@
                 items.add(reportOweFeeItemDto);
             } else {
                 BigDecimal oldAmount = new BigDecimal(Double.parseDouble(reportOweFeeItemDto.getAmountOwed()));
-                oldAmount = oldAmount.add(new BigDecimal(Double.parseDouble(reportOweFeeDto.getAmountOwed())));
+                oldAmount = oldAmount.add(new BigDecimal(Double.parseDouble(reportOweFeeDto.getAmountOwed()))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
                 reportOweFeeItemDto.setAmountOwed(oldAmount.doubleValue() + "");
             }
-            oldReportOweFeeDto.setOwnerName(reportOweFeeDto.getOwnerName());
+            if (!StringUtil.isEmpty(reportOweFeeDto.getOwnerName()) && StringUtil.isEmpty(oldReportOweFeeDto.getOwnerName())) {
+                oldReportOweFeeDto.setOwnerName(reportOweFeeDto.getOwnerName());
+            }
             oldReportOweFeeDto.setUpdateTime(reportOweFeeDto.getUpdateTime());
             oldReportOweFeeDto.setConfigName(reportOweFeeDto.getConfigName());
         }
@@ -213,9 +229,9 @@
                 endTime = tempReportOweFeeItemDto.getEndTime();
             }
             if (endTime.getTime() < tempReportOweFeeItemDto.getEndTime().getTime()) {
-                endTime = tempReportOweFeeItemDto.getStartTime();
+                endTime = tempReportOweFeeItemDto.getEndTime();
             }
-            totalAmount = totalAmount.add(new BigDecimal(Double.parseDouble(tempReportOweFeeItemDto.getAmountOwed())));
+            totalAmount = totalAmount.add(new BigDecimal(Double.parseDouble(tempReportOweFeeItemDto.getAmountOwed()))).setScale(2, BigDecimal.ROUND_HALF_EVEN);
         }
         oldReportOweFeeDto.setEndTime(DateUtil.getFormatTimeString(startTime, DateUtil.DATE_FORMATE_STRING_A));
         oldReportOweFeeDto.setDeadlineTime(DateUtil.getFormatTimeString(endTime, DateUtil.DATE_FORMATE_STRING_A));

--
Gitblit v1.8.0