From 093b73aadb022895a02dbbcd64b87613e19b547b Mon Sep 17 00:00:00 2001
From: 1098226878@qq.com <1098226878@qq.com>
Date: 星期一, 10 一月 2022 18:05:21 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java |  150 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 96 insertions(+), 54 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
index b8b7426..b0ff2a5 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -4,13 +4,11 @@
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.parser.Feature;
 import com.java110.api.smo.DefaultAbstractComponentSMO;
-import com.java110.core.component.BaseComponentSMO;
+import com.java110.api.smo.assetExport.IExportReportFeeSMO;
 import com.java110.core.context.IPageData;
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.entity.component.ComponentValidateResult;
-import com.java110.api.smo.assetExport.IExportReportFeeSMO;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.ServiceConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
 import com.java110.utils.util.StringUtil;
@@ -354,7 +352,8 @@
         row.createCell(14).setCellValue("婊炵撼閲�");
         row.createCell(15).setCellValue("绌虹疆鎴挎墦鎶橀噾棰�");
         row.createCell(16).setCellValue("绌虹疆鎴垮噺鍏嶉噾棰�");
-//        row.createCell(14).setCellValue("涓氫富");
+        row.createCell(17).setCellValue("闈㈢Н");
+        row.createCell(18).setCellValue("杞︿綅");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportPayFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -381,6 +380,8 @@
             row.createCell(14).setCellValue(dataObj.getDouble("lateFee"));
             row.createCell(15).setCellValue(dataObj.getDouble("vacantHousingDiscount"));
             row.createCell(16).setCellValue(dataObj.getDouble("vacantHousingReduction"));
+            row.createCell(17).setCellValue(dataObj.getString("builtUpArea"));
+            row.createCell(18).setCellValue(dataObj.getString("psName"));
         }
     }
 
@@ -886,12 +887,13 @@
         row.createCell(4).setCellValue("鐗╁搧鍚嶇О");
         row.createCell(5).setCellValue("鐗╁搧瑙勬牸");
         row.createCell(6).setCellValue("鏄惁鏄浐瀹氱墿鍝�");
-        row.createCell(7).setCellValue("鐗╁搧浣跨敤鏁伴噺");
-        row.createCell(8).setCellValue("鐗╁搧浠锋牸");
-        row.createCell(9).setCellValue("浣跨敤浜篒D");
-        row.createCell(10).setCellValue("浣跨敤浜�");
-        row.createCell(11).setCellValue("鍒涘缓鏃堕棿");
-        row.createCell(12).setCellValue("澶囨敞");
+        row.createCell(7).setCellValue("鐗╁搧浣跨敤绫诲瀷");
+        row.createCell(8).setCellValue("鐗╁搧浣跨敤鏁伴噺");
+        row.createCell(9).setCellValue("鐗╁搧浠锋牸");
+        row.createCell(10).setCellValue("浣跨敤浜篒D");
+        row.createCell(11).setCellValue("浣跨敤浜�");
+        row.createCell(12).setCellValue("鍒涘缓鏃堕棿");
+        row.createCell(13).setCellValue("澶囨敞");
         JSONArray resourceStoreUseRecords = this.getResourceStoreUseRecordManage(pd, result);
         if (resourceStoreUseRecords == null || resourceStoreUseRecords.size() == 0) {
             return;
@@ -907,12 +909,13 @@
             row.createCell(4).setCellValue(dataObj.getString("resourceStoreName"));
             row.createCell(5).setCellValue(dataObj.getString("specName"));
             row.createCell(6).setCellValue(dataObj.getString("isFixedName"));
-            row.createCell(7).setCellValue(dataObj.getString("quantity") + dataObj.getString("miniUnitCodeName"));
-            row.createCell(8).setCellValue(dataObj.getString("unitPrice"));
-            row.createCell(9).setCellValue(dataObj.getString("createUserId"));
-            row.createCell(10).setCellValue(dataObj.getString("createUserName"));
-            row.createCell(11).setCellValue(dataObj.getString("createTime"));
-            row.createCell(12).setCellValue(dataObj.getString("remark"));
+            row.createCell(7).setCellValue(dataObj.getString("stateName"));
+            row.createCell(8).setCellValue(dataObj.getString("quantity") + dataObj.getString("miniUnitCodeName"));
+            row.createCell(9).setCellValue(dataObj.getString("unitPrice"));
+            row.createCell(10).setCellValue(dataObj.getString("createUserId"));
+            row.createCell(11).setCellValue(dataObj.getString("createUserName"));
+            row.createCell(12).setCellValue(dataObj.getString("createTime"));
+            row.createCell(13).setCellValue(dataObj.getString("remark"));
         }
     }
 
@@ -1475,10 +1478,12 @@
         Row row = sheet.createRow(0);
         row.createCell(0).setCellValue("璐圭敤缂栧彿");
         row.createCell(1).setCellValue("鎴垮彿");
-        row.createCell(2).setCellValue("璐圭敤椤�");
-        row.createCell(3).setCellValue("璐圭敤寮�濮嬫椂闂�");
-        row.createCell(4).setCellValue("娆犺垂鏃堕暱锛堝ぉ锛�");
-        row.createCell(5).setCellValue("娆犺垂閲戦");
+        row.createCell(2).setCellValue("涓氫富");
+        row.createCell(3).setCellValue("闈㈢Н");
+        row.createCell(4).setCellValue("璐圭敤椤�");
+        row.createCell(5).setCellValue("璐圭敤寮�濮嬫椂闂�");
+        row.createCell(6).setCellValue("娆犺垂鏃堕暱锛堝ぉ锛�");
+        row.createCell(7).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportOweFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1490,10 +1495,12 @@
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(roomIndex + 1);
             row.createCell(1).setCellValue(dataObj.getString("objName"));
-            row.createCell(2).setCellValue(dataObj.getString("feeName"));
-            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
-            row.createCell(4).setCellValue(dataObj.getString("oweDay"));
-            row.createCell(5).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
+            row.createCell(3).setCellValue(dataObj.getString("builtUpArea"));
+            row.createCell(4).setCellValue(dataObj.getString("feeName"));
+            row.createCell(5).setCellValue(dataObj.getString("feeCreateTime"));
+            row.createCell(6).setCellValue(dataObj.getString("oweDay"));
+            row.createCell(7).setCellValue(dataObj.getString("oweAmount"));
         }
     }
 
@@ -1502,11 +1509,13 @@
         Row row = sheet.createRow(0);
         row.createCell(0).setCellValue("璐圭敤缂栧彿");
         row.createCell(1).setCellValue("鎴垮彿");
-        row.createCell(2).setCellValue("璐圭敤椤�");
-        row.createCell(3).setCellValue("璐圭敤寮�濮嬫椂闂�");
-        row.createCell(4).setCellValue("璐圭敤缁撴潫鏃堕棿");
-        row.createCell(5).setCellValue("搴旀敹閲戦");
-        row.createCell(6).setCellValue("瀹炴敹閲戦");
+        row.createCell(2).setCellValue("涓氫富");
+        row.createCell(3).setCellValue("闈㈢Н");
+        row.createCell(4).setCellValue("璐圭敤椤�");
+        row.createCell(5).setCellValue("璐圭敤寮�濮嬫椂闂�");
+        row.createCell(6).setCellValue("璐圭敤缁撴潫鏃堕棿");
+        row.createCell(7).setCellValue("搴旀敹閲戦");
+        row.createCell(8).setCellValue("瀹炴敹閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1518,11 +1527,13 @@
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(roomIndex + 1);
             row.createCell(1).setCellValue(dataObj.getString("objName"));
-            row.createCell(2).setCellValue(dataObj.getString("feeName"));
-            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
-            row.createCell(4).setCellValue(dataObj.getString("deadlineTime"));
-            row.createCell(5).setCellValue(dataObj.getString("receivableAmount"));
-            row.createCell(6).setCellValue(dataObj.getString("receivedAmount"));
+            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
+            row.createCell(3).setCellValue(dataObj.getString("builtUpArea"));
+            row.createCell(4).setCellValue(dataObj.getString("feeName"));
+            row.createCell(5).setCellValue(dataObj.getString("feeCreateTime"));
+            row.createCell(6).setCellValue(dataObj.getString("deadlineTime"));
+            row.createCell(7).setCellValue(dataObj.getString("receivableAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("receivedAmount"));
         }
     }
 
@@ -1578,26 +1589,35 @@
         row.createCell(0).setCellValue("璐圭敤缂栧彿");
         row.createCell(1).setCellValue("璐圭敤绫诲瀷");
         row.createCell(2).setCellValue("璐圭敤椤�");
-        row.createCell(3).setCellValue("璐圭敤寮�濮嬫椂闂�");
-        row.createCell(4).setCellValue("搴旀敹閲戦");
-        row.createCell(5).setCellValue("瀹炴敹閲戦");
-        row.createCell(6).setCellValue("娆犺垂閲戦");
+        row.createCell(3).setCellValue("鍘嗗彶娆犺垂(鍗曚綅:鍏�)");
+        row.createCell(4).setCellValue("褰撴湀搴旀敹(鍗曚綅:鍏�)");
+        row.createCell(5).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(6).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(7).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeBreakdown(pd, result);
         if (rooms == null || rooms.size() == 0) {
             return;
         }
         JSONObject dataObj = null;
+        BigDecimal oweFeeDec = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(roomIndex + 1);
             row.createCell(1).setCellValue(dataObj.getString("feeTypeCd"));
             row.createCell(2).setCellValue(dataObj.getString("feeName"));
-            row.createCell(3).setCellValue(dataObj.getString("feeCreateTime"));
-            row.createCell(4).setCellValue(dataObj.getString("receivableAmount"));
-            row.createCell(5).setCellValue(dataObj.getString("receivedAmount"));
-            row.createCell(6).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("hisOweAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("curReceivableAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("preReceivedAmount"));
+            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
+                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
+            row.createCell(8).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
         }
     }
 
@@ -1630,24 +1650,35 @@
         row.createCell(0).setCellValue("鏃ユ湡");
         row.createCell(1).setCellValue("妤兼爧");
         row.createCell(2).setCellValue("鍗曞厓");
-        row.createCell(3).setCellValue("搴旀敹閲戦");
-        row.createCell(4).setCellValue("瀹炴敹閲戦");
-        row.createCell(5).setCellValue("娆犺垂閲戦");
+        row.createCell(3).setCellValue("鍘嗗彶娆犺垂(鍗曚綅:鍏�)");
+        row.createCell(4).setCellValue("褰撴湀搴旀敹(鍗曚綅:鍏�)");
+        row.createCell(5).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(6).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(7).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFloorUnitFeeSummary(pd, result);
         if (rooms == null || rooms.size() == 0) {
             return;
         }
         JSONObject dataObj = null;
+        BigDecimal oweFeeDec = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("feeYear") + "骞�" + dataObj.getString("feeMonth") + "鏈�");
             row.createCell(1).setCellValue(dataObj.getString("floorNum") + "鏍�");
             row.createCell(2).setCellValue(dataObj.getString("unitNum") + "鍗曞厓");
-            row.createCell(3).setCellValue(dataObj.getString("receivableAmount"));
-            row.createCell(4).setCellValue(dataObj.getString("receivedAmount"));
-            row.createCell(5).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("hisOweAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("curReceivableAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("preReceivedAmount"));
+            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
+                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
+            row.createCell(8).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
         }
     }
 
@@ -1715,22 +1746,33 @@
         Sheet sheet = workbook.createSheet("璐圭敤姹囨�昏〃");
         Row row = sheet.createRow(0);
         row.createCell(0).setCellValue("鏃ユ湡");
-        row.createCell(1).setCellValue("搴旀敹閲戦");
-        row.createCell(2).setCellValue("瀹炴敹閲戦");
-        row.createCell(3).setCellValue("娆犺垂閲戦");
+        row.createCell(1).setCellValue("鍘嗗彶娆犺垂(鍗曚綅:鍏�)");
+        row.createCell(2).setCellValue("褰撴湀搴旀敹(鍗曚綅:鍏�)");
+        row.createCell(3).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(4).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(5).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(6).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeSummaryFee(pd, componentValidateResult);
         if (rooms == null || rooms.size() == 0) {
             return;
         }
         JSONObject dataObj = null;
+        BigDecimal oweFeeDec = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("feeYear") + "骞�" + dataObj.getString("feeMonth") + "鏈�");
-            row.createCell(1).setCellValue(dataObj.getString("receivableAmount"));
-            row.createCell(2).setCellValue(dataObj.getString("receivedAmount"));
-            row.createCell(3).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(1).setCellValue(dataObj.getString("hisOweAmount"));
+            row.createCell(2).setCellValue(dataObj.getString("curReceivableAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("preReceivedAmount"));
+            oweFeeDec = new BigDecimal(Double.parseDouble(dataObj.getString("hisOweAmount")))
+                    .add(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivableAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("curReceivedAmount"))))
+                    .subtract(new BigDecimal(Double.parseDouble(dataObj.getString("hisOweReceivedAmount")))).setScale(2, BigDecimal.ROUND_HALF_UP);
+            row.createCell(6).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
         }
     }
 

--
Gitblit v1.8.0