From 6bf8b48e9d689ab90864bc2ee0e6ebeae3a4c1fa Mon Sep 17 00:00:00 2001
From: xiaogang <905166056@qq.com>
Date: 星期四, 04 八月 2022 10:06:47 +0800
Subject: [PATCH] 1.优化报表缴费明细统计问题2、优化调查问卷投票问题3、优化投诉咨询问题3、优化业主新增用户联系地址4、增加定时任务根据身份证号自动更新年龄5、优化缴费清单

---
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java |  521 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 369 insertions(+), 152 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 7c59246..53d3ddf 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,12 @@
 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.core.log.LoggerFactory;
 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;
@@ -19,7 +18,6 @@
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -78,6 +76,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;
@@ -170,6 +169,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();
@@ -208,15 +209,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("鍚堣");
         }
 
 
@@ -226,15 +228,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));
             }
 
         }
@@ -354,7 +357,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) {
@@ -365,7 +369,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"));
@@ -381,6 +389,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"));
         }
     }
 
@@ -484,7 +494,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("璺濈璐圭敤寮�濮嬫椂闂达紙澶╋級");
@@ -497,7 +507,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"));
@@ -507,7 +521,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("璺濈璐圭敤缁撴潫鏃堕棿锛堝ぉ锛�");
@@ -520,7 +534,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"));
@@ -562,16 +576,17 @@
         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(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("鍒涘缓鏃堕棿");
 
         JSONArray purchaseApplyDetails = this.getPurchaseApplyDetail(pd, result);
         if (purchaseApplyDetails == null || purchaseApplyDetails.size() == 0) {
@@ -588,12 +603,13 @@
             row.createCell(4).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
             row.createCell(5).setCellValue(dataObj.getString("resName"));
             row.createCell(6).setCellValue(dataObj.getString("specName"));
-            row.createCell(7).setCellValue(dataObj.getString("supplierName"));
-            row.createCell(8).setCellValue(dataObj.getString("shName"));
-            row.createCell(9).setCellValue(dataObj.getString("warehousingWayName") + dataObj.getString("resOrderTypeName"));
-            row.createCell(10).setCellValue(dataObj.getString("quantity") + dataObj.getString("unitCodeName"));
-            row.createCell(11).setCellValue(dataObj.getString("purchaseQuantity") + dataObj.getString("unitCodeName"));
-            row.createCell(12).setCellValue(dataObj.getString("price"));
+            row.createCell(7).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(8).setCellValue(dataObj.getString("supplierName"));
+            row.createCell(9).setCellValue(dataObj.getString("shName"));
+            row.createCell(10).setCellValue(dataObj.getString("warehousingWayName") + dataObj.getString("resOrderTypeName"));
+            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"))) { //鐘舵�佹槸鍏ュ簱
                 //鑾峰彇閲囪喘鏁伴噺
@@ -602,13 +618,13 @@
                 double price = Double.parseDouble(dataObj.getString("price"));
                 //鑾峰彇閲囪喘鎬讳环
                 double totalPrice = purchaseQuantity * price;
-                row.createCell(13).setCellValue(String.valueOf(totalPrice));
+                row.createCell(14).setCellValue(String.valueOf(totalPrice));
             } else {
-                row.createCell(13).setCellValue("--");
+                row.createCell(14).setCellValue("--");
             }
-            row.createCell(14).setCellValue(dataObj.getString("remark"));
-            row.createCell(15).setCellValue(dataObj.getString("stateName"));
-            row.createCell(16).setCellValue(dataObj.getString("createTime"));
+            row.createCell(15).setCellValue(dataObj.getString("remark"));
+            row.createCell(16).setCellValue(dataObj.getString("stateName"));
+            row.createCell(17).setCellValue(dataObj.getString("createTime"));
         }
     }
 
@@ -649,15 +665,16 @@
         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("鐢宠浜篒D");
-        row.createCell(10).setCellValue("鐢宠浜�");
-        row.createCell(11).setCellValue("璋冩嫧璇存槑");
-        row.createCell(12).setCellValue("鐘舵��");
-        row.createCell(13).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("鐢宠浜篒D");
+        row.createCell(11).setCellValue("鐢宠浜�");
+        row.createCell(12).setCellValue("璋冩嫧璇存槑");
+        row.createCell(13).setCellValue("鐘舵��");
+        row.createCell(14).setCellValue("鏃堕棿");
 
         JSONArray allocationStorehouses = this.getAllocationStorehouseDetail(pd, result);
         if (allocationStorehouses == null || allocationStorehouses.size() == 0) {
@@ -672,19 +689,20 @@
             row.createCell(2).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
             row.createCell(3).setCellValue(dataObj.getString("resName"));
             row.createCell(4).setCellValue(dataObj.getString("specName"));
-            row.createCell(5).setCellValue(dataObj.getString("originalStock") + dataObj.getString("unitCodeName"));
-            row.createCell(6).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
+            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(6).setCellValue(dataObj.getString("originalStock") + dataObj.getString("unitCodeName"));
+            row.createCell(7).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
             if (!StringUtil.isEmpty(dataObj.getString("applyType")) && dataObj.getString("applyType").equals("20000")) {  //杩旇繕
-                row.createCell(7).setCellValue(dataObj.getString("startUserName"));
+                row.createCell(8).setCellValue(dataObj.getString("startUserName"));
             } else {
-                row.createCell(7).setCellValue(dataObj.getString("shaName"));
+                row.createCell(8).setCellValue(dataObj.getString("shaName"));
             }
-            row.createCell(8).setCellValue(dataObj.getString("shzName"));
-            row.createCell(9).setCellValue(dataObj.getString("startUserId"));
-            row.createCell(10).setCellValue(dataObj.getString("startUserName"));
-            row.createCell(11).setCellValue(dataObj.getString("remark"));
-            row.createCell(12).setCellValue(dataObj.getString("stateName"));
-            row.createCell(13).setCellValue(dataObj.getString("createTime"));
+            row.createCell(9).setCellValue(dataObj.getString("shzName"));
+            row.createCell(10).setCellValue(dataObj.getString("startUserId"));
+            row.createCell(11).setCellValue(dataObj.getString("startUserName"));
+            row.createCell(12).setCellValue(dataObj.getString("remark"));
+            row.createCell(13).setCellValue(dataObj.getString("stateName"));
+            row.createCell(14).setCellValue(dataObj.getString("createTime"));
         }
     }
 
@@ -697,13 +715,14 @@
         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(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("鐗╁搧鎬讳环");
         JSONArray resourceStores = this.getResourceStore(pd, result);
         if (resourceStores == null || resourceStores.size() == 0) {
             return;
@@ -723,22 +742,23 @@
             row.createCell(3).setCellValue(dataObj.getString("resName"));
             row.createCell(4).setCellValue(dataObj.getString("rssName"));
             row.createCell(5).setCellValue(dataObj.getString("resCode"));
-            row.createCell(6).setCellValue(dataObj.getString("price"));
+            row.createCell(6).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(7).setCellValue(dataObj.getString("price"));
             //鑾峰彇鏈�浣庝环
             String outLowPrice = dataObj.getString("outLowPrice");
             //鑾峰彇鏈�楂樹环
             String outHighPrice = dataObj.getString("outHighPrice");
             if (!StringUtil.isEmpty(outLowPrice) && !StringUtil.isEmpty(outHighPrice) && outLowPrice.equals(outHighPrice)) {
-                row.createCell(7).setCellValue(outLowPrice);
+                row.createCell(8).setCellValue(outLowPrice);
             } else if (!StringUtil.isEmpty(outLowPrice) && !StringUtil.isEmpty(outHighPrice) && !outLowPrice.equals(outHighPrice)) {
-                row.createCell(7).setCellValue(dataObj.getString("outLowPrice") + "-" + dataObj.getString("outHighPrice"));
+                row.createCell(8).setCellValue(dataObj.getString("outLowPrice") + "-" + dataObj.getString("outHighPrice"));
             } else {
-                row.createCell(7).setCellValue("--");
+                row.createCell(8).setCellValue("--");
             }
-            row.createCell(8).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
-            row.createCell(9).setCellValue("1" + dataObj.getString("unitCodeName") + "=" + dataObj.getString("miniUnitStock") + dataObj.getString("miniUnitCodeName"));
-            row.createCell(10).setCellValue(dataObj.getString("miniStock") + dataObj.getString("miniUnitCodeName"));
-            row.createCell(11).setCellValue(dataObj.getString("averagePrice"));
+            row.createCell(9).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
+            row.createCell(10).setCellValue("1" + dataObj.getString("unitCodeName") + "=" + dataObj.getString("miniUnitStock") + dataObj.getString("miniUnitCodeName"));
+            row.createCell(11).setCellValue(dataObj.getString("miniStock") + dataObj.getString("miniUnitCodeName"));
+            row.createCell(12).setCellValue(dataObj.getString("averagePrice"));
             if (!StringUtil.isEmpty(dataObj.getString("stock")) && !StringUtil.isEmpty(dataObj.getString("averagePrice"))) {
                 //鑾峰彇鐗╁搧搴撳瓨鏁伴噺
                 double stock = Double.parseDouble(dataObj.getString("stock"));
@@ -749,9 +769,9 @@
                 //璁$畻鐗╁搧鎬讳环
                 BigDecimal price = x1.multiply(y1);
                 double totalPrice = price.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
-                row.createCell(12).setCellValue(String.valueOf(totalPrice));
+                row.createCell(13).setCellValue(String.valueOf(totalPrice));
             } else {
-                row.createCell(12).setCellValue("0.0");
+                row.createCell(13).setCellValue("0.0");
             }
         }
     }
@@ -764,9 +784,10 @@
         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(5).setCellValue("鏄惁鏄浐瀹氱墿鍝�");
+        row.createCell(6).setCellValue("鐢宠鏃堕棿");
+        row.createCell(7).setCellValue("閲囪喘鏂瑰紡");
+        row.createCell(8).setCellValue("瀹℃壒鐘舵��");
         JSONArray purchaseApplys = this.getPurchaseApply(pd, result);
         if (purchaseApplys == null || purchaseApplys.size() == 0) {
             return;
@@ -780,15 +801,16 @@
             row.createCell(2).setCellValue(dataObj.getString("endUserName"));
             row.createCell(3).setCellValue(dataObj.getString("createUserName"));
             row.createCell(4).setCellValue(dataObj.getString("resourceNames"));
-            row.createCell(5).setCellValue(dataObj.getString("createTime"));
+            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(6).setCellValue(dataObj.getString("createTime"));
             //鑾峰彇鍏ュ簱鏂瑰紡
             String warehousingWay = dataObj.getString("warehousingWay");
             if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
-                row.createCell(6).setCellValue("鐩存帴鍏ュ簱");
+                row.createCell(7).setCellValue("鐩存帴鍏ュ簱");
             } else {
-                row.createCell(6).setCellValue("閲囪喘鐢宠鍏ュ簱");
+                row.createCell(7).setCellValue("閲囪喘鐢宠鍏ュ簱");
             }
-            row.createCell(7).setCellValue(dataObj.getString("stateName"));
+            row.createCell(8).setCellValue(dataObj.getString("stateName"));
         }
     }
 
@@ -797,11 +819,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(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("棰嗙敤鏂瑰紡");
         JSONArray itemOutManages = this.getItemOutManage(pd, result);
         if (itemOutManages == null || itemOutManages.size() == 0) {
             return;
@@ -812,18 +835,19 @@
             dataObj = itemOutManages.getJSONObject(roomIndex);
             row.createCell(0).setCellValue(dataObj.getString("applyOrderId"));
             row.createCell(1).setCellValue(dataObj.getString("resourceNames"));
-            row.createCell(2).setCellValue(dataObj.getString("userName"));
-            row.createCell(3).setCellValue(dataObj.getString("createUserName"));
-            row.createCell(4).setCellValue(dataObj.getString("createTime"));
-            row.createCell(5).setCellValue(dataObj.getString("stateName"));
+            row.createCell(2).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(3).setCellValue(dataObj.getString("userName"));
+            row.createCell(4).setCellValue(dataObj.getString("createUserName"));
+            row.createCell(5).setCellValue(dataObj.getString("createTime"));
+            row.createCell(6).setCellValue(dataObj.getString("stateName"));
             //鑾峰彇鍑哄簱鏂瑰紡
             String warehousingWay = dataObj.getString("warehousingWay");
             if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
-                row.createCell(6).setCellValue("鐩存帴鍑哄簱");
+                row.createCell(7).setCellValue("鐩存帴鍑哄簱");
             } else if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("20000")) {
-                row.createCell(6).setCellValue("瀹℃牳鍑哄簱");
+                row.createCell(7).setCellValue("瀹℃牳鍑哄簱");
             } else {
-                row.createCell(6).setCellValue("--");
+                row.createCell(7).setCellValue("--");
             }
         }
     }
@@ -836,12 +860,13 @@
         row.createCell(2).setCellValue("鐗╁搧绫诲瀷");
         row.createCell(3).setCellValue("鐗╁搧鍚嶇О");
         row.createCell(4).setCellValue("鐗╁搧瑙勬牸");
-        row.createCell(5).setCellValue("杞禒瀵硅薄ID");
-        row.createCell(6).setCellValue("杞禒瀵硅薄");
-        row.createCell(7).setCellValue("鍘熸湁搴撳瓨");
-        row.createCell(8).setCellValue("杞禒鏁伴噺");
-        row.createCell(9).setCellValue("鍒涘缓鏃堕棿");
-        row.createCell(10).setCellValue("澶囨敞");
+        row.createCell(5).setCellValue("鏄惁鏄浐瀹氱墿鍝�");
+        row.createCell(6).setCellValue("杞禒瀵硅薄ID");
+        row.createCell(7).setCellValue("杞禒瀵硅薄");
+        row.createCell(8).setCellValue("鍘熸湁搴撳瓨");
+        row.createCell(9).setCellValue("杞禒鏁伴噺");
+        row.createCell(10).setCellValue("鍒涘缓鏃堕棿");
+        row.createCell(11).setCellValue("澶囨敞");
         JSONArray allocationUserStorehouses = this.getAllocationUserStorehouseManage(pd, result);
         if (allocationUserStorehouses == null || allocationUserStorehouses.size() == 0) {
             return;
@@ -855,12 +880,79 @@
             row.createCell(2).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
             row.createCell(3).setCellValue(dataObj.getString("resName"));
             row.createCell(4).setCellValue(dataObj.getString("specName"));
-            row.createCell(5).setCellValue(dataObj.getString("acceptUserId"));
-            row.createCell(6).setCellValue(dataObj.getString("acceptUserName"));
-            row.createCell(7).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
-            row.createCell(8).setCellValue(dataObj.getString("giveQuantity") + dataObj.getString("miniUnitCodeName"));
-            row.createCell(9).setCellValue(dataObj.getString("createTime"));
-            row.createCell(10).setCellValue(dataObj.getString("remark"));
+            row.createCell(5).setCellValue(dataObj.getString("isFixedName"));
+            row.createCell(6).setCellValue(dataObj.getString("acceptUserId"));
+            row.createCell(7).setCellValue(dataObj.getString("acceptUserName"));
+            row.createCell(8).setCellValue(dataObj.getString("stock") + dataObj.getString("unitCodeName"));
+            row.createCell(9).setCellValue(dataObj.getString("giveQuantity") + dataObj.getString("miniUnitCodeName"));
+            row.createCell(10).setCellValue(dataObj.getString("createTime"));
+            row.createCell(11).setCellValue(dataObj.getString("remark"));
+        }
+    }
+
+    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("--");
+            }
         }
     }
 
@@ -873,12 +965,14 @@
         row.createCell(3).setCellValue("鐗╁搧绫诲瀷");
         row.createCell(4).setCellValue("鐗╁搧鍚嶇О");
         row.createCell(5).setCellValue("鐗╁搧瑙勬牸");
-        row.createCell(6).setCellValue("鐗╁搧浣跨敤鏁伴噺");
-        row.createCell(7).setCellValue("鐗╁搧浠锋牸");
-        row.createCell(8).setCellValue("浣跨敤浜篒D");
-        row.createCell(9).setCellValue("浣跨敤浜�");
-        row.createCell(10).setCellValue("鍒涘缓鏃堕棿");
-        row.createCell(11).setCellValue("澶囨敞");
+        row.createCell(6).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;
@@ -893,12 +987,14 @@
             row.createCell(3).setCellValue(dataObj.getString("parentRstName") + ">" + dataObj.getString("rstName"));
             row.createCell(4).setCellValue(dataObj.getString("resourceStoreName"));
             row.createCell(5).setCellValue(dataObj.getString("specName"));
-            row.createCell(6).setCellValue(dataObj.getString("quantity") + dataObj.getString("miniUnitCodeName"));
-            row.createCell(7).setCellValue(dataObj.getString("unitPrice"));
-            row.createCell(8).setCellValue(dataObj.getString("createUserId"));
-            row.createCell(9).setCellValue(dataObj.getString("createUserName"));
-            row.createCell(10).setCellValue(dataObj.getString("createTime"));
-            row.createCell(11).setCellValue(dataObj.getString("remark"));
+            row.createCell(6).setCellValue(dataObj.getString("isFixedName"));
+            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"));
         }
     }
 
@@ -950,7 +1046,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"));
@@ -1015,6 +1115,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) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1108,6 +1209,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);
@@ -1202,6 +1304,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) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1285,7 +1388,11 @@
         }
         JSONObject savedResourceStores = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
         //鑾峰彇闄愬埗鏉℃暟鐨勫��
-        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        String exportNumber = MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER);
+        if (!StringUtil.isNumber(exportNumber)) {
+            exportNumber = "10000";
+        }
+        int number = Integer.parseInt(exportNumber);
         if (savedResourceStores.getJSONArray("resourceStores").size() > number) {
             throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
         }
@@ -1364,6 +1471,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;
@@ -1416,7 +1546,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;
@@ -1465,8 +1595,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) {
@@ -1482,8 +1613,9 @@
             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"));
         }
     }
 
@@ -1497,8 +1629,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) {
@@ -1509,14 +1648,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"));
         }
     }
 
@@ -1572,26 +1723,46 @@
         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("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(11).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"));
+            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(10).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
+            row.createCell(11).setCellValue(dataObj.getString("updateTime"));
         }
     }
 
@@ -1624,24 +1795,46 @@
         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("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        row.createCell(9).setCellValue("瀹炴敹鍚堣(鍗曚綅:鍏�)");
+        row.createCell(10).setCellValue("娆犺垂閲戦(鍗曚綅:鍏�)");
+        row.createCell(11).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"));
+            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(10).setCellValue(oweFeeDec.doubleValue() < 0 ? "0" : oweFeeDec.doubleValue() + "");
+            row.createCell(11).setCellValue(dataObj.getString("updateTime"));
         }
     }
 
@@ -1709,22 +1902,46 @@
         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("棰勪氦璐圭敤(鍗曚綅:鍏�)");
+        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) {
             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"));
+            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(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