From f29e6f31e4f2d533124fc68346b7cc072f427c9b Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期四, 11 十二月 2025 16:58:24 +0800
Subject: [PATCH] Z三导入逻辑
---
service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java | 36 +++++++++++++++++-
java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml | 2
service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java | 1
java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java | 9 ++++
service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java | 16 ++++---
springboot/src/main/resources/application-debug.yml | 2
java110-db/src/main/resources/mapper/job/MaintenancePaymentMapper.xml | 36 +++--------------
springboot/src/main/resources/application.yml | 2
8 files changed, 63 insertions(+), 41 deletions(-)
diff --git a/java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java b/java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java
index fda8fd1..4370237 100644
--- a/java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java
@@ -29,6 +29,15 @@
private String remark;
+ private String importFileName;
+
+ public String getImportFileName() {
+ return importFileName;
+ }
+
+ public void setImportFileName(String importFileName) {
+ this.importFileName = importFileName;
+ }
public String getFeeTypeCd() {
return feeTypeCd;
diff --git a/java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml
index fb6cbda..17b220b 100755
--- a/java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/ImportFeeServiceDaoImplMapper.xml
@@ -18,7 +18,7 @@
<!-- 鏌ヨ璐圭敤瀵煎叆淇℃伅 add by wuxw 2018-07-03 -->
<select id="getImportFeeInfo" parameterType="Map" resultType="Map">
select t.fee_type_cd,t.fee_type_cd feeTypeCd,t.secondary_fee_type_cd,t.secondary_fee_type_cd secondaryFeeTypeCd,s.secondary_fee_type_cd_name,s.secondary_fee_type_cd_name secondaryFeeTypeCdName,t.status_cd,t.status_cd statusCd,t.import_fee_id,t.import_fee_id
- importFeeId,t.community_id,t.community_id communityId,t.create_time createTime,d.name feeTypeCdName,remark
+ importFeeId,t.community_id,t.community_id communityId,t.create_time createTime,d.name feeTypeCdName,remark, t.import_file_name, t.import_file_name importFileName
from import_fee t
left join secondary_fee_type_cd_tb s on s.secondary_fee_type_cd = t.secondary_fee_type_cd
left join t_dict d on t.fee_type_cd = d.status_cd and d.table_name = 'pay_fee_config' and d.table_columns = 'fee_type_cd'
diff --git a/java110-db/src/main/resources/mapper/job/MaintenancePaymentMapper.xml b/java110-db/src/main/resources/mapper/job/MaintenancePaymentMapper.xml
index d66189f..0628480 100644
--- a/java110-db/src/main/resources/mapper/job/MaintenancePaymentMapper.xml
+++ b/java110-db/src/main/resources/mapper/job/MaintenancePaymentMapper.xml
@@ -17,14 +17,7 @@
planned_announcement_start, planned_announcement_end, published_announcement_start,
published_announcement_end, quota, owners_committee_resolution, owners_committee_consultation,
withdrawal_encountered_problem, shortage_or_arrears, road_name, lane, door, room,
- door_room_number, owner_address, start_date, end_date, management_fee_ratio,
- first_planned_payment_amount, planned_payment_date, category, reimburser,
- actual_payment_amount, actual_payment_date, payee_name, id_card_number,
- bank_name, bank_account, remarks, acceptance_date, audit_date,
- print_total, arrival_total, fund_arrival_rate, fund_shortage_amount,
- management_fee, payable_amountA, payable_amountB, payable_amountC,
- planned_pay_total, actual_pay_total, unpaid_total, advance_amount,
- unpaid_by_arrival, pending_payA, pending_payB, pending_payC
+ door_room_number, owner_address, start_date, end_date
) VALUES (
#{id}, #{auxiliaryColumn}, #{flowNumber}, #{serialNumber}, #{projectCode}, #{projectName},
#{year}, #{month}, #{day}, #{date}, #{projectContent}, #{managementOfficeAmount},
@@ -36,15 +29,8 @@
#{plannedAnnouncementStart}, #{plannedAnnouncementEnd}, #{publishedAnnouncementStart},
#{publishedAnnouncementEnd}, #{quota}, #{ownersCommitteeResolution}, #{ownersCommitteeConsultation},
#{withdrawalEncounteredProblem}, #{shortageOrArrears}, #{roadName}, #{lane}, #{door}, #{room},
- #{doorRoomNumber}, #{ownerAddress}, #{startDate}, #{endDate}, #{managementFeeRatio},
- #{firstPlannedPaymentAmount}, #{plannedPaymentDate}, #{category}, #{reimburser},
- #{actualPaymentAmount}, #{actualPaymentDate}, #{payeeName}, #{idCardNumber},
- #{bankName}, #{bankAccount}, #{remarks}, #{acceptanceDate}, #{auditDate},
- #{printTotal}, #{arrivalTotal}, #{fundArrivalRate}, #{fundShortageAmount},
- #{managementFee}, #{payableAmountA}, #{payableAmountB}, #{payableAmountC},
- #{plannedPayTotal}, #{actualPayTotal}, #{unpaidTotal}, #{advanceAmount},
- #{unpaidByArrival}, #{pendingPayA}, #{pendingPayB}, #{pendingPayC}
- )
+ #{doorRoomNumber}, #{ownerAddress}, #{startDate}, #{endDate}
+ );
</insert>
<!-- 鎵归噺鏂板SQL ID锛歜atchInsertMaintenancePayment -->
@@ -60,14 +46,10 @@
planned_announcement_start, planned_announcement_end, published_announcement_start,
published_announcement_end, quota, owners_committee_resolution, owners_committee_consultation,
withdrawal_encountered_problem, shortage_or_arrears, road_name, lane, door, room,
- door_room_number, owner_address, start_date, end_date, management_fee_ratio,
+ door_room_number, owner_address, start_date, end_date,
first_planned_payment_amount, planned_payment_date, category, reimburser,
actual_payment_amount, actual_payment_date, payee_name, id_card_number,
- bank_name, bank_account, remarks, acceptance_date, audit_date,
- print_total, arrival_total, fund_arrival_rate, fund_shortage_amount,
- management_fee, payable_amountA, payable_amountB, payable_amountC,
- planned_pay_total, actual_pay_total, unpaid_total, advance_amount,
- unpaid_by_arrival, pending_payA, pending_payB, pending_payC
+ bank_name, bank_account, remarks, acceptance_date, audit_date
) VALUES
<foreach collection="list" item="po" separator=",">
(
@@ -81,14 +63,10 @@
#{po.plannedAnnouncementStart}, #{po.plannedAnnouncementEnd}, #{po.publishedAnnouncementStart},
#{po.publishedAnnouncementEnd}, #{po.quota}, #{po.ownersCommitteeResolution}, #{po.ownersCommitteeConsultation},
#{po.withdrawalEncounteredProblem}, #{po.shortageOrArrears}, #{po.roadName}, #{po.lane}, #{po.door}, #{po.room},
- #{po.doorRoomNumber}, #{po.ownerAddress}, #{po.startDate}, #{po.endDate}, #{po.managementFeeRatio},
+ #{po.doorRoomNumber}, #{po.ownerAddress}, #{po.startDate}, #{po.endDate},
#{po.firstPlannedPaymentAmount}, #{po.plannedPaymentDate}, #{po.category}, #{po.reimburser},
#{po.actualPaymentAmount}, #{po.actualPaymentDate}, #{po.payeeName}, #{po.idCardNumber},
- #{po.bankName}, #{po.bankAccount}, #{po.remarks}, #{po.acceptanceDate}, #{po.auditDate},
- #{po.printTotal}, #{po.arrivalTotal}, #{po.fundArrivalRate}, #{po.fundShortageAmount},
- #{po.managementFee}, #{po.payableAmountA}, #{po.payableAmountB}, #{po.payableAmountC},
- #{po.plannedPayTotal}, #{po.actualPayTotal}, #{po.unpaidTotal}, #{po.advanceAmount},
- #{po.unpaidByArrival}, #{po.pendingPayA}, #{po.pendingPayB}, #{po.pendingPayC}
+ #{po.bankName}, #{po.bankAccount}, #{po.remarks}, #{po.acceptanceDate}, #{po.auditDate}
)
</foreach>
</insert>
diff --git a/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java b/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
index 97febf9..b379f69 100644
--- a/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
+++ b/service-common/src/main/java/com/java110/common/bmo/assetImportLogDetail/impl/GetAssetImportLogDetailBMOImpl.java
@@ -53,17 +53,49 @@
private JSONArray covertToData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) {
JSONArray datas = new JSONArray();
+ // 绌哄垪琛ㄧ洿鎺ヨ繑鍥炵┖JSONArray
if (assetImportLogDetailDtos == null || assetImportLogDetailDtos.size() < 1) {
return datas;
}
JSONObject data = null;
+ Object contentObj = null;
for (AssetImportLogDetailDto assetImportLogDetailDto : assetImportLogDetailDtos) {
+ // 灏咲TO杞崲涓篔SONObject
data = BeanConvertUtil.beanCovertJson(assetImportLogDetailDto);
- if (!StringUtil.isEmpty(assetImportLogDetailDto.getContent())) {
- data.putAll(JSONObject.parseObject(assetImportLogDetailDto.getContent()));
+ contentObj = assetImportLogDetailDto.getContent();
+
+ // 澶勭悊content瀛楁锛堢湡瀹炲�间负String[]锛屽寘鍚玭ull銆佸瓧绗︿覆銆佹暟瀛椼�佸竷灏斿�硷級
+ if (contentObj != null && contentObj instanceof String[]) {
+ String[] contentArray = (String[]) contentObj;
+ // 杞崲String[]涓篔SONArray锛屼繚鐣欏師鏈夋暟鎹被鍨嬶紙null銆佸瓧绗︿覆绛夛級
+ JSONArray contentJsonArray = new JSONArray();
+ for (Object item : contentArray) { // 鐢∣bject鎺ユ敹锛屽吋瀹规暟缁勫唴鐨刵ull鍜屽悇绉嶇被鍨�
+ contentJsonArray.add(item);
+ }
+ // 灏嗘暟缁勫瓨鍏SONObject锛宬ey涓�"content"
+ data.put("content", contentJsonArray);
+ } else if (contentObj != null && contentObj instanceof String) {
+ // 鍏煎鍙兘鐨勫瓧绗︿覆鏍煎紡锛堜繚鐣欏師鏈夐�昏緫锛�
+ String contentStr = (String) contentObj;
+ if (!StringUtil.isEmpty(contentStr)) {
+ try {
+ // 鑻ュ瓧绗︿覆鏄疛SON瀵硅薄/鏁扮粍锛屽垎鍒В鏋�
+ if (contentStr.startsWith("{")) {
+ data.putAll(JSONObject.parseObject(contentStr));
+ } else if (contentStr.startsWith("[")) {
+ data.put("content", JSONArray.parseArray(contentStr));
+ } else {
+ data.put("content", contentStr);
+ }
+ } catch (Exception e) {
+ // 闈濲SON鏍煎紡瀛楃涓茬洿鎺ュ瓨鍏�
+ data.put("content", contentStr);
+ }
+ }
}
+
datas.add(data);
}
diff --git a/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java b/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
index 1ac0d87..49b7988 100644
--- a/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/community/SaveCommunityCmd.java
@@ -113,6 +113,7 @@
Assert.hasKeyAndValue(reqJson, "cityCode", "璇锋眰鎶ユ枃涓湭鍖呭惈cityCode");
Assert.hasKeyAndValue(reqJson, "payFeeMonth", "璇锋眰鎶ユ枃涓湭鍖呭惈payFeeMonth");
Assert.hasKeyAndValue(reqJson, "feePrice", "璇锋眰鎶ユ枃涓湭鍖呭惈feePrice");
+ Assert.hasKeyAndValue(reqJson, "takeTime", "璇锋眰鎶ユ枃涓湭鍖呭惈鎺ョ鏃ユ湡");
//灞炴�ф牎楠�
Assert.judgeAttrValue(reqJson);
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
index 1af7253..ad07c42 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
@@ -22,10 +22,8 @@
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+
/**
* 绛炬姤鏀舵敮娆炬暟鎹鍏ラ�傞厤鍣紙閫傞厤"Z涓夈�佹ā鐗堢鎶ユ敹鏀鎯呭喌-V5-20251127.xlsx"鐨�"鑽i『鑻戠鎶ュ崟"sheet锛�
* 鍓嶇璇锋眰闇�浼犲叆锛歱aram.append('importAdapt', "importReportMainV2QueueData")
@@ -97,7 +95,8 @@
private MaintenancePaymentPo buildMaintenancePaymentPo(JSONArray cellArray) throws ParseException {
MaintenancePaymentPo po = new MaintenancePaymentPo();
// 鍩虹瀛楁锛堢洿鎺ユ槧灏凟xcel鍗曞厓鏍硷級
- po.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_maintenanceId)); // 涓婚敭ID
+ long longId = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE; // 閬垮厤璐熸暟
+ po.setId(longId+""); // 涓婚敭ID
po.setAuxiliaryColumn(getCellValue(cellArray, 0)); // 绗�1鍒楋細杈呭姪鍒�
po.setFlowNumber(getCellValue(cellArray, 1)); // 绗�2鍒楋細娴佽浆缂栧彿
po.setSerialNumber(parseInteger(getCellValue(cellArray, 2))); // 绗�3鍒楋細搴忓彿
@@ -275,7 +274,9 @@
int arrivalDateCol, int arrivalAmountCol,
int withdrawerCol, int shortageCol) throws ParseException {
MpPaymentRecordPo po = new MpPaymentRecordPo();
- po.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_paymentRecordId));
+
+ long longId = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE; // 閬垮厤璐熸暟
+ po.setId(longId+"");
po.setMpId(flowNumber + "_PRINT" + printTimes); // mp_id = 娴佽浆缂栧彿_鎵撳嵃娆℃暟锛堢‘淇濆敮涓�锛�
po.setFirstPrintDate(parseDate(getCellValue(cellArray, dateCol)));
po.setResolutionNumber(getCellValue(cellArray, resolutionCol));
@@ -298,7 +299,8 @@
*/
private MpFifthPaymentRecordPo buildMpFifthPaymentRecordPo(JSONArray cellArray, String flowNumber) throws ParseException {
MpFifthPaymentRecordPo po = new MpFifthPaymentRecordPo();
- po.setId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_fifthPaymentId));
+ long longId = UUID.randomUUID().getMostSignificantBits() & Long.MAX_VALUE; // 閬垮厤璐熸暟
+ po.setId(longId+"");
po.setMpId(flowNumber + "_FIFTH"); // mp_id = 娴佽浆缂栧彿_FIFTH
// 绗簲娆℃嫙浠樺疄浠樻暟鎹紙绗�106-111鍒楋級
po.setFifthPlannedPaymentAmount(parseBigDecimal(getCellValue(cellArray, 137))); // 绗簲娆℃嫙浠橀噾棰�
diff --git a/springboot/src/main/resources/application-debug.yml b/springboot/src/main/resources/application-debug.yml
index 1b3f598..aa18c8e 100644
--- a/springboot/src/main/resources/application-debug.yml
+++ b/springboot/src/main/resources/application-debug.yml
@@ -27,7 +27,7 @@
database: 0
host: localhost
port: 6379
- password: redis2020
+ password:
pool:
max-active: 300
max-wait: 3000
diff --git a/springboot/src/main/resources/application.yml b/springboot/src/main/resources/application.yml
index 613baef..2298e94 100644
--- a/springboot/src/main/resources/application.yml
+++ b/springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
profiles:
- active: dev
+ active: debug
import:
line:
--
Gitblit v1.8.0