From cddcf22a61489ee9c2dfee169d817ccd66f95430 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 03 九月 2021 02:23:43 +0800
Subject: [PATCH] 优化代码

---
 service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java | 1215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 1,170 insertions(+), 45 deletions(-)

diff --git a/service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java b/service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java
index 9b5e2da..b8dd7a2 100755
--- a/service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java
+++ b/service-front/src/main/java/com/java110/front/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -8,6 +8,7 @@
 import com.java110.dto.fee.FeeConfigDto;
 import com.java110.entity.component.ComponentValidateResult;
 import com.java110.front.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;
@@ -43,7 +44,15 @@
  **/
 @Service("exportReportFeeSMOImpl")
 public class ExportReportFeeSMOImpl extends BaseComponentSMO implements IExportReportFeeSMO {
+
     private final static Logger logger = LoggerFactory.getLogger(ExportReportFeeSMOImpl.class);
+
+    //鍩�
+    public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
+
+    //閿�(瀵煎嚭鏈�澶ч檺鍒舵潯鏁�)
+    public static final String EXPORT_NUMBER = "EXPORT_NUMBER";
+
     public static final String REPORT_FEE_SUMMARY = "reportFeeSummary";
     public static final String REPORT_FLOOR_UNIT_FEE_SUMMARY = "reportFloorUnitFeeSummary";
     public static final String REPORT_FEE_BREAKDOWN = "reportFeeBreakdown";
@@ -52,6 +61,22 @@
     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_PAY_FEE_MANAGE = "reportPayFeeManage";
+    public static final String REPORT_QUESTION_ANSWER_DETAIL = "reportQuestionAnswerDetail";
+    public static final String REPORT_PRE_PAYMENT_FEE = "reportPrePaymentFee";
+    public static final String REPORT_DEAD_LINE_FEE = "reportDeadlineFee";
+    public static final String REPORT_NO_FEE_ROOM = "reportNoFeeRoom";
+    public static final String REPORT_PURCHASE_APPLY_DETAIL = "purchaseApplyDetail";
+    public static final String REPORT_ALLOCATION_STORE_HOUSE = "allocationStorehouse";
+    public static final String REPORT_ALLOCATION_STORE_HOUSE_DETAIL = "allocationStorehouseDetail";
+    public static final String REPORT_RESOURCE_STORE_MANAGE = "resourceStoreManage";
+    public static final String REPORT_PURCHASE_APPLY_MANAGE = "purchaseApplyManage";
+    public static final String REPORT_ITEM_OUT_MANAGE = "itemOutManage";
+    public static final String ALLOCATION_USER_STORE_HOUSE_MANAGE = "allocationUserStorehouseManage";
+    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";
 
     @Autowired
     private RestTemplate restTemplate;
@@ -65,6 +90,7 @@
         Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "pagePath", "璇锋眰涓湭鍖呭惈椤甸潰");
 
         Workbook workbook = null;  //宸ヤ綔绨�
+        String userId = "";
         //宸ヤ綔琛�
         workbook = new XSSFWorkbook();
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
@@ -83,7 +109,6 @@
             case REPORT_FEE_DETAIL:
                 reportFeeDetail(pd, result, workbook);
                 break;
-
             case REPORT_OWE_FEE_DETAIL:
                 reportOweFeeDetail(pd, result, workbook);
                 break;
@@ -95,6 +120,54 @@
                 break;
             case REPORT_LIST_OWE_FEE:
                 reportListOweFee(pd, result, workbook);
+                break;
+            case REPORT_REPAIR_DETAIL:
+                reportRepairDetail(pd, result, workbook);
+                break;
+            case REPORT_PAY_FEE_MANAGE:
+                reportPayFeeManage(pd, result, workbook);
+                break;
+            case REPORT_QUESTION_ANSWER_DETAIL:
+                reportQuestionAnswerDetail(pd, result, workbook);
+                break;
+            case REPORT_PRE_PAYMENT_FEE:
+                reportPrePaymentFee(pd, result, workbook);
+                break;
+            case REPORT_DEAD_LINE_FEE:
+                reportDeadlineFee(pd, result, workbook);
+                break;
+            case REPORT_NO_FEE_ROOM:
+                reportNoFeeRoom(pd, result, workbook);
+                break;
+            case REPORT_PURCHASE_APPLY_DETAIL:
+                purchaseApplyDetailManage(pd, result, workbook);
+                break;
+            case REPORT_ALLOCATION_STORE_HOUSE:
+                allocationStorehouse(pd, result, workbook);
+                break;
+            case REPORT_ALLOCATION_STORE_HOUSE_DETAIL:
+                allocationStorehouseDetail(pd, result, workbook);
+                break;
+            case REPORT_RESOURCE_STORE_MANAGE:
+                resourceStoreManage(pd, result, workbook);
+                break;
+            case REPORT_PURCHASE_APPLY_MANAGE:
+                purchaseApplyManage(pd, result, workbook);
+                break;
+            case REPORT_ITEM_OUT_MANAGE:
+                itemOutManage(pd, result, workbook);
+                break;
+            case ALLOCATION_USER_STORE_HOUSE_MANAGE:
+                allocationUserStorehouseManage(pd, result, workbook);
+                break;
+            case RESOURCE_STORE_USE_RECORD_MANAGE:
+                resourceStoreUseRecordManage(pd, result, workbook);
+                break;
+            case RESOURCE_STAFF_FEE_MANAGE:
+                staffFeeManage(pd, result, workbook);
+                break;
+            case REPORT_PAY_FEE_DEPOSIT:
+                reportPayFeeDeposit(pd, result, workbook);
                 break;
         }
         ByteArrayOutputStream os = new ByteArrayOutputStream();
@@ -140,8 +213,11 @@
             for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
                 row.createCell(4 + feeConfigIndex).setCellValue(feeConfigDtos.get(feeConfigIndex).getFeeName());
             }
+            row.createCell(4 + feeConfigDtos.size()).setCellValue("鍚堣");
+        } else {
+            row.createCell(4).setCellValue("鍚堣");
         }
-        row.createCell(4 + feeConfigDtos.size()).setCellValue("鍚堣");
+
 
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < oweFees.size(); roomIndex++) {
@@ -155,8 +231,11 @@
                 for (int feeConfigIndex = 0; feeConfigIndex < feeConfigDtos.size(); feeConfigIndex++) {
                     row.createCell(4 + feeConfigIndex).setCellValue(getFeeConfigAmount(feeConfigDtos.get(feeConfigIndex), dataObj));
                 }
+                row.createCell(4 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
+            } else {
+                row.createCell(4).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
             }
-            row.createCell(4 + feeConfigDtos.size()).setCellValue(getAllFeeOweAmount(feeConfigDtos, dataObj));
+
         }
     }
 
@@ -187,6 +266,10 @@
             return dataObj.getDouble("amountOwed");
         }
         JSONArray items = dataObj.getJSONArray("items");
+        if (items == null || items.size() < 1) {
+            return dataObj.getDouble("amountOwed");
+        }
+
         BigDecimal oweAmount = new BigDecimal(0);
         for (FeeConfigDto feeConfigDto : feeConfigDtos) {
             for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
@@ -201,8 +284,12 @@
 
     private double getFeeConfigAmount(FeeConfigDto feeConfigDto, JSONObject dataObj) {
         JSONArray items = dataObj.getJSONArray("items");
-
         double oweAmount = 0;
+
+        if (items == null || items.size() < 1) {
+            return oweAmount;
+        }
+
         for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
             if (feeConfigDto.getConfigId().equals(items.getJSONObject(itemIndex).getString("configId"))) {
                 oweAmount = items.getJSONObject(itemIndex).getDouble("amountOwed");
@@ -217,14 +304,16 @@
         List<FeeConfigDto> feeConfigDtos = new ArrayList<>();
         FeeConfigDto feeConfigDto = null;
         for (int oweFeeIndex = 0; oweFeeIndex < oweFees.size(); oweFeeIndex++) {
-            if (existsFeeConfig(feeConfigDtos, oweFees.getJSONObject(oweFeeIndex))) {
-                continue;
+            JSONArray items = oweFees.getJSONObject(oweFeeIndex).getJSONArray("items");
+            for (int itemIndex = 0; itemIndex < items.size(); itemIndex++) {
+                if (existsFeeConfig(feeConfigDtos, items.getJSONObject(itemIndex))) {
+                    continue;
+                }
+                feeConfigDto = new FeeConfigDto();
+                feeConfigDto.setConfigId(items.getJSONObject(itemIndex).getString("configId"));
+                feeConfigDto.setFeeName(items.getJSONObject(itemIndex).getString("configName"));
+                feeConfigDtos.add(feeConfigDto);
             }
-
-            feeConfigDto = new FeeConfigDto();
-            feeConfigDto.setConfigId(oweFees.getJSONObject(oweFeeIndex).getString("configId"));
-            feeConfigDto.setFeeName(oweFees.getJSONObject(oweFeeIndex).getString("configName"));
-            feeConfigDtos.add(feeConfigDto);
         }
 
         return feeConfigDtos;
@@ -247,45 +336,633 @@
     private void reportPayFeeDetail(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("鏀粯鏂瑰紡");
-        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(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(14).setCellValue("涓氫富");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportPayFeeDetail(pd, result);
-        if (rooms == null) {
+        if (rooms == null || rooms.size() == 0) {
             return;
         }
         JSONObject dataObj = 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(0).setCellValue(dataObj.getString("oId"));
             row.createCell(1).setCellValue(dataObj.getString("objName"));
-            row.createCell(2).setCellValue(dataObj.getString("feeName"));
-            row.createCell(3).setCellValue(dataObj.getString("primeRate"));
-            row.createCell(4).setCellValue(dataObj.getString("startTime"));
-            row.createCell(5).setCellValue(dataObj.getString("endTime"));
-            row.createCell(6).setCellValue(dataObj.getString("createTime"));
-            row.createCell(7).setCellValue(dataObj.getString("receivableAmount"));
-            row.createCell(8).setCellValue(dataObj.getString("receivedAmount"));
-            row.createCell(9).setCellValue(dataObj.getString("preferentialAmount"));
-            row.createCell(10).setCellValue(dataObj.getString("deductionAmount"));
-            row.createCell(11).setCellValue(dataObj.getString("lateFee"));
-            row.createCell(12).setCellValue(dataObj.getString("vacantHousingDiscount"));
-            row.createCell(13).setCellValue(dataObj.getString("vacantHousingReduction"));
+            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("stateName"));
+            row.createCell(6).setCellValue(dataObj.getString("primeRate"));
+            row.createCell(7).setCellValue(dataObj.getString("startTime"));
+            row.createCell(8).setCellValue(dataObj.getString("endTime"));
+            row.createCell(9).setCellValue(dataObj.getString("createTime"));
+            row.createCell(10).setCellValue(dataObj.getDouble("receivableAmount"));
+            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"));
         }
     }
+
+    private void reportRepairDetail(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("鍛樺伐璇勫垎");
+
+        //鏌ヨ鎶ヤ慨淇℃伅
+        JSONArray repairs = this.getReportRepairDetail(pd, result);
+        if (repairs == null || repairs.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < repairs.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = repairs.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("staffId"));
+            row.createCell(1).setCellValue(dataObj.getString("staffName"));
+            row.createCell(2).setCellValue(dataObj.getString("dealAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("dispatchAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("transferOrderAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("chargebackAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("returnAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("statementAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("score"));
+        }
+    }
+
+    private void reportPayFeeManage(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("缂磋垂ID");
+        row.createCell(4).setCellValue("鏀粯鏂瑰紡");
+        row.createCell(5).setCellValue("浠樿垂鍛ㄦ湡(鏈�)");
+        row.createCell(6).setCellValue("搴斾粯閲戦(鍏�)");
+        row.createCell(7).setCellValue("瀹炰粯閲戦(鍏�)");
+        row.createCell(8).setCellValue("鎿嶄綔鍛樺伐");
+        row.createCell(9).setCellValue("缂磋垂鏃堕棿");
+
+        //鏌ヨ缂磋垂淇℃伅
+        JSONArray payFees = this.getReportPayFeeManage(pd, result);
+        if (payFees == null || payFees.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < payFees.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = payFees.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(1).setCellValue(dataObj.getString("feeName"));
+            row.createCell(2).setCellValue(dataObj.getString("payObjName"));
+            row.createCell(3).setCellValue(dataObj.getString("detailId"));
+            row.createCell(4).setCellValue(dataObj.getString("primeRate"));
+            row.createCell(5).setCellValue(dataObj.getString("cycles"));
+            row.createCell(6).setCellValue(dataObj.getString("receivableAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("receivedAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("userName"));
+            row.createCell(9).setCellValue(dataObj.getString("createTime"));
+        }
+    }
+
+    private void reportQuestionAnswerDetail(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("鏃堕棿");
+
+        JSONArray questionAnswers = this.getReportQuestionAnswerDetail(pd, result);
+        if (questionAnswers == null || questionAnswers.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < questionAnswers.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = questionAnswers.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("userName"));
+            row.createCell(1).setCellValue(dataObj.getString("qaTypeName"));
+            row.createCell(2).setCellValue(dataObj.getString("qaName"));
+            row.createCell(3).setCellValue(dataObj.getString("qaTitle"));
+            row.createCell(4).setCellValue(dataObj.getString("qaValue"));
+            row.createCell(5).setCellValue(dataObj.getString("createTime"));
+        }
+    }
+
+    private void reportPrePaymentFee(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("璺濈璐圭敤寮�濮嬫椂闂达紙澶╋級");
+
+        JSONArray prePayFees = this.getReportPrePaymentFee(pd, result);
+        if (prePayFees == null || prePayFees.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < prePayFees.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = prePayFees.getJSONObject(roomIndex);
+            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"));
+        }
+    }
+
+    private void reportDeadlineFee(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("璺濈璐圭敤缁撴潫鏃堕棿锛堝ぉ锛�");
+
+        JSONArray deadlineFees = this.getReportDeadlineFee(pd, result);
+        if (deadlineFees == null || deadlineFees.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        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(1).setCellValue(dataObj.getString("feeName"));
+            row.createCell(2).setCellValue(dataObj.getString("deadlineTime"));
+            row.createCell(3).setCellValue(dataObj.getString("oweDay"));
+        }
+    }
+
+    private void reportNoFeeRoom(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("涓氫富鐢佃瘽");
+
+        JSONArray noFeeRooms = this.getReportNoFeeRoom(pd, result);
+        if (noFeeRooms == null || noFeeRooms.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < noFeeRooms.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = noFeeRooms.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("floorNum"));
+            row.createCell(1).setCellValue(dataObj.getString("unitNum"));
+            row.createCell(2).setCellValue(dataObj.getString("roomNum"));
+            row.createCell(3).setCellValue(dataObj.getString("ownerName"));
+            row.createCell(4).setCellValue(dataObj.getString("link"));
+        }
+    }
+
+    private void purchaseApplyDetailManage(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("閲囪喘/鍑哄簱鏁伴噺");
+        row.createCell(12).setCellValue("閲囪喘浠锋牸");
+        row.createCell(13).setCellValue("閲囪喘鎬讳环");
+        row.createCell(14).setCellValue("鐢宠澶囨敞");
+        row.createCell(15).setCellValue("鐘舵��");
+        row.createCell(16).setCellValue("鍒涘缓鏃堕棿");
+
+        JSONArray purchaseApplyDetails = this.getPurchaseApplyDetail(pd, result);
+        if (purchaseApplyDetails == null || purchaseApplyDetails.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < purchaseApplyDetails.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = purchaseApplyDetails.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("applyOrderId"));
+            row.createCell(1).setCellValue(dataObj.getString("userName"));
+            row.createCell(2).setCellValue(dataObj.getString("endUserName"));
+            row.createCell(3).setCellValue(dataObj.getString("resOrderTypeName"));
+            row.createCell(4).setCellValue(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"));
+            row.createCell(11).setCellValue(dataObj.getString("purchaseQuantity"));
+            row.createCell(12).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"))) { //鐘舵�佹槸鍏ュ簱
+                //鑾峰彇閲囪喘鏁伴噺
+                double purchaseQuantity = Double.parseDouble(dataObj.getString("purchaseQuantity"));
+                //鑾峰彇閲囪喘鍗曚环
+                double price = Double.parseDouble(dataObj.getString("price"));
+                //鑾峰彇閲囪喘鎬讳环
+                double totalPrice = purchaseQuantity * price;
+                row.createCell(13).setCellValue(String.valueOf(totalPrice));
+            } else {
+                row.createCell(13).setCellValue("--");
+            }
+            row.createCell(14).setCellValue(dataObj.getString("remark"));
+            row.createCell(15).setCellValue(dataObj.getString("stateName"));
+            row.createCell(16).setCellValue(dataObj.getString("createTime"));
+        }
+    }
+
+    private void allocationStorehouse(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("鐢宠浜篒D");
+        row.createCell(3).setCellValue("鐢宠浜�");
+        row.createCell(4).setCellValue("鐘舵��");
+        row.createCell(5).setCellValue("绫诲瀷");
+        row.createCell(6).setCellValue("鏃堕棿");
+
+        JSONArray allocationStorehouses = this.getAllocationStorehouse(pd, result);
+        if (allocationStorehouses == null || allocationStorehouses.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < allocationStorehouses.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = allocationStorehouses.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("applyId"));
+            row.createCell(1).setCellValue(dataObj.getString("applyCount"));
+            row.createCell(2).setCellValue(dataObj.getString("startUserId"));
+            row.createCell(3).setCellValue(dataObj.getString("startUserName"));
+            row.createCell(4).setCellValue(dataObj.getString("stateName"));
+            row.createCell(5).setCellValue(dataObj.getString("applyTypeName"));
+            row.createCell(6).setCellValue(dataObj.getString("createTime"));
+        }
+    }
+
+    private void allocationStorehouseDetail(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        Sheet sheet = workbook.createSheet("璋冩嫧鏄庣粏");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("璋冩嫧鐢宠ID");
+        row.createCell(1).setCellValue("鐗╁搧ID");
+        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("鏃堕棿");
+
+        JSONArray allocationStorehouses = this.getAllocationStorehouseDetail(pd, result);
+        if (allocationStorehouses == null || allocationStorehouses.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < allocationStorehouses.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = allocationStorehouses.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("applyId"));
+            row.createCell(1).setCellValue(dataObj.getString("resId"));
+            row.createCell(2).setCellValue(dataObj.getString("rstName"));
+            row.createCell(3).setCellValue(dataObj.getString("resName"));
+            row.createCell(4).setCellValue(dataObj.getString("specName"));
+            row.createCell(5).setCellValue(dataObj.getString("originalStock"));
+            row.createCell(6).setCellValue(dataObj.getString("stock"));
+            if (!StringUtil.isEmpty(dataObj.getString("applyType")) && dataObj.getString("applyType").equals("20000")) {  //杩旇繕
+                row.createCell(7).setCellValue(dataObj.getString("startUserName"));
+            } else {
+                row.createCell(7).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"));
+        }
+    }
+
+    private void resourceStoreManage(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("鐗╁搧鎬讳环");
+        JSONArray resourceStores = this.getResourceStore(pd, result);
+        if (resourceStores == null || resourceStores.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < resourceStores.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = resourceStores.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("resId"));
+            row.createCell(1).setCellValue(dataObj.getString("shName"));
+            row.createCell(2).setCellValue(dataObj.getString("rstName"));
+            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"));
+            //鑾峰彇鏈�浣庝环
+            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);
+            } else if (!StringUtil.isEmpty(outLowPrice) && !StringUtil.isEmpty(outHighPrice) && !outLowPrice.equals(outHighPrice)) {
+                row.createCell(7).setCellValue(dataObj.getString("outLowPrice") + "-" + dataObj.getString("outHighPrice"));
+            } else {
+                row.createCell(7).setCellValue("--");
+            }
+            row.createCell(8).setCellValue(dataObj.getString("stock"));
+            row.createCell(9).setCellValue(dataObj.getString("unitCodeName") + "=" + dataObj.getString("miniUnitStock") + dataObj.getString("miniUnitCodeName"));
+            row.createCell(10).setCellValue(dataObj.getString("miniStock"));
+            row.createCell(11).setCellValue(dataObj.getString("averagePrice"));
+            if (!StringUtil.isEmpty(dataObj.getString("stock")) && !StringUtil.isEmpty(dataObj.getString("averagePrice"))) {
+                //鑾峰彇鐗╁搧搴撳瓨鏁伴噺
+                double stock = Double.parseDouble(dataObj.getString("stock"));
+                BigDecimal x1 = new BigDecimal(stock);
+                //鑾峰彇鐗╁搧鍧囦环
+                double averagePrice = Double.parseDouble(dataObj.getString("averagePrice"));
+                BigDecimal y1 = new BigDecimal(averagePrice);
+                //璁$畻鐗╁搧鎬讳环
+                BigDecimal price = x1.multiply(y1);
+                double totalPrice = price.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
+                row.createCell(12).setCellValue(String.valueOf(totalPrice));
+            } else {
+                row.createCell(12).setCellValue("0.0");
+            }
+        }
+    }
+
+    private void purchaseApplyManage(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("瀹℃壒鐘舵��");
+        JSONArray purchaseApplys = this.getPurchaseApply(pd, result);
+        if (purchaseApplys == null || purchaseApplys.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < purchaseApplys.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = purchaseApplys.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("applyOrderId"));
+            row.createCell(1).setCellValue(dataObj.getString("userName"));
+            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"));
+            //鑾峰彇鍏ュ簱鏂瑰紡
+            String warehousingWay = dataObj.getString("warehousingWay");
+            if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
+                row.createCell(6).setCellValue("鐩存帴鍏ュ簱");
+            } else {
+                row.createCell(6).setCellValue("閲囪喘鐢宠鍏ュ簱");
+            }
+            row.createCell(7).setCellValue(dataObj.getString("stateName"));
+        }
+    }
+
+    private void itemOutManage(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("棰嗙敤鏂瑰紡");
+        JSONArray itemOutManages = this.getItemOutManage(pd, result);
+        if (itemOutManages == null || itemOutManages.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < itemOutManages.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            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"));
+            //鑾峰彇鍑哄簱鏂瑰紡
+            String warehousingWay = dataObj.getString("warehousingWay");
+            if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("10000")) {
+                row.createCell(6).setCellValue("鐩存帴鍑哄簱");
+            } else if (!StringUtil.isEmpty(warehousingWay) && warehousingWay.equals("20000")) {
+                row.createCell(6).setCellValue("瀹℃牳鍑哄簱");
+            } else {
+                row.createCell(6).setCellValue("--");
+            }
+        }
+    }
+
+    private void allocationUserStorehouseManage(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        Sheet sheet = workbook.createSheet("杞禒璁板綍");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("杞禒璁板綍缂栧彿");
+        row.createCell(1).setCellValue("鐗╁搧璧勬簮ID");
+        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("澶囨敞");
+        JSONArray allocationUserStorehouses = this.getAllocationUserStorehouseManage(pd, result);
+        if (allocationUserStorehouses == null || allocationUserStorehouses.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < allocationUserStorehouses.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = allocationUserStorehouses.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("ausId"));
+            row.createCell(1).setCellValue(dataObj.getString("resId"));
+            row.createCell(2).setCellValue(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"));
+            row.createCell(8).setCellValue(dataObj.getString("giveQuantity"));
+            row.createCell(9).setCellValue(dataObj.getString("createTime"));
+            row.createCell(10).setCellValue(dataObj.getString("remark"));
+        }
+    }
+
+    private void resourceStoreUseRecordManage(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("浣跨敤浜篒D");
+        row.createCell(9).setCellValue("浣跨敤浜�");
+        row.createCell(10).setCellValue("鍒涘缓鏃堕棿");
+        row.createCell(11).setCellValue("澶囨敞");
+        JSONArray resourceStoreUseRecords = this.getResourceStoreUseRecordManage(pd, result);
+        if (resourceStoreUseRecords == null || resourceStoreUseRecords.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < resourceStoreUseRecords.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = resourceStoreUseRecords.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("rsurId"));
+            row.createCell(1).setCellValue(dataObj.getString("repairId"));
+            row.createCell(2).setCellValue(dataObj.getString("resId"));
+            row.createCell(3).setCellValue(dataObj.getString("rstName"));
+            row.createCell(4).setCellValue(dataObj.getString("resourceStoreName"));
+            row.createCell(5).setCellValue(dataObj.getString("specName"));
+            row.createCell(6).setCellValue(dataObj.getString("quantity"));
+            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"));
+        }
+    }
+
+    private void staffFeeManage(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("瀹炴敹閲戦");
+        JSONArray staffFeeManages = this.getStaffFeeManage(pd, result);
+        if (staffFeeManages == null || staffFeeManages.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < staffFeeManages.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = staffFeeManages.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("userId"));
+            row.createCell(1).setCellValue(dataObj.getString("userName"));
+            row.createCell(2).setCellValue(dataObj.getString("receivableAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("receivedAmount"));
+        }
+    }
+
+    //鎶奸噾鎶ヨ〃瀵煎嚭
+    private void reportPayFeeDeposit(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("浠樻鏂笽D");
+        row.createCell(10).setCellValue("搴旀敹閲戦");
+        row.createCell(11).setCellValue("鐘舵��");
+        row.createCell(12).setCellValue("閫�璐圭姸鎬�");
+        JSONArray reportPayFeeDeposits = this.getReportPayFeeDeposit(pd, result);
+        if (reportPayFeeDeposits == null || reportPayFeeDeposits.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < reportPayFeeDeposits.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = reportPayFeeDeposits.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("feeId"));
+            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"));
+            row.createCell(5).setCellValue(dataObj.getString("startTime"));
+            row.createCell(6).setCellValue(dataObj.getString("deadlineTime"));
+            row.createCell(7).setCellValue(dataObj.getString("createTime"));
+            row.createCell(8).setCellValue(dataObj.getString("payerObjTypeName"));
+            row.createCell(9).setCellValue(dataObj.getString("payerObjId"));
+            row.createCell(10).setCellValue(dataObj.getString("additionalAmount"));
+            row.createCell(11).setCellValue(dataObj.getString("stateName"));
+            if (dataObj.getString("state").equals("2009001")) {
+                row.createCell(12).setCellValue(dataObj.getString("detailStateName"));
+            } else {
+                row.createCell(12).setCellValue("鏈即璐�");
+            }
+        }
+    }
+
 
     private void reportYearCollection(IPageData pd, ComponentValidateResult result, Workbook workbook) {
         Sheet sheet = workbook.createSheet("璐圭敤鍙拌处");
@@ -299,7 +976,7 @@
 
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportYearCollection(pd, result);
-        if (rooms == null) {
+        if (rooms == null || rooms.size() == 0) {
             return;
         }
         JSONArray reportFeeYearCollectionDetailDtos = rooms.getJSONObject(0).getJSONArray("reportFeeYearCollectionDetailDtos");
@@ -332,7 +1009,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api//reportOweFee/queryReportAllOweFee" + mapToUrlParam(reqJson);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportOweFee/queryReportAllOweFee" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -356,10 +1033,398 @@
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
         return savedRoomInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReportRepairDetail(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 = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryRepair" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedRepairInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRepairInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedRepairInfoResults.containsKey("data")) {
+            return null;
+        }
+        return savedRepairInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReportPayFeeManage(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 0);
+        reqJson.put("row", 10000);
+        //鑾峰彇璐圭敤绫诲瀷
+        String payObjType = reqJson.getString("payObjType");
+        if (!StringUtil.isEmpty(payObjType) && payObjType.equals("3333")) {
+            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.getPropertyPayFee" + mapToUrlParam(reqJson);
+        } else if (!StringUtil.isEmpty(payObjType) && payObjType.equals("6666")) {
+            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.getParkingSpacePayFee" + mapToUrlParam(reqJson);
+        } else {
+            apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.getListPayFee" + mapToUrlParam(reqJson);
+        }
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPayFeeManageInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPayFeeManageInfoResults.getJSONArray("payFees").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPayFeeManageInfoResults.containsKey("payFees")) {
+            return null;
+        }
+        return savedPayFeeManageInfoResults.getJSONArray("payFees");
+    }
+
+    private JSONArray getReportQuestionAnswerDetail(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 = ServiceConstant.SERVICE_API_URL + "/api/reportQuestionAnswer/queryUserQuestionAnswerValue" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedQuestionAnswers = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedQuestionAnswers.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedQuestionAnswers.containsKey("data")) {
+            return null;
+        }
+        return savedQuestionAnswers.getJSONArray("data");
+    }
+
+    private JSONArray getReportPrePaymentFee(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 = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryPrePayment" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPrePayments = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPrePayments.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPrePayments.containsKey("data")) {
+            return null;
+        }
+        return savedPrePayments.getJSONArray("data");
+    }
+
+    private JSONArray getReportDeadlineFee(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 = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryDeadlineFee" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedDeadlineFees = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedDeadlineFees.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedDeadlineFees.containsKey("data")) {
+            return null;
+        }
+        return savedDeadlineFees.getJSONArray("data");
+    }
+
+    private JSONArray getReportNoFeeRoom(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 = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryNoFeeRooms" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedNoFeeRooms = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedNoFeeRooms.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedNoFeeRooms.containsKey("data")) {
+            return null;
+        }
+        return savedNoFeeRooms.getJSONArray("data");
+    }
+
+    private JSONArray getPurchaseApplyDetail(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 = ServiceConstant.SERVICE_API_URL + "/api/purchaseApplyDetail.listPurchaseApplyDetails" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPurchaseApplyDetails = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPurchaseApplyDetails.getJSONArray("purchaseApplyDetails").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPurchaseApplyDetails.containsKey("purchaseApplyDetails")) {
+            return null;
+        }
+        return savedPurchaseApplyDetails.getJSONArray("purchaseApplyDetails");
+    }
+
+    private JSONArray getAllocationStorehouse(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("userId", pd.getUserId());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/resourceStore.listAllocationStorehouseApplys" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedAllocationStorehouses = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedAllocationStorehouses.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedAllocationStorehouses.containsKey("data")) {
+            return null;
+        }
+        return savedAllocationStorehouses.getJSONArray("data");
+    }
+
+    private JSONArray getAllocationStorehouseDetail(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 = ServiceConstant.SERVICE_API_URL + "/api/resourceStore.listAllocationStorehouses" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedAllocationStorehouses = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedAllocationStorehouses.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedAllocationStorehouses.containsKey("data")) {
+            return null;
+        }
+        return savedAllocationStorehouses.getJSONArray("data");
+    }
+
+    private JSONArray getResourceStore(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        //鑾峰彇褰撳墠鐢ㄦ埛id
+        String userId = pd.getUserId();
+        //鑾峰彇鍟嗘埛id
+        String storeId = result.getStoreId();
+        reqJson.put("userId", userId);
+        reqJson.put("storeId", storeId);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/resourceStore.listResourceStores" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedResourceStores = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedResourceStores.getJSONArray("resourceStores").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedResourceStores.containsKey("resourceStores")) {
+            return null;
+        }
+        return savedResourceStores.getJSONArray("resourceStores");
+    }
+
+    private JSONArray getPurchaseApply(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 = ServiceConstant.SERVICE_API_URL + "/api/purchaseApply.listPurchaseApplys" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPurchaseApplys = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPurchaseApplys.getJSONArray("purchaseApplys").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPurchaseApplys.containsKey("purchaseApplys")) {
+            return null;
+        }
+        return savedPurchaseApplys.getJSONArray("purchaseApplys");
+    }
+
+    private JSONArray getItemOutManage(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 = ServiceConstant.SERVICE_API_URL + "/api/purchaseApply.listPurchaseApplys" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedItemOutManages = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedItemOutManages.getJSONArray("purchaseApplys").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedItemOutManages.containsKey("purchaseApplys")) {
+            return null;
+        }
+        return savedItemOutManages.getJSONArray("purchaseApplys");
+    }
+
+    private JSONArray getAllocationUserStorehouseManage(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 = ServiceConstant.SERVICE_API_URL + "/api/resourceStore.listAllocationUserStorehouses" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedAllocationUserStorehouses = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedAllocationUserStorehouses.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedAllocationUserStorehouses.containsKey("data")) {
+            return null;
+        }
+        return savedAllocationUserStorehouses.getJSONArray("data");
+    }
+
+    private JSONArray getResourceStoreUseRecordManage(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 = ServiceConstant.SERVICE_API_URL + "/api/resourceStore.listResourceStoreUseRecords" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedResourceStoreUseRecords = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedResourceStoreUseRecords.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedResourceStoreUseRecords.containsKey("data")) {
+            return null;
+        }
+        return savedResourceStoreUseRecords.getJSONArray("data");
+    }
+
+    private JSONArray getStaffFeeManage(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 0);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.getStaffFee" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedStaffFeeManages = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedStaffFeeManages.getJSONArray("staffFees").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedStaffFeeManages.containsKey("staffFees")) {
+            return null;
+        }
+        return savedStaffFeeManages.getJSONArray("staffFees");
+    }
+
+    private JSONArray getReportPayFeeDeposit(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 = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryPayFeeDeposit" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedReportPayFeeDeposits = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedReportPayFeeDeposits.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedReportPayFeeDeposits.containsKey("data")) {
+            return null;
+        }
+        return savedReportPayFeeDeposits.getJSONArray("data");
     }
 
     private JSONArray getReportYearCollection(IPageData pd, ComponentValidateResult result) {
@@ -374,6 +1439,11 @@
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇瀵煎嚭闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -391,6 +1461,9 @@
         row.createCell(5).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportOweFeeDetail(pd, result);
+        if (rooms == null || rooms.size() == 0) {
+            return;
+        }
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
@@ -416,6 +1489,9 @@
         row.createCell(6).setCellValue("瀹炴敹閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeDetail(pd, result);
+        if (rooms == null || rooms.size() == 0) {
+            return;
+        }
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
@@ -433,12 +1509,20 @@
     private JSONArray getReportOweFeeDetail(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryOweFeeDetail?communityId=" + result.getCommunityId() + "&page=1&row=10000";
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryOweFeeDetail" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -448,12 +1532,20 @@
     private JSONArray getReportFeeDetail(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFeeDetail?communityId=" + result.getCommunityId() + "&page=1&row=10000";
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFeeDetail" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -472,6 +1564,9 @@
         row.createCell(6).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeBreakdown(pd, result);
+        if (rooms == null || rooms.size() == 0) {
+            return;
+        }
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
@@ -489,12 +1584,20 @@
     private JSONArray getReportFeeBreakdown(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFeeBreakdown?communityId=" + result.getCommunityId() + "&page=1&row=10000";
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFeeBreakdown" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -512,6 +1615,9 @@
         row.createCell(5).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFloorUnitFeeSummary(pd, result);
+        if (rooms == null || rooms.size() == 0) {
+            return;
+        }
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
@@ -528,12 +1634,20 @@
     private JSONArray getReportFloorUnitFeeSummary(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFloorUnitFeeSummary?communityId=" + result.getCommunityId() + "&page=1&row=10000";
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryFloorUnitFeeSummary" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -551,12 +1665,20 @@
     private JSONArray getReportFeeSummaryFee(IPageData pd, ComponentValidateResult result) {
         String apiUrl = "";
         ResponseEntity<String> responseEntity = null;
-        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryReportFeeSummary?communityId=" + result.getCommunityId() + "&page=1&row=10000";
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/reportFeeMonthStatistics/queryReportFeeSummary" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
         }
         JSONObject savedRoomInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedRoomInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
         if (!savedRoomInfoResults.containsKey("data")) {
             return null;
         }
@@ -578,6 +1700,9 @@
         row.createCell(3).setCellValue("娆犺垂閲戦");
         //鏌ヨ妤兼爧淇℃伅
         JSONArray rooms = this.getReportFeeSummaryFee(pd, componentValidateResult);
+        if (rooms == null || rooms.size() == 0) {
+            return;
+        }
         JSONObject dataObj = null;
         for (int roomIndex = 0; roomIndex < rooms.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);

--
Gitblit v1.8.0