From a451b135bbcc132761d6f310c000d5bd651b9ff8 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期三, 26 七月 2023 09:55:04 +0800
Subject: [PATCH] 优化代码
---
service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 163 insertions(+), 3 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 fe473fd..a45bc5d 100644
--- a/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/smo/assetExport/impl/ExportReportFeeSMOImpl.java
@@ -30,6 +30,7 @@
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;
@@ -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";
@@ -97,7 +100,7 @@
pdHeaders.remove("user_id");
pdHeaders.put("user-id", result.getUserId());
pdHeaders.put("user_id", result.getUserId());
- pdHeaders.put("login-user-id",result.getLoginUserId());
+ pdHeaders.put("login-user-id", result.getLoginUserId());
}
Assert.hasKeyAndValue(JSONObject.parseObject(pd.getReqData()), "communityId", "璇锋眰涓湭鍖呭惈灏忓尯");
@@ -141,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);
@@ -445,6 +454,111 @@
row.createCell(6).setCellValue(dataObj.getString("returnAmount"));
row.createCell(7).setCellValue(dataObj.getString("statementAmount"));
row.createCell(8).setCellValue(dataObj.getString("score"));
+ }
+ }
+
+ private void reportPrepaymentDetail(IPageData pd, ComponentValidateResult result, Workbook workbook) {
+ Sheet sheet = workbook.createSheet("璐﹀崟鏄庣粏琛�");
+ Row row = sheet.createRow(0);
+ row.createCell(0).setCellValue("鎶ヨ〃ID");
+ row.createCell(1).setCellValue("浠樿垂瀵硅薄");
+ row.createCell(2).setCellValue("涓氫富");
+ row.createCell(3).setCellValue("璐圭敤椤�");
+ row.createCell(4).setCellValue("璐圭敤绫诲瀷");
+ row.createCell(5).setCellValue("璐圭敤鐘舵��");
+ row.createCell(6).setCellValue("鏀粯鏂瑰紡");
+ row.createCell(7).setCellValue("璐圭敤寮�濮嬫椂闂�");
+ row.createCell(8).setCellValue("璐圭敤缁撴潫鏃堕棿");
+ row.createCell(9).setCellValue("缂磋垂鏃堕棿");
+ row.createCell(10).setCellValue("搴旂即閲戦(鍏�)");
+ row.createCell(11).setCellValue("搴旀敹閲戦(鍏�)");
+ row.createCell(12).setCellValue("瀹炴敹閲戦(鍏�)");
+ row.createCell(13).setCellValue("娆犺垂閲戦(鍏�)");
+ row.createCell(14).setCellValue("浼樻儬閲戦(鍏�)");
+ row.createCell(15).setCellValue("鍑忓厤閲戦(鍏�)");
+ row.createCell(16).setCellValue("璧犻�侀噾棰�(鍏�)");
+ row.createCell(17).setCellValue("婊炵撼閲�(鍏�)");
+ row.createCell(18).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+ row.createCell(19).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+ row.createCell(20).setCellValue("闈㈢Н(骞虫柟绫�)");
+
+ //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+ JSONArray prepayments = this.getReportPrepaymentDetail(pd, result);
+ if (prepayments == null || prepayments.size() == 0) {
+ return;
+ }
+ JSONObject dataObj = null;
+ for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+ row = sheet.createRow(roomIndex + 1);
+ dataObj = prepayments.getJSONObject(roomIndex);
+ row.createCell(0).setCellValue(dataObj.getString("prepaymentId"));
+ row.createCell(1).setCellValue(dataObj.getString("objName"));
+ row.createCell(2).setCellValue(dataObj.getString("ownerName"));
+ row.createCell(3).setCellValue(dataObj.getString("feeName"));
+ row.createCell(4).setCellValue(dataObj.getString("feeTypeCdName"));
+ row.createCell(5).setCellValue(dataObj.getString("prepaymentStateName"));
+ if (!StringUtil.isEmpty(dataObj.getString("primeRate"))) {
+ row.createCell(6).setCellValue(dataObj.getString("primeRate"));
+ } else {
+ row.createCell(6).setCellValue("--");
+ }
+ row.createCell(7).setCellValue(dataObj.getString("feeBeginTime"));
+ row.createCell(8).setCellValue(dataObj.getString("feeFinishTime"));
+ if (!StringUtil.isEmpty(dataObj.getString("payTime"))) {
+ row.createCell(9).setCellValue(dataObj.getString("payTime"));
+ } else {
+ row.createCell(9).setCellValue("--");
+ }
+ row.createCell(10).setCellValue(dataObj.getString("payableAmount"));
+ row.createCell(11).setCellValue(dataObj.getString("prepaymentReceivableAmount"));
+ row.createCell(12).setCellValue(dataObj.getString("prepaymentReceivedAmount"));
+ row.createCell(13).setCellValue(dataObj.getString("oweAmount"));
+ row.createCell(14).setCellValue(dataObj.getString("preferentialAmount"));
+ row.createCell(15).setCellValue(dataObj.getString("deductionAmount"));
+ row.createCell(16).setCellValue(dataObj.getString("giftAmount"));
+ row.createCell(17).setCellValue(dataObj.getString("lateFee"));
+ row.createCell(18).setCellValue(dataObj.getString("vacantHousingDiscount"));
+ row.createCell(19).setCellValue(dataObj.getString("vacantHousingReduction"));
+ row.createCell(20).setCellValue(dataObj.getString("builtUpArea"));
+ }
+ }
+
+ private void reportCollectFees(IPageData pd, ComponentValidateResult result, Workbook workbook){
+ Sheet sheet = workbook.createSheet("鏀惰垂鐘跺喌琛�");
+ Row row = sheet.createRow(0);
+ row.createCell(0).setCellValue("璐圭敤椤�");
+ row.createCell(1).setCellValue("璐圭敤绫诲瀷");
+ row.createCell(2).setCellValue("搴旂即閲戦(鍏�)");
+ row.createCell(3).setCellValue("搴旀敹閲戦(鍏�)");
+ row.createCell(4).setCellValue("瀹炴敹閲戦(鍏�)");
+ row.createCell(5).setCellValue("娆犺垂閲戦(鍏�)");
+ row.createCell(6).setCellValue("浼樻儬閲戦(鍏�)");
+ row.createCell(7).setCellValue("鍑忓厤閲戦(鍏�)");
+ row.createCell(8).setCellValue("璧犻�侀噾棰�(鍏�)");
+ row.createCell(9).setCellValue("婊炵撼閲�(鍏�)");
+ row.createCell(10).setCellValue("绌虹疆鎴挎墦鎶�(鍏�)");
+ row.createCell(11).setCellValue("绌虹疆鎴垮噺鍏�(鍏�)");
+ //鏌ヨ棰勪粯鏈熺即璐规槑缁�
+ JSONArray prepayments = this.getReportCollectFees(pd, result);
+ if (prepayments == null || prepayments.size() == 0) {
+ return;
+ }
+ JSONObject dataObj = null;
+ for (int roomIndex = 0; roomIndex < prepayments.size(); roomIndex++) {
+ row = sheet.createRow(roomIndex + 1);
+ dataObj = prepayments.getJSONObject(roomIndex);
+ row.createCell(0).setCellValue(dataObj.getString("feeName"));
+ row.createCell(1).setCellValue(dataObj.getString("feeTypeCdName"));
+ row.createCell(2).setCellValue(dataObj.getString("allPayableAmount"));
+ row.createCell(3).setCellValue(dataObj.getString("allReceivableAmount"));
+ row.createCell(4).setCellValue(dataObj.getString("allReceivedAmount"));
+ row.createCell(5).setCellValue(dataObj.getString("allOweAmount"));
+ row.createCell(6).setCellValue(dataObj.getString("allPreferentialAmount"));
+ row.createCell(7).setCellValue(dataObj.getString("allDeductionAmount"));
+ row.createCell(8).setCellValue(dataObj.getString("allGiftAmount"));
+ row.createCell(9).setCellValue(dataObj.getString("allLateFee"));
+ row.createCell(10).setCellValue(dataObj.getString("allVacantHousingDiscount"));
+ row.createCell(11).setCellValue(dataObj.getString("allVacantHousingReduction"));
}
}
@@ -1135,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) { //璺宠繃 淇濆瓨鍗曞厓淇℃伅
@@ -1192,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) {
@@ -1711,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);
--
Gitblit v1.8.0