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