From dbea8ec9fde739d028d656ac7031091fae6e6c2c Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期三, 19 七月 2023 09:03:50 +0800
Subject: [PATCH] 1、新增费用提前预生成账单2、优化强制回单3、区配置新增退费收据开关4、权限优化

---
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java |  591 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 521 insertions(+), 70 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 1e9cd25..a45bc5d 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
@@ -8,7 +8,7 @@
 import com.java110.core.context.IPageData;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.fee.FeeConfigDto;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.dto.system.ComponentValidateResult;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
@@ -16,7 +16,7 @@
 import org.apache.poi.ss.usermodel.Row;
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
@@ -30,8 +30,10 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName AssetImportSmoImpl
@@ -56,11 +58,14 @@
     public static final String REPORT_FLOOR_UNIT_FEE_SUMMARY = "reportFloorUnitFeeSummary";
     public static final String REPORT_FEE_BREAKDOWN = "reportFeeBreakdown";
     public static final String REPORT_FEE_DETAIL = "reportFeeDetail";
+    public static final String REPORT_RETURN_PAY_FEE_MANAGE = "returnPayFeeManage";
     public static final String REPORT_OWE_FEE_DETAIL = "reportOweFeeDetail";
     public static final String REPORT_PAY_FEE_DETAIL = "reportPayFeeDetail";
     public static final String REPORT_YEAR_COLLECTION = "reportYearCollection";
     public static final String REPORT_LIST_OWE_FEE = "listOweFee";
     public static final String REPORT_REPAIR_DETAIL = "reportRepairDetail";
+    public static final String REPORT_PREPAYMENT_DETAIL = "reportPrePaymentDetail";
+    public static final String REPORT_COLLECT_FEES = "reportCollectFees";
     public static final String REPORT_PAY_FEE_MANAGE = "reportPayFeeManage";
     public static final String REPORT_QUESTION_ANSWER_DETAIL = "reportQuestionAnswerDetail";
     public static final String REPORT_PRE_PAYMENT_FEE = "reportPrePaymentFee";
@@ -76,6 +81,7 @@
     public static final String RESOURCE_STORE_USE_RECORD_MANAGE = "resourceStoreUseRecordManage";
     public static final String RESOURCE_STAFF_FEE_MANAGE = "staffFeeManage";
     public static final String REPORT_PAY_FEE_DEPOSIT = "reportPayFeeDeposit";
+    public static final String INSPECTION_TASK_DETAILS = "inspectionTaskDetails";
 
     @Autowired
     private RestTemplate restTemplate;
@@ -84,14 +90,27 @@
     public ResponseEntity<Object> exportExcelData(IPageData pd) throws Exception {
 
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
+        Map pdHeaders = pd.getHeaders();
+        if (!StringUtil.isEmpty(result.getStoreId())) {
+            pdHeaders.remove("store-id");
+            pdHeaders.put("store-id", result.getStoreId());
+        }
+        if (!StringUtil.isEmpty(result.getLoginUserId())) {
+            pdHeaders.remove("user-id");
+            pdHeaders.remove("user_id");
+            pdHeaders.put("user-id", result.getUserId());
+            pdHeaders.put("user_id", result.getUserId());
+            pdHeaders.put("login-user-id", result.getLoginUserId());
+        }
 
         Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "communityId", "璇锋眰涓湭鍖呭惈灏忓尯");
         Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "pagePath", "璇锋眰涓湭鍖呭惈椤甸潰");
 
-        Workbook workbook = null;  //宸ヤ綔绨�
+        SXSSFWorkbook workbook = null;  //宸ヤ綔绨�
         String userId = "";
         //宸ヤ綔琛�
-        workbook = new XSSFWorkbook();
+        workbook = new SXSSFWorkbook();
+        workbook.setCompressTempFiles(false);
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         String pagePath = reqJson.getString("pagePath");
 
@@ -104,6 +123,9 @@
                 break;
             case REPORT_FEE_BREAKDOWN:
                 reportFeeBreakdown(pd, result, workbook);
+                break;
+            case REPORT_RETURN_PAY_FEE_MANAGE:
+                returnPayFeeManage(pd, result, workbook);
                 break;
             case REPORT_FEE_DETAIL:
                 reportFeeDetail(pd, result, workbook);
@@ -122,6 +144,12 @@
                 break;
             case REPORT_REPAIR_DETAIL:
                 reportRepairDetail(pd, result, workbook);
+                break;
+            case REPORT_PREPAYMENT_DETAIL:
+                reportPrepaymentDetail(pd, result, workbook);
+                break;
+            case REPORT_COLLECT_FEES:
+                reportCollectFees(pd, result, workbook);
                 break;
             case REPORT_PAY_FEE_MANAGE:
                 reportPayFeeManage(pd, result, workbook);
@@ -168,6 +196,8 @@
             case REPORT_PAY_FEE_DEPOSIT:
                 reportPayFeeDeposit(pd, result, workbook);
                 break;
+            case INSPECTION_TASK_DETAILS:
+                inspectionTaskDetails(pd, result, workbook);
         }
         ByteArrayOutputStream os = new ByteArrayOutputStream();
         MultiValueMap headers = new HttpHeaders();
@@ -206,15 +236,16 @@
         Row row = sheet.createRow(0);
         row.createCell(0).setCellValue("鏀惰垂瀵硅薄");
         row.createCell(1).setCellValue("涓氫富鍚嶇О");
-        row.createCell(2).setCellValue("寮�濮嬫椂闂�");
-        row.createCell(3).setCellValue("缁撴潫鏃堕棿");
+        row.createCell(2).setCellValue("鎵嬫満鍙�");
+        row.createCell(3).setCellValue("寮�濮嬫椂闂�");
+        row.createCell(4).setCellValue("缁撴潫鏃堕棿");
         if (!StringUtil.isEmpty(configIds)) {
             for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
-                row.createCell(4 + feeConfigIndex).setCellValue(feeConfigDtos.get(feeConfigIndex).getFeeName());
+                row.createCell(5 + feeConfigIndex).setCellValue(feeConfigDtos.get(feeConfigIndex).getFeeName());
             }
-            row.createCell(4 + feeConfigDtos.size()).setCellValue("鍚堣");
+            row.createCell(5 + feeConfigDtos.size()).setCellValue("鍚堣");
         } else {
-            row.createCell(4).setCellValue("鍚堣");
+            row.createCell(5).setCellValue("鍚堣");
         }
 
 
@@ -224,15 +255,16 @@
             dataObj = oweFees.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("payerObjName"));
             row.createCell(1).setCellValue(dataObj.getString("ownerName"));
-            row.createCell(2).setCellValue(dataObj.getString("endTime"));
-            row.createCell(3).setCellValue(dataObj.getString("deadlineTime"));
+            row.createCell(2).setCellValue(dataObj.getString("ownerTel"));
+            row.createCell(3).setCellValue(dataObj.getString("endTime"));
+            row.createCell(4).setCellValue(dataObj.getString("deadlineTime"));
             if (!StringUtil.isEmpty(configIds)) {
                 for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
-                    row.createCell(4 + feeConfigIndex).setCellValue(getFeeConfigAmount(feeConfigDtos.get(feeConfigIndex), dataObj));
+                    row.createCell(5 + feeConfigIndex).setCellValue(getFeeConfigAmount(feeConfigDtos.get(feeConfigIndex), dataObj));
                 }
-                row.createCell(4 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
+                row.createCell(5 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
             } else {
-                row.createCell(4).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
+                row.createCell(5).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
             }
 
         }
@@ -349,11 +381,12 @@
         row.createCell(11).setCellValue("瀹炴敹閲戦");
         row.createCell(12).setCellValue("浼樻儬閲戦");
         row.createCell(13).setCellValue("鍑忓厤閲戦");
-        row.createCell(14).setCellValue("婊炵撼閲�");
-        row.createCell(15).setCellValue("绌虹疆鎴挎墦鎶橀噾棰�");
-        row.createCell(16).setCellValue("绌虹疆鎴垮噺鍏嶉噾棰�");
-        row.createCell(17).setCellValue("闈㈢Н");
-        row.createCell(18).setCellValue("杞︿綅");
+        row.createCell(14).setCellValue("璧犻�侀噾棰�");
+        row.createCell(15).setCellValue("婊炵撼閲�");
+        row.createCell(16).setCellValue("绌虹疆鎴挎墦鎶橀噾棰�");
+        row.createCell(17).setCellValue("绌虹疆鎴垮噺鍏嶉噾棰�");
+        row.createCell(18).setCellValue("闈㈢Н");
+        row.createCell(19).setCellValue("杞︿綅");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportPayFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -364,7 +397,11 @@
             row = sheet.createRow(roomIndex + 1);
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("oId"));
-            row.createCell(1).setCellValue(dataObj.getString("objName"));
+            if (!StringUtil.isEmpty(dataObj.getString("payerObjType")) && dataObj.getString("payerObjType").equals("3333")) { //鎴垮眿
+                row.createCell(1).setCellValue(dataObj.getString("floorNum") + "-" + dataObj.getString("unitNum") + "-" + dataObj.getString("roomNum"));
+            } else {
+                row.createCell(1).setCellValue(dataObj.getString("objName"));
+            }
             row.createCell(2).setCellValue(dataObj.getString("ownerName"));
             row.createCell(3).setCellValue(dataObj.getString("feeName"));
             row.createCell(4).setCellValue(dataObj.getString("feeTypeCdName"));
@@ -377,11 +414,12 @@
             row.createCell(11).setCellValue(dataObj.getDouble("receivedAmount"));
             row.createCell(12).setCellValue(dataObj.getDouble("preferentialAmount"));
             row.createCell(13).setCellValue(dataObj.getDouble("deductionAmount"));
-            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"));
+            row.createCell(14).setCellValue(dataObj.getDouble("giftAmount"));
+            row.createCell(15).setCellValue(dataObj.getDouble("lateFee"));
+            row.createCell(16).setCellValue(dataObj.getDouble("vacantHousingDiscount"));
+            row.createCell(17).setCellValue(dataObj.getDouble("vacantHousingReduction"));
+            row.createCell(18).setCellValue(dataObj.getString("builtUpArea"));
+            row.createCell(19).setCellValue(dataObj.getString("psName"));
         }
     }
 
@@ -416,6 +454,111 @@
             row.createCell(6).setCellValue(dataObj.getString("returnAmount"));
             row.createCell(7).setCellValue(dataObj.getString("statementAmount"));
             row.createCell(8).setCellValue(dataObj.getString("score"));
+        }
+    }
+
+    private void reportPrepaymentDetail(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        Sheet sheet = workbook.createSheet("璐﹀崟鏄庣粏琛�");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("鎶ヨ〃ID");
+        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(7).setCellValue("璐圭敤寮�濮嬫椂闂�");
+        row.createCell(8).setCellValue("璐圭敤缁撴潫鏃堕棿");
+        row.createCell(9).setCellValue("缂磋垂鏃堕棿");
+        row.createCell(10).setCellValue("搴旂即閲戦(鍏�)");
+        row.createCell(11).setCellValue("搴旀敹閲戦(鍏�)");
+        row.createCell(12).setCellValue("瀹炴敹閲戦(鍏�)");
+        row.createCell(13).setCellValue("娆犺垂閲戦(鍏�)");
+        row.createCell(14).setCellValue("浼樻儬閲戦(鍏�)");
+        row.createCell(15).setCellValue("鍑忓厤閲戦(鍏�)");
+        row.createCell(16).setCellValue("璧犻�侀噾棰�(鍏�)");
+        row.createCell(17).setCellValue("婊炵撼閲�(鍏�)");
+        row.createCell(18).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+        row.createCell(19).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+        row.createCell(20).setCellValue("闈㈢Н(骞虫柟绫�)");
+
+        //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+        JSONArray prepayments = this.getReportPrepaymentDetail(pd, result);
+        if (prepayments == null || prepayments.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = prepayments.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("prepaymentId"));
+            row.createCell(1).setCellValue(dataObj.getString("objName"));
+            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
+            row.createCell(3).setCellValue(dataObj.getString("feeName"));
+            row.createCell(4).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(5).setCellValue(dataObj.getString("prepaymentStateName"));
+            if (!StringUtil.isEmpty(dataObj.getString("primeRate"))) {
+                row.createCell(6).setCellValue(dataObj.getString("primeRate"));
+            } else {
+                row.createCell(6).setCellValue("--");
+            }
+            row.createCell(7).setCellValue(dataObj.getString("feeBeginTime"));
+            row.createCell(8).setCellValue(dataObj.getString("feeFinishTime"));
+            if (!StringUtil.isEmpty(dataObj.getString("payTime"))) {
+                row.createCell(9).setCellValue(dataObj.getString("payTime"));
+            } else {
+                row.createCell(9).setCellValue("--");
+            }
+            row.createCell(10).setCellValue(dataObj.getString("payableAmount"));
+            row.createCell(11).setCellValue(dataObj.getString("prepaymentReceivableAmount"));
+            row.createCell(12).setCellValue(dataObj.getString("prepaymentReceivedAmount"));
+            row.createCell(13).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(14).setCellValue(dataObj.getString("preferentialAmount"));
+            row.createCell(15).setCellValue(dataObj.getString("deductionAmount"));
+            row.createCell(16).setCellValue(dataObj.getString("giftAmount"));
+            row.createCell(17).setCellValue(dataObj.getString("lateFee"));
+            row.createCell(18).setCellValue(dataObj.getString("vacantHousingDiscount"));
+            row.createCell(19).setCellValue(dataObj.getString("vacantHousingReduction"));
+            row.createCell(20).setCellValue(dataObj.getString("builtUpArea"));
+        }
+    }
+
+    private void reportCollectFees(IPageData pd, ComponentValidateResult result, Workbook workbook){
+        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(4).setCellValue("瀹炴敹閲戦(鍏�)");
+        row.createCell(5).setCellValue("娆犺垂閲戦(鍏�)");
+        row.createCell(6).setCellValue("浼樻儬閲戦(鍏�)");
+        row.createCell(7).setCellValue("鍑忓厤閲戦(鍏�)");
+        row.createCell(8).setCellValue("璧犻�侀噾棰�(鍏�)");
+        row.createCell(9).setCellValue("婊炵撼閲�(鍏�)");
+        row.createCell(10).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+        row.createCell(11).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+        //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+        JSONArray prepayments = this.getReportCollectFees(pd, result);
+        if (prepayments == null || prepayments.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = prepayments.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("feeName"));
+            row.createCell(1).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(2).setCellValue(dataObj.getString("allPayableAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("allReceivableAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("allReceivedAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("allOweAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("allPreferentialAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("allDeductionAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("allGiftAmount"));
+            row.createCell(9).setCellValue(dataObj.getString("allLateFee"));
+            row.createCell(10).setCellValue(dataObj.getString("allVacantHousingDiscount"));
+            row.createCell(11).setCellValue(dataObj.getString("allVacantHousingReduction"));
         }
     }
 
@@ -485,7 +628,7 @@
     private void reportPrePaymentFee(IPageData pd, ComponentValidateResult result, Workbook workbook) {
         Sheet sheet = workbook.createSheet("棰勪氦璐规彁閱掕〃");
         Row row = sheet.createRow(0);
-        row.createCell(0).setCellValue("搴忓彿");
+        row.createCell(0).setCellValue("鎴垮彿");
         row.createCell(1).setCellValue("璐圭敤椤�");
         row.createCell(2).setCellValue("璐圭敤寮�濮嬫椂闂�");
         row.createCell(3).setCellValue("璺濈璐圭敤寮�濮嬫椂闂达紙澶╋級");
@@ -498,7 +641,11 @@
         for (int roomIndex = 0; roomIndex < prePayFees.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = prePayFees.getJSONObject(roomIndex);
-            row.createCell(0).setCellValue(dataObj.getString("objName"));
+            if (!StringUtil.isEmpty(dataObj.getString("payerObjType")) && dataObj.getString("payerObjType").equals("3333")) { //鎴垮眿
+                row.createCell(0).setCellValue(dataObj.getString("floorNum") + "-" + dataObj.getString("unitNum") + "-" + dataObj.getString("roomNum"));
+            } else {
+                row.createCell(0).setCellValue(dataObj.getString("objName"));
+            }
             row.createCell(1).setCellValue(dataObj.getString("feeName"));
             row.createCell(2).setCellValue(dataObj.getString("endTime"));
             row.createCell(3).setCellValue(dataObj.getString("oweDay"));
@@ -508,7 +655,7 @@
     private void reportDeadlineFee(IPageData pd, ComponentValidateResult result, Workbook workbook) {
         Sheet sheet = workbook.createSheet("璐圭敤鍒版湡鎻愰啋琛�");
         Row row = sheet.createRow(0);
-        row.createCell(0).setCellValue("搴忓彿");
+        row.createCell(0).setCellValue("鎴垮彿");
         row.createCell(1).setCellValue("璐圭敤椤�");
         row.createCell(2).setCellValue("璐圭敤缁撴潫鏃堕棿");
         row.createCell(3).setCellValue("璺濈璐圭敤缁撴潫鏃堕棿锛堝ぉ锛�");
@@ -521,7 +668,7 @@
         for (int roomIndex = 0; roomIndex < deadlineFees.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = deadlineFees.getJSONObject(roomIndex);
-            row.createCell(0).setCellValue(dataObj.getString("objName"));
+            row.createCell(0).setCellValue(dataObj.getString("objNameNum"));
             row.createCell(1).setCellValue(dataObj.getString("feeName"));
             row.createCell(2).setCellValue(dataObj.getString("deadlineTime"));
             row.createCell(3).setCellValue(dataObj.getString("oweDay"));
@@ -570,7 +717,7 @@
         row.createCell(11).setCellValue("鐢宠鏁伴噺");
         row.createCell(12).setCellValue("閲囪喘/鍑哄簱鏁伴噺");
         row.createCell(13).setCellValue("閲囪喘浠锋牸");
-        row.createCell(14).setCellValue("閲囪喘鎬讳环");
+        row.createCell(14).setCellValue("鎬讳环");
         row.createCell(15).setCellValue("鐢宠澶囨敞");
         row.createCell(16).setCellValue("鐘舵��");
         row.createCell(17).setCellValue("鍒涘缓鏃堕棿");
@@ -597,8 +744,8 @@
             row.createCell(11).setCellValue(dataObj.getString("quantity") + dataObj.getString("unitCodeName"));
             row.createCell(12).setCellValue(dataObj.getString("purchaseQuantity") + dataObj.getString("unitCodeName"));
             row.createCell(13).setCellValue(dataObj.getString("price"));
-            if (!StringUtil.isEmpty(dataObj.getString("resOrderType")) && dataObj.getString("resOrderType").equals("10000") &&
-                    !StringUtil.isEmpty(dataObj.getString("purchaseQuantity")) && !StringUtil.isEmpty(dataObj.getString("price"))) { //鐘舵�佹槸鍏ュ簱
+            //!StringUtil.isEmpty(dataObj.getString("resOrderType")) && dataObj.getString("resOrderType").equals("10000") &&
+            if (!StringUtil.isEmpty(dataObj.getString("purchaseQuantity")) && !StringUtil.isEmpty(dataObj.getString("price"))) { //鐘舵�佹槸鍏ュ簱
                 //鑾峰彇閲囪喘鏁伴噺
                 double purchaseQuantity = Double.parseDouble(dataObj.getString("purchaseQuantity"));
                 //鑾峰彇閲囪喘鍗曚环
@@ -877,6 +1024,72 @@
         }
     }
 
+    private void inspectionTaskDetails(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        Sheet sheet = workbook.createSheet("宸℃鏄庣粏");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("浠诲姟璇︽儏ID");
+        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(7).setCellValue("宸℃鐐圭粨鏉熸椂闂�");
+        row.createCell(8).setCellValue("瀹為檯宸℃鏃堕棿");
+        row.createCell(9).setCellValue("瀹為檯绛惧埌鐘舵��");
+        row.createCell(10).setCellValue("璁″垝宸℃浜�");
+        row.createCell(11).setCellValue("瀹為檯宸℃浜�");
+        row.createCell(12).setCellValue("宸℃鏂瑰紡");
+        row.createCell(13).setCellValue("浠诲姟鐘舵��");
+        row.createCell(14).setCellValue("宸℃鐐圭姸鎬�");
+        row.createCell(15).setCellValue("宸℃鎯呭喌");
+        JSONArray inspectionTaskDetails = this.getInspectionTaskDetails(pd, result);
+        if (inspectionTaskDetails == null || inspectionTaskDetails.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < inspectionTaskDetails.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = inspectionTaskDetails.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("taskDetailId"));
+            row.createCell(1).setCellValue(dataObj.getString("inspectionName"));
+            row.createCell(2).setCellValue(dataObj.getString("inspectionPlanName"));
+            row.createCell(3).setCellValue(dataObj.getString("routeName"));
+            row.createCell(4).setCellValue(dataObj.getString("planInsTime"));
+            row.createCell(5).setCellValue(dataObj.getString("planEndTime"));
+            if (!StringUtil.isEmpty(dataObj.getString("pointStartTime"))) {
+                row.createCell(6).setCellValue(dataObj.getString("pointStartTime"));
+            } else {
+                row.createCell(6).setCellValue("--");
+            }
+            if (!StringUtil.isEmpty(dataObj.getString("pointEndTime"))) {
+                row.createCell(7).setCellValue(dataObj.getString("pointEndTime"));
+            } else {
+                row.createCell(7).setCellValue("--");
+            }
+            if (!StringUtil.isEmpty(dataObj.getString("inspectionTime"))) {
+                row.createCell(8).setCellValue(dataObj.getString("inspectionTime"));
+            } else {
+                row.createCell(8).setCellValue("--");
+            }
+            row.createCell(9).setCellValue(dataObj.getString("inspectionStateName"));
+            row.createCell(10).setCellValue(dataObj.getString("planUserName"));
+            if (!StringUtil.isEmpty(dataObj.getString("actUserName"))) {
+                row.createCell(11).setCellValue(dataObj.getString("actUserName"));
+            } else {
+                row.createCell(11).setCellValue("--");
+            }
+            row.createCell(12).setCellValue(dataObj.getString("signTypeName"));
+            row.createCell(13).setCellValue(dataObj.getString("taskStateName"));
+            row.createCell(14).setCellValue(dataObj.getString("stateName"));
+            if (!StringUtil.isEmpty(dataObj.getString("description"))) {
+                row.createCell(15).setCellValue(dataObj.getString("description"));
+            } else {
+                row.createCell(15).setCellValue("--");
+            }
+        }
+    }
+
     private void resourceStoreUseRecordManage(IPageData pd, ComponentValidateResult result, Workbook workbook) {
         Sheet sheet = workbook.createSheet("鐗╁搧浣跨敤璁板綍");
         Row row = sheet.createRow(0);
@@ -967,7 +1180,11 @@
             row = sheet.createRow(roomIndex + 1);
             dataObj = reportPayFeeDeposits.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("feeId"));
-            row.createCell(1).setCellValue(dataObj.getString("objName"));
+            if (!StringUtil.isEmpty(dataObj.getString("payerObjType")) && dataObj.getString("payerObjType").equals("3333")) { //鎴垮眿
+                row.createCell(1).setCellValue(dataObj.getString("floorNum") + "-" + dataObj.getString("unitNum") + "-" + dataObj.getString("roomNum"));
+            } else {
+                row.createCell(1).setCellValue(dataObj.getString("objName"));
+            }
             row.createCell(2).setCellValue(dataObj.getString("ownerName"));
             row.createCell(3).setCellValue(dataObj.getString("feeTypeCdName"));
             row.createCell(4).setCellValue(dataObj.getString("feeName"));
@@ -1032,6 +1249,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
+        reqJson.put("hasOweFee", "Y");
         apiUrl = "/reportOweFee/queryReportAllOweFee" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1090,6 +1308,52 @@
         return savedRepairInfoResults.getJSONArray("data");
     }
 
+    private JSONArray getReportPrepaymentDetail(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "/reportFeeMonthStatisticsPrepayment/queryPayFeePrepaymentDetail" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPrepaymentInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPrepaymentInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPrepaymentInfoResults.containsKey("data")) {
+            return null;
+        }
+        return savedPrepaymentInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReportCollectFees(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "/reportFeeMonthStatisticsPrepayment/queryReportCollectFees" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedCollectFeeInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedCollectFeeInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedCollectFeeInfoResults.containsKey("data")) {
+            return null;
+        }
+        return savedCollectFeeInfoResults.getJSONArray("data");
+    }
+
     private JSONArray getReportPayFeeManage(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
@@ -1125,6 +1389,7 @@
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("store-id", result.getStoreId());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
         apiUrl = "/reportQuestionAnswer/queryUserQuestionAnswerValue" + mapToUrlParam(reqJson);
@@ -1150,7 +1415,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryPrePayment" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryPrePayment" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1173,7 +1438,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryDeadlineFee" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryDeadlineFee" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1219,6 +1484,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
+        reqJson.put("storeId", result.getStoreId());
         apiUrl = "purchaseApplyDetail.listPurchaseApplyDetails" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1385,6 +1651,29 @@
         return savedAllocationUserStorehouses.getJSONArray("data");
     }
 
+    private JSONArray getInspectionTaskDetails(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "inspectionTaskDetail.listInspectionTaskDetails" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedInspectionTaskDetails = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedInspectionTaskDetails.getJSONArray("inspectionTaskDetails").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedInspectionTaskDetails.containsKey("inspectionTaskDetails")) {
+            return null;
+        }
+        return savedInspectionTaskDetails.getJSONArray("inspectionTaskDetails");
+    }
+
     private JSONArray getResourceStoreUseRecordManage(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
@@ -1437,7 +1726,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "reportFeeMonthStatistics/queryPayFeeDeposit" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics/queryPayFeeDeposit" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1486,8 +1775,9 @@
         row.createCell(3).setCellValue("闈㈢Н");
         row.createCell(4).setCellValue("璐圭敤椤�");
         row.createCell(5).setCellValue("璐圭敤寮�濮嬫椂闂�");
-        row.createCell(6).setCellValue("娆犺垂鏃堕暱锛堝ぉ锛�");
-        row.createCell(7).setCellValue("娆犺垂閲戦");
+        row.createCell(6).setCellValue("鏇存柊鏃堕棿");
+        row.createCell(7).setCellValue("娆犺垂鏃堕暱锛堝ぉ锛�");
+        row.createCell(8).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportOweFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1503,8 +1793,92 @@
             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"));
+            row.createCell(6).setCellValue(dataObj.getString("updateTime"));
+            row.createCell(7).setCellValue(dataObj.getString("oweDay"));
+            row.createCell(8).setCellValue(dataObj.getString("oweAmount"));
+        }
+    }
+
+    private void returnPayFeeManage(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        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(4).setCellValue("浠樿垂瀵硅薄");
+        row.createCell(5).setCellValue("浠樿垂鍛ㄦ湡(鍗曚綅:鏈�)");
+        row.createCell(6).setCellValue("搴斾粯閲戦(鍗曚綅:鍏�)");
+        row.createCell(7).setCellValue("瀹炰粯閲戦(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("鐢宠鏃堕棿");
+        row.createCell(9).setCellValue("閫�璐瑰師鍥�");
+        row.createCell(10).setCellValue("瀹℃牳鐘舵��");
+        //鏌ヨ妤兼爧淇℃伅
+        JSONArray returnPayFees = this.getReturnPayFeeManage(pd, result);
+        if (returnPayFees == null || returnPayFees.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < returnPayFees.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = returnPayFees.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(roomIndex + 1);
+            row.createCell(1).setCellValue(dataObj.getString("returnFeeId"));
+            row.createCell(2).setCellValue(dataObj.getString("detailId"));
+            row.createCell(3).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(4).setCellValue(dataObj.getString("payerObjName"));
+            String cycle = dataObj.getString("cycles");
+            if (!StringUtil.isEmpty(cycle) && cycle.contains("-")) {
+                String[] split = cycle.split("-");
+                cycle = split[1];
+            }
+            row.createCell(5).setCellValue(cycle);
+            String receivableAmount = dataObj.getString("receivableAmount");
+            if (!StringUtil.isEmpty(receivableAmount) && receivableAmount.contains("-")) {
+                String[] split = receivableAmount.split("-");
+                receivableAmount = split[1];
+            }
+            row.createCell(6).setCellValue(receivableAmount);
+            String feeAccountDetailDtoList = dataObj.getString("feeAccountDetailDtoList");
+            JSONArray feeAccountDetails = JSONArray.parseArray(feeAccountDetailDtoList);
+            String str = "";
+            if (feeAccountDetails != null && feeAccountDetails.size() > 0) {
+                for (int paramIndex = 0; paramIndex < feeAccountDetails.size(); paramIndex++) {
+                    JSONObject param = feeAccountDetails.getJSONObject(paramIndex);
+                    //鑾峰彇鎶垫墸绫诲瀷
+                    String state = param.getString("state");
+                    if (!StringUtil.isEmpty(state) && !state.equals("1001")) {
+                        str = param.getString("stateName") + ":" + param.getString("amount") + ";  " + str;
+                    }
+                }
+            }
+            String payFeeDetailDiscountDtoList = dataObj.getString("payFeeDetailDiscountDtoList");
+            JSONArray payFeeDetailDiscounts = JSONArray.parseArray(payFeeDetailDiscountDtoList);
+            String discount = "";
+            if (payFeeDetailDiscounts != null && payFeeDetailDiscounts.size() > 0) {
+                for (int index = 0; index < payFeeDetailDiscounts.size(); index++) {
+                    JSONObject param = payFeeDetailDiscounts.getJSONObject(index);
+                    String discountPrice = param.getString("discountPrice");
+                    if (!StringUtil.isEmpty(discountPrice) && discountPrice.contains("-")) {
+                        String[] split = discountPrice.split("-");
+                        discountPrice = split[1];
+                    }
+                    discount = param.getString("discountName") + ":" + discountPrice + ";  " + discount;
+                }
+            }
+            String receivedAmount = dataObj.getString("receivedAmount");
+            if (!StringUtil.isEmpty(receivedAmount) && receivedAmount.contains("-")) {
+                String[] split = receivedAmount.split("-");
+                receivedAmount = split[1];
+            }
+            if (!StringUtil.isEmpty(str) || !StringUtil.isEmpty(discount)) {
+                row.createCell(7).setCellValue(receivedAmount + "(" + str + discount + ")");
+            } else {
+                row.createCell(7).setCellValue(receivedAmount);
+            }
+            row.createCell(8).setCellValue(dataObj.getString("createTime"));
+            row.createCell(9).setCellValue(dataObj.getString("reason"));
+            row.createCell(10).setCellValue(dataObj.getString("stateName"));
         }
     }
 
@@ -1518,8 +1892,15 @@
         row.createCell(4).setCellValue("璐圭敤椤�");
         row.createCell(5).setCellValue("璐圭敤寮�濮嬫椂闂�");
         row.createCell(6).setCellValue("璐圭敤缁撴潫鏃堕棿");
-        row.createCell(7).setCellValue("搴旀敹閲戦");
-        row.createCell(8).setCellValue("瀹炴敹閲戦");
+        row.createCell(7).setCellValue("鍘嗗彶娆犺垂(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("褰撴湀搴旀敹(鍗曚綅:鍏�)");
+        row.createCell(9).setCellValue("搴旀敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(10).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(11).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(12).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(13).setCellValue("瀹炴敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(14).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(15).setCellValue("鏇存柊鏃堕棿");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeDetail(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1530,14 +1911,26 @@
             row = sheet.createRow(roomIndex + 1);
             dataObj = rooms.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(roomIndex + 1);
-            row.createCell(1).setCellValue(dataObj.getString("objName"));
+            row.createCell(1).setCellValue(dataObj.getString("objNameNum"));
             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"));
+            row.createCell(7).setCellValue(dataObj.getString("hisOweAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("curReceivableAmount"));
+            BigDecimal hisOweAmount = new BigDecimal(dataObj.getString("hisOweAmount"));
+            BigDecimal curReceivableAmount = new BigDecimal(dataObj.getString("curReceivableAmount"));
+            row.createCell(9).setCellValue(hisOweAmount.add(curReceivableAmount).toString());
+            row.createCell(10).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(11).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(12).setCellValue(dataObj.getString("preReceivedAmount"));
+            BigDecimal curReceivedAmount = new BigDecimal(dataObj.getString("curReceivedAmount"));
+            BigDecimal hisOweReceivedAmount = new BigDecimal(dataObj.getString("hisOweReceivedAmount"));
+            BigDecimal preReceivedAmount = new BigDecimal(dataObj.getString("preReceivedAmount"));
+            row.createCell(13).setCellValue(hisOweReceivedAmount.add(preReceivedAmount).add(curReceivedAmount).toString());
+            row.createCell(14).setCellValue(hisOweAmount.add(curReceivableAmount).subtract(curReceivedAmount).subtract(hisOweReceivedAmount).toString());
+            row.createCell(15).setCellValue(dataObj.getString("updateTime"));
         }
     }
 
@@ -1562,6 +1955,29 @@
             return null;
         }
         return savedRoomInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReturnPayFeeManage(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "returnPayFee.listReturnPayFees" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedReturnPayFeeManages = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedReturnPayFeeManages.getJSONArray("returnPayFees").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedReturnPayFeeManages.containsKey("returnPayFees")) {
+            return null;
+        }
+        return savedReturnPayFeeManages.getJSONArray("returnPayFees");
     }
 
     private JSONArray getReportFeeDetail(IPageData pd, ComponentValidateResult result) {
@@ -1595,10 +2011,13 @@
         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("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(5).setCellValue("搴旀敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(6).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(7).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(9).setCellValue("瀹炴敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(10).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(11).setCellValue("鏇存柊鏃堕棿");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeBreakdown(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1614,14 +2033,22 @@
             row.createCell(2).setCellValue(dataObj.getString("feeName"));
             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"));
+            BigDecimal hisOweAmount = new BigDecimal(dataObj.getString("hisOweAmount"));
+            BigDecimal curReceivableAmount = new BigDecimal(dataObj.getString("curReceivableAmount"));
+            row.createCell(5).setCellValue(hisOweAmount.add(curReceivableAmount).toString());
+            row.createCell(6).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("preReceivedAmount"));
+            BigDecimal curReceivedAmount = new BigDecimal(dataObj.getString("curReceivedAmount"));
+            BigDecimal hisOweReceivedAmount = new BigDecimal(dataObj.getString("hisOweReceivedAmount"));
+            BigDecimal preReceivedAmount = new BigDecimal(dataObj.getString("preReceivedAmount"));
+            row.createCell(9).setCellValue(hisOweReceivedAmount.add(preReceivedAmount).add(curReceivedAmount).toString());
             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() + "");
+            row.createCell(10).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
+            row.createCell(11).setCellValue(dataObj.getString("updateTime"));
         }
     }
 
@@ -1656,10 +2083,13 @@
         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("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(5).setCellValue("搴旀敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(6).setCellValue("褰撴湀瀹炴敹(鍗曚綅:鍏�)");
+        row.createCell(7).setCellValue("娆犺垂杩藉洖(鍗曚綅:鍏�)");
+        row.createCell(8).setCellValue("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(9).setCellValue("瀹炴敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(10).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(11).setCellValue("鏇存柊鏃堕棿");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFloorUnitFeeSummary(pd, result);
         if (rooms == null || rooms.size() == 0) {
@@ -1675,14 +2105,22 @@
             row.createCell(2).setCellValue(dataObj.getString("unitNum") + "鍗曞厓");
             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"));
+            BigDecimal hisOweAmount = new BigDecimal(dataObj.getString("hisOweAmount"));
+            BigDecimal curReceivableAmount = new BigDecimal(dataObj.getString("curReceivableAmount"));
+            row.createCell(5).setCellValue(hisOweAmount.add(curReceivableAmount).toString());
+            row.createCell(6).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("preReceivedAmount"));
+            BigDecimal hisOweReceivedAmount = new BigDecimal(dataObj.getString("hisOweReceivedAmount"));
+            BigDecimal preReceivedAmount = new BigDecimal(dataObj.getString("preReceivedAmount"));
+            BigDecimal curReceivedAmount = new BigDecimal(dataObj.getString("curReceivedAmount"));
+            row.createCell(9).setCellValue(hisOweReceivedAmount.add(preReceivedAmount).add(curReceivedAmount).toString());
             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() + "");
+            row.createCell(10).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
+            row.createCell(11).setCellValue(dataObj.getString("updateTime"));
         }
     }
 
@@ -1723,7 +2161,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryReportFeeSummary" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryReportFeeSummary" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1752,10 +2190,14 @@
         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("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(9).setCellValue("鏀惰垂鐜�");
+        row.createCell(10).setCellValue("鏇存柊鏃堕棿");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeSummaryFee(pd, componentValidateResult);
         if (rooms == null || rooms.size() == 0) {
@@ -1769,14 +2211,23 @@
             row.createCell(0).setCellValue(dataObj.getString("feeYear") + "骞�" + dataObj.getString("feeMonth") + "鏈�");
             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"));
+            BigDecimal hisOweAmount = new BigDecimal(dataObj.getString("hisOweAmount"));
+            BigDecimal curReceivableAmount = new BigDecimal(dataObj.getString("curReceivableAmount"));
+            row.createCell(3).setCellValue(hisOweAmount.add(curReceivableAmount).toString());
+            row.createCell(4).setCellValue(dataObj.getString("curReceivedAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("hisOweReceivedAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("preReceivedAmount"));
+            BigDecimal curReceivedAmount = new BigDecimal(dataObj.getString("curReceivedAmount"));
+            BigDecimal hisOweReceivedAmount = new BigDecimal(dataObj.getString("hisOweReceivedAmount"));
+            BigDecimal preReceivedAmount = new BigDecimal(dataObj.getString("preReceivedAmount"));
+            row.createCell(7).setCellValue(curReceivedAmount.add(hisOweReceivedAmount).add(preReceivedAmount).toString());
             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() + "");
+            row.createCell(8).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
+            row.createCell(9).setCellValue(dataObj.getString("chargeRate"));
+            row.createCell(10).setCellValue(dataObj.getString("updateTime"));
         }
     }
 

--
Gitblit v1.8.0