ソースを参照

12.1代码提交

“lqy 2 週間 前
コミット
a5788f524b
共有20 個のファイルを変更した374 個の追加194 個の削除を含む
  1. 2 3
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomer.java
  2. 1 2
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerLiaison.java
  3. 1 1
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdDelivery.java
  4. 1 1
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrder.java
  5. 1 1
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrderDetail.java
  6. 0 2
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOutbound.java
  7. 1 1
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdZp.java
  8. 5 5
      mjava-huagao/src/main/java/com/malk/huagao/schedule/YdScheduleTask.java
  9. 17 7
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerLiaisonServiceImpl.java
  10. 12 3
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerReferrerServiceImpl.java
  11. 15 5
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerServiceImpl.java
  12. 10 2
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryServiceImpl.java
  13. 12 7
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderServiceImpl.java
  14. 1 1
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOutboundServiceImpl.java
  15. 9 1
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdTransferServiceImpl.java
  16. 10 2
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpServiceImpl.java
  17. 117 101
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/YdHuaGaoServiceImpl.java
  18. 5 0
      mjava-lilin/src/main/java/com/malk/lilin/Controller/LiLinController.java
  19. 52 3
      mjava-lilin/src/main/java/com/malk/lilin/Controller/taskController.java
  20. 102 46
      mjava-lilin/src/main/java/com/malk/lilin/Service/impl/LiLinServiceImpl.java

+ 2 - 3
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomer.java

@@ -73,6 +73,8 @@ public class KdYdCustomer implements Serializable {
 
     private String khyxj;
 
+    private String spdzyx;
+
     private String qyxygl;
 
     private LocalDateTime createTime;
@@ -82,9 +84,6 @@ public class KdYdCustomer implements Serializable {
     @TableField("formInstId")
     private String formInstId;
 
-    private String uuid;
-    private String tjruuid;
-
     private String syncStatus;
 
     private String operationType;

+ 1 - 2
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerLiaison.java

@@ -48,8 +48,7 @@ public class KdYdCustomerLiaison implements Serializable {
     private LocalDateTime createTime;
 
     private LocalDateTime updateTime;
-    @TableField("formInstId")
-    private String formInstId;
+
 
     private String syncStatus;
 

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdDelivery.java

@@ -68,7 +68,7 @@ public class KdYdDelivery implements Serializable {
 
     private LocalDateTime updateTime;
 
-    private String forminstid;
+//    private String forminstid;
 
     private String syncStatus;
 

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrder.java

@@ -69,7 +69,7 @@ public class KdYdOrder implements Serializable {
 
     private LocalDateTime updateTime;
 
-    private String forminstid;
+//    private String forminstid;
     private String syncStatus;
 
     private String operationType;

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrderDetail.java

@@ -73,7 +73,7 @@ public class KdYdOrderDetail implements Serializable {
 
     private LocalDateTime updateTime;
 
-    private String forminstid;
+//    private String forminstid;
 
     private String syncStatus;
 

+ 0 - 2
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOutbound.java

@@ -54,8 +54,6 @@ public class KdYdOutbound implements Serializable {
 
     private LocalDateTime dateTime;
 
-    private String forminstid;
-
     private String xsDept;
 
     private String fhDept;

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdZp.java

@@ -57,7 +57,7 @@ public class KdYdZp implements Serializable {
 
     private LocalDateTime updateTime;
 
-    private String forminstid;
+//    private String forminstid;
 
     private String syncStatus;
 

+ 5 - 5
mjava-huagao/src/main/java/com/malk/huagao/schedule/YdScheduleTask.java

@@ -124,7 +124,7 @@ private YdHuaGaoService ydHuaGaoService;
 
 
 
-    @Scheduled(cron = "0 0/5 * * * ?")
+    @Scheduled(cron = "0 0/15 * * * ?")
     public void synckdYdOutbound() {
         log.info("定时同步-出库单");
         try {
@@ -134,7 +134,7 @@ private YdHuaGaoService ydHuaGaoService;
         }
     }
 
-    @Scheduled(cron = "0 0/5 * * * ?")
+    @Scheduled(cron = "0 0/15 * * * ?")
     public void syncKdYdReceivable() {
         log.info("定时同步-应收单");
         try {
@@ -143,8 +143,8 @@ private YdHuaGaoService ydHuaGaoService;
             log.error("【应收单同步任务】执行过程中发生严重错误", e);
         }
     }
-
-//    @Scheduled(cron = "0 0/5 * * * ?")
+//    @Scheduled(fixedRate = 5 * 60 * 1000)
+    @Scheduled(cron = "0 0/15 * * * ?")
     public void synckdYdMaterial() {
         log.info("定时同步-物料信息");
         try {
@@ -154,7 +154,7 @@ private YdHuaGaoService ydHuaGaoService;
         }
     }
 
-    @Scheduled(cron = "0 0/5 * * * ?")
+    @Scheduled(cron = "0 0/15 * * * ?")
     public void synckdYdPayment() {
         log.info("定时同步-synckdYdPayment");
         try {

+ 17 - 7
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerLiaisonServiceImpl.java

@@ -42,13 +42,22 @@ public class KdYdCustomerLiaisonServiceImpl extends ServiceImpl<KdYdCustomerLiai
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdCustomerLiaison kdYdCustomerLiaison = new KdYdCustomerLiaison();
+            kdYdCustomerLiaison.setOperationType("3");
+            kdYdCustomerLiaisonMapper.update(kdYdCustomerLiaison,
+                    new LambdaQueryWrapper<KdYdCustomerLiaison>().eq(KdYdCustomerLiaison::getBm, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
         Map formData = ddrNew.getFormData();
 
         String xm = UtilMap.getString(formData, "textField_l3s6ubhq");
-        String bm = UtilMap.getString(formData, "serialNumberField_mhk5zwzs");
+        String bm1 = UtilMap.getString(formData, "serialNumberField_mhk5zwzs");
         String zw = UtilMap.getString(formData, "textField_l3s6ubht");
         String gddh = UtilMap.getString(formData, "textField_mfxu5dnk");
         String yddh = UtilMap.getString(formData, "textField_lqbzc3gq");
@@ -56,29 +65,30 @@ public class KdYdCustomerLiaisonServiceImpl extends ServiceImpl<KdYdCustomerLiai
         String yx = UtilMap.getString(formData, "textField_lqbzc3gr");
         String xb = UtilMap.getString(formData, "radioField_l3s6ubhx");
 //        String customerId = UtilMap.getString(formData, "textField_mgoxa46w");
-        String uuid = UtilMap.getString(formData, "textField_mfkp33s5");
+//        String uuid = UtilMap.getString(formData, "textField_mfkp33s5");
+        String khbh = UtilMap.getString(formData, "textField_mfkks8wx");
 
         LambdaQueryWrapper<KdYdCustomer> YdCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getUuid, uuid);
+        YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getKhbm, khbh);
         KdYdCustomer kdYdCustomer1 = kdYdCustomerMapper.selectOne(YdCustomerLambdaQueryWrapper);
         Long id = kdYdCustomer1.getId();
         KdYdCustomerLiaison kdYdCustomerLiaison = new KdYdCustomerLiaison();
         kdYdCustomerLiaison.setXm(xm);
         kdYdCustomerLiaison.setZw(zw);
-        kdYdCustomerLiaison.setBm(bm);
+        kdYdCustomerLiaison.setBm(bm1);
         kdYdCustomerLiaison.setGddh(gddh);
         kdYdCustomerLiaison.setYddh(yddh);
         kdYdCustomerLiaison.setCz(cz);
         kdYdCustomerLiaison.setYx(yx);
         kdYdCustomerLiaison.setXb(xb);
-        kdYdCustomerLiaison.setFormInstId(formInstId);
+//        kdYdCustomerLiaison.setFormInstId(formInstId);
         kdYdCustomerLiaison.setCustomerId(id);
         kdYdCustomerLiaison.setSyncStatus("0");
         kdYdCustomerLiaison.setOperationType("1");
-        if ("2".equals(type) || "3".equals(type)) {
+        if ("2".equals(type)) {
             kdYdCustomerLiaison.setOperationType(type);
             kdYdCustomerLiaisonMapper.update(kdYdCustomerLiaison,
-                    new LambdaQueryWrapper<KdYdCustomerLiaison>().eq(KdYdCustomerLiaison::getBm, bm));
+                    new LambdaQueryWrapper<KdYdCustomerLiaison>().eq(KdYdCustomerLiaison::getBm, bm1));
         } else {
             this.save(kdYdCustomerLiaison);
         }

+ 12 - 3
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerReferrerServiceImpl.java

@@ -36,6 +36,15 @@ private KdYdCustomerReferrerMapper kdYdCustomerReferrerMapper;
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdCustomerReferrer kdYdCustomerReferrer = new KdYdCustomerReferrer();
+            kdYdCustomerReferrer.setOperationType("3");
+            kdYdCustomerReferrerMapper.update(kdYdCustomerReferrer,
+                    new LambdaQueryWrapper<KdYdCustomerReferrer>().eq(KdYdCustomerReferrer::getBm, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
@@ -59,13 +68,13 @@ private KdYdCustomerReferrerMapper kdYdCustomerReferrerMapper;
 //        kdYdCustomerReferrer.setKhh(khh);
 //        kdYdCustomerReferrer.setMs(ms);
         kdYdCustomerReferrer.setXsy(xsy);
-        kdYdCustomerReferrer.setTjruuid(tjruuid);
+//        kdYdCustomerReferrer.setTjruuid(tjruuid);
         kdYdCustomerReferrer.setBm(bm);
         kdYdCustomerReferrer.setSyncStatus("0");
         kdYdCustomerReferrer.setOperationType("1");
-        kdYdCustomerReferrer.setFormInstId(formInstId);
+//        kdYdCustomerReferrer.setFormInstId(formInstId);
 
-        if ("2".equals(type) || "3".equals(type)) {
+        if ("2".equals(type)) {
             kdYdCustomerReferrer.setOperationType(type);
             kdYdCustomerReferrerMapper.update(kdYdCustomerReferrer,
                     new LambdaQueryWrapper<KdYdCustomerReferrer>().eq(KdYdCustomerReferrer::getBm, bm));

+ 15 - 5
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerServiceImpl.java

@@ -38,10 +38,19 @@ public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdY
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdCustomer kdYdCustomer = new KdYdCustomer();
+            kdYdCustomer.setOperationType("3");
+            kdYdCustomerMapper.update(kdYdCustomer, new LambdaQueryWrapper<KdYdCustomer>().eq(KdYdCustomer::getKhbm, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
         Map formData = ddrNew.getFormData();
+
         String khmc = UtilMap.getString(formData, "textField_lqanqe6j");
         String khbm = UtilMap.getString(formData, "textField_meqhqqvg");
         String xssx = UtilMap.getString(formData, "selectField_megi74y7");
@@ -59,7 +68,7 @@ public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdY
         String kptxdz = UtilMap.getString(formData, "textField_llujklkv");
         String uuid = UtilMap.getString(formData, "textField_mgowmnlf");
         String tyshxydm = UtilMap.getString(formData, "textField_mfxrrysq");
-//        String spdzyx = UtilMap.getString(formData, "textField_mg0fq6l4");
+        String spdzyx = UtilMap.getString(formData, "textField_mg0fq6l4");
         String khtjr = UtilMap.getString(formData, "textField_mfdrrg87");
         String sktj = UtilMap.getString(formData, "selectField_meqhqqvh");
         String xsy = UtilMap.getString(formData, "employeeField_lqanqe6n").replace("[\"", "").replace("\"]", "").trim();
@@ -72,6 +81,7 @@ public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdY
         KdYdCustomer kdYdCustomer = new KdYdCustomer();
         kdYdCustomer.setKhmc(khmc);
         kdYdCustomer.setXssx(xssx);
+        kdYdCustomer.setSpdzyx(spdzyx);
         kdYdCustomer.setKhsx(khsx);
         kdYdCustomer.setKhlb(khlb);
         kdYdCustomer.setKhfz(khfz);
@@ -84,7 +94,7 @@ public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdY
         kdYdCustomer.setKptxdz(kptxdz);
         kdYdCustomer.setTyshxydm(tyshxydm);
         kdYdCustomer.setKhtjr(khtjr);
-        kdYdCustomer.setUuid(uuid);
+//        kdYdCustomer.setUuid(uuid);
         kdYdCustomer.setSktj(sktj);
         kdYdCustomer.setXsy(xsy);
         kdYdCustomer.setJsbb(jsbb);
@@ -95,11 +105,11 @@ public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdY
         kdYdCustomer.setKhbm(khbm);
         kdYdCustomer.setJxr(jxr);
         kdYdCustomer.setKhxypj(khxypj);
-        kdYdCustomer.setFormInstId(formInstId);
-        kdYdCustomer.setTjruuid(tjruuid);
+//        kdYdCustomer.setFormInstId(formInstId);
+//        kdYdCustomer.setTjruuid(tjruuid);
         kdYdCustomer.setSyncStatus("0");
         kdYdCustomer.setOperationType("1");
-        if ("2".equals(type) || "3".equals(type)) {
+        if ("2".equals(type)) {
             kdYdCustomer.setOperationType(type);
             kdYdCustomerMapper.update(kdYdCustomer, new LambdaQueryWrapper<KdYdCustomer>().eq(KdYdCustomer::getKhbm, khbm));
         } else {

+ 10 - 2
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryServiceImpl.java

@@ -47,6 +47,14 @@ public class KdYdDeliveryServiceImpl extends ServiceImpl<KdYdDeliveryMapper, KdY
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdDelivery kdYdDelivery = new KdYdDelivery();
+            kdYdDelivery.setOperationType("3");
+            kdYdDeliveryMapper.update(kdYdDelivery, new LambdaQueryWrapper<KdYdDelivery>().eq(KdYdDelivery::getDjbh, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
@@ -97,8 +105,8 @@ public class KdYdDeliveryServiceImpl extends ServiceImpl<KdYdDeliveryMapper, KdY
         kdYdDelivery.setHdfs(hdfs);
         kdYdDelivery.setKdgs(kdgs);
         kdYdDelivery.setFkfs(fkfs);
-        kdYdDelivery.setForminstid(formInstId);
-        if ("2".equals(type) || "3".equals(type)) {
+//        kdYdDelivery.setForminstid(formInstId);
+        if ("2".equals(type)) {
             kdYdDelivery.setOperationType(type);
             kdYdDeliveryMapper.update(kdYdDelivery, new LambdaQueryWrapper<KdYdDelivery>().eq(KdYdDelivery::getDjbh, djbh));
         } else {

+ 12 - 7
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderServiceImpl.java

@@ -5,10 +5,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.malk.huagao.entity.KdYdDelivery;
-import com.malk.huagao.entity.KdYdOrder;
-import com.malk.huagao.entity.KdYdOrderDetail;
-import com.malk.huagao.entity.KdYdOrderPayment;
+import com.malk.huagao.entity.*;
 import com.malk.huagao.mapper.KdYdOrderDetailMapper;
 import com.malk.huagao.mapper.KdYdOrderMapper;
 import com.malk.huagao.mapper.KdYdOrderPaymentMapper;
@@ -59,6 +56,14 @@ public class KdYdOrderServiceImpl extends ServiceImpl<KdYdOrderMapper, KdYdOrder
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdOrder kdYdOrder = new KdYdOrder();
+            kdYdOrder.setOperationType("3");
+            kdYdOrderMapper.update(kdYdOrder, new LambdaQueryWrapper<KdYdOrder>().eq(KdYdOrder::getDjbh, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
@@ -126,8 +131,8 @@ public class KdYdOrderServiceImpl extends ServiceImpl<KdYdOrderMapper, KdYdOrder
         kdYdOrder.setJws(jws);
         kdYdOrder.setSyncStatus("0");
         kdYdOrder.setOperationType("1");
-        kdYdOrder.setForminstid(formInstId);
-        if ("2".equals(type) || "3".equals(type)) {
+//        kdYdOrder.setForminstid(formInstId);
+        if ("2".equals(type)) {
             kdYdOrder.setOperationType(type);
             kdYdOrderMapper.update(kdYdOrder, new LambdaQueryWrapper<KdYdOrder>().eq(KdYdOrder::getDjbh, djbh));
         } else {
@@ -181,7 +186,7 @@ public class KdYdOrderServiceImpl extends ServiceImpl<KdYdOrderMapper, KdYdOrder
             kdYdOrderDetail.setSmzs(zmzs);
             kdYdOrderDetail.setSyncStatus("0");
             kdYdOrderDetail.setOperationType("1");
-            kdYdOrderDetail.setForminstid(formInstId);
+//            kdYdOrderDetail.setForminstid(formInstId);
             if ("2".equals(type) || "3".equals(type)) {
                 kdYdOrderDetail.setOperationType(type);
                 kdYdOrderDetailMapper.update(kdYdOrderDetail, new LambdaQueryWrapper<KdYdOrderDetail>()

+ 1 - 1
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOutboundServiceImpl.java

@@ -79,7 +79,7 @@ public class KdYdOutboundServiceImpl extends ServiceImpl<KdYdOutboundMapper, KdY
         kdYdOutbound.setXssx(xssx);
         kdYdOutbound.setKhtjr(khtjr);
         kdYdOutbound.setXsy(xsy);
-        kdYdOutbound.setForminstid(formInstId);
+//        kdYdOutbound.setForminstid(formInstId);
         kdYdOutboundMapper.insert(kdYdOutbound);
         Long id = kdYdOutbound.getId();
         for (Map item : tableField) {

+ 9 - 1
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdTransferServiceImpl.java

@@ -47,6 +47,14 @@ public class KdYdTransferServiceImpl extends ServiceImpl<KdYdTransferMapper, KdY
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdTransfer kdYdTransfer = new KdYdTransfer();
+            kdYdTransfer.setOperationType("3");
+            kdYdTransferMapper.update(kdYdTransfer, new LambdaQueryWrapper<KdYdTransfer>().eq(KdYdTransfer::getDjbh, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
@@ -93,7 +101,7 @@ public class KdYdTransferServiceImpl extends ServiceImpl<KdYdTransferMapper, KdY
         kdYdTransfer.setYwlx(ywlx);
         kdYdTransfer.setCgy(xsy);
 
-        if ("2".equals(type) || "3".equals(type)) {
+        if ("2".equals(type)) {
             kdYdTransfer.setOperationType(type);
             kdYdTransferMapper.update(kdYdTransfer, new LambdaQueryWrapper<KdYdTransfer>().eq(KdYdTransfer::getDjbh, djbh));
         } else {

+ 10 - 2
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpServiceImpl.java

@@ -48,6 +48,14 @@ public class KdYdZpServiceImpl extends ServiceImpl<KdYdZpMapper, KdYdZp> impleme
         MDC.put("MDC_KEY_PID", "1003");
         String formInstId = UtilMap.getString(map, "formInstId");
         String type = UtilMap.getString(map, "type");
+
+        if ("3".equals(type)) {
+            String bm = UtilMap.getString(map, "bm");
+            KdYdZp kdYdZp = new KdYdZp();
+            kdYdZp.setOperationType("3");
+            kdYdZpMapper.update(kdYdZp, new LambdaQueryWrapper<KdYdZp>().eq(KdYdZp::getDjbh, bm));
+            return; // 或者根据你的业务逻辑返回相应的结果
+        }
         DDR_New ddrNew = ydClient.queryData(YDParam.builder()
                 .formInstId(formInstId)
                 .build(), YDConf.FORM_QUERY.retrieve_id);
@@ -83,8 +91,8 @@ public class KdYdZpServiceImpl extends ServiceImpl<KdYdZpMapper, KdYdZp> impleme
         kdYdZp.setOperationType("1");
         kdYdZp.setSpdzyx(spdzyx);
         kdYdZp.setCreateTime(LocalDateTime.now());
-        kdYdZp.setForminstid(formInstId);
-        if ("2".equals(type) || "3".equals(type)) {
+//        kdYdZp.setForminstid(formInstId);
+        if ("2".equals(type)) {
             kdYdZp.setOperationType(type);
             kdYdZpMapper.update(kdYdZp, new LambdaQueryWrapper<KdYdZp>().eq(KdYdZp::getDjbh, djbh));
         } else {

+ 117 - 101
mjava-huagao/src/main/java/com/malk/huagao/service/impl/YdHuaGaoServiceImpl.java

@@ -146,11 +146,11 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 try {
                     String bm = kdYdOrder.getDjbh();
 //                    String tjruuid = kdYdOrder.getTjruuid();
-                    String formInstId = kdYdOrder.getForminstid();
-                    if (ObjectUtil.hasEmpty(formInstId, bm)) {
-                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdOrder.getId());
-                        continue;
-                    }
+//                    String formInstId = kdYdOrder.getForminstid();
+//                    if (ObjectUtil.hasEmpty(formInstId, bm)) {
+//                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdOrder.getId());
+//                        continue;
+//                    }
 //                    if (tjruuid == null) {
 //            List<Map> khdata = (List<Map>) ydClient.queryData(
 //                    YDParam.builder()
@@ -174,12 +174,12 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
 //                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
                     ydClient.operateData(
                             YDParam.builder()
-                                    .formInstanceId(formInstId)
+//                                    .formInstanceId(formInstId)
                                     .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mg327tqe", bm)))
                                     .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
 
                 } catch (Exception e) {
-                    log.error("同步单条订单数据异常: formInstId={}", kdYdOrder.getForminstid(), e);
+//                    log.error("同步单条订单数据异常: formInstId={}", kdYdOrder.getForminstid(), e);
                 }
             }
 
@@ -207,20 +207,20 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 try {
                     String djbh = kdYdDelivery.getDjbh();
 //                    String tjruuid = kdYdOrder.getTjruuid();
-                    String formInstId = kdYdDelivery.getForminstid();
-                    if (ObjectUtil.hasEmpty(formInstId, djbh)) {
-                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdDelivery.getId());
-                        continue;
-                    }
+//                    String formInstId = kdYdDelivery.getForminstid();
+//                    if (ObjectUtil.hasEmpty(formInstId, djbh)) {
+//                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdDelivery.getId());
+//                        continue;
+//                    }
 
                     ydClient.operateData(
                             YDParam.builder()
-                                    .formInstanceId(formInstId)
+//                                    .formInstanceId(formInstId)
                                     .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mg3fuqvh", djbh)))
                                     .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
 
                 } catch (Exception e) {
-                    log.error("同步单条发货单数据异常: formInstId={}", kdYdDelivery.getForminstid(), e);
+//                    log.error("同步单条发货单数据异常: formInstId={}", kdYdDelivery.getForminstid(), e);
                 }
             }
 
@@ -332,8 +332,10 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 List<KdYdOutboundDetail> kdYdOutboundDetails = kdYdOutboundDetailMapper.selectList(outbounddetailqw);
 
                 ArrayList<Object> tableList = new ArrayList<>();
+                List<Map<String, Object>> tableListxlh = new ArrayList<>();
                 for (KdYdOutboundDetail kdYdOutboundDetail : kdYdOutboundDetails) {
                     HashMap<String, String> tablemap = new HashMap<>();
+                    HashMap<String, String> tablemapxlh = new HashMap<>();
                     tablemap.put("textField_mejnamff", kdYdOutboundDetail.getWlbm());
                     tablemap.put("textField_mejnamfg", kdYdOutboundDetail.getWlmc());
                     tablemap.put("textField_mg34txh1", kdYdOutboundDetail.getTpsb());
@@ -363,7 +365,19 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                     tablemap.put("textField_mhlqeoat", kdYdOutboundDetail.getZbqsf());
                     tablemap.put("textField_mf6a0h6x", kdYdOutboundDetail.getKddh());
                     tablemap.put("textField_mf6a0h6y", kdYdOutboundDetail.getJx());
-//                    tablemap.put("radioField_mf6a0h6h", kdYdOutboundDetail.getSfzp());
+                    String xlhjh = kdYdOutboundDetail.getXlh();
+                    if (xlhjh != null && !xlhjh.trim().isEmpty()) {
+                         tableListxlh = Arrays.stream(xlhjh.split(","))
+                                .map(String::trim)
+                                .filter(item -> !item.isEmpty())
+                                .map(item -> {
+                                    Map<String, Object> map = new HashMap<>();
+                                    map.put("textField_mf6a0h6w", item);
+                                    return map;
+                                })
+                                .collect(Collectors.toList());
+                    }
+                    tablemap.put("radioField_mf6a0h6h", kdYdOutboundDetail.getSfzp());
                     tableList.add(tablemap);
                     kdYdOutboundDetail.setSyncStatus("1");
                     kdYdOutboundDetailMapper.updateById(kdYdOutboundDetail);
@@ -409,11 +423,12 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 }
                 HashMap<Object, Object> updateMap = new HashMap<>();
                 updateMap.put("tableField_mejnamfd", tableList);
+                updateMap.put("tableField_migw33w7", tableListxlh);
                 if (fhdbh != null && fhdformInstanceId != null) {
                     updateMap.put("associationFormField_mejmml36",
                             Arrays.asList(getfhdAss(fhdbh, fhdformInstanceId)));
                 }
-                updateMap.put("dateField_krbgloam", kdYdOutbound.getDateTime() != null ? String.valueOf(kdYdOutbound.getDateTime().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli()) : "");
+                 updateMap.put("dateField_krbgloam", kdYdOutbound.getDateTime() != null ? String.valueOf(kdYdOutbound.getDateTime().atZone(java.time.ZoneId.systemDefault()).toInstant().toEpochMilli()) : "");
                 updateMap.put("textField_krnn5bmr", kdYdOutbound.getXsDept());
                 updateMap.put("textField_mhjxw689", kdYdOutbound.getFhDept());
                 updateMap.put("textField_mhjxw686", kdYdOutbound.getCgy());
@@ -427,6 +442,7 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 updateMap.put("selectField_megi74y8", kdYdOutbound.getKhsx());
                 updateMap.put("textField_mg34txgy", kdYdOutbound.getKhtjr());
                 updateMap.put("textField_mg34txgz", kdYdOutbound.getYsdh());
+                updateMap.put("textField_migw33w6", deliveryId);
 
                 // 添加同步操作(根据您的实际需求添加)
                 ydClient.operateData(YDParam.builder()
@@ -769,20 +785,20 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                 try {
                     String djbh = kdYdZp.getDjbh();
                     String fph = kdYdZp.getFph();
-                    String formInstId = kdYdZp.getForminstid();
-                    if (ObjectUtil.hasEmpty(formInstId, djbh, fph)) {
-                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdZp.getId());
-                        continue;
-                    }
+//                    String formInstId = kdYdZp.getForminstid();
+//                    if (ObjectUtil.hasEmpty(formInstId, djbh, fph)) {
+//                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdZp.getId());
+//                        continue;
+//                    }
 
                     ydClient.operateData(
                             YDParam.builder()
-                                    .formInstanceId(formInstId)
+//                                    .formInstanceId(formInstId)
                                     .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgt6lcqq, textField_mejmml3a", djbh, fph)))
                                     .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
 
                 } catch (Exception e) {
-                    log.error("同步单条发票单数据异常: formInstId={}", kdYdZp.getForminstid(), e);
+//                    log.error("同步单条发票单数据异常: formInstId={}", kdYdZp.getForminstid(), e);
                 }
             }
 
@@ -973,89 +989,89 @@ public class YdHuaGaoServiceImpl implements YdHuaGaoService {
                     .collect(Collectors.toMap(KdYdDelivery::getId, d -> d));
 
             // 4. 按 formInstId 分组,减少 API 调用次数
-            Map<String, List<KdYdDeliveryDetail>> detailsByFormInstId = kdYdDeliveryDetails.stream()
-                    .filter(detail -> deliveryMap.containsKey(detail.getDeliveryId()))
-                    .collect(Collectors.groupingBy(detail -> {
-                        KdYdDelivery main = deliveryMap.get(detail.getDeliveryId());
-                        return main != null ? main.getForminstid() : null;
-                    }));
+//            Map<String, List<KdYdDeliveryDetail>> detailsByFormInstId = kdYdDeliveryDetails.stream()
+//                    .filter(detail -> deliveryMap.containsKey(detail.getDeliveryId()))
+//                    .collect(Collectors.groupingBy(detail -> {
+//                        KdYdDelivery main = deliveryMap.get(detail.getDeliveryId());
+//                        return main != null ? main.getForminstid() : null;
+//                    }));
 
             int successCount = 0;
             int errorCount = 0;
 
             // 5. 遍历每个 formInstId,只调用一次 query + 一次 update
-            for (Map.Entry<String, List<KdYdDeliveryDetail>> entry : detailsByFormInstId.entrySet()) {
-                String formInstId = entry.getKey();
-                if (formInstId == null || formInstId.trim().isEmpty()) {
-                    log.warn("跳过空 formInstId 的记录");
-                    continue;
-                }
-
-                try {
-                    // 查询当前表单数据
-                    Map formData = ydClient.queryData(
-                            YDParam.builder()
-                                    .formInstId(formInstId)
-                                    .appType(ydConf.getAppType())
-                                    .systemToken(ydConf.getSystemToken())
-                                    .userId(ddConf.getOperator())
-                                    .build(),
-                            YDConf.FORM_QUERY.retrieve_id
-                    ).getFormData();
-
-                    if (formData == null) {
-                        log.warn("formInstId={} 的 formData 为空", formInstId);
-                        continue;
-                    }
-
-                    List<Map<String, Object>> tableData = (List<Map<String, Object>>) formData.get("tableField_mejnamfd");
-                    if (tableData == null || tableData.isEmpty()) {
-                        log.warn("formInstId={} 的子表 tableField_mejnamfd 为空", formInstId);
-                        continue;
-                    }
-                    // 标记是否需要更新
-                    boolean modified = false;
-
-                    // 处理当前 formInstId 下的所有待同步 detail
-                    for (KdYdDeliveryDetail detail : entry.getValue()) {
-                        String wlbm = detail.getWlbm();
-                        String mdh = detail.getMdh();
-
-                        for (Map<String, Object> row : tableData) {
-                            Object wlbmIdObj = row.get("textField_mejnamff");
-                            if (wlbmIdObj != null && wlbm.equals(wlbmIdObj.toString())) {
-                                row.put("textField_mf6a0h6y", mdh);
-                                modified = true;
-                                successCount++;
-                                break; // 找到匹配行即可跳出
-                            }
-                        }
-                    }
-
-                    // 只有修改了才提交
-                    if (modified) {
-                        ydClient.operateData(
-                                YDParam.builder()
-                                        .formInstanceId(formInstId)
-                                        .updateFormDataJson(JSON.toJSONString(Collections.singletonMap("tableField_mejnamfd", tableData)))
-                                        .useLatestVersion(true)
-                                        .build(),
-                                YDConf.FORM_OPERATION.update
-                        );
-                        log.debug("已更新 formInstId={} 的子表数据", formInstId);
-                    } else {
-                        log.debug("formInstId={} 无需更新", formInstId);
-                    }
-
-                } catch (Exception e) {
-                    errorCount += entry.getValue().size(); // 统计失败数量
-                    log.error("同步 formInstId={} 时发生异常", formInstId, e);
-                }
-            }
-
-            log.info("【发货详情单同步任务】执行完成,共处理 {} 条记录,成功 {} 条,失败 {} 条",
-                    kdYdDeliveryDetails.size(), successCount, errorCount);
-
+//            for (Map.Entry<String, List<KdYdDeliveryDetail>> entry : detailsByFormInstId.entrySet()) {
+//                String formInstId = entry.getKey();
+//                if (formInstId == null || formInstId.trim().isEmpty()) {
+//                    log.warn("跳过空 formInstId 的记录");
+//                    continue;
+//                }
+//
+//                try {
+//                    // 查询当前表单数据
+//                    Map formData = ydClient.queryData(
+//                            YDParam.builder()
+//                                    .formInstId(formInstId)
+//                                    .appType(ydConf.getAppType())
+//                                    .systemToken(ydConf.getSystemToken())
+//                                    .userId(ddConf.getOperator())
+//                                    .build(),
+//                            YDConf.FORM_QUERY.retrieve_id
+//                    ).getFormData();
+//
+//                    if (formData == null) {
+//                        log.warn("formInstId={} 的 formData 为空", formInstId);
+//                        continue;
+//                    }
+//
+//                    List<Map<String, Object>> tableData = (List<Map<String, Object>>) formData.get("tableField_mejnamfd");
+//                    if (tableData == null || tableData.isEmpty()) {
+//                        log.warn("formInstId={} 的子表 tableField_mejnamfd 为空", formInstId);
+//                        continue;
+//                    }
+//                    // 标记是否需要更新
+//                    boolean modified = false;
+//
+//                    // 处理当前 formInstId 下的所有待同步 detail
+//                    for (KdYdDeliveryDetail detail : entry.getValue()) {
+//                        String wlbm = detail.getWlbm();
+//                        String mdh = detail.getMdh();
+//
+//                        for (Map<String, Object> row : tableData) {
+//                            Object wlbmIdObj = row.get("textField_mejnamff");
+//                            if (wlbmIdObj != null && wlbm.equals(wlbmIdObj.toString())) {
+//                                row.put("textField_mf6a0h6y", mdh);
+//                                modified = true;
+//                                successCount++;
+//                                break; // 找到匹配行即可跳出
+//                            }
+//                        }
+//                    }
+//
+//                    // 只有修改了才提交
+//                    if (modified) {
+//                        ydClient.operateData(
+//                                YDParam.builder()
+//                                        .formInstanceId(formInstId)
+//                                        .updateFormDataJson(JSON.toJSONString(Collections.singletonMap("tableField_mejnamfd", tableData)))
+//                                        .useLatestVersion(true)
+//                                        .build(),
+//                                YDConf.FORM_OPERATION.update
+//                        );
+//                        log.debug("已更新 formInstId={} 的子表数据", formInstId);
+//                    } else {
+//                        log.debug("formInstId={} 无需更新", formInstId);
+//                    }
+//
+//                } catch (Exception e) {
+//                    errorCount += entry.getValue().size(); // 统计失败数量
+//                    log.error("同步 formInstId={} 时发生异常", formInstId, e);
+//                }
+//            }
+//
+//            log.info("【发货详情单同步任务】执行完成,共处理 {} 条记录,成功 {} 条,失败 {} 条",
+//                    kdYdDeliveryDetails.size(), successCount, errorCount);
+//
         } catch (Exception e) {
             log.error("【发货单同步任务】执行过程中发生严重错误", e);
         }

+ 5 - 0
mjava-lilin/src/main/java/com/malk/lilin/Controller/LiLinController.java

@@ -56,7 +56,12 @@ public class LiLinController {
         return liLinService.lilinJG(map);
 
     }
+    @PostMapping("/lilinPLJG")//支付结果查询
+    public McR lilinPLJG(@RequestBody Map<String, Object> map) throws IOException {
+        log.info("lilinJG:{}", JSON.toJSONString(map));
+        return liLinService.taskPLJG();
 
+    }
     @PostMapping("/lilinLS")//查银行流水
     public McR lilinLS(@RequestBody Map<String, Object> map) throws IOException {
         log.info("lilinLS:{}", JSON.toJSONString(map));

+ 52 - 3
mjava-lilin/src/main/java/com/malk/lilin/Controller/taskController.java

@@ -2,6 +2,7 @@ package com.malk.lilin.Controller;
 
 import cn.hutool.crypto.SecureUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.malk.lilin.Service.LiLinService;
 import com.malk.server.aliwork.YDConf;
@@ -93,6 +94,7 @@ public class taskController {
     @GetMapping("/token")
 
     public String token1() {
+//        lilinService.taskPLJG();
         return (String) token().getData();
     }
 
@@ -267,7 +269,7 @@ public class taskController {
 //                )))
 //                .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
         List<String> khdaList = Arrays.asList(
-                "31050161373600008173"
+                "1001260509024819590"
 
         );
 
@@ -298,7 +300,7 @@ public class taskController {
                 log.info("开始对账单同步,accountNo: {}", accountNo);
 
                 // 准备时间范围
-                String dayFromId = LocalDate.now().minusDays(16).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
+                String dayFromId = LocalDate.now().minusDays(10).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
                 String dayToId = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
 
                 // 构建 POST 请求体
@@ -334,6 +336,50 @@ public class taskController {
                 JSONObject jsonObject = JSON.parseObject(jsonStr);
                 JSONObject data = jsonObject.getJSONObject("data");
                 System.out.println(data);
+//                JSONArray statementList = data.getJSONArray("searchBankStatementList");
+//                if (statementList == null || statementList.isEmpty()) {
+//                    log.info("银行接口返回空列表,accountNo: {}", accountNo);
+//                    continue;
+//                }
+//
+//                List<Map<String, String>> extractedList = new ArrayList<>();
+//
+//                for (int i = 0; i < statementList.size(); i++) {
+//                    JSONObject item = statementList.getJSONObject(i);
+//                    if (item == null) continue;
+//
+//                    Map<String, String> extractedItem = new HashMap<>();
+//                    String bankStatementId = getStringValue(item, "bankStatementId");
+//                    String bankComments = getStringValue(item, "bankComments");
+//                    String crAmount = getStringValue(item, "crAmount");
+//                    String trxDate = getStringValue(item, "trxDate");
+//                    String createDate = getStringValue(item, "createDate");
+//                    String accountName = getStringValue(item, "accountName"); // 本方账号名称
+//                    String userRemarks = getStringValue(item, "userRemarks");
+//                    String userMemo = getStringValue(item, "userMemo");
+//                    String transFlag = getStringValue(item, "transFlag");
+//                    String catalogName = getStringValue(item, "catalogName");
+//                    String customerName = getStringValue(item, "customerName"); // 对手方账户名称
+//               extractedItem.put("customerName", customerName);
+//                    extractedList.add(extractedItem);
+//                }
+//                System.out.println("==="+extractedList);
+//
+//                extractedList.forEach(item -> {
+//                    String customerName = item.get("customerName");
+//                    System.out.println("====="+JSON.toJSONString(UtilMap.map("textField_m8sjaafp, aa", customerName,"")));
+//                    log.info("银行接口返回数据: {}", item);
+//                    List<Map> khlist = (List<Map>) ydClient.queryData(
+//                            YDParam.builder()
+//                                    .formUuid("FORM-E18CC7F3495B45BB852CB386F325BF03IAS3")
+//                                    .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
+//                                    .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
+//                                    .searchCondition(JSON.toJSONString(UtilMap.map("textField_m8sjaafp", customerName)))
+//                                    .build(),
+//                            YDConf.FORM_QUERY.retrieve_list_all
+//                    ).getData();
+//                });
+
             }
             catch (Exception e) {
                 log.error("调用银行接口异常", e);
@@ -393,7 +439,10 @@ public class taskController {
 
         return McR.success();
     }
-
+    private String getStringValue(JSONObject json, String key) {
+        Object value = json.get(key);
+        return value == null ? "" : value.toString();
+    }
     @Autowired
     private DDClient ddClient;
 

+ 102 - 46
mjava-lilin/src/main/java/com/malk/lilin/Service/impl/LiLinServiceImpl.java

@@ -159,7 +159,7 @@ public class LiLinServiceImpl implements LiLinService {
                             List<Map> xmdata = (List<Map>) ydClient.queryData(
                                     YDParam.builder()
                                             .formUuid("FORM-FFA52F0206684931A0F18C00C2C937EAAVI5")
-                                            .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_m9awsc29", xmbh)))
+                                            .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_m9awsc29, aa", xmbh,"")))
                                             .build(),
                                     YDConf.FORM_QUERY.retrieve_list_all
                             ).getData();
@@ -632,7 +632,7 @@ public class LiLinServiceImpl implements LiLinService {
 
         return McR.success("处理完成");
     }
-//TODO
+
 
 
     @Override
@@ -1001,20 +1001,59 @@ public class LiLinServiceImpl implements LiLinService {
 
                     // 检查是否已存在该对账单记录
                     boolean exists = false;
-                    try {
-                        List<Map> list = (List<Map>) ydClient.queryData(
-                                YDParam.builder()
-                                        .formUuid("FORM-AF6E9FBF8F7642D59A333BC9EF3DF3FB836A")
-                                        .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
-                                        .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
-                                        .searchCondition(JSON.toJSONString(UtilMap.map("textField_mdh05xw6", bankStatementId)))
-                                        .build(),
-                                YDConf.FORM_QUERY.retrieve_list_all
-                        ).getData();
+                    int maxRetries = 3;
+                    long retryDelayMs = 1000; // 1秒后重试
 
-                        exists = list != null && !list.isEmpty();
-                    } catch (Exception e) {
-                        log.error("查询宜搭系统失败,bankStatementId: {}", bankStatementId, e);
+                    for (int attempt = 1; attempt <= maxRetries; attempt++) {
+                        try {
+                            List<Map> list = (List<Map>) ydClient.queryData(
+                                    YDParam.builder()
+                                            .formUuid("FORM-AF6E9FBF8F7642D59A333BC9EF3DF3FB836A")
+                                            .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
+                                            .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
+                                            .searchCondition(JSON.toJSONString(UtilMap.map("textField_mdh05xw6", bankStatementId)))
+                                            .build(),
+                                    YDConf.FORM_QUERY.retrieve_list_all
+                            ).getData();
+
+                            exists = list != null && !list.isEmpty();
+                            break; // ✅ 查询成功,跳出重试循环
+
+                        } catch (Exception e) {
+                            String errorMsg = e.getMessage();
+                            // 🔁 判断是否是“可重试”的临时错误
+                            boolean isTransientError = errorMsg != null &&
+                                    (errorMsg.contains("temporary failure") ||
+                                            errorMsg.contains("500") ||
+                                            errorMsg.contains("timeout") ||
+                                            errorMsg.contains("The request has failed due to a temporary failure of the server") ||
+                                            errorMsg.contains("connection") ||
+                                            errorMsg.contains("access_token"));
+
+                            log.warn("查询宜搭系统失败,第 {} 次尝试,bankStatementId: {},错误: {}",
+                                    attempt, bankStatementId, e.getMessage());
+
+                            if (attempt == maxRetries) {
+                                // ❌ 最后一次重试仍失败,才抛出异常
+                                log.error("查询宜搭系统最终失败,已重试 {} 次,bankStatementId: {}",
+                                        maxRetries, bankStatementId, e);
+                                throw new RuntimeException("查询宜搭失败,bankStatementId=" + bankStatementId, e);
+                            }
+
+                            if (isTransientError) {
+                                // ✅ 是临时错误,等待后重试
+                                try {
+                                    Thread.sleep(retryDelayMs * attempt); // 指数退避:1s, 2s, 3s...
+                                } catch (InterruptedException ie) {
+                                    Thread.currentThread().interrupt();
+                                    throw new RuntimeException("重试等待被中断", ie);
+                                }
+                            } else {
+                                // ❌ 非临时错误(如参数错误、表单不存在),直接放弃重试
+                                log.error("查询失败:非临时性错误,不再重试,bankStatementId: {}", bankStatementId, e);
+                                throw new RuntimeException("查询宜搭失败(非临时错误):" + errorMsg, e);
+                            }
+                        }
                     }
 
                     if (exists) {
@@ -1032,7 +1071,7 @@ public class LiLinServiceImpl implements LiLinService {
                                         .formUuid("FORM-E18CC7F3495B45BB852CB386F325BF03IAS3")
                                         .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
                                         .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
-                                        .searchCondition(JSON.toJSONString(UtilMap.map("textField_m8sjaafp", customerName)))
+                                        .searchCondition(JSON.toJSONString(UtilMap.map("textField_m8sjaafp, aa", customerName,"")))
                                         .build(),
                                 YDConf.FORM_QUERY.retrieve_list_all
                         ).getData();
@@ -1052,9 +1091,9 @@ public class LiLinServiceImpl implements LiLinService {
                             khaccountName = customerName;
                         }
 
+
                         if (khformInstanceId == null || khaccountName == null) {
                             log.warn("未找到匹配的客户信息: customerName={}", customerName);
-                            // 可选择跳过或继续(不关联客户)
                         }
 
                         // 构造 formData
@@ -1176,7 +1215,8 @@ public class LiLinServiceImpl implements LiLinService {
                 String xmlx = getStringValue(row, "selectField_mfosn87t");
                 if ("以产定销".equals(xmlx)) {
                     hasChanXiao = true;
-                } else if ("以销定产".equals(xmlx)) {
+                } else {
+                    // 默认按“以销定产”处理(包含“以销定产”及其他未知类型)
                     hasXiaoChan = true;
                 }
             }
@@ -1390,7 +1430,16 @@ public class LiLinServiceImpl implements LiLinService {
                                 YDSearch.Operator.EQ)
                 )))
                 .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
-
+//        List<Map> list = (List<Map>) ydClient.queryData(YDParam.builder()
+//                .formUuid("FORM-754586D31BF6414586E5C20DB3774A7320CV")
+//                .searchFieldJson(JSONObject.toJSONString(Arrays.asList(
+//                        new YDSearch("textField_m9ze3rjg",
+//                                "CGFK20251027560",
+//                                "电子凭证号",
+//                                YDSearch.Type.TEXT_FIELD,
+//                                YDSearch.Operator.EQ)
+//                )))
+//                .build(), YDConf.FORM_QUERY.retrieve_list_all).getData();
         if (list == null || list.isEmpty()) {
             log.info("没有找到需要处理的单据");
             return McR.success("无待处理数据");
@@ -1421,22 +1470,22 @@ public class LiLinServiceImpl implements LiLinService {
                 String fklx = getStringValue(data, "selectField_m9ze3rjf"); // 付款类型
                 String mainInstructionId = getStringValue(data, "serialNumberField_m9ze3rjd"); // 主表流水号
 
-                // 查询目标表单是否已存在该 mainInstructionId 的记录
-//                List<Map> list1 = (List<Map>) ydClient.queryData(
-//                        YDParam.builder()
-//                                .formUuid("FORM-6B8A683A23524D3596C8C6CA13327EF3552K")
-//                                .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
-//                                .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
-//                                .searchCondition(JSON.toJSONString(UtilMap.map("textField_mdsk7rlm", mainInstructionId)))
-//                                .build(),
-//                        YDConf.FORM_QUERY.retrieve_list_all
-//                ).getData();
-
-                // 如果目标表单中已存在该流水号,则跳过,不再新增
-//                if (list1 != null && !list1.isEmpty()) {
-//                    log.info("已存在重复数据,跳过插入:mainInstructionId={}", mainInstructionId);
-//                    continue;
-//                }
+//                 查询目标表单是否已存在该 mainInstructionId 的记录
+                List<Map> list1 = (List<Map>) ydClient.queryData(
+                        YDParam.builder()
+                                .formUuid("FORM-6B8A683A23524D3596C8C6CA13327EF3552K")
+                                .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
+                                .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
+                                .searchCondition(JSON.toJSONString(UtilMap.map("textField_mdsk7rlm", mainInstructionId)))
+                                .build(),
+                        YDConf.FORM_QUERY.retrieve_list_all
+                ).getData();
+
+//                 如果目标表单中已存在该流水号,则跳过,不再新增
+                if (list1 != null && !list1.isEmpty()) {
+                    log.info("已存在重复数据,跳过插入:mainInstructionId={}", mainInstructionId);
+                    continue;
+                }
 
                 // 继续提取其他字段
                 String note = getStringValue(data, "textField_m9ze3rk3"); // 付款用途
@@ -1446,8 +1495,8 @@ public class LiLinServiceImpl implements LiLinService {
                 List<String> sqr =UtilMap.getList(data, "employeeField_madmj9kw_id");// 申请人
                 String fklsh = getStringValue(data, "textField_ma13ih7u"); // 付款流程编号
                 String toBank = getStringValue(data, "textField_m9ze3rjr"); // 收款银行支行
-                String fromAccountCode = getStringValue(data, "textField_mdfnuyl9"); // 付款账
-                String fromAccountName = getStringValue(data, "textField_m9ze3rj8"); // 付款户名
+                String cghtbh = getStringValue(data, "textField_madmzxcf"); // 采购合同编
+                String fkqs = getStringValue(data, "radioField_m9rva5bm"); // 付款期数
 //                long zfsj = System.currentTimeMillis();//支付时间
 //                String  zfsj = getStringValue(data, "dateField_me2m3mmd");//支付时间
 
@@ -1484,6 +1533,8 @@ public class LiLinServiceImpl implements LiLinService {
                             tablemap.put("textField_ma13k7v3", instructionId);
                             tablemap.put("textField_ma13k7v4", fklsh);
                             tablemap.put("textField_madmzxce", xmbh);
+                            tablemap.put("textField_madmzxcf", cghtbh);
+                            tablemap.put("radioField_m9rva5bm", fkqs);
                             updateList.add(tablemap);
                         }
                     }
@@ -1504,6 +1555,8 @@ public class LiLinServiceImpl implements LiLinService {
                     tablemap.put("textField_ma13k7v3", instructionId);
                     tablemap.put("textField_ma13k7v4", fklsh);
                     tablemap.put("textField_madmzxce", xmbh);
+                    tablemap.put("textField_madmzxcf", cghtbh);
+                    tablemap.put("radioField_m9rva5bm", fkqs);
                     updateList.add(tablemap);
                 }
 
@@ -1517,18 +1570,21 @@ public class LiLinServiceImpl implements LiLinService {
                 formData.put("employeeField_m8yf6gkl", Arrays.asList("275412081437800471"));
 
                 // 执行新增
-                ydClient.operateData(YDParam.builder()
-                        .formUuid("FORM-6B8A683A23524D3596C8C6CA13327EF3552K")
-                        .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
-                        .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
-                        .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mdsk7rlm", mainInstructionId)))
-                        .formDataJson(JSONObject.toJSONString(formData))
-                        .build(), YDConf.FORM_OPERATION.upsert);
 //                ydClient.operateData(YDParam.builder()
 //                        .formUuid("FORM-6B8A683A23524D3596C8C6CA13327EF3552K")
-//                        .formDataJson(JSON.toJSONString(formData))
+//                        .appType("APP_RPH7R3LF3SMXLRDY1ZJW")
+//                        .systemToken("7M866K91D4LVACB4EADAZ5UJG7IN3OGA33WAMNT")
+//                        .noExecuteExpression(false)
+////                        .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_mdsk7rlm", mainInstructionId)))
+//                        .searchCondition(JSONObject.toJSONString(Arrays.asList(new YDSearch(
+//                                "textField_mdsk7rlm", mainInstructionId, "付款通知单流水号", YDSearch.Type.TEXT_FIELD, YDSearch.Operator.EQ))))
+//                        .formDataJson(JSONObject.toJSONString(formData))
+//                        .build(), YDConf.FORM_OPERATION.upsert);
+                ydClient.operateData(YDParam.builder()
+                        .formUuid("FORM-6B8A683A23524D3596C8C6CA13327EF3552K")
+                        .formDataJson(JSON.toJSONString(formData))
 //                        .userId("275412081437800471")
-//                        .build(), YDConf.FORM_OPERATION.create);
+                        .build(), YDConf.FORM_OPERATION.create);
 
                 log.info("成功插入新数据:mainInstructionId={}, 付款类型={}", mainInstructionId, fklx);