3 コミット 29e3c8468c ... a635f08005

作者 SHA1 メッセージ 日付
  “lqy a635f08005 Merge remote-tracking branch 'origin/master' 1 ヶ月 前
  “lqy f1efdbc4ca 10.21 1 ヶ月 前
  “lqy 859e3d3b25 华高初版对接数据库代码提交 2 ヶ月 前
共有92 個のファイルを変更した4013 個の追加70 個の削除を含む
  1. 9 2
      mjava-huagao/pom.xml
  2. 2 1
      mjava-huagao/src/main/java/com/malk/huagao/HuaGaoApplication.java
  3. 55 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerController.java
  4. 34 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerLiaisonController.java
  5. 32 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerReferrerController.java
  6. 36 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdDeliveryController.java
  7. 18 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdDeliveryDetailController.java
  8. 36 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdMaterialController.java
  9. 35 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOrderController.java
  10. 18 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOrderDetailController.java
  11. 36 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOutboundController.java
  12. 18 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOutboundDetailController.java
  13. 36 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdReceivableController.java
  14. 18 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdReceivableDetailController.java
  15. 36 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdZpController.java
  16. 18 0
      mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdZpDetailController.java
  17. 87 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomer.java
  18. 53 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerLiaison.java
  19. 56 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerReferrer.java
  20. 72 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdDelivery.java
  21. 67 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdDeliveryDetail.java
  22. 69 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdMaterial.java
  23. 73 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrder.java
  24. 75 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOrderDetail.java
  25. 56 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOutbound.java
  26. 89 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOutboundDetail.java
  27. 59 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdReceivable.java
  28. 81 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdReceivableDetail.java
  29. 57 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdZp.java
  30. 75 0
      mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdZpDetail.java
  31. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerLiaisonMapper.java
  32. 23 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerMapper.java
  33. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerReferrerMapper.java
  34. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdDeliveryDetailMapper.java
  35. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdDeliveryMapper.java
  36. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdMaterialMapper.java
  37. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOrderDetailMapper.java
  38. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOrderMapper.java
  39. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOutboundDetailMapper.java
  40. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOutboundMapper.java
  41. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdReceivableDetailMapper.java
  42. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdReceivableMapper.java
  43. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdZpDetailMapper.java
  44. 24 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdZpMapper.java
  45. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerLiaisonMapper.xml
  46. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerMapper.xml
  47. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerReferrerMapper.xml
  48. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdDeliveryDetailMapper.xml
  49. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdDeliveryMapper.xml
  50. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdMaterialMapper.xml
  51. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOrderDetailMapper.xml
  52. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOrderMapper.xml
  53. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOutboundDetailMapper.xml
  54. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOutboundMapper.xml
  55. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdReceivableDetailMapper.xml
  56. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdReceivableMapper.xml
  57. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdZpDetailMapper.xml
  58. 5 0
      mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdZpMapper.xml
  59. 59 54
      mjava-huagao/src/main/java/com/malk/huagao/schedule/ScheduleTask.java
  60. 139 0
      mjava-huagao/src/main/java/com/malk/huagao/schedule/YdScheduleTask.java
  61. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerLiaisonService.java
  62. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerReferrerService.java
  63. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerService.java
  64. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdDeliveryDetailService.java
  65. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdDeliveryService.java
  66. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdMaterialService.java
  67. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOrderDetailService.java
  68. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOrderService.java
  69. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOutboundDetailService.java
  70. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOutboundService.java
  71. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdReceivableDetailService.java
  72. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdReceivableService.java
  73. 16 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdZpDetailService.java
  74. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdZpService.java
  75. 19 0
      mjava-huagao/src/main/java/com/malk/huagao/service/YdHuaGaoService.java
  76. 93 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerLiaisonServiceImpl.java
  77. 64 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerReferrerServiceImpl.java
  78. 112 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerServiceImpl.java
  79. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryDetailServiceImpl.java
  80. 181 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryServiceImpl.java
  81. 106 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdMaterialServiceImpl.java
  82. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderDetailServiceImpl.java
  83. 184 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderServiceImpl.java
  84. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOutboundDetailServiceImpl.java
  85. 183 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOutboundServiceImpl.java
  86. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdReceivableDetailServiceImpl.java
  87. 186 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdReceivableServiceImpl.java
  88. 20 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpDetailServiceImpl.java
  89. 171 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpServiceImpl.java
  90. 377 0
      mjava-huagao/src/main/java/com/malk/huagao/service/impl/YdHuaGaoServiceImpl.java
  91. 14 3
      mjava-huagao/src/main/java/com/malk/huagao/utils/MPGenerator.java
  92. 10 10
      mjava-jianhui/pom.xml

+ 9 - 2
mjava-huagao/pom.xml

@@ -29,7 +29,7 @@
         <dependency>
             <groupId>com.microsoft.sqlserver</groupId>
             <artifactId>mssql-jdbc</artifactId>
-            <version>12.4.0.jre8</version>
+            <version>12.4.2.jre8</version>
         </dependency>
         <dependency>
             <groupId>com.baomidou</groupId>
@@ -40,7 +40,7 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-generator</artifactId>
-            <version>3.5.3.1</version>
+            <version>3.5.5</version>
         </dependency>
         <dependency> <!--自动生成的模板:模板有三种:Velocity(默认)、Freemarker、Beetl -->
             <groupId>org.apache.velocity</groupId>
@@ -52,9 +52,16 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <version>2.3.32</version>
+        </dependency>
+
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
+            <version>1.18.30</version>
             <scope>provided</scope>
         </dependency>
         <dependency>

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

@@ -1,11 +1,12 @@
 package com.malk.huagao;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.scheduling.annotation.EnableScheduling;
 
 import java.security.Security;
-
+@MapperScan("com.malk.huagao.mapper")
 @SpringBootApplication(scanBasePackages = {"com.malk"})
 public class HuaGaoApplication {
     public static void main(String[] args) {

+ 55 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerController.java

@@ -0,0 +1,55 @@
+package com.malk.huagao.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.service.IKdYdCustomerService;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-09
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdCustomerController {
+    @Autowired
+    private IKdYdCustomerService  kdYdCustomerService;
+@Autowired
+private YDClient ydClient;
+    @PostMapping("/test30")
+    McR test13(@RequestBody Map data) {
+        MDC.put("MDC_KEY_PID","1003");
+        String ins = String.valueOf(data.get("formInstId"));
+
+
+
+        ydClient.operateData(YDParam.builder()
+                .formInstanceId(ins)
+      .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgowmnlf","100111")))//xz04
+//                .updateFormDataJson(JSONObject.toJSONString(UtilMap.map(employ,id)))//xz04
+                .useLatestVersion(true)
+                .build(), YDConf.FORM_OPERATION.update);
+        return McR.success();
+    }
+    @PostMapping("/kdYdCustomer")
+    McR insertCustomer(@RequestBody Map map) {
+        kdYdCustomerService.insertCustomer(map);
+        return McR.success();
+    }
+}

+ 34 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerLiaisonController.java

@@ -0,0 +1,34 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdCustomerLiaisonService;
+import com.malk.server.common.McR;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-13
+ */
+@RestController
+@RequestMapping("/hg")
+
+public class KdYdCustomerLiaisonController {
+    @Autowired
+    private IKdYdCustomerLiaisonService kdYdCustomerLiaisonService;
+@PostMapping("/kdYdCustomerLiaison")
+McR insertCustomerLiaison(@RequestBody Map map) {
+    kdYdCustomerLiaisonService.insertCustomerLiaison(map);
+        return McR.success();
+    }
+}

+ 32 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdCustomerReferrerController.java

@@ -0,0 +1,32 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdCustomerReferrerService;
+import com.malk.server.common.McR;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-14
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdCustomerReferrerController {
+    @Autowired
+    private IKdYdCustomerReferrerService kdYdCustomerReferrerService;
+    @PostMapping("/kdYdCustomerReferrer")
+    McR kdYdCustomerReferrer(@RequestBody Map map) {
+        kdYdCustomerReferrerService.insertCustomerReferrer(map);
+        return McR.success();
+    }
+}

+ 36 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdDeliveryController.java

@@ -0,0 +1,36 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdDeliveryService;
+import com.malk.huagao.service.IKdYdOrderService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdDeliveryController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdDeliveryService kdYdDeliveryService;
+    @PostMapping("/kdYdDelivery")
+    McR insertDelivery(@RequestBody Map map) {
+        kdYdDeliveryService.insertDelivery(map);
+        return McR.success();
+    }
+}

+ 18 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdDeliveryDetailController.java

@@ -0,0 +1,18 @@
+package com.malk.huagao.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Controller
+@RequestMapping("//kdYdDeliveryDetail")
+public class KdYdDeliveryDetailController {
+
+}

+ 36 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdMaterialController.java

@@ -0,0 +1,36 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdMaterialService;
+import com.malk.huagao.service.IKdYdOrderService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdMaterialController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdMaterialService kdYdMaterialService;
+    @PostMapping("/kdYdMaterial")
+    McR insertkdYdMaterial(@RequestBody Map map) {
+        kdYdMaterialService.insertkdYdMaterial(map);
+        return McR.success();
+    }
+}

+ 35 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOrderController.java

@@ -0,0 +1,35 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdOrderService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdOrderController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdOrderService kdYdOrderService;
+    @PostMapping("/kdYdOrder")
+    McR insertkdYdOrder(@RequestBody Map map) {
+        kdYdOrderService.insertkdYdOrder(map);
+        return McR.success();
+    }
+}

+ 18 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOrderDetailController.java

@@ -0,0 +1,18 @@
+package com.malk.huagao.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Controller
+@RequestMapping("//kdYdOrderDetail")
+public class KdYdOrderDetailController {
+
+}

+ 36 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOutboundController.java

@@ -0,0 +1,36 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdOrderService;
+import com.malk.huagao.service.IKdYdOutboundService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdOutboundController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdOutboundService kdYdOutboundService;
+    @PostMapping("/kdYdOutbound")
+    McR insertkdYdOutbound(@RequestBody Map map) {
+        kdYdOutboundService.insertkdYdOutbound(map);
+        return McR.success();
+    }
+}

+ 18 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdOutboundDetailController.java

@@ -0,0 +1,18 @@
+package com.malk.huagao.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Controller
+@RequestMapping("//kdYdOutboundDetail")
+public class KdYdOutboundDetailController {
+
+}

+ 36 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdReceivableController.java

@@ -0,0 +1,36 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdOutboundService;
+import com.malk.huagao.service.IKdYdReceivableService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdReceivableController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdReceivableService kdYdReceivableService;
+    @PostMapping("/kdYdReceivable")
+    McR insertkdYdReceivable(@RequestBody Map map) {
+        kdYdReceivableService.insertkdYdReceivable(map);
+        return McR.success();
+    }
+}

+ 18 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdReceivableDetailController.java

@@ -0,0 +1,18 @@
+package com.malk.huagao.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Controller
+@RequestMapping("//kdYdReceivableDetail")
+public class KdYdReceivableDetailController {
+
+}

+ 36 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdZpController.java

@@ -0,0 +1,36 @@
+package com.malk.huagao.controller;
+
+import com.malk.huagao.service.IKdYdReceivableService;
+import com.malk.huagao.service.IKdYdZpService;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@RestController
+@RequestMapping("/hg")
+public class KdYdZpController {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private IKdYdZpService kdYdZpService;
+    @PostMapping("/kdYdZp")
+    McR insertkdYdZp(@RequestBody Map map) {
+        kdYdZpService.insertkdYdZp(map);
+        return McR.success();
+    }
+}

+ 18 - 0
mjava-huagao/src/main/java/com/malk/huagao/controller/KdYdZpDetailController.java

@@ -0,0 +1,18 @@
+package com.malk.huagao.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.stereotype.Controller;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Controller
+@RequestMapping("//kdYdZpDetail")
+public class KdYdZpDetailController {
+
+}

+ 87 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomer.java

@@ -0,0 +1,87 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-09
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_CUSTOMER")
+public class KdYdCustomer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String khmc;
+
+    private String khbm;
+
+    private String xssx;
+
+    private String khxypj;
+
+    private String khsx;
+
+    private String jxr;
+
+    private String khlb;
+
+    private String khfz;
+
+    private String fptt;
+
+    private String nsdjh;
+
+    private String khyh;
+
+    private String yhzh;
+
+    private String kplx;
+
+    private String kplxdh;
+
+    private String kptxdz;
+
+    private String tyshxydm;
+
+    private String khtjr;
+
+    private String sktj;
+
+    private String xsy;
+
+    private String jsbb;
+
+    private String mrsl;
+
+    private String sfl;
+
+    private String khyxj;
+
+    private String qyxygl;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    @TableField("formInstId")
+    private String formInstId;
+
+    private String uuid;
+    private String tjruuid;
+}

+ 53 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerLiaison.java

@@ -0,0 +1,53 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-13
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_CUSTOMER_LIAISON")
+public class KdYdCustomerLiaison implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long customerId;
+
+    private String bm;
+
+    private String xm;
+
+    private String xb;
+
+    private String zw;
+
+    private String gddh;
+
+    private String yddh;
+
+    private String cz;
+
+    private String yx;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+    @TableField("formInstId")
+    private String formInstId;
+}

+ 56 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdCustomerReferrer.java

@@ -0,0 +1,56 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-14
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_CUSTOMER_REFERRER")
+public class KdYdCustomerReferrer implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String bm;
+
+    private String mc;
+
+    private String sfzh;
+
+    private String sjh;
+
+    private String xsy;
+
+    private String skrmc;
+
+    private String skzh;
+
+    private String khh;
+
+    private String ms;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    @TableField("formInstId")
+    private String formInstId;
+
+    private String tjruuid;
+}

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

@@ -0,0 +1,72 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_DELIVERY")
+public class KdYdDelivery implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String djlx;
+
+    private String djbh;
+
+    private Long orderId;
+
+    private LocalDateTime rq;
+
+    private String kh;
+
+    private String jsbb;
+
+    private String xsbm;
+
+    private String lllx;
+
+    private String jjr;
+
+    private String jjrdh;
+
+    private String jjdz;
+
+    private String xslx;
+
+    private String bzfs;
+
+    private String bz;
+
+    private LocalDateTime hhsj;
+
+    private String ysfs;
+
+    private String hdfs;
+
+    private String kdgs;
+
+    private String fkfs;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

+ 67 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdDeliveryDetail.java

@@ -0,0 +1,67 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_DELIVERY_DETAIL")
+public class KdYdDeliveryDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long deliveryId;
+
+    private String wlbm;
+
+    private String wlmc;
+
+    private String xsdw;
+
+    private Integer jjsl;
+
+    private String ssxl;
+
+    private LocalDateTime yhrq;
+
+    private String ggxh;
+
+    private String sfzp;
+
+    private String ckck;
+
+    private String ckcw;
+
+    private String sjr;
+
+    private String sjdh;
+
+    private String sjdz;
+
+    private String zbq;
+
+    private String kddh;
+
+    private String mdh;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+}

+ 69 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdMaterial.java

@@ -0,0 +1,69 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_MATERIAL")
+public class KdYdMaterial implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private String wlmc;
+
+    private String wlbm;
+
+    private String xh;
+
+    private String gg;
+
+    private String wlfz;
+
+    private String wlsx;
+
+    private String jbdw;
+
+    private String ssxl;
+
+    private String jx;
+
+    private Integer sd;
+
+    private String mrsl;
+
+    private String chlb;
+
+    private String xsy;
+
+    private BigDecimal xsjzj;
+
+    private String smzs;
+
+    private String sjzt;
+
+    private String jyzt;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+}

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

@@ -0,0 +1,73 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_ORDER")
+public class KdYdOrder implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String djlx;
+
+    private String djbh;
+
+    private LocalDateTime rq;
+
+    private String khmc;
+
+    private String khxypj;
+
+    private String ywlx;
+
+    private String xslx;
+
+    private String bzq;
+
+    private String xsy;
+
+    private String xsbm;
+
+    private String bz;
+
+    private String jsbb;
+
+    private String sktj;
+
+    private BigDecimal zdzke;
+
+    private BigDecimal se;
+
+    private BigDecimal je;
+
+    private BigDecimal jshj;
+
+    private String sfhs;
+
+    private String jws;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

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

@@ -0,0 +1,75 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_ORDER_DETAIL")
+public class KdYdOrderDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long orderId;
+
+    private String wlbm;
+
+    private String wlmc;
+
+    private String ggxh;
+
+    private String xsdw;
+
+    private Integer xssl;
+
+    private String ssxl;
+
+    private BigDecimal dj;
+
+    private BigDecimal hsdj;
+
+    private String sfzp;
+
+    private Integer sl;
+
+    private BigDecimal se;
+
+    private BigDecimal je;
+
+    private BigDecimal jshj;
+
+    private BigDecimal jj;
+
+    private BigDecimal zkl;
+
+    private BigDecimal zke;
+
+    private LocalDateTime yhrq;
+
+    private BigDecimal xsjzj;
+
+    private String smzs;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

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

@@ -0,0 +1,56 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_OUTBOUND")
+public class KdYdOutbound implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String djlx;
+
+    private String djbh;
+
+    private String jsbb;
+
+    private String kh;
+
+    private String ysdh;
+
+    private String xslx;
+
+    private String khsx;
+
+    private String xssx;
+
+    private String khtjr;
+
+    private String xsy;
+
+    private Long deliveryId;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

+ 89 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdOutboundDetail.java

@@ -0,0 +1,89 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_OUTBOUND_DETAIL")
+public class KdYdOutboundDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long outboundId;
+
+    private String wlbm;
+
+    private String wlmc;
+
+    private String ggxh;
+
+    private String kcdw;
+
+    private String ssxl;
+
+    private BigDecimal dj;
+
+    private BigDecimal hsdj;
+
+    private BigDecimal sl;
+
+    private BigDecimal se;
+
+    private BigDecimal je;
+
+    private BigDecimal jshj;
+
+    private String ck;
+
+    private String cw;
+
+    private String kczt;
+
+    private String tpsb;
+
+    private String ph;
+
+    private BigDecimal jtc;
+
+    private String sjr;
+
+    private String sjdh;
+
+    private String sjdz;
+
+    private String gg;
+
+    private String zbq;
+
+    private LocalDateTime fwdqr;
+
+    private String xlh;
+
+    private Integer zbqsf;
+
+    private String kddh;
+
+    private String jx;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+}

+ 59 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdReceivable.java

@@ -0,0 +1,59 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_RECEIVABLE")
+public class KdYdReceivable implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+      private Long outboundId;
+
+    private String djlx;
+
+    private String djbh;
+
+    private String bb;
+
+    private String kh;
+
+    private String sktj;
+
+    private String xslx;
+
+    private String khsx;
+
+    private String bz;
+
+    private String xsbm;
+
+    private String xsy;
+
+    private BigDecimal zdzkje;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

+ 81 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdReceivableDetail.java

@@ -0,0 +1,81 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_RECEIVABLE_DETAIL")
+public class KdYdReceivableDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long receivableId;
+
+    private String wlbm;
+
+    private String wlmc;
+
+    private String ggxh;
+
+    private String jjdw;
+
+    private String ssxl;
+
+    private BigDecimal dj;
+
+    private BigDecimal hsdj;
+
+    private BigDecimal sl;
+
+    private BigDecimal se;
+
+    private BigDecimal je;
+
+    private BigDecimal jshj;
+
+    private String kcdw;
+
+    private String ph;
+
+    private BigDecimal jjsl;
+
+    private BigDecimal zkl;
+
+    private BigDecimal bhsje;
+
+    private BigDecimal zke;
+
+    private BigDecimal kcsl;
+
+    private String sfzp;
+
+    private String gg;
+
+    private BigDecimal tc;
+
+    private String jx;
+
+    private BigDecimal jjjbsl;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+}

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

@@ -0,0 +1,57 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_ZP")
+public class KdYdZp implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private String djlx;
+
+    private String djbh;
+
+    private String kpfs;
+
+    private String fph;
+
+    private LocalDateTime ywrq;
+
+    private Long receivableId;
+
+    private String bb;
+
+    private BigDecimal jshj;
+
+    private String bz;
+
+    private String kh;
+
+    private String spdzyx;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+
+    private String forminstid;
+}

+ 75 - 0
mjava-huagao/src/main/java/com/malk/huagao/entity/KdYdZpDetail.java

@@ -0,0 +1,75 @@
+package com.malk.huagao.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Getter
+@Setter
+  @TableName("KD_YD_ZP_DETAIL")
+public class KdYdZpDetail implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "id", type = IdType.AUTO)
+      private Long id;
+
+    private Long zpId;
+
+    private String wlbm;
+
+    private String wlmc;
+
+    private String ggxh;
+
+    private String jjdw;
+
+    private String ssxl;
+
+    private BigDecimal dj;
+
+    private BigDecimal hsdj;
+
+    private BigDecimal sl;
+
+    private BigDecimal se;
+
+    private BigDecimal je;
+
+    private BigDecimal jshj;
+
+    private String ph;
+
+    private BigDecimal jjsl;
+
+    private BigDecimal zkl;
+
+    private BigDecimal bhsje;
+
+    private BigDecimal zke;
+
+    private BigDecimal rjdj;
+
+    private String gg;
+
+    private String xxddbh;
+
+    private String rjmc;
+
+    private LocalDateTime createTime;
+
+    private LocalDateTime updateTime;
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerLiaisonMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdCustomerLiaison;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-13
+ */
+public interface KdYdCustomerLiaisonMapper extends BaseMapper<KdYdCustomerLiaison> {
+
+}

+ 23 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerMapper.java

@@ -0,0 +1,23 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdCustomer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-09
+ */
+public interface KdYdCustomerMapper extends BaseMapper<KdYdCustomer> {
+    @Select("SELECT id, formInstId, khbm, update_time FROM KD_YD_CUSTOMER " +
+            "WHERE update_time >= #{startTime} " +
+            "AND khbm IS NOT NULL")
+    List<KdYdCustomer> selectRecentUpdated(LocalDateTime startTime);
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdCustomerReferrerMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.entity.KdYdCustomerReferrer;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-14
+ */
+public interface KdYdCustomerReferrerMapper extends BaseMapper<KdYdCustomerReferrer> {
+    @Select("SELECT id, formInstId, tjruuid, bm, update_time FROM KD_YD_CUSTOMER_REFERRER " +
+            "WHERE update_time >= #{startTime} " +
+            "AND bm IS NOT NULL")
+    List<KdYdCustomerReferrer> selectRecentUpdated(LocalDateTime startTime);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdDeliveryDetailMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdDeliveryDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdDeliveryDetailMapper extends BaseMapper<KdYdDeliveryDetail> {
+
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdDeliveryMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdDelivery;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.malk.huagao.entity.KdYdOrder;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdDeliveryMapper extends BaseMapper<KdYdDelivery> {
+    @Select("SELECT id, forminstid, djbh, update_time FROM KD_YD_DELIVERY " +
+            "WHERE update_time >= #{startTime} " +
+            "AND djbh IS NOT NULL")
+    List<KdYdDelivery> selectRecentUpdated(LocalDateTime startTime);
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdMaterialMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdMaterial;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.malk.huagao.entity.KdYdZp;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface KdYdMaterialMapper extends BaseMapper<KdYdMaterial> {
+    @Select("SELECT id, wlbm, wlmc, update_time FROM KD_YD_MATERIAL " +
+            "WHERE update_time >= #{startTime} " +
+            "AND wlmc IS NOT NULL "+"AND wlmc IS NOT NULL")
+    List<KdYdMaterial> selectRecentUpdated(LocalDateTime startTime);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOrderDetailMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdOrderDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdOrderDetailMapper extends BaseMapper<KdYdOrderDetail> {
+
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOrderMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.entity.KdYdOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdOrderMapper extends BaseMapper<KdYdOrder> {
+    @Select("SELECT id, forminstid, djbh, update_time FROM KD_YD_ORDER " +
+            "WHERE update_time >= #{startTime} " +
+            "AND djbh IS NOT NULL")
+    List<KdYdOrder> selectRecentUpdated(LocalDateTime startTime);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOutboundDetailMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdOutboundDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdOutboundDetailMapper extends BaseMapper<KdYdOutboundDetail> {
+
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdOutboundMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdOrder;
+import com.malk.huagao.entity.KdYdOutbound;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface KdYdOutboundMapper extends BaseMapper<KdYdOutbound> {
+    @Select("SELECT id, forminstid, djbh, update_time FROM KD_YD_OUTBOUND " +
+            "WHERE update_time >= #{startTime} " +
+            "AND djbh IS NOT NULL")
+    List<KdYdOutbound> selectRecentUpdated(LocalDateTime startTime);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdReceivableDetailMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdReceivableDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface KdYdReceivableDetailMapper extends BaseMapper<KdYdReceivableDetail> {
+
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdReceivableMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdOutbound;
+import com.malk.huagao.entity.KdYdReceivable;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface KdYdReceivableMapper extends BaseMapper<KdYdReceivable> {
+    @Select("SELECT id, forminstid, djbh, update_time FROM KD_YD_RECEIVABLE " +
+            "WHERE update_time >= #{startTime} " +
+            "AND djbh IS NOT NULL")
+    List<KdYdReceivable> selectRecentUpdated(LocalDateTime startTime);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdZpDetailMapper.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdZpDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface KdYdZpDetailMapper extends BaseMapper<KdYdZpDetail> {
+
+}

+ 24 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/KdYdZpMapper.java

@@ -0,0 +1,24 @@
+package com.malk.huagao.mapper;
+
+import com.malk.huagao.entity.KdYdReceivable;
+import com.malk.huagao.entity.KdYdZp;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface KdYdZpMapper extends BaseMapper<KdYdZp> {
+    @Select("SELECT id, forminstid, djbh, fph, update_time FROM KD_YD_ZP " +
+            "WHERE update_time >= #{startTime} " +
+            "AND djbh IS NOT NULL "+"AND fph IS NOT NULL")
+    List<KdYdZp> selectRecentUpdated(LocalDateTime startTime);
+}

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerLiaisonMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdCustomerLiaisonMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdCustomerMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdCustomerReferrerMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdCustomerReferrerMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdDeliveryDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdDeliveryDetailMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdDeliveryMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdDeliveryMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdMaterialMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdMaterialMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOrderDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdOrderDetailMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOrderMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdOrderMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOutboundDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdOutboundDetailMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdOutboundMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdOutboundMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdReceivableDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdReceivableDetailMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdReceivableMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdReceivableMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdZpDetailMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdZpDetailMapper">
+
+</mapper>

+ 5 - 0
mjava-huagao/src/main/java/com/malk/huagao/mapper/xml/KdYdZpMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.huagao.mapper.KdYdZpMapper">
+
+</mapper>

+ 59 - 54
mjava-huagao/src/main/java/com/malk/huagao/schedule/ScheduleTask.java

@@ -1,6 +1,5 @@
 package com.malk.huagao.schedule;
 
-import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.malk.huagao.service.HuaGaoService;
@@ -23,7 +22,9 @@ import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.time.format.DateTimeFormatter;
 import java.time.temporal.TemporalAdjusters;
-import java.util.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @EnableScheduling 开启定时任务 [配置参考McScheduleTask]
@@ -41,117 +42,121 @@ public class ScheduleTask {
     private HuaGaoService huaGaoService;
 
     /**
+     *
      */
-    @Scheduled(cron = "0 5 2 1 * ?")
+//    @Scheduled(cron = "0 5 2 1 * ?")
     public void syncMonths() {
         log.info("考勤同步-月度");
-        LocalDateTime startTime= LocalDate.now().minusMonths(1).atTime(LocalTime.MIN);
-        LocalDateTime endTime= LocalDate.now().atTime(LocalTime.MIN);
-        List<String> time= Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)),String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
+        LocalDateTime startTime = LocalDate.now().minusMonths(1).atTime(LocalTime.MIN);
+        LocalDateTime endTime = LocalDate.now().atTime(LocalTime.MIN);
+        List<String> time = Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)), String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
         try {
-            huaGaoService.syncKqData(startTime,endTime);
-            compSave(time,"同步成功","");
-        }catch (Exception e){
+            huaGaoService.syncKqData(startTime, endTime);
+            compSave(time, "同步成功", "");
+        } catch (Exception e) {
             e.printStackTrace();
-            compSave(time,"异常",e.getMessage());
+            compSave(time, "异常", e.getMessage());
         }
     }
 
     /**
+     *
      */
     @Scheduled(cron = "0 0 1 * * 1")
     public void syncWeek() {
         log.info("考勤同步-周度");
-        LocalDateTime startTime= LocalDate.now().minusWeeks(1).atTime(LocalTime.MIN);
-        LocalDateTime endTime= LocalDate.now().atTime(LocalTime.MIN);
-        List<String> time= Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)),String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
+        LocalDateTime startTime = LocalDate.now().minusWeeks(1).atTime(LocalTime.MIN);
+        LocalDateTime endTime = LocalDate.now().atTime(LocalTime.MIN);
+        List<String> time = Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)), String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
         try {
-            huaGaoService.syncKqData(startTime,endTime);
-            compSave(time,"同步成功","");
-        }catch (Exception e){
+            huaGaoService.syncKqData(startTime, endTime);
+            compSave(time, "同步成功", "");
+        } catch (Exception e) {
             e.printStackTrace();
-            compSave(time,"异常",e.getMessage());
+            compSave(time, "异常", e.getMessage());
         }
     }
 
     /**
+     *
      */
     @Scheduled(cron = "0 35 6 * * ?")
     public void syncDay() {
         log.info("考勤同步-昨天");
-        LocalDateTime startTime= LocalDate.now().minusDays(1).atTime(LocalTime.MIN);
-        LocalDateTime endTime= LocalDate.now().atTime(LocalTime.MIN);
-        List<String> time= Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)),String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
+        LocalDateTime startTime = LocalDate.now().minusDays(1).atTime(LocalTime.MIN);
+        LocalDateTime endTime = LocalDate.now().atTime(LocalTime.MIN);
+        List<String> time = Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)), String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));
         try {
-            huaGaoService.syncKqData(startTime,endTime);
-            compSave(time,"同步成功","");
-        }catch (Exception e){
+            huaGaoService.syncKqData(startTime, endTime);
+            compSave(time, "同步成功", "");
+        } catch (Exception e) {
             e.printStackTrace();
-            compSave(time,"异常",e.getMessage());
+            compSave(time, "异常", e.getMessage());
         }
     }
 
     /**
+     *
      */
     @Scheduled(cron = "0 0/5 * * * ?")
     public void sync() {
-        MDC.put("MDC_KEY_PID","1001");
+        MDC.put("MDC_KEY_PID", "1001");
 
-        List<Map> list=(List<Map>) ydClient.queryData(YDParam.builder().formUuid("FORM-0D560B9D8B64464C8C885FE20B7C7C95T4IA").pageSize(1)
-                .searchFieldJson(JSONObject.toJSONString(UtilMap.map("selectField_m8nud6t3","待处理"))).build(), YDConf.FORM_QUERY.retrieve_list).getData();
-        log.info("手动同步查询-结果,{}",list.size());
-        if(list==null||list.size()<1){
+        List<Map> list = (List<Map>) ydClient.queryData(YDParam.builder().formUuid("FORM-0D560B9D8B64464C8C885FE20B7C7C95T4IA").pageSize(1)
+                .searchFieldJson(JSONObject.toJSONString(UtilMap.map("selectField_m8nud6t3", "待处理"))).build(), YDConf.FORM_QUERY.retrieve_list).getData();
+        log.info("手动同步查询-结果,{}", list.size());
+        if (list == null || list.size() < 1) {
             return;
         }
-        Map data=list.get(0);
-        log.info("{}",data);
-        String formInstanceId=String.valueOf(data.get("formInstanceId"));
+        Map data = list.get(0);
+        log.info("{}", data);
+        String formInstanceId = String.valueOf(data.get("formInstanceId"));
         processing(formInstanceId);
-        Map formData=UtilMap.getMap(data,"formData");
+        Map formData = UtilMap.getMap(data, "formData");
         try {
-            List<String> timeList=UtilMap.getList(formData,"cascadeDateField_m8nud6sy");
-            LocalDateTime startTime= UtilDateTime.getLocalDateTimeFromTimestamp(Long.parseLong(timeList.get(0)));
-            LocalDateTime endTime=UtilDateTime.getLocalDateTimeFromTimestamp(Long.parseLong(timeList.get(1)));
-            huaGaoService.syncKqData(startTime,endTime);
-            comp(formInstanceId,"同步成功!","");
-        }catch (Exception e){
+            List<String> timeList = UtilMap.getList(formData, "cascadeDateField_m8nud6sy");
+            LocalDateTime startTime = UtilDateTime.getLocalDateTimeFromTimestamp(Long.parseLong(timeList.get(0)));
+            LocalDateTime endTime = UtilDateTime.getLocalDateTimeFromTimestamp(Long.parseLong(timeList.get(1)));
+            huaGaoService.syncKqData(startTime, endTime);
+            comp(formInstanceId, "同步成功!", "");
+        } catch (Exception e) {
             e.printStackTrace();
-            comp(formInstanceId,"异常",e.getMessage());
+            comp(formInstanceId, "异常", e.getMessage());
         }
     }
 
-    private void processing(String id){
+    private void processing(String id) {
         ydClient.operateData(YDParam.builder().formInstanceId(id)
                 .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_m8nud6t3", "处理中")))
                 .build(), YDConf.FORM_OPERATION.update);
     }
 
-    private void comp(String id,String result,String msg){
+    private void comp(String id, String result, String msg) {
         ydClient.operateData(YDParam.builder().formInstanceId(id)
-                .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_m8nud6t3, textField_m8nud6t9, textareaField_m8nud6tb", "已完成",result,msg)))
+                .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_m8nud6t3, textField_m8nud6t9, textareaField_m8nud6tb", "已完成", result, msg)))
                 .build(), YDConf.FORM_OPERATION.update);
     }
 
-    private void compSave(List<String> time,String result,String msg){
+    private void compSave(List<String> time, String result, String msg) {
         ydClient.operateData(YDParam.builder().formUuid("FORM-0D560B9D8B64464C8C885FE20B7C7C95T4IA")
-                .formDataJson(JSON.toJSONString(UtilMap.map("cascadeDateField_m8nud6sy, selectField_m8nud6t3, textField_m8nud6t9, textareaField_m8nud6tb", time,"已完成",result,msg)))
+                .formDataJson(JSON.toJSONString(UtilMap.map("cascadeDateField_m8nud6sy, selectField_m8nud6t3, textField_m8nud6t9, textareaField_m8nud6tb", time, "已完成", result, msg)))
                 .build(), YDConf.FORM_OPERATION.create);
     }
 
     public static void main(String[] args) {
-        LocalDateTime startTime1= LocalDate.now().minusDays(1).atTime(LocalTime.MIN);
-        LocalDateTime endTime= LocalDate.now().atTime(LocalTime.MIN);
+        LocalDateTime startTime1 = LocalDate.now().minusDays(1).atTime(LocalTime.MIN);
+        LocalDateTime endTime = LocalDate.now().atTime(LocalTime.MIN);
         long startTime = UtilDateTime.getLocalDateTimeTimeStamp(startTime1);
         //获取所属周(每周六-下周五)
-      DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
         LocalDate date = LocalDate.parse("2025-06-24", inputFormatter);
-         LocalDate startOfWeek;
-          // 获取该周的周六(开始日期)
-                               startOfWeek = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.SATURDAY));
+        LocalDate startOfWeek;
+        // 获取该周的周六(开始日期)
+        startOfWeek = date.with(TemporalAdjusters.previousOrSame(DayOfWeek.SATURDAY));
 
-                    // 获取该周的周五(结束日期)
-                               LocalDate endOfWeek = startOfWeek.plusDays(6);
-                     DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("MM.dd");
+        // 获取该周的周五(结束日期)
+        LocalDate endOfWeek = startOfWeek.plusDays(6);
+        DateTimeFormatter outputFormatter = DateTimeFormatter.ofPattern("MM.dd");
         String format = startOfWeek.format(outputFormatter);
 //        LocalDateTime startTime2= LocalDate.now().minusMonths(1).atTime(LocalTime.MIN);
 //        List<String> time= Arrays.asList(String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(startTime)),String.valueOf(UtilDateTime.getLocalDateTimeTimeStamp(endTime)));

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

@@ -0,0 +1,139 @@
+package com.malk.huagao.schedule;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.mapper.KdYdCustomerMapper;
+import com.malk.huagao.service.YdHuaGaoService;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.aliwork.YDSearch;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Configuration
+@EnableScheduling
+@ConditionalOnProperty(name = {"enable.scheduling"})
+public class YdScheduleTask {
+@Autowired
+private YdHuaGaoService ydHuaGaoService;
+    @Autowired
+    private KdYdCustomerMapper kdYdCustomerMapper;
+    @Autowired
+    private YDClient ydClient;
+
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void sync() {
+        log.info("定时同步-客户");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdCustomer> kdYdCustomers = kdYdCustomerMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (kdYdCustomers.isEmpty()) {
+                log.info("【客户同步任务】无需要同步的数据,结束");
+                return;
+            }
+            for (KdYdCustomer kdYdCustomer : kdYdCustomers) {
+                try {
+                    String khbm = kdYdCustomer.getKhbm();
+                    String formInstId = kdYdCustomer.getFormInstId();
+                    if (ObjectUtil.hasEmpty(formInstId, khbm)) {
+                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdCustomer.getId());
+                        continue;
+                    }
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .formInstanceId(formInstId)
+                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("selectField_mfxrryt3", khbm)))
+                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+                } catch (Exception e) {
+                    log.error("同步单条客户数据异常: formInstId={}", kdYdCustomer.getFormInstId(), e);
+                }
+            }
+            log.info("【客户同步任务】执行完成,共处理 {} 条记录", kdYdCustomers.size());
+        } catch (Exception e) {
+            log.error("【客户同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncKdYdCustomerReferrer() {
+        log.info("定时同步-推荐人");
+        try {
+            ydHuaGaoService.syncKdYDcustomerLiaison();
+        } catch (Exception e) {
+            log.error("【推荐人同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+        @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncKdYdOrder() {
+        log.info("定时同步-订单");
+        try {
+            ydHuaGaoService.syncKdYdOrder();
+        } catch (Exception e) {
+            log.error("【订单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncKdYdDelivery() {
+        log.info("定时同步-发货通知单");
+        try {
+            ydHuaGaoService.syncKdYdDelivery();
+        } catch (Exception e) {
+            log.error("【发货通知单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void synckdYdOutbound() {
+        log.info("定时同步-出库单");
+        try {
+            ydHuaGaoService.synckdYdOutbound();
+        } catch (Exception e) {
+            log.error("【出库单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void syncKdYdReceivable() {
+        log.info("定时同步-应收单");
+        try {
+            ydHuaGaoService.syncKdYdReceivable();
+        } catch (Exception e) {
+            log.error("【应收单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void synckdYdZp() {
+        log.info("定时同步-发票单");
+        try {
+            ydHuaGaoService.synckdYdZp();
+        } catch (Exception e) {
+            log.error("【发票单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+    @Scheduled(cron = "0 0/5 * * * ?")
+    public void synckdYdMaterial() {
+        log.info("定时同步-物料信息");
+        try {
+            ydHuaGaoService.synckdYdMaterial();
+        } catch (Exception e) {
+            log.error("【物料信息同步任务】执行过程中发生严重错误", e);
+        }
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerLiaisonService.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdCustomerLiaison;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-13
+ */
+public interface IKdYdCustomerLiaisonService  {
+
+    void insertCustomerLiaison(Map map);
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerReferrerService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdCustomerReferrer;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-14
+ */
+public interface IKdYdCustomerReferrerService extends IService<KdYdCustomerReferrer> {
+
+    void insertCustomerReferrer(Map map);
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdCustomerService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdCustomer;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-09
+ */
+public interface IKdYdCustomerService {
+
+    void insertCustomer(Map map);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdDeliveryDetailService.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdDeliveryDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdDeliveryDetailService extends IService<KdYdDeliveryDetail> {
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdDeliveryService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdDelivery;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdDeliveryService extends IService<KdYdDelivery> {
+
+    void insertDelivery(Map map);
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdMaterialService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdMaterial;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface IKdYdMaterialService extends IService<KdYdMaterial> {
+
+    void insertkdYdMaterial(Map map);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOrderDetailService.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdOrderDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdOrderDetailService extends IService<KdYdOrderDetail> {
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOrderService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdOrder;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdOrderService extends IService<KdYdOrder> {
+
+    void insertkdYdOrder(Map map);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOutboundDetailService.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdOutboundDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdOutboundDetailService extends IService<KdYdOutboundDetail> {
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdOutboundService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdOutbound;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+public interface IKdYdOutboundService extends IService<KdYdOutbound> {
+
+    void insertkdYdOutbound(Map map);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdReceivableDetailService.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdReceivableDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface IKdYdReceivableDetailService extends IService<KdYdReceivableDetail> {
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdReceivableService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdReceivable;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface IKdYdReceivableService extends IService<KdYdReceivable> {
+
+    void insertkdYdReceivable(Map map);
+}

+ 16 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdZpDetailService.java

@@ -0,0 +1,16 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdZpDetail;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface IKdYdZpDetailService extends IService<KdYdZpDetail> {
+
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/IKdYdZpService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+import com.malk.huagao.entity.KdYdZp;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+public interface IKdYdZpService extends IService<KdYdZp> {
+
+    void insertkdYdZp(Map map);
+}

+ 19 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/YdHuaGaoService.java

@@ -0,0 +1,19 @@
+package com.malk.huagao.service;
+
+public interface YdHuaGaoService {
+    void syncKdYdCustomer();
+
+    void syncKdYDcustomerLiaison();
+
+    void syncKdYdOrder();
+
+    void syncKdYdDelivery();
+
+    void synckdYdOutbound();
+
+    void syncKdYdReceivable();
+
+    void synckdYdZp();
+
+    void synckdYdMaterial();
+}

+ 93 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerLiaisonServiceImpl.java

@@ -0,0 +1,93 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.entity.KdYdCustomerLiaison;
+import com.malk.huagao.mapper.KdYdCustomerLiaisonMapper;
+import com.malk.huagao.mapper.KdYdCustomerMapper;
+import com.malk.huagao.service.IKdYdCustomerLiaisonService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-13
+ */
+@Service
+public class KdYdCustomerLiaisonServiceImpl extends ServiceImpl<KdYdCustomerLiaisonMapper, KdYdCustomerLiaison> implements IKdYdCustomerLiaisonService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdCustomerLiaisonMapper kdYdCustomerLiaisonMapper;
+    @Autowired
+    private KdYdCustomerMapper kdYdCustomerMapper;
+
+    @Override
+    public void insertCustomerLiaison(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        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 zw = UtilMap.getString(formData, "textField_l3s6ubht");
+        String gddh = UtilMap.getString(formData, "textField_mfxu5dnk");
+        String yddh = UtilMap.getString(formData, "textField_lqbzc3gq");
+        String cz = UtilMap.getString(formData, "textField_mfxu5dnl");
+        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");
+        LambdaQueryWrapper<KdYdCustomer> YdCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getUuid, uuid);
+        KdYdCustomer kdYdCustomer1 = kdYdCustomerMapper.selectOne(YdCustomerLambdaQueryWrapper);
+        Long id = kdYdCustomer1.getId();
+        String khbm = kdYdCustomer1.getKhbm();
+
+//        if (customerId == null) {
+//            List<Map> xmdata = (List<Map>) ydClient.queryData(
+//                    YDParam.builder()
+//                            .formUuid("FORM-68154CC0A7054BF0B1C933752CD3881FB0SR")
+//                            .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_mgowmnlf", uuid)))
+//                            .build(),
+//                    YDConf.FORM_QUERY.retrieve_list_all
+//            ).getData();
+//            if (xmdata.size() > 0) {
+//                customerId = UtilMap.getString(xmdata.get(0), "textField_mgowmnli");
+//            }
+//        }
+        KdYdCustomerLiaison kdYdCustomerLiaison = new KdYdCustomerLiaison();
+        kdYdCustomerLiaison.setXm(xm);
+        kdYdCustomerLiaison.setZw(zw);
+        kdYdCustomerLiaison.setGddh(gddh);
+        kdYdCustomerLiaison.setYddh(yddh);
+        kdYdCustomerLiaison.setCz(cz);
+        kdYdCustomerLiaison.setYx(yx);
+        kdYdCustomerLiaison.setXb(xb);
+        kdYdCustomerLiaison.setFormInstId(formInstId);
+        kdYdCustomerLiaison.setCustomerId(id);
+        this.save(kdYdCustomerLiaison);
+//        ydClient.operateData(
+//                YDParam.builder()
+//                        .formInstanceId(formInstId)
+//                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mfkks8wx", khbm)))
+//                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+}

+ 64 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerReferrerServiceImpl.java

@@ -0,0 +1,64 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdCustomerReferrer;
+import com.malk.huagao.mapper.KdYdCustomerReferrerMapper;
+import com.malk.huagao.service.IKdYdCustomerReferrerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-14
+ */
+@Service
+public class KdYdCustomerReferrerServiceImpl extends ServiceImpl<KdYdCustomerReferrerMapper, KdYdCustomerReferrer> implements IKdYdCustomerReferrerService {
+@Autowired
+private YDClient ydClient;
+@Autowired
+private KdYdCustomerReferrerMapper kdYdCustomerReferrerMapper;
+    @Override
+    public void insertCustomerReferrer(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+        System.out.println(formData);
+        String mc = UtilMap.getString(formData, "textField_mgqbiouh");
+        String sfzh = UtilMap.getString(formData, "textField_mgqbioux");
+        String sjh = UtilMap.getString(formData, "textField_mgqbioui");
+        String skrmc = UtilMap.getString(formData, "textField_mgqbioun");
+        String skzh = UtilMap.getString(formData, "textField_mgqbious");
+        String khh = UtilMap.getString(formData, "textField_mgqbiov0");
+        String ms = UtilMap.getString(formData, "textField_mgqbiov1");
+        String tjruuid = UtilMap.getString(formData, "textField_mgqbiov3");
+        String xsy = UtilMap.getString(formData, "employeeField_mgqbiouz").replace("[\"", "").replace("\"]", "").trim();
+        KdYdCustomerReferrer kdYdCustomerReferrer = new KdYdCustomerReferrer();
+        kdYdCustomerReferrer.setMc(mc);
+        kdYdCustomerReferrer.setSfzh(sfzh);
+        kdYdCustomerReferrer.setSjh(sjh);
+        kdYdCustomerReferrer.setSkrmc(skrmc);
+        kdYdCustomerReferrer.setSkzh(skzh);
+        kdYdCustomerReferrer.setKhh(khh);
+        kdYdCustomerReferrer.setMs(ms);
+        kdYdCustomerReferrer.setXsy(xsy);
+        kdYdCustomerReferrer.setTjruuid(tjruuid);
+        kdYdCustomerReferrer.setFormInstId(formInstId);
+
+        this.save(kdYdCustomerReferrer);
+    }
+}

+ 112 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdCustomerServiceImpl.java

@@ -0,0 +1,112 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.mapper.KdYdCustomerMapper;
+import com.malk.huagao.service.IKdYdCustomerService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-09
+ */
+@Service
+public class KdYdCustomerServiceImpl extends ServiceImpl<KdYdCustomerMapper, KdYdCustomer> implements IKdYdCustomerService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdCustomerMapper kdYdCustomerMapper;
+
+    @Override
+    public void insertCustomer(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+        System.out.println(formData);
+        String khmc = UtilMap.getString(formData, "textField_lqanqe6j");
+        String khbm = UtilMap.getString(formData, "textField_meqhqqvg");
+        String xssx = UtilMap.getString(formData, "selectField_megi74y7");
+        String khxypj = UtilMap.getString(formData, "selectField_mewirdx4");
+        String khsx = UtilMap.getString(formData, "selectField_megi74y8");
+        String jxr = UtilMap.getString(formData, "employeeField_megi74yl").replace("[\"", "").replace("\"]", "").trim();
+        String khlb = UtilMap.getString(formData, "selectField_lqanqe6l");
+        String khfz = UtilMap.getString(formData, "selectField_lqanqe6q");
+        String fptt = UtilMap.getString(formData, "textField_llujklkr");
+        String nsdjh = UtilMap.getString(formData, "textField_meqhqqvm");
+        String khyh = UtilMap.getString(formData, "textField_meqhqqvn");
+        String yhzh = UtilMap.getString(formData, "textField_meqhqqvs");
+        String kplx = UtilMap.getString(formData, "selectField_lwopqbye");
+        String kplxdh = UtilMap.getString(formData, "textField_llujklkp");
+        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 khtjr = UtilMap.getString(formData, "textField_mfdrrg87");
+        String sktj = UtilMap.getString(formData, "selectField_meqhqqvh");
+        String xsy = UtilMap.getString(formData, "employeeField_lqanqe6n").replace("[\"", "").replace("\"]", "").trim();
+        String jsbb = UtilMap.getString(formData, "selectField_mfxrryt0");
+        String khyxj = UtilMap.getString(formData, "numberField_mfxs7rd3");
+        String qyxygl = UtilMap.getString(formData, "radioField_mfxs7rd2");
+        String mrsl = UtilMap.getString(formData, "selectField_mfxrryt3");
+        String sfl = UtilMap.getString(formData, "selectField_mfxrryt2");
+        String tjruuid = UtilMap.getString(formData, "textField_mgqbiov3");
+        KdYdCustomer kdYdCustomer = new KdYdCustomer();
+        kdYdCustomer.setKhmc(khmc);
+        kdYdCustomer.setXssx(xssx);
+        kdYdCustomer.setKhsx(khsx);
+        kdYdCustomer.setKhlb(khlb);
+        kdYdCustomer.setKhfz(khfz);
+        kdYdCustomer.setFptt(fptt);
+        kdYdCustomer.setNsdjh(nsdjh);
+        kdYdCustomer.setKhyh(khyh);
+        kdYdCustomer.setYhzh(yhzh);
+        kdYdCustomer.setKplx(kplx);
+        kdYdCustomer.setKplxdh(kplxdh);
+        kdYdCustomer.setKptxdz(kptxdz);
+        kdYdCustomer.setTyshxydm(tyshxydm);
+        kdYdCustomer.setKhtjr(khtjr);
+        kdYdCustomer.setUuid(uuid);
+        kdYdCustomer.setSktj(sktj);
+        kdYdCustomer.setXsy(xsy);
+        kdYdCustomer.setJsbb(jsbb);
+        kdYdCustomer.setKhyxj(khyxj);
+        kdYdCustomer.setQyxygl(qyxygl);
+        kdYdCustomer.setMrsl(mrsl);
+        kdYdCustomer.setSfl(sfl);
+        kdYdCustomer.setKhbm(khbm);
+        kdYdCustomer.setJxr(jxr);
+        kdYdCustomer.setKhxypj(khxypj);
+        kdYdCustomer.setFormInstId(formInstId);
+        kdYdCustomer.setTjruuid(tjruuid);
+
+        boolean save = this.save(kdYdCustomer);
+//        LambdaQueryWrapper<KdYdCustomer> YdCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//        YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getFormInstId, formInstId);
+//        KdYdCustomer kdYdCustomer1 = kdYdCustomerMapper.selectOne(YdCustomerLambdaQueryWrapper);
+//        Long id = kdYdCustomer1.getId();
+//        ydClient.operateData(
+//                YDParam.builder()
+//                        .formInstanceId(formInstId)
+//                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgowmnli", id)))
+//                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdDeliveryDetail;
+import com.malk.huagao.mapper.KdYdDeliveryDetailMapper;
+import com.malk.huagao.service.IKdYdDeliveryDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdDeliveryDetailServiceImpl extends ServiceImpl<KdYdDeliveryDetailMapper, KdYdDeliveryDetail> implements IKdYdDeliveryDetailService {
+
+}

+ 181 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdDeliveryServiceImpl.java

@@ -0,0 +1,181 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdDelivery;
+import com.malk.huagao.entity.KdYdDeliveryDetail;
+import com.malk.huagao.entity.KdYdOrder;
+import com.malk.huagao.entity.KdYdOrderDetail;
+import com.malk.huagao.mapper.KdYdDeliveryDetailMapper;
+import com.malk.huagao.mapper.KdYdDeliveryMapper;
+import com.malk.huagao.mapper.KdYdOrderDetailMapper;
+import com.malk.huagao.mapper.KdYdOrderMapper;
+import com.malk.huagao.service.IKdYdDeliveryService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdDeliveryServiceImpl extends ServiceImpl<KdYdDeliveryMapper, KdYdDelivery> implements IKdYdDeliveryService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdDeliveryMapper kdYdDeliveryMapper;
+    @Autowired
+    private KdYdDeliveryDetailMapper kdYdDeliveryDetailMapper;
+    @Override
+    public void insertDelivery(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+
+        String djlx = UtilMap.getString(formData, "selectField_mg3fuqvg");
+        long orderId = UtilMap.getLong(formData, "textField_mgrmn66f");
+//        long orderId = 6L;
+        LocalDateTime rq = parseTimestamp(UtilMap.getString(formData, "dateField_krbgloam"));
+        String kh = UtilMap.getString(formData, "textField_mejnamf2");
+        String jsbb = UtilMap.getString(formData, "selectField_mg3fuqvn");
+        String xsbm = UtilMap.getString(formData, "textField_krnn5bmr");
+//        String xsy = UtilMap.getString(formData, "employeeField_mejowmng").replace("[\"", "").replace("\"]", "").trim();
+        String lllx = UtilMap.getString(formData, "selectField_mejowmnc");
+        String jjr = UtilMap.getString(formData, "textField_mf6a0h5f");
+        String jjrdh = UtilMap.getString(formData, "textField_mf6a0h5g");
+        String jjdz = UtilMap.getString(formData, "textareaField_mf6a0h5h");
+        String xslx = UtilMap.getString(formData, "selectField_mgrn6p2d");
+        String bzfs = UtilMap.getString(formData, "selectField_mf6a0h5y");
+        String bz = UtilMap.getString(formData, "textareaField_mejnamfb");
+        LocalDateTime hhsj = parseTimestamp(UtilMap.getString(formData, "dateField_mf6a0h67"));
+        String ysfs = UtilMap.getString(formData, "selectField_mf6a0h5z");
+        String hdfs = UtilMap.getString(formData, "selectField_mf6a0h60");
+        String kdgs = UtilMap.getString(formData, "selectField_mf6a0h61");
+        String fkfs = UtilMap.getString(formData, "selectField_mf6a0h66");
+
+        List<Map> tableField = (List<Map>) formData.get("tableField_mejnamfd");
+        KdYdDelivery kdYdDelivery = new KdYdDelivery();
+        kdYdDelivery.setDjlx(djlx);
+        kdYdDelivery.setOrderId(orderId);
+        kdYdDelivery.setRq(rq);
+        kdYdDelivery.setKh(kh);
+        kdYdDelivery.setJsbb(jsbb);
+        kdYdDelivery.setXsbm(xsbm);
+        kdYdDelivery.setLllx(lllx);
+        kdYdDelivery.setJjr(jjr);
+        kdYdDelivery.setJjrdh(jjrdh);
+        kdYdDelivery.setJjdz(jjdz);
+        kdYdDelivery.setXslx(xslx);
+        kdYdDelivery.setBzfs(bzfs);
+        kdYdDelivery.setBz(bz);
+        kdYdDelivery.setHhsj(hhsj);
+        kdYdDelivery.setYsfs(ysfs);
+        kdYdDelivery.setHdfs(hdfs);
+        kdYdDelivery.setKdgs(kdgs);
+        kdYdDelivery.setFkfs(fkfs);
+        kdYdDelivery.setForminstid(formInstId);
+        kdYdDeliveryMapper.insert(kdYdDelivery);
+
+        Long id = kdYdDelivery.getId();
+        System.out.println("id:"+id);
+        for (Map item : tableField) {
+            String wlbm = safeGetString(item, "textField_mejnamff");
+            String wlmc = safeGetString(item, "textField_mejnamfg");
+            String ggxh = safeGetString(item, "textField_mejnamfh");
+            String xsdw = safeGetString(item, "textField_mejnamfk");
+            int jjsl = parseInt(safeGetString(item, "numberField_mf6a0h6r"), 0); // 如果为空或格式错误,返回 0
+            String ssxl = safeGetString(item, "textField_mejnamfx");
+            String sfzp = safeGetString(item, "radioField_mf6a0h6h");
+            String ckck = safeGetString(item, "textField_mf6a0h6l");
+            String ckcw = safeGetString(item, "textField_mf6a0h6k");
+            String sjr = safeGetString(item, "textField_mejnamf6");
+            String sjdh = safeGetString(item, "textField_mejnamf7");
+            String sjdz = safeGetString(item, "textareaField_mf6a0h5e");
+            String zbq = safeGetString(item, "numberField_mf6a0h6v");
+            String kddh = safeGetString(item, "textField_mf6a0h6w");
+            String mdh = safeGetString(item, "textField_mf6a0h6y");
+            KdYdDeliveryDetail kdYdDeliveryDetail = new KdYdDeliveryDetail();
+            kdYdDeliveryDetail.setDeliveryId(id);
+            kdYdDeliveryDetail.setWlbm(wlbm);
+            kdYdDeliveryDetail.setWlmc(wlmc);
+            kdYdDeliveryDetail.setGgxh(ggxh);
+            kdYdDeliveryDetail.setXsdw(xsdw);
+            kdYdDeliveryDetail.setJjsl(jjsl);
+            kdYdDeliveryDetail.setSsxl(ssxl);
+            kdYdDeliveryDetail.setYhrq(parseTimestamp(safeGetString(item, "dateField_mejnamfo")));
+            kdYdDeliveryDetail.setGgxh(ggxh);
+            kdYdDeliveryDetail.setSfzp(sfzp);
+            kdYdDeliveryDetail.setCkck(ckck);
+            kdYdDeliveryDetail.setCkcw(ckcw);
+            kdYdDeliveryDetail.setSjr(sjr);
+            kdYdDeliveryDetail.setSjdh(sjdh);
+            kdYdDeliveryDetail.setSjdz(sjdz);
+            kdYdDeliveryDetail.setZbq(zbq);
+            kdYdDeliveryDetail.setKddh(kddh);
+            kdYdDeliveryDetail.setMdh(mdh);
+            kdYdDeliveryDetailMapper.insert(kdYdDeliveryDetail);
+//save(kdYdDeliveryDetail);
+        }
+        ydClient.operateData(
+                YDParam.builder()
+                        .formInstanceId(formInstId)
+                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgrqnxmm", id)))
+                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+    private static LocalDateTime parseTimestamp(String timestampStr) {
+        if (timestampStr == null || timestampStr.trim().isEmpty()) return null;
+        try {
+            long timestamp = Long.parseLong(timestampStr.trim());
+            return LocalDateTime.ofInstant(
+                    Instant.ofEpochMilli(timestamp),
+                    ZoneId.systemDefault()
+            );
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 106 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdMaterialServiceImpl.java

@@ -0,0 +1,106 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdCustomer;
+import com.malk.huagao.entity.KdYdMaterial;
+import com.malk.huagao.mapper.KdYdMaterialMapper;
+import com.malk.huagao.service.IKdYdMaterialService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Service
+public class KdYdMaterialServiceImpl extends ServiceImpl<KdYdMaterialMapper, KdYdMaterial> implements IKdYdMaterialService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdMaterialMapper kdYdMaterialMapper;
+    @Override
+    public void insertkdYdMaterial(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+        System.out.println(formData);
+        String wlmc = UtilMap.getString(formData, "textField_l43jpnsf");
+        String xh = UtilMap.getString(formData, "textField_l43jpnsg");
+        String gg = UtilMap.getString(formData, "textField_lqbxkzbq");
+        String wlfz = UtilMap.getString(formData, "selectField_mguazu3k");
+        String wlsx = UtilMap.getString(formData, "textField_l43jpnsh");
+        String xsy = UtilMap.getString(formData, "employeeField_mgu5vocz").replace("[\"", "").replace("\"]", "").trim();
+        String ssxl = UtilMap.getString(formData, "textField_mfxbtcdp");
+        String jx = UtilMap.getString(formData, "textField_mejl9nrs");
+        int sd = parseInt(safeGetString(formData, "numberField_mfxbtceb"), 0);
+        String mrsl = UtilMap.getString(formData, "textField_mfxbtcdq");
+        String chlb = UtilMap.getString(formData, "textField_mfxbtcdr");
+        String jbdw = UtilMap.getString(formData, "textField_mfxbtcdo");
+        BigDecimal xsjzj = toBigDecimal(safeGetString(formData, "numberField_mejl9nsc"));
+        String smzs = UtilMap.getString(formData, "textField_mfxbtce4");
+        String sjzt = UtilMap.getString(formData, "textField_mfxbtce6");
+        String jyzt = UtilMap.getString(formData, "textField_mfxbtcea");
+
+        KdYdMaterial kdYdMaterial = new KdYdMaterial();
+        kdYdMaterial.setWlmc(wlmc);
+        kdYdMaterial.setXh(xh);
+        kdYdMaterial.setGg(gg);
+        kdYdMaterial.setWlfz(wlfz);
+        kdYdMaterial.setWlsx(wlsx);
+        kdYdMaterial.setJbdw(jbdw);
+        kdYdMaterial.setSsxl(ssxl);
+        kdYdMaterial.setJx(jx);
+        kdYdMaterial.setSd(sd);
+        kdYdMaterial.setMrsl(mrsl);
+        kdYdMaterial.setChlb(chlb);
+        kdYdMaterial.setXsy(xsy);
+        kdYdMaterial.setXsjzj(xsjzj);
+        kdYdMaterial.setSmzs(smzs);
+        kdYdMaterial.setSjzt(sjzt);
+        kdYdMaterial.setJyzt(jyzt);
+        kdYdMaterial.setForminstid(formInstId);
+        kdYdMaterialMapper.insert(kdYdMaterial);
+
+       
+    }
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdOrderDetail;
+import com.malk.huagao.mapper.KdYdOrderDetailMapper;
+import com.malk.huagao.service.IKdYdOrderDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdOrderDetailServiceImpl extends ServiceImpl<KdYdOrderDetailMapper, KdYdOrderDetail> implements IKdYdOrderDetailService {
+
+}

+ 184 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOrderServiceImpl.java

@@ -0,0 +1,184 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdOrder;
+import com.malk.huagao.entity.KdYdOrderDetail;
+import com.malk.huagao.mapper.KdYdOrderDetailMapper;
+import com.malk.huagao.mapper.KdYdOrderMapper;
+import com.malk.huagao.service.IKdYdOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdOrderServiceImpl extends ServiceImpl<KdYdOrderMapper, KdYdOrder> implements IKdYdOrderService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdOrderMapper kdYdOrderMapper;
+    @Autowired
+    private KdYdOrderDetailMapper kdYdOrderDetailMapper;
+    @Override
+    public void insertkdYdOrder(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+
+        String djlx = UtilMap.getString(formData, "selectField_mejowmna");
+        String khmc = UtilMap.getString(formData, "textField_mejnamf2");
+        LocalDateTime rq = parseTimestamp(UtilMap.getString(formData, "dateField_mejowmnb"));
+        String khxypj = UtilMap.getString(formData, "selectField_mewirdx4");
+        String ywlx = UtilMap.getString(formData, "textField_mfxv2vfz");
+        String xsy = UtilMap.getString(formData, "employeeField_mejowmng").replace("[\"", "").replace("\"]", "").trim();
+        String xslx = UtilMap.getString(formData, "selectField_mejowmnc");
+        String bzq = UtilMap.getString(formData, "selectField_mf6gyfkq");
+        String xsbm = UtilMap.getString(formData, "departmentSelectField_mfxv2vfu").replace("[\"", "").replace("\"]", "").trim();
+        String bz = UtilMap.getString(formData, "textareaField_mejnamfb");
+        String jsbb = UtilMap.getString(formData, "selectField_mejowmnk");
+        String sktj = UtilMap.getString(formData, "selectField_mgisux07");
+        String zdzkestr = UtilMap.getString(formData, "numberField_mejowmni");
+        BigDecimal zdzke = toBigDecimal(zdzkestr);
+        String sestr = UtilMap.getString(formData, "numberField_mfxv2vgh");
+        BigDecimal se = toBigDecimal(sestr);
+        String jestr = UtilMap.getString(formData, "numberField_mfxv2vgj");
+        BigDecimal je = toBigDecimal(jestr);
+        String jshjstr = UtilMap.getString(formData, "numberField_mewfgzkv");
+        BigDecimal jshj = toBigDecimal(jshjstr);
+        String sfhs = UtilMap.getString(formData, "radioField_mfxv2vg4");
+        String jws = UtilMap.getString(formData, "radioField_mfxv2vgm");
+        List<Map> tableField = (List<Map>) formData.get("tableField_mfbx1pqi");
+        KdYdOrder kdYdOrder = new KdYdOrder();
+        kdYdOrder.setDjlx(djlx);
+        kdYdOrder.setKhmc(khmc);
+        kdYdOrder.setRq(rq);
+        kdYdOrder.setKhxypj(khxypj);
+        kdYdOrder.setYwlx(ywlx);
+        kdYdOrder.setXslx(xslx);
+        kdYdOrder.setBzq(bzq);
+        kdYdOrder.setXsy(xsy);
+        kdYdOrder.setXsbm(xsbm);
+        kdYdOrder.setBz(bz);
+        kdYdOrder.setJsbb(jsbb);
+        kdYdOrder.setSktj(sktj);
+        kdYdOrder.setZdzke(zdzke);
+        kdYdOrder.setSe(se);
+        kdYdOrder.setJe(je);
+        kdYdOrder.setJshj(jshj);
+        kdYdOrder.setSfhs(sfhs);
+        kdYdOrder.setJws(jws);
+        kdYdOrder.setForminstid(formInstId);
+        kdYdOrderMapper.insert(kdYdOrder);
+        Long id = kdYdOrder.getId();
+        for (Map item : tableField) {
+            String wlbm = safeGetString(item, "textField_mfbx1pqt");
+            String wlmc = safeGetString(item, "textField_mfbx1pqs");
+            String ggxh = safeGetString(item, "textField_mfbx1pqr");
+            String xsdw = safeGetString(item, "textField_mfbx1pqq");
+            int xssl = parseInt(safeGetString(item, "numberField_mfbx1pr4"), 0); // 如果为空或格式错误,返回 0
+            String ssxl = safeGetString(item, "selectField_mfbx1pr1");
+            BigDecimal dj = toBigDecimal(safeGetString(item, "numberField_mfbx1prf"));
+            BigDecimal hsdj = toBigDecimal(safeGetString(item, "numberField_mfbx1prg"));
+            String sfzp = safeGetString(item, "radioField_mfbx1prc");
+            int sl = parseInt(safeGetString(item, "numberField_mfbx1prb"), 0);
+            BigDecimal zse = toBigDecimal(safeGetString(item, "numberField_mfbx1prh"));
+            BigDecimal zje = toBigDecimal(safeGetString(item, "numberField_mfbx1pri"));
+            BigDecimal zjshj = toBigDecimal(safeGetString(item, "numberField_mfbx1prj"));
+            BigDecimal jj = toBigDecimal(safeGetString(item, "numberField_mfbx1prk"));
+            BigDecimal zkl = toBigDecimal(safeGetString(item, "numberField_mfbx1pru"));
+            BigDecimal zke = toBigDecimal(safeGetString(item, "numberField_mfbx1prt"));
+            LocalDateTime yhrq = parseTimestamp(UtilMap.getString(item, "dateField_mfbx1prs"));
+            BigDecimal xsjzj = toBigDecimal(safeGetString(item, "numberField_mfbx1pr0"));
+            String zmzs = safeGetString(item, "textField_mfxv2vgv");
+            KdYdOrderDetail kdYdOrderDetail = new KdYdOrderDetail();
+            kdYdOrderDetail.setOrderId(id);
+            kdYdOrderDetail.setWlbm(wlbm);
+            kdYdOrderDetail.setWlmc(wlmc);
+            kdYdOrderDetail.setGgxh(ggxh);
+            kdYdOrderDetail.setXsdw(xsdw);
+            kdYdOrderDetail.setXssl(xssl);
+            kdYdOrderDetail.setSsxl(ssxl);
+            kdYdOrderDetail.setDj(dj);
+            kdYdOrderDetail.setHsdj(hsdj);
+            kdYdOrderDetail.setSfzp(sfzp);
+            kdYdOrderDetail.setSl(sl);
+            kdYdOrderDetail.setSe(zse);
+            kdYdOrderDetail.setJe(zje);
+            kdYdOrderDetail.setJshj(zjshj);
+            kdYdOrderDetail.setJj(jj);
+            kdYdOrderDetail.setZkl(zkl);
+            kdYdOrderDetail.setZke(zke);
+            kdYdOrderDetail.setYhrq(yhrq);
+            kdYdOrderDetail.setXsjzj(xsjzj);
+            kdYdOrderDetail.setSmzs(zmzs);
+            kdYdOrderDetail.setForminstid(formInstId);
+
+            kdYdOrderDetailMapper.insert(kdYdOrderDetail);
+        }
+        ydClient.operateData(
+                YDParam.builder()
+                        .formInstanceId(formInstId)
+                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgrmn66f", id)))
+                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+    }
+    private static LocalDateTime parseTimestamp(String timestampStr) {
+        if (timestampStr == null || timestampStr.trim().isEmpty()) return null;
+        try {
+            long timestamp = Long.parseLong(timestampStr.trim());
+            return LocalDateTime.ofInstant(
+                    Instant.ofEpochMilli(timestamp),
+                    ZoneId.systemDefault()
+            );
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdOutboundDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdOutboundDetail;
+import com.malk.huagao.mapper.KdYdOutboundDetailMapper;
+import com.malk.huagao.service.IKdYdOutboundDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdOutboundDetailServiceImpl extends ServiceImpl<KdYdOutboundDetailMapper, KdYdOutboundDetail> implements IKdYdOutboundDetailService {
+
+}

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

@@ -0,0 +1,183 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdDelivery;
+import com.malk.huagao.entity.KdYdDeliveryDetail;
+import com.malk.huagao.entity.KdYdOutbound;
+import com.malk.huagao.entity.KdYdOutboundDetail;
+import com.malk.huagao.mapper.KdYdDeliveryDetailMapper;
+import com.malk.huagao.mapper.KdYdDeliveryMapper;
+import com.malk.huagao.mapper.KdYdOutboundDetailMapper;
+import com.malk.huagao.mapper.KdYdOutboundMapper;
+import com.malk.huagao.service.IKdYdOutboundService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-15
+ */
+@Service
+public class KdYdOutboundServiceImpl extends ServiceImpl<KdYdOutboundMapper, KdYdOutbound> implements IKdYdOutboundService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdOutboundMapper kdYdOutboundMapper;
+    @Autowired
+    private KdYdOutboundDetailMapper kdYdOutboundDetailMapper;
+    @Override
+    public void insertkdYdOutbound(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+
+        String djlx = UtilMap.getString(formData, "selectField_mejowmna");
+        long deliceryId = UtilMap.getLong(formData, "textField_mgrqnxmm");
+//        long deliceryId = 6L;
+        String kh = UtilMap.getString(formData, "textField_mejnamf2");
+        String jsbb = UtilMap.getString(formData, "selectField_mg34txgn");
+        String ysdh = UtilMap.getString(formData, "textField_mg34txgz");
+        String xsy = UtilMap.getString(formData, "employeeField_mejnamf3").replace("[\"", "").replace("\"]", "").trim();
+        String xslx = UtilMap.getString(formData, "selectField_mejowmnc");
+        String khsx = UtilMap.getString(formData, "selectField_megi74y8");
+        String xssx = UtilMap.getString(formData, "selectField_mg34txgt");
+        String khtjr = UtilMap.getString(formData, "textField_mg34txgy");
+
+        List<Map> tableField = (List<Map>) formData.get("tableField_mejnamfd");
+        KdYdOutbound kdYdOutbound = new KdYdOutbound();
+        kdYdOutbound.setDjlx(djlx);
+        kdYdOutbound.setDeliveryId(deliceryId);
+        kdYdOutbound.setKh(kh);
+        kdYdOutbound.setJsbb(jsbb);
+        kdYdOutbound.setYsdh(ysdh);
+        kdYdOutbound.setXslx(xslx);
+        kdYdOutbound.setKhsx(khsx);
+        kdYdOutbound.setXssx(xssx);
+        kdYdOutbound.setKhtjr(khtjr);
+        kdYdOutbound.setXsy(xsy);
+        kdYdOutbound.setForminstid(formInstId);
+        kdYdOutboundMapper.insert(kdYdOutbound);
+        Long id = kdYdOutbound.getId();
+        for (Map item : tableField) {
+            String wlbm = safeGetString(item, "textField_mejnamff");
+            String wlmc = safeGetString(item, "textField_mejnamfg");
+            String ggxh = safeGetString(item, "textField_mejnamfh");
+            String kcdw = safeGetString(item, "textField_mejnamfk");
+            String ssxl = safeGetString(item, "textField_mejnamfx");
+            BigDecimal dj = toBigDecimal(safeGetString(item, "numberField_mg34txh3"));
+            BigDecimal hsdj = toBigDecimal(safeGetString(item, "numberField_mg34txh4"));
+            BigDecimal sl = toBigDecimal(safeGetString(item, "numberField_mg34txh6"));
+            BigDecimal se = toBigDecimal(safeGetString(item, "numberField_mg34txh7"));
+            BigDecimal je = toBigDecimal(safeGetString(item, "numberField_mg34txh8"));
+            BigDecimal jshj = toBigDecimal(safeGetString(item, "numberField_mg34txh9"));
+            String ck = safeGetString(item, "textField_mf6a0h6l");
+            String cw = safeGetString(item, "textField_mf6a0h6k");
+            String kczt = safeGetString(item, "textField_mf6a0h6p");
+            String tpsb = safeGetString(item, "textField_mg34txh1");
+            String ph = safeGetString(item, "textField_mg34txh5");
+            BigDecimal jtc = toBigDecimal(safeGetString(item, "numberField_mg34txha"));
+            String sjr = safeGetString(item, "textField_mejnamf6");
+            String sjdh = safeGetString(item, "textField_mejnamf7");
+            String sjdz = safeGetString(item, "textareaField_mf6a0h5e");
+            String gg = safeGetString(item, "textField_mf6a0h6u");
+            String zbq = safeGetString(item, "numberField_mf6a0h6v");
+            LocalDateTime fwdqr = parseTimestamp(UtilMap.getString(item, "dateField_mg34txhb"));
+            String xlh = safeGetString(item, "textField_mf6a0h6w");
+            int zbqsf = parseInt(safeGetString(item, "numberField_mg34txhc"), 0);
+            String kddh = safeGetString(item, "textField_mf6a0h6x");
+            String jx = safeGetString(item, "textField_mf6a0h6y");
+            KdYdOutboundDetail kdYdOutboundDetail = new KdYdOutboundDetail();
+            kdYdOutboundDetail.setOutboundId(id);
+            kdYdOutboundDetail.setWlbm(wlbm);
+            kdYdOutboundDetail.setWlmc(wlmc);
+            kdYdOutboundDetail.setGgxh(ggxh);
+            kdYdOutboundDetail.setKcdw(kcdw);
+            kdYdOutboundDetail.setSsxl(ssxl);
+            kdYdOutboundDetail.setDj(dj);
+            kdYdOutboundDetail.setHsdj(hsdj);
+            kdYdOutboundDetail.setSl(sl);
+            kdYdOutboundDetail.setSe(se);
+            kdYdOutboundDetail.setJe(je);
+            kdYdOutboundDetail.setJshj(jshj);
+            kdYdOutboundDetail.setCk(ck);
+            kdYdOutboundDetail.setCw(cw);
+            kdYdOutboundDetail.setKczt(kczt);
+            kdYdOutboundDetail.setTpsb(tpsb);
+            kdYdOutboundDetail.setPh(ph);
+            kdYdOutboundDetail.setJtc(jtc);
+            kdYdOutboundDetail.setSjr(sjr);
+            kdYdOutboundDetail.setSjdh(sjdh);
+            kdYdOutboundDetail.setSjdz(sjdz);
+            kdYdOutboundDetail.setGg(gg);
+            kdYdOutboundDetail.setZbq(zbq);
+            kdYdOutboundDetail.setFwdqr(fwdqr);
+            kdYdOutboundDetail.setXlh(xlh);
+            kdYdOutboundDetail.setZbqsf(zbqsf);
+            kdYdOutboundDetail.setKddh(kddh);
+            kdYdOutboundDetail.setJx(jx);
+            kdYdOutboundDetailMapper.insert(kdYdOutboundDetail);
+        }
+        ydClient.operateData(
+                YDParam.builder()
+                        .formInstanceId(formInstId)
+                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgrsdayq", id)))
+                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+    private static LocalDateTime parseTimestamp(String timestampStr) {
+        if (timestampStr == null || timestampStr.trim().isEmpty()) return null;
+        try {
+            long timestamp = Long.parseLong(timestampStr.trim());
+            return LocalDateTime.ofInstant(
+                    Instant.ofEpochMilli(timestamp),
+                    ZoneId.systemDefault()
+            );
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdReceivableDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdReceivableDetail;
+import com.malk.huagao.mapper.KdYdReceivableDetailMapper;
+import com.malk.huagao.service.IKdYdReceivableDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Service
+public class KdYdReceivableDetailServiceImpl extends ServiceImpl<KdYdReceivableDetailMapper, KdYdReceivableDetail> implements IKdYdReceivableDetailService {
+
+}

+ 186 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdReceivableServiceImpl.java

@@ -0,0 +1,186 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdOutbound;
+import com.malk.huagao.entity.KdYdOutboundDetail;
+import com.malk.huagao.entity.KdYdReceivable;
+import com.malk.huagao.entity.KdYdReceivableDetail;
+import com.malk.huagao.mapper.KdYdOutboundDetailMapper;
+import com.malk.huagao.mapper.KdYdOutboundMapper;
+import com.malk.huagao.mapper.KdYdReceivableDetailMapper;
+import com.malk.huagao.mapper.KdYdReceivableMapper;
+import com.malk.huagao.service.IKdYdReceivableService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Service
+public class KdYdReceivableServiceImpl extends ServiceImpl<KdYdReceivableMapper, KdYdReceivable> implements IKdYdReceivableService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdReceivableMapper kdYdReceivableMapper;
+    @Autowired
+    private KdYdReceivableDetailMapper kdYdReceivableDetailMapper;
+
+    @Override
+    public void insertkdYdReceivable(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+
+        String djlx = UtilMap.getString(formData, "selectField_mg3a0th4");
+        long outboundId = UtilMap.getLong(formData, "textField_mgrsdayq");
+//            long deliceryId = 6L;
+        String kh = UtilMap.getString(formData, "textField_mejmml3k");
+        String bb = UtilMap.getString(formData, "selectField_mg3fuqvn");
+        String sktj = UtilMap.getString(formData, "selectField_mev13l3r");
+        String xsy = UtilMap.getString(formData, "employeeField_mejmtic9").replace("[\"", "").replace("\"]", "").trim();
+        String xsbm = UtilMap.getString(formData, "textField_krnn5bmr");
+        String xslx = UtilMap.getString(formData, "selectField_mejowmnc");
+        String khsx = UtilMap.getString(formData, "selectField_megi74y8");
+        String bz = UtilMap.getString(formData, "textareaField_mg3a0tgx");
+        String zdzkjestr = UtilMap.getString(formData, "numberField_mejmtica");
+        BigDecimal zdzkje = toBigDecimal(zdzkjestr);
+
+
+        List<Map> tableField = (List<Map>) formData.get("tableField_mf6el3zx");
+        KdYdReceivable kdYdReceivable = new KdYdReceivable();
+        kdYdReceivable.setDjlx(djlx);
+        kdYdReceivable.setOutboundId(outboundId);
+        kdYdReceivable.setBb(bb);
+        kdYdReceivable.setKh(kh);
+        kdYdReceivable.setSktj(sktj);
+        kdYdReceivable.setXsbm(xsbm);
+        kdYdReceivable.setXslx(xslx);
+        kdYdReceivable.setKhsx(khsx);
+        kdYdReceivable.setXsy(xsy);
+        kdYdReceivable.setZdzkje(zdzkje);
+        kdYdReceivable.setBz(bz);
+        kdYdReceivable.setForminstid(formInstId);
+        kdYdReceivableMapper.insert(kdYdReceivable);
+
+        Long id = kdYdReceivable.getId();
+        for (Map item : tableField) {
+            String wlbm = safeGetString(item, "textField_mf6el3zy");
+            String wlmc = safeGetString(item, "textField_mf6el3zz");
+            String ggxh = safeGetString(item, "textField_mejmtic5");
+            String jjdw = safeGetString(item, "textField_mf6el400");
+            String ssxl = safeGetString(item, "selectField_mejnamfm");
+            BigDecimal dj = toBigDecimal(safeGetString(item, "numberField_mf6el402"));
+            BigDecimal hsdj = toBigDecimal(safeGetString(item, "numberField_mejmticb"));
+            BigDecimal sl = toBigDecimal(safeGetString(item, "numberField_mf6el403"));
+            BigDecimal se = toBigDecimal(safeGetString(item, "numberField_mf6el406"));
+//                BigDecimal je = toBigDecimal(safeGetString(item, "numberField_mg34txh8"));
+            BigDecimal jshj = toBigDecimal(safeGetString(item, "numberField_mejmtic7"));
+            String kcdw = safeGetString(item, "textField_mf6el409");
+            String ph = safeGetString(item, "textField_mf6el408");
+            BigDecimal jjsl = toBigDecimal(safeGetString(item, "numberField_mejmtic6"));
+            BigDecimal zkl = toBigDecimal(safeGetString(item, "numberField_mf6el404"));
+            BigDecimal bhsje = toBigDecimal(safeGetString(item, "numberField_mejmticc"));
+            BigDecimal zke = toBigDecimal(safeGetString(item, "numberField_mf6el405"));
+            BigDecimal kcsl = toBigDecimal(safeGetString(item, "numberField_mf6el40a"));
+            String sfzp = safeGetString(item, "radioField_mejnamfn");
+            String gg = safeGetString(item, "textField_mf6el40b");
+            BigDecimal tc = toBigDecimal(safeGetString(item, "numberField_mf6el40c"));
+            BigDecimal jjjbsl = toBigDecimal(safeGetString(item, "numberField_mf6el407"));
+            String jx = safeGetString(item, "textField_mf6el40d");
+            KdYdReceivableDetail kdYdReceivableDetail = new KdYdReceivableDetail();
+            kdYdReceivableDetail.setReceivableId(id);
+            kdYdReceivableDetail.setWlbm(wlbm);
+            kdYdReceivableDetail.setWlmc(wlmc);
+            kdYdReceivableDetail.setGgxh(ggxh);
+            kdYdReceivableDetail.setJjdw(jjdw);
+            kdYdReceivableDetail.setSsxl(ssxl);
+            kdYdReceivableDetail.setDj(dj);
+            kdYdReceivableDetail.setHsdj(hsdj);
+            kdYdReceivableDetail.setSl(sl);
+            kdYdReceivableDetail.setSe(se);
+            kdYdReceivableDetail.setJe(jshj);
+            kdYdReceivableDetail.setJjsl(jjsl);
+            kdYdReceivableDetail.setZkl(zkl);
+            kdYdReceivableDetail.setBhsje(bhsje);
+            kdYdReceivableDetail.setZke(zke);
+            kdYdReceivableDetail.setKcsl(kcsl);
+            kdYdReceivableDetail.setSfzp(sfzp);
+            kdYdReceivableDetail.setGg(gg);
+            kdYdReceivableDetail.setTc(tc);
+            kdYdReceivableDetail.setJjjbsl(jjjbsl);
+            kdYdReceivableDetail.setJx(jx);
+            kdYdReceivableDetail.setKcdw(kcdw);
+            kdYdReceivableDetail.setPh(ph);
+            kdYdReceivableDetailMapper.insert(kdYdReceivableDetail);
+
+
+        }
+        ydClient.operateData(
+                YDParam.builder()
+                        .formInstanceId(formInstId)
+                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgt4w4ip", id)))
+                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+
+    private static LocalDateTime parseTimestamp(String timestampStr) {
+        if (timestampStr == null || timestampStr.trim().isEmpty()) return null;
+        try {
+            long timestamp = Long.parseLong(timestampStr.trim());
+            return LocalDateTime.ofInstant(
+                    Instant.ofEpochMilli(timestamp),
+                    ZoneId.systemDefault()
+            );
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 20 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpDetailServiceImpl.java

@@ -0,0 +1,20 @@
+package com.malk.huagao.service.impl;
+
+import com.malk.huagao.entity.KdYdZpDetail;
+import com.malk.huagao.mapper.KdYdZpDetailMapper;
+import com.malk.huagao.service.IKdYdZpDetailService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Service
+public class KdYdZpDetailServiceImpl extends ServiceImpl<KdYdZpDetailMapper, KdYdZpDetail> implements IKdYdZpDetailService {
+
+}

+ 171 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/KdYdZpServiceImpl.java

@@ -0,0 +1,171 @@
+package com.malk.huagao.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.malk.huagao.entity.KdYdReceivable;
+import com.malk.huagao.entity.KdYdReceivableDetail;
+import com.malk.huagao.entity.KdYdZp;
+import com.malk.huagao.entity.KdYdZpDetail;
+import com.malk.huagao.mapper.KdYdReceivableDetailMapper;
+import com.malk.huagao.mapper.KdYdReceivableMapper;
+import com.malk.huagao.mapper.KdYdZpDetailMapper;
+import com.malk.huagao.mapper.KdYdZpMapper;
+import com.malk.huagao.service.IKdYdZpService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.dingtalk.DDR_New;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.slf4j.MDC;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.Instant;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author LQY
+ * @since 2025-10-16
+ */
+@Service
+public class KdYdZpServiceImpl extends ServiceImpl<KdYdZpMapper, KdYdZp> implements IKdYdZpService {
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdZpMapper kdYdZpMapper;
+    @Autowired
+    private KdYdZpDetailMapper kdYdZpDetailMapper;
+
+    @Override
+    public void insertkdYdZp(Map map) {
+        MDC.put("MDC_KEY_PID", "1003");
+        String formInstId = UtilMap.getString(map, "formInstId");
+        DDR_New ddrNew = ydClient.queryData(YDParam.builder()
+                .formInstId(formInstId)
+                .build(), YDConf.FORM_QUERY.retrieve_id);
+        Map formData = ddrNew.getFormData();
+
+        String djlx = UtilMap.getString(formData, "radioField_mg3cexkm");
+        long receivableId = UtilMap.getLong(formData, "textField_mgt4w4ip");
+        String kh = UtilMap.getString(formData, "textField_mejmml3k");
+        String kpfs = UtilMap.getString(formData, "selectField_mg3cexke");
+        String fph = UtilMap.getString(formData, "textField_mejmml3a");
+        LocalDateTime ywrq = parseTimestamp(UtilMap.getString(formData, "dateField_mejmml39"));
+        String bb = UtilMap.getString(formData, "selectField_mg3fuqvn");
+        String bz = UtilMap.getString(formData, "textareaField_mejmml3e");
+        String spdzyx = UtilMap.getString(formData, "textField_mejmml3d");
+        String jshjstr = UtilMap.getString(formData, "numberField_mejmml38");
+        BigDecimal jshj = toBigDecimal(jshjstr);
+        List<Map> tableField = (List<Map>) formData.get("tableField_mf6el3zx");
+        KdYdZp kdYdZp = new KdYdZp();
+          kdYdZp.setDjlx(djlx);
+          kdYdZp.setKpfs(kpfs);
+          kdYdZp.setFph(fph);
+          kdYdZp.setYwrq(ywrq);
+          kdYdZp.setReceivableId(receivableId);
+          kdYdZp.setBb(bb);
+          kdYdZp.setJshj(jshj);
+          kdYdZp.setBz(bz);
+          kdYdZp.setKh(kh);
+          kdYdZp.setSpdzyx(spdzyx);
+          kdYdZp.setCreateTime(LocalDateTime.now());
+          kdYdZp.setForminstid(formInstId);
+          kdYdZpMapper.insert(kdYdZp);
+
+        Long id = kdYdZp.getId();
+        for (Map item : tableField) {
+            String wlbm = safeGetString(item, "textField_mf6el3zy");
+            String wlmc = safeGetString(item, "textField_mf6el3zz");
+            String ggxh = safeGetString(item, "textField_mejmtic5");
+            String jjdw = safeGetString(item, "textField_mf6el400");
+            String ssxl = safeGetString(item, "selectField_mejnamfm");
+            BigDecimal dj = toBigDecimal(safeGetString(item, "numberField_mf6el402"));
+            BigDecimal hsdj = toBigDecimal(safeGetString(item, "numberField_mejmticb"));
+            BigDecimal sl = toBigDecimal(safeGetString(item, "numberField_mf6el403"));
+            BigDecimal se = toBigDecimal(safeGetString(item, "numberField_mf6el406"));
+            BigDecimal zjshj = toBigDecimal(safeGetString(item, "numberField_mejmtic7"));
+            String ph = safeGetString(item, "textField_mf6el409");
+            BigDecimal jjsl = toBigDecimal(safeGetString(item, "numberField_mejmtic6"));
+            BigDecimal zkl = toBigDecimal(safeGetString(item, "numberField_mf6el404"));
+            BigDecimal bhsje = toBigDecimal(safeGetString(item, "numberField_mejmticc"));
+            BigDecimal zke = toBigDecimal(safeGetString(item, "numberField_mf6el405"));
+            BigDecimal rjdj = toBigDecimal(safeGetString(item, "numberField_mg3cexkl"));
+            String gg = safeGetString(item, "textField_mf6el40b");
+            String xxddbm = safeGetString(item, "textField_mf6el408");
+            KdYdZpDetail kdYdZpDetail = new KdYdZpDetail();
+            kdYdZpDetail.setZpId(id);
+            kdYdZpDetail.setWlbm(wlbm);
+            kdYdZpDetail.setWlmc(wlmc);
+            kdYdZpDetail.setGgxh(ggxh);
+            kdYdZpDetail.setJjdw(jjdw);
+            kdYdZpDetail.setSsxl(ssxl);
+            kdYdZpDetail.setDj(dj);
+            kdYdZpDetail.setHsdj(hsdj);
+            kdYdZpDetail.setSl(sl);
+            kdYdZpDetail.setSe(se);
+            kdYdZpDetail.setJe(zjshj);
+            kdYdZpDetail.setPh(ph);
+            kdYdZpDetail.setJjsl(jjsl);
+            kdYdZpDetail.setZkl(zkl);
+            kdYdZpDetail.setBhsje(bhsje);
+            kdYdZpDetail.setZke(zke);
+            kdYdZpDetail.setRjdj(rjdj);
+            kdYdZpDetail.setGg(gg);
+            kdYdZpDetail.setXxddbh(xxddbm);
+            kdYdZpDetailMapper.insert(kdYdZpDetail);
+        }
+        ydClient.operateData(
+                YDParam.builder()
+                        .formInstanceId(formInstId)
+                        .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgt6lcqq", id)))
+                        .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+    }
+
+    private static LocalDateTime parseTimestamp(String timestampStr) {
+        if (timestampStr == null || timestampStr.trim().isEmpty()) return null;
+        try {
+            long timestamp = Long.parseLong(timestampStr.trim());
+            return LocalDateTime.ofInstant(
+                    Instant.ofEpochMilli(timestamp),
+                    ZoneId.systemDefault()
+            );
+        } catch (NumberFormatException e) {
+            return null;
+        }
+    }
+
+    private static int parseInt(String str, int defaultValue) {
+        if (str == null || str.trim().isEmpty()) {
+            return defaultValue;
+        }
+        try {
+            return Integer.parseInt(str.trim());
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
+
+    private String safeGetString(Map formData, String key) {
+        Object val = formData.get(key);
+        return val == null ? "" : String.valueOf(val);
+    }
+
+    public static BigDecimal toBigDecimal(String str) {
+        if (str == null || str.trim().isEmpty()) {
+            return BigDecimal.ZERO; // 或返回 null,看业务需要
+        }
+        try {
+            return new BigDecimal(str.trim());
+        } catch (NumberFormatException e) {
+            throw new IllegalArgumentException("无法转换为数字: " + str, e);
+        }
+    }
+}

+ 377 - 0
mjava-huagao/src/main/java/com/malk/huagao/service/impl/YdHuaGaoServiceImpl.java

@@ -0,0 +1,377 @@
+package com.malk.huagao.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.huagao.entity.*;
+import com.malk.huagao.mapper.*;
+import com.malk.huagao.service.YdHuaGaoService;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import lombok.extern.slf4j.Slf4j;
+import org.checkerframework.checker.units.qual.A;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
+import java.util.Map;
+
+@Slf4j
+@Service
+public class YdHuaGaoServiceImpl implements YdHuaGaoService {
+    @Autowired
+    private KdYdCustomerMapper kdYdCustomerMapper;
+    @Autowired
+    private YDClient ydClient;
+    @Autowired
+    private KdYdCustomerReferrerMapper kdYdCustomerReferrerMapper;
+    @Autowired
+    private KdYdOrderMapper kdYdOrderMapper;
+    @Autowired
+    private KdYdDeliveryMapper kdYdDeliveryMapper;
+    @Autowired
+    private KdYdOutboundMapper kdYdOutboundMapper;
+    @Autowired
+    private KdYdReceivableMapper kdYdReceivableMapper;
+    @Autowired
+    private KdYdZpMapper kdYdZpMapper;
+    @Autowired
+    private KdYdMaterialMapper kdYdMaterialMapper;
+    @Override
+    public void syncKdYdCustomer() {
+
+    }
+
+    @Override
+    public void syncKdYDcustomerLiaison() {
+        log.info("定时同步-客户推荐人");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdCustomerReferrer> KdYdCustomerReferrers = kdYdCustomerReferrerMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (KdYdCustomerReferrers.isEmpty()) {
+                log.info("【客户推荐人同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdCustomerReferrer kdYdCustomerReferrer : KdYdCustomerReferrers) {
+                try {
+                    String bm = kdYdCustomerReferrer.getBm();
+                    String tjruuid = kdYdCustomerReferrer.getTjruuid();
+                    String formInstId = kdYdCustomerReferrer.getFormInstId();
+                    if (ObjectUtil.hasEmpty(formInstId, bm)) {
+                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdCustomerReferrer.getId());
+                        continue;
+                    }
+//                    if (tjruuid == null) {
+//            List<Map> khdata = (List<Map>) ydClient.queryData(
+//                    YDParam.builder()
+//                            .formUuid("FORM-68154CC0A7054BF0B1C933752CD3881FB0SR")
+//                            .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_mgqbiov3", tjruuid)))
+//                            .build(),
+//                    YDConf.FORM_QUERY.retrieve_list_all
+//            ).getData();
+//            if (khdata.size() > 0) {
+//                 khbm = UtilMap.getString(khdata.get(0), "textField_meqhqqvg");
+//            }
+////        }
+//                    LambdaQueryWrapper<KdYdCustomer> YdCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//                    YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getTjruuid, tjruuid);
+//                    KdYdCustomer kdYdCustomer1 = kdYdCustomerMapper.selectOne(YdCustomerLambdaQueryWrapper);
+//                    String formInstId1 = kdYdCustomer1.getFormInstId();
+//                    ydClient.operateData(
+//                            YDParam.builder()
+//                                    .formInstanceId(formInstId1)
+//                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mfdrrg87", bm)))
+//                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .formInstanceId(formInstId)
+                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mgqbiouy", bm)))
+                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+                } catch (Exception e) {
+                    log.error("同步单条客户推荐人数据异常: formInstId={}", kdYdCustomerReferrer.getFormInstId(), e);
+                }
+            }
+
+            log.info("【客户推荐人同步任务】执行完成,共处理 {} 条记录", KdYdCustomerReferrers.size());
+        } catch (Exception e) {
+            log.error("【客户推荐人同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+    @Override
+    public void syncKdYdOrder() {
+        log.info("定时同步-订单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdOrder> KdYdOrders = kdYdOrderMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (KdYdOrders.isEmpty()) {
+                log.info("【订单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdOrder kdYdOrder : KdYdOrders) {
+                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;
+                    }
+//                    if (tjruuid == null) {
+//            List<Map> khdata = (List<Map>) ydClient.queryData(
+//                    YDParam.builder()
+//                            .formUuid("FORM-68154CC0A7054BF0B1C933752CD3881FB0SR")
+//                            .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_mgqbiov3", tjruuid)))
+//                            .build(),
+//                    YDConf.FORM_QUERY.retrieve_list_all
+//            ).getData();
+//            if (khdata.size() > 0) {
+//                 khbm = UtilMap.getString(khdata.get(0), "textField_meqhqqvg");
+//            }
+////        }
+//                    LambdaQueryWrapper<KdYdCustomer> YdCustomerLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//                    YdCustomerLambdaQueryWrapper.eq(KdYdCustomer::getTjruuid, tjruuid);
+//                    KdYdCustomer kdYdCustomer1 = kdYdCustomerMapper.selectOne(YdCustomerLambdaQueryWrapper);
+//                    String formInstId1 = kdYdCustomer1.getFormInstId();
+//                    ydClient.operateData(
+//                            YDParam.builder()
+//                                    .formInstanceId(formInstId1)
+//                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mfdrrg87", bm)))
+//                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .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.info("【订单同步任务】执行完成,共处理 {} 条记录", KdYdOrders.size());
+        } catch (Exception e) {
+            log.error("【订单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+    @Override
+    public void syncKdYdDelivery() {
+        log.info("定时同步-发货单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdDelivery> KdYdDeliverys = kdYdDeliveryMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (KdYdDeliverys.isEmpty()) {
+                log.info("【发货单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdDelivery kdYdDelivery : KdYdDeliverys) {
+                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;
+                    }
+
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .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.info("【发货单同步任务】执行完成,共处理 {} 条记录", KdYdDeliverys.size());
+        } catch (Exception e) {
+            log.error("【发货单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+//TODO: 2022/5/10 订单出库同步
+    @Override
+    public void synckdYdOutbound() {
+        log.info("定时同步-出库单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdOutbound> KdYdOutbounds = kdYdOutboundMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (KdYdOutbounds.isEmpty()) {
+                log.info("【出库单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdOutbound kdYdOutbound : KdYdOutbounds) {
+                try {
+                    String djbh = kdYdOutbound.getDjbh();
+//                    String tjruuid = kdYdOrder.getTjruuid();
+                    String formInstId = kdYdOutbound.getForminstid();
+                    if (ObjectUtil.hasEmpty(formInstId, djbh)) {
+                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdOutbound.getId());
+                        continue;
+                    }
+
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .formInstanceId(formInstId)
+                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mg34txgm", djbh)))
+                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+                } catch (Exception e) {
+                    log.error("同步单条出库单数据异常: formInstId={}", kdYdOutbound.getForminstid(), e);
+                }
+            }
+
+            log.info("【出库单同步任务】执行完成,共处理 {} 条记录", KdYdOutbounds.size());
+        } catch (Exception e) {
+            log.error("【出库单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+    @Override
+    public void syncKdYdReceivable() {
+        log.info("定时同步-应收单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdReceivable> KdYdReceivables = kdYdReceivableMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (KdYdReceivables.isEmpty()) {
+                log.info("【应收单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdReceivable kdYdReceivable : KdYdReceivables) {
+                try {
+                    String djbh = kdYdReceivable.getDjbh();
+//                    String tjruuid = kdYdOrder.getTjruuid();
+                    String formInstId = kdYdReceivable.getForminstid();
+                    if (ObjectUtil.hasEmpty(formInstId, djbh)) {
+                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdReceivable.getId());
+                        continue;
+                    }
+
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .formInstanceId(formInstId)
+                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mg34txgm", djbh)))
+                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+                } catch (Exception e) {
+                    log.error("同步单条应收单数据异常: formInstId={}", kdYdReceivable.getForminstid(), e);
+                }
+            }
+
+            log.info("【应收单同步任务】执行完成,共处理 {} 条记录", KdYdReceivables.size());
+        } catch (Exception e) {
+            log.error("【应收单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+    @Override
+    public void synckdYdZp() {
+        log.info("定时同步-发票单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdZp> kdYdZps = kdYdZpMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (kdYdZps.isEmpty()) {
+                log.info("【发票单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdZp kdYdZp : kdYdZps) {
+                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;
+                    }
+
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .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.info("【发票单同步任务】执行完成,共处理 {} 条记录", kdYdZps.size());
+        } catch (Exception e) {
+            log.error("【发票单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+
+    @Override
+    public void synckdYdMaterial() {
+        log.info("定时同步-物料单");
+        try {
+
+            LocalDateTime now = LocalDateTime.now();
+            LocalDateTime fiveMinutesAgo = now.minusMinutes(5);
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+            List<KdYdMaterial> kdYdMaterials = kdYdMaterialMapper.selectRecentUpdated(fiveMinutesAgo);
+            if (kdYdMaterials.isEmpty()) {
+                log.info("【物料单同步任务】无需要同步的数据,结束");
+                return;
+            }
+
+            for (KdYdMaterial kdYdMaterial : kdYdMaterials) {
+                try {
+                    String wlbm = kdYdMaterial.getWlbm();
+                    String wlmc = kdYdMaterial.getWlmc();
+                    String wlbt = wlmc + wlbm ;
+                    String formInstId = kdYdMaterial.getForminstid();
+
+                    if (ObjectUtil.hasEmpty(wlbm, wlmc)) {
+                        log.warn("跳过同步: formInstId 或 khbm 为空, customer={}", kdYdMaterial.getId());
+                        continue;
+                    }
+
+                    ydClient.operateData(
+                            YDParam.builder()
+                                    .formInstanceId(formInstId)
+                                    .updateFormDataJson(JSONObject.toJSONString(UtilMap.map("textField_mfxbtcdh, textField_mg4h6mz5", wlbm, wlbt)))
+                                    .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+
+                } catch (Exception e) {
+                    log.error("同步单条物料单数据异常: formInstId={}", kdYdMaterial.getForminstid(), e);
+                }
+            }
+
+            log.info("【物料单同步任务】执行完成,共处理 {} 条记录", kdYdMaterials.size());
+        } catch (Exception e) {
+            log.error("【物料单同步任务】执行过程中发生严重错误", e);
+        }
+    }
+}

+ 14 - 3
mjava-huagao/src/main/java/com/malk/huagao/utils/MPGenerator.java

@@ -4,16 +4,18 @@ import com.baomidou.mybatisplus.generator.FastAutoGenerator;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
 
+import java.sql.Connection;
+import java.sql.DriverManager;
 import java.sql.Types;
 
 public class MPGenerator {
     public static void main(String[] args) {
         //可以直接去官方文档上查看
         FastAutoGenerator
-                .create("jdbc:sqlserver://113.45.187.194:1433;databaseName=dingding",
+                .create("jdbc:sqlserver://113.45.187.194:1433;databaseName=dingding;encrypt=true;trustServerCertificate=true;",
                         "hgdd", "hgdd@2025")
                 .globalConfig(builder -> {
-                    builder.author("WZY")
+                    builder.author("LQY")
                             .disableOpenDir()
                             .outputDir(System.getProperty("user.dir")+
                                     "/mjava-huagao/src/main/java");
@@ -35,10 +37,19 @@ public class MPGenerator {
                             .entity("entity");
                 })
                 .strategyConfig(builder -> {
-                    builder.addInclude("KD_YD_CUSTOMER")
+                    builder.addInclude("")
                             .entityBuilder().enableLombok();
                 })
                 .templateEngine(new VelocityTemplateEngine())
                 .execute();
     }
+//    public static void main(String[] args) {
+//        String url = "jdbc:sqlserver://113.45.187.194:1433;"+"databaseName=dingding;"+"encrypt=false;"+"trustServerCertificate=true;";
+//
+//        try (Connection conn = DriverManager.getConnection(url, "hgdd", "hgdd@2025")) {
+//            System.out.println("✅ 连接 SQL Server 成功!");
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+//    }
 }

+ 10 - 10
mjava-jianhui/pom.xml

@@ -26,16 +26,16 @@
             <artifactId>base</artifactId>
             <version>1.1-SNAPSHOT</version>
         </dependency>
-        <dependency>
-            <groupId>com.example</groupId>
-            <artifactId>k3cloud</artifactId>
-            <version>8.0.6</version>
-        </dependency>
-        <dependency>
-            <groupId>com.example</groupId>
-            <artifactId>gson</artifactId>
-            <version>2.8.0</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.example</groupId>-->
+<!--            <artifactId>k3cloud</artifactId>-->
+<!--            <version>8.0.6</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.example</groupId>-->
+<!--            <artifactId>gson</artifactId>-->
+<!--            <version>2.8.0</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>