From 45149c4de50d945a27cbc7324ec0699f5b15df14 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期二, 27 二月 2024 13:57:47 +0800
Subject: [PATCH] 取消空格问题

---
 service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java |  188 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 180 insertions(+), 8 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 ea0d86d..4ad36d0 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -8,7 +8,7 @@
 import com.java110.core.context.IPageData;
 import com.java110.core.log.LoggerFactory;
 import com.java110.dto.fee.FeeConfigDto;
-import com.java110.entity.component.ComponentValidateResult;
+import com.java110.dto.system.ComponentValidateResult;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.DateUtil;
@@ -17,7 +17,6 @@
 import org.apache.poi.ss.usermodel.Sheet;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.streaming.SXSSFWorkbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
@@ -31,8 +30,10 @@
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * @ClassName AssetImportSmoImpl
@@ -63,6 +64,8 @@
     public static final String REPORT_YEAR_COLLECTION = "reportYearCollection";
     public static final String REPORT_LIST_OWE_FEE = "listOweFee";
     public static final String REPORT_REPAIR_DETAIL = "reportRepairDetail";
+    public static final String REPORT_PREPAYMENT_DETAIL = "reportPrePaymentDetail";
+    public static final String REPORT_COLLECT_FEES = "reportCollectFees";
     public static final String REPORT_PAY_FEE_MANAGE = "reportPayFeeManage";
     public static final String REPORT_QUESTION_ANSWER_DETAIL = "reportQuestionAnswerDetail";
     public static final String REPORT_PRE_PAYMENT_FEE = "reportPrePaymentFee";
@@ -87,6 +90,18 @@
     public ResponseEntity<Object> exportExcelData(IPageData pd) throws Exception {
 
         ComponentValidateResult result = this.validateStoreStaffCommunityRelationship(pd, restTemplate);
+        Map pdHeaders = pd.getHeaders();
+        if (!StringUtil.isEmpty(result.getStoreId())) {
+            pdHeaders.remove("store-id");
+            pdHeaders.put("store-id", result.getStoreId());
+        }
+        if (!StringUtil.isEmpty(result.getLoginUserId())) {
+            pdHeaders.remove("user-id");
+            pdHeaders.remove("user_id");
+            pdHeaders.put("user-id", result.getUserId());
+            pdHeaders.put("user_id", result.getUserId());
+            pdHeaders.put("login-user-id", result.getLoginUserId());
+        }
 
         Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "communityId", "璇锋眰涓湭鍖呭惈灏忓尯");
         Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "pagePath", "璇锋眰涓湭鍖呭惈椤甸潰");
@@ -129,6 +144,12 @@
                 break;
             case REPORT_REPAIR_DETAIL:
                 reportRepairDetail(pd, result, workbook);
+                break;
+            case REPORT_PREPAYMENT_DETAIL:
+                reportPrepaymentDetail(pd, result, workbook);
+                break;
+            case REPORT_COLLECT_FEES:
+                reportCollectFees(pd, result, workbook);
                 break;
             case REPORT_PAY_FEE_MANAGE:
                 reportPayFeeManage(pd, result, workbook);
@@ -436,6 +457,111 @@
         }
     }
 
+    private void reportPrepaymentDetail(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+        Sheet sheet = workbook.createSheet("璐﹀崟鏄庣粏琛�");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("鎶ヨ〃ID");
+        row.createCell(1).setCellValue("浠樿垂瀵硅薄");
+        row.createCell(2).setCellValue("涓氫富");
+        row.createCell(3).setCellValue("璐圭敤椤�");
+        row.createCell(4).setCellValue("璐圭敤绫诲瀷");
+        row.createCell(5).setCellValue("璐圭敤鐘舵��");
+        row.createCell(6).setCellValue("鏀粯鏂瑰紡");
+        row.createCell(7).setCellValue("璐圭敤寮�濮嬫椂闂�");
+        row.createCell(8).setCellValue("璐圭敤缁撴潫鏃堕棿");
+        row.createCell(9).setCellValue("缂磋垂鏃堕棿");
+        row.createCell(10).setCellValue("搴旂即閲戦(鍏�)");
+        row.createCell(11).setCellValue("搴旀敹閲戦(鍏�)");
+        row.createCell(12).setCellValue("瀹炴敹閲戦(鍏�)");
+        row.createCell(13).setCellValue("娆犺垂閲戦(鍏�)");
+        row.createCell(14).setCellValue("浼樻儬閲戦(鍏�)");
+        row.createCell(15).setCellValue("鍑忓厤閲戦(鍏�)");
+        row.createCell(16).setCellValue("璧犻�侀噾棰�(鍏�)");
+        row.createCell(17).setCellValue("婊炵撼閲�(鍏�)");
+        row.createCell(18).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+        row.createCell(19).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+        row.createCell(20).setCellValue("闈㈢Н(骞虫柟绫�)");
+
+        //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+        JSONArray prepayments = this.getReportPrepaymentDetail(pd, result);
+        if (prepayments == null || prepayments.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = prepayments.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("prepaymentId"));
+            row.createCell(1).setCellValue(dataObj.getString("objName"));
+            row.createCell(2).setCellValue(dataObj.getString("ownerName"));
+            row.createCell(3).setCellValue(dataObj.getString("feeName"));
+            row.createCell(4).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(5).setCellValue(dataObj.getString("prepaymentStateName"));
+            if (!StringUtil.isEmpty(dataObj.getString("primeRate"))) {
+                row.createCell(6).setCellValue(dataObj.getString("primeRate"));
+            } else {
+                row.createCell(6).setCellValue("--");
+            }
+            row.createCell(7).setCellValue(dataObj.getString("feeBeginTime"));
+            row.createCell(8).setCellValue(dataObj.getString("feeFinishTime"));
+            if (!StringUtil.isEmpty(dataObj.getString("payTime"))) {
+                row.createCell(9).setCellValue(dataObj.getString("payTime"));
+            } else {
+                row.createCell(9).setCellValue("--");
+            }
+            row.createCell(10).setCellValue(dataObj.getString("payableAmount"));
+            row.createCell(11).setCellValue(dataObj.getString("prepaymentReceivableAmount"));
+            row.createCell(12).setCellValue(dataObj.getString("prepaymentReceivedAmount"));
+            row.createCell(13).setCellValue(dataObj.getString("oweAmount"));
+            row.createCell(14).setCellValue(dataObj.getString("preferentialAmount"));
+            row.createCell(15).setCellValue(dataObj.getString("deductionAmount"));
+            row.createCell(16).setCellValue(dataObj.getString("giftAmount"));
+            row.createCell(17).setCellValue(dataObj.getString("lateFee"));
+            row.createCell(18).setCellValue(dataObj.getString("vacantHousingDiscount"));
+            row.createCell(19).setCellValue(dataObj.getString("vacantHousingReduction"));
+            row.createCell(20).setCellValue(dataObj.getString("builtUpArea"));
+        }
+    }
+
+    private void reportCollectFees(IPageData pd, ComponentValidateResult result, Workbook workbook){
+        Sheet sheet = workbook.createSheet("鏀惰垂鐘跺喌琛�");
+        Row row = sheet.createRow(0);
+        row.createCell(0).setCellValue("璐圭敤椤�");
+        row.createCell(1).setCellValue("璐圭敤绫诲瀷");
+        row.createCell(2).setCellValue("搴旂即閲戦(鍏�)");
+        row.createCell(3).setCellValue("搴旀敹閲戦(鍏�)");
+        row.createCell(4).setCellValue("瀹炴敹閲戦(鍏�)");
+        row.createCell(5).setCellValue("娆犺垂閲戦(鍏�)");
+        row.createCell(6).setCellValue("浼樻儬閲戦(鍏�)");
+        row.createCell(7).setCellValue("鍑忓厤閲戦(鍏�)");
+        row.createCell(8).setCellValue("璧犻�侀噾棰�(鍏�)");
+        row.createCell(9).setCellValue("婊炵撼閲�(鍏�)");
+        row.createCell(10).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+        row.createCell(11).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+        //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+        JSONArray prepayments = this.getReportCollectFees(pd, result);
+        if (prepayments == null || prepayments.size() == 0) {
+            return;
+        }
+        JSONObject dataObj = null;
+        for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+            row = sheet.createRow(roomIndex + 1);
+            dataObj = prepayments.getJSONObject(roomIndex);
+            row.createCell(0).setCellValue(dataObj.getString("feeName"));
+            row.createCell(1).setCellValue(dataObj.getString("feeTypeCdName"));
+            row.createCell(2).setCellValue(dataObj.getString("allPayableAmount"));
+            row.createCell(3).setCellValue(dataObj.getString("allReceivableAmount"));
+            row.createCell(4).setCellValue(dataObj.getString("allReceivedAmount"));
+            row.createCell(5).setCellValue(dataObj.getString("allOweAmount"));
+            row.createCell(6).setCellValue(dataObj.getString("allPreferentialAmount"));
+            row.createCell(7).setCellValue(dataObj.getString("allDeductionAmount"));
+            row.createCell(8).setCellValue(dataObj.getString("allGiftAmount"));
+            row.createCell(9).setCellValue(dataObj.getString("allLateFee"));
+            row.createCell(10).setCellValue(dataObj.getString("allVacantHousingDiscount"));
+            row.createCell(11).setCellValue(dataObj.getString("allVacantHousingReduction"));
+        }
+    }
+
     private void reportPayFeeManage(IPageData pd, ComponentValidateResult result, Workbook workbook) {
         Sheet sheet = workbook.createSheet("缂磋垂娓呭崟");
         Row row = sheet.createRow(0);
@@ -542,7 +668,7 @@
         for (int roomIndex = 0; roomIndex < deadlineFees.size(); roomIndex++) {
             row = sheet.createRow(roomIndex + 1);
             dataObj = deadlineFees.getJSONObject(roomIndex);
-            row.createCell(0).setCellValue(dataObj.getString("objNameNum"));
+            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"));
@@ -1123,7 +1249,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        reqJson.put("hasOweFee","Y");
+        reqJson.put("hasOweFee", "Y");
         apiUrl = "/reportOweFee/queryReportAllOweFee" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1180,6 +1306,52 @@
             return null;
         }
         return savedRepairInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReportPrepaymentDetail(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "/reportFeeMonthStatisticsPrepayment/queryPayFeePrepaymentDetail" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedPrepaymentInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedPrepaymentInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedPrepaymentInfoResults.containsKey("data")) {
+            return null;
+        }
+        return savedPrepaymentInfoResults.getJSONArray("data");
+    }
+
+    private JSONArray getReportCollectFees(IPageData pd, ComponentValidateResult result) {
+        String apiUrl = "";
+        ResponseEntity<String> responseEntity = null;
+        JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
+        reqJson.put("page", 1);
+        reqJson.put("row", 10000);
+        apiUrl = "/reportFeeMonthStatisticsPrepayment/queryReportCollectFees" + mapToUrlParam(reqJson);
+        responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
+            return null;
+        }
+        JSONObject savedCollectFeeInfoResults = JSONObject.parseObject(responseEntity.getBody(), Feature.OrderedField);
+        //鑾峰彇闄愬埗鏉℃暟鐨勫��
+        int number = Integer.parseInt(MappingCache.getValue(DOMAIN_COMMON, EXPORT_NUMBER));
+        if (savedCollectFeeInfoResults.getJSONArray("data").size() > number) {
+            throw new IllegalArgumentException("瀵煎嚭鏁版嵁瓒呰繃闄愬埗鏉℃暟" + number + "鏉★紝鏃犳硶缁х画瀵煎嚭鎿嶄綔锛�");
+        }
+        if (!savedCollectFeeInfoResults.containsKey("data")) {
+            return null;
+        }
+        return savedCollectFeeInfoResults.getJSONArray("data");
     }
 
     private JSONArray getReportPayFeeManage(IPageData pd, ComponentValidateResult result) {
@@ -1243,7 +1415,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryPrePayment" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryPrePayment" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1266,7 +1438,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryDeadlineFee" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryDeadlineFee" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;
@@ -1699,7 +1871,7 @@
                 String[] split = receivedAmount.split("-");
                 receivedAmount = split[1];
             }
-            if(!StringUtil.isEmpty(str) || !StringUtil.isEmpty(discount)) {
+            if (!StringUtil.isEmpty(str) || !StringUtil.isEmpty(discount)) {
                 row.createCell(7).setCellValue(receivedAmount + "(" + str + discount + ")");
             } else {
                 row.createCell(7).setCellValue(receivedAmount);
@@ -1989,7 +2161,7 @@
         JSONObject reqJson = JSONObject.parseObject(pd.getReqData());
         reqJson.put("page", 1);
         reqJson.put("row", 10000);
-        apiUrl = "/reportFeeMonthStatistics/queryReportFeeSummary" + mapToUrlParam(reqJson);
+        apiUrl = "/reportFeeMonthStatistics.queryReportFeeSummary" + mapToUrlParam(reqJson);
         responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET);
         if (responseEntity.getStatusCode() != HttpStatus.OK) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
             return null;

--
Gitblit v1.8.0