From dfb52b5f71f9846cfd470c2ae1fab64b17914ba0 Mon Sep 17 00:00:00 2001
From: Zhu Zhonghua <zhonghua@qq.com>
Date: 星期四, 22 五月 2025 17:04:10 +0800
Subject: [PATCH] 修改循环删除问题

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java
index 3e6c84b..e8ce7d9 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWeldSeamStandardJobServiceImpl.java
@@ -1,5 +1,6 @@
 package com.aps.job.service.impl;
 
+import cn.hutool.core.collection.ListUtil;
 import com.alibaba.fastjson2.JSON;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
@@ -179,18 +180,27 @@
             deleteAllApsWeldSeamStandardJob();
             
             // 鎵归噺鎻掑叆鏂版暟鎹�
-            batchInsertApsWeldSeamStandardJob(jobList);
-            
+            List<List<ApsWeldSeamStandardJob>> dataGroup = ListUtil.split(jobList, 1000);
+            for (List<ApsWeldSeamStandardJob> data : dataGroup) {
+                batchInsertApsWeldSeamStandardJob(data);
+            }
+
+            // 鍒犻櫎涓氬姟琛ㄦ暟鎹紙鍏ㄩ噺瑕嗙洊锛�
+            deleteAllApsWeldSeamStandard();
             // 鍚屾鏁版嵁鍒颁笟鍔¤〃
-            syncToBizTable(jobList);
-            
+            for (List<ApsWeldSeamStandardJob> data : dataGroup) {
+                syncToBizTable(data);
+            }
             return true;
         } catch (Exception e) {
             log.error("鍚屾鐗╂枡鏍囧噯鐒婄紳鏁版嵁寮傚父", e);
             throw e;
         }
     }
-    
+
+    private void deleteAllApsWeldSeamStandard() {
+        apsWeldSeamStandardMapper.deleteAllApsWeldSeamStandard();
+    }
     /**
      * 鍚屾鏁版嵁鍒颁笟鍔¤〃
      * 
@@ -198,9 +208,6 @@
      */
     private void syncToBizTable(List<ApsWeldSeamStandardJob> jobList) {
         try {
-            // 鍒犻櫎涓氬姟琛ㄦ暟鎹紙鍏ㄩ噺瑕嗙洊锛�
-            apsWeldSeamStandardMapper.deleteAllApsWeldSeamStandard();
-            
             if (jobList == null || jobList.isEmpty()) {
                 return;
             }

--
Gitblit v1.9.3