From a5c145b5b9afb665d3130bbcf8659ee1a4b15ebf Mon Sep 17 00:00:00 2001
From: zhanghl <253316343@qq.com>
Date: 星期五, 16 五月 2025 13:57:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java |   53 ++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
index 73a1076..304e372 100644
--- a/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
+++ b/aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java
@@ -133,6 +133,7 @@
 
     @Override
     public void getWorkOrderProcessFromU9(List<String> docNos) throws Exception {
+        List<String> noProcessDocNos = docNos;
         // 璁剧疆璇锋眰澶�
         HttpHeaders headers = new HttpHeaders();
         headers.setContentType(MediaType.APPLICATION_JSON);
@@ -169,14 +170,14 @@
                                 JSONObject process = (JSONObject) o;
                                 if (nowDocNo == null) {
                                     nowDocNo = process.getString("DocNo");
-                                    docNos.remove(nowDocNo);
+                                    noProcessDocNos.remove(nowDocNo);
                                     haveProcessDocNos.add(nowDocNo);
                                 }
-                                Map<String, Object> params = new HashMap<>();
-                                params.put("docNo", process.getString("DocNo"));
-                                params.put("opNum", process.getString("OpNum"));
-                                params.put("opId", process.getString("OpID"));
-                                Long existsId = apsWorkOrderProcessMapper.existsByDocNoOpNumOpId(params);
+//                                Map<String, Object> params = new HashMap<>();
+//                                params.put("docNo", process.getString("DocNo"));
+//                                params.put("opNum", process.getString("OpNum"));
+//                                params.put("opId", process.getString("OpID"));
+//                                Long existsId = apsWorkOrderProcessMapper.existsByDocNoOpNumOpId(params);
                                 ApsWorkOrderProcess apsWorkOrderProcess = new ApsWorkOrderProcess();
                                 apsWorkOrderProcess.setItemCode(process.getString("ItemCode"));
                                 apsWorkOrderProcess.setDocNo(process.getString("DocNo"));
@@ -192,17 +193,17 @@
                                 apsWorkOrderProcess.setOrg(process.getString("Org"));
                                 apsWorkOrderProcess.setOrgCode(process.getString("OrgCode"));
                                 apsWorkOrderProcess.setWorkCenter(process.getString("WorkCenter"));
-                                if (existsId != null) {
-                                    apsWorkOrderProcess.setId(existsId);
-                                    apsWorkOrderProcess.setUpdateBy("task");
-                                    apsWorkOrderProcess.setUpdateTime(DateUtils.getNowDate());
-                                    updateList.add(apsWorkOrderProcess);
-                                } else {
+//                                if (existsId != null) {
+//                                    apsWorkOrderProcess.setId(existsId);
+//                                    apsWorkOrderProcess.setUpdateBy("task");
+//                                    apsWorkOrderProcess.setUpdateTime(DateUtils.getNowDate());
+//                                    updateList.add(apsWorkOrderProcess);
+//                                } else {
                                     apsWorkOrderProcess.setId(IdUtil.getSnowflakeNextId());
                                     apsWorkOrderProcess.setCreateBy("task");
                                     apsWorkOrderProcess.setCreateTime(DateUtils.getNowDate());
                                     addList.add(apsWorkOrderProcess);
-                                }
+//                                }
                                 if(!nowDocNo.equals(process.getString("DocNo"))){
                                     //鏇存柊宸ュ崟鍚屾宸ュ簭鐘舵��
                                     docNos.remove(nowDocNo);
@@ -229,10 +230,10 @@
                             param.put("docNos", haveProcessDocNos);
                             apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                         }else{
-                            if(!docNos.isEmpty()){
+                            if(!noProcessDocNos.isEmpty()){
                                 Map<String, Object> param = new HashMap<>();
                                 param.put("status", "2");
-                                param.put("docNos", docNos);
+                                param.put("docNos", noProcessDocNos);
                                 apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                                 apsWorkOrderJobLog.setRequestData(requestBody.toJSONString());
                                 apsWorkOrderJobLog.setResponseData(response.getBody());
@@ -277,10 +278,9 @@
             apsWorkOrderJob.setProcessStatus(status);
             // 琛ユ煡涔嬪墠娌℃湁鏌ュ埌宸ュ簭鐨勫伐鍗�
             if("2".equals(status)){
-                int total = apsWorkOrderJobMapper.selectApsWorkOrderJobListDocNoNotNull(apsWorkOrderJob).size();
-                int pages = total % pageSize == 0 ? total / pageSize : total / pageSize + 1;
-                for (int i = 1; i <= pages; i++){
-                    PageHelper.startPage(i, pageSize);
+                String lastDocNos = "";
+                while (true){
+                    PageHelper.startPage(1, pageSize);
                     List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
                     if(!pageList.isEmpty()){
                         long startTime = System.currentTimeMillis();
@@ -289,6 +289,10 @@
                             docNos.add(apsWorkOrderJob1.getDocNo());
                         }
                         getWorkOrderProcessFromU9(docNos);
+                        if(String.join(",", docNos).equals(lastDocNos)){
+                            break;
+                        }
+                        lastDocNos = String.join(",", docNos);
                         long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿
                         long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿
                         System.out.println("杩愯鏃堕棿锛�"+ duration +"姣");
@@ -356,4 +360,15 @@
         }
         return true;
     }
+
+    @Override
+    public void syncProcessRouteData() {
+        apsWorkOrderProcessMapper.deleteApsProcessRoute();
+        apsWorkOrderProcessMapper.insertIntoApsProcessRoute();
+    }
+
+    @Override
+    public void deleteApsWorkOrderProcess() {
+        apsWorkOrderProcessMapper.deleteApsWorkOrderProcess();
+    }
 }

--
Gitblit v1.9.3