From e806603a75c6999c040359ffff325fa774c3cc05 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期五, 18 四月 2025 17:45:39 +0800
Subject: [PATCH] 【UPDATE】1.增加同步工序数据到业务表定时任务 2.优化同步工序数据方法

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 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 e815c21..39ea457 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
@@ -148,6 +148,7 @@
         apsWorkOrderJobLog.setBizType("work_order_process");
         apsWorkOrderJobLog.setResult("SUCCESS");
         apsWorkOrderJobLogService.insertApsWorkOrderJobLog(apsWorkOrderJobLog);
+        List<String> haveProcessDocNos = new ArrayList<>();
         if (response.getStatusCode().is2xxSuccessful()) {
             if(!StringUtils.isEmpty(responseBody)){
                 if("200".equals(responseBodyJson.getString("status"))){
@@ -160,6 +161,8 @@
                             JSONObject process = (JSONObject) o;
                             if (nowDocNo == null) {
                                 nowDocNo = process.getString("DocNo");
+                                docNos.remove(nowDocNo);
+                                haveProcessDocNos.add(nowDocNo);
                             }
                             Map<String, Object> params = new HashMap<>();
                             params.put("docNo", process.getString("DocNo"));
@@ -188,7 +191,8 @@
                             }
                             if(!nowDocNo.equals(process.getString("DocNo"))){
                                 //鏇存柊宸ュ崟鍚屾宸ュ簭鐘舵��
-                                apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(nowDocNo);
+                                docNos.remove(nowDocNo);
+                                haveProcessDocNos.add(nowDocNo);
                                 nowDocNo = process.getString("DocNo");
                             }
                         }
@@ -204,7 +208,15 @@
                             apsWorkOrderJobLogService.updateApsWorkOrderJobLog(apsWorkOrderJobLog);
                             logger.info("銆怚NSERT銆戣幏鍙栧苟鎻掑叆U9宸ュ簭鎴愬姛锛併�愬伐鍗曞彿锛歿}銆�", docNos);
                         }
+                        Map<String, Object> param = new HashMap<>();
+                        param.put("status", "1");
+                        param.put("docNos", haveProcessDocNos);
+                        apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                     }
+                    Map<String, Object> param = new HashMap<>();
+                    param.put("status", "2");
+                    param.put("docNos", docNos);
+                    apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                 }else{
                     apsWorkOrderJobLog.setResponseData(response.getBody());
                     apsWorkOrderJobLog.setResult("fail");
@@ -228,28 +240,36 @@
             //鍒嗛〉鏌ヨ宸ュ崟
             ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob();
             apsWorkOrderJob.setProcessStatus("0");
-            List<ApsWorkOrderJob> list = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
-            int pageSize = 100;
-            int allPage = list.size()/pageSize;
-//            int allPage = 1;
-            for (int i = 1; i <= allPage; i++) {
-                long startTime = System.currentTimeMillis();
-                PageHelper.startPage(i, pageSize);
+            while (true){
+                PageHelper.startPage(1, 100);
                 List<ApsWorkOrderJob> pageList = apsWorkOrderJobMapper.selectApsWorkOrderJobList(apsWorkOrderJob);
                 if(!pageList.isEmpty()){
+                    long startTime = System.currentTimeMillis();
                     List<String> docNos = new ArrayList<>();
                     for (ApsWorkOrderJob apsWorkOrderJob1 : pageList){
                         docNos.add(apsWorkOrderJob1.getDocNo());
                     }
                     getWorkOrderProcessFromU9(docNos);
+                    long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿
+                    long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿
+                    System.out.println("杩愯鏃堕棿锛�"+ duration +"姣");
+                }else{
+                    break;
                 }
-                long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿
-                long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿
-                System.out.println("杩愯鏃堕棿锛�"+ duration +"姣");
             }
         }catch (Exception e){
             e.printStackTrace();
             logger.error(e.getMessage());
         }
     }
+
+    @Override
+    public void insertIntoApsProcessRoute() {
+        apsWorkOrderProcessMapper.insertIntoApsProcessRoute();
+    }
+
+    @Override
+    public void deleteApsProcessRoute() {
+        apsWorkOrderProcessMapper.deleteApsProcessRoute();
+    }
 }

--
Gitblit v1.9.3