From 1d3a6acfd86f7f7d4160c90b2e6776ed9047aa11 Mon Sep 17 00:00:00 2001
From: huangjiayang <5265313@qq.com>
Date: 星期一, 28 四月 2025 10:13:29 +0800
Subject: [PATCH] 【UPDATE-BUGFIX】修改同步U9工单工序任务代码,增加雪花ID主键插入,工序修改和更新时间记录

---
 aps-modules/aps-job/src/main/java/com/aps/job/service/impl/ApsWorkOrderProcessServiceImpl.java |   73 ++++++++++++++++++++++++++++--------
 1 files changed, 56 insertions(+), 17 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 de015e2..3aa537d 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
@@ -4,9 +4,11 @@
 import com.alibaba.fastjson.JSONObject;
 import com.aps.common.core.utils.DateUtils;
 import com.aps.common.core.utils.StringUtils;
+import com.aps.common.core.utils.uuid.Sequence;
 import com.aps.job.domain.ApsWorkOrderJob;
 import com.aps.job.domain.ApsWorkOrderJobLog;
 import com.aps.job.domain.ApsWorkOrderProcess;
+import com.aps.job.mapper.ApsWorkOrderJobLogMapper;
 import com.aps.job.mapper.ApsWorkOrderJobMapper;
 import com.aps.job.mapper.ApsWorkOrderProcessMapper;
 import com.aps.job.service.IApsWorkOrderJobLogService;
@@ -53,6 +55,12 @@
 
     @Autowired
     private IApsWorkOrderJobLogService apsWorkOrderJobLogService;
+
+    @Autowired
+    private ApsWorkOrderJobLogMapper apsWorkOrderJobLogMapper;
+
+    @Autowired
+    private Sequence sequence;
 
     /**
      * 鏌ヨ宸ュ崟宸ュ簭
@@ -174,20 +182,24 @@
                             apsWorkOrderProcess.setDocNo(process.getString("DocNo"));
                             apsWorkOrderProcess.setOpNum(process.getString("OpNum"));
                             apsWorkOrderProcess.setOpId(process.getString("OpID"));
-                            apsWorkOrderProcess.setProcessName(process.getString("WorkCenter"));
-                            apsWorkOrderProcess.setStandardTime(process.getFloat("StandardTime"));
+                            apsWorkOrderProcess.setProcessName(process.getString("StdOp"));
+                            apsWorkOrderProcess.setStandardTime(process.getBigDecimal("StandardTime"));
                             apsWorkOrderProcess.setPalnStartDate(process.getDate("PlanStartDate"));
                             apsWorkOrderProcess.setPlanCompleteDate(process.getDate("PlanCompleteDate"));
-                            apsWorkOrderProcess.setProcessQty(process.getFloat("ProcessQty"));
-                            apsWorkOrderProcess.setScrapQty(process.getFloat("ScrapQty"));
+                            apsWorkOrderProcess.setProcessQty(process.getBigDecimal("ProcessQty"));
+                            apsWorkOrderProcess.setScrapQty(process.getBigDecimal("ScrapQty"));
                             apsWorkOrderProcess.setOpStatus(process.getString("OpStatus"));
                             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 {
+                                apsWorkOrderProcess.setId(sequence.nextId());
+                                apsWorkOrderProcess.setCreateBy("task");
                                 apsWorkOrderProcess.setCreateTime(DateUtils.getNowDate());
                                 addList.add(apsWorkOrderProcess);
                             }
@@ -215,10 +227,12 @@
                         param.put("docNos", haveProcessDocNos);
                         apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
                     }
-                    Map<String, Object> param = new HashMap<>();
-                    param.put("status", "2");
-                    param.put("docNos", docNos);
-                    apsWorkOrderJobMapper.updateApsWorkOrderJobPrccessStatus(param);
+                    if(!docNos.isEmpty()){
+                        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");
@@ -241,11 +255,8 @@
         try{
             //鍒嗛〉鏌ヨ宸ュ崟
             ApsWorkOrderJob apsWorkOrderJob = new ApsWorkOrderJob();
-            if(status==null){
+            if("".equals(status)){
                 status = "0";
-            }
-            if(pageSize==null){
-                pageSize = 100;
             }
             apsWorkOrderJob.setProcessStatus(status);
             // 琛ユ煡涔嬪墠娌℃湁鏌ュ埌宸ュ簭鐨勫伐鍗�
@@ -275,12 +286,18 @@
                         long startTime = System.currentTimeMillis();
                         List<String> docNos = new ArrayList<>();
                         for (ApsWorkOrderJob apsWorkOrderJob1 : pageList){
-                            docNos.add(apsWorkOrderJob1.getDocNo());
+                            if(apsWorkOrderJob1.getDocNo()!=null){
+                                docNos.add(apsWorkOrderJob1.getDocNo());
+                            }
                         }
-                        getWorkOrderProcessFromU9(docNos);
-                        long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿
-                        long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿
-                        System.out.println("杩愯鏃堕棿锛�"+ duration +"姣");
+                        if(!docNos.isEmpty()){
+                            getWorkOrderProcessFromU9(docNos);
+                            long endTime = System.currentTimeMillis(); // 璁板綍缁撴潫鏃堕棿
+                            long duration = endTime - startTime; // 璁$畻杩愯鏃堕棿
+                            System.out.println("杩愯鏃堕棿锛�"+ duration +"姣");
+                        }else{
+                            break;
+                        }
                     }else{
                         break;
                     }
@@ -301,4 +318,26 @@
     public void deleteApsProcessRoute() {
         apsWorkOrderProcessMapper.deleteApsProcessRoute();
     }
+
+    @Override
+    public boolean retryRequestWorkOrderProcessByLogId(Long id) {
+        try {
+            ApsWorkOrderJobLog apsWorkOrderJobLog = apsWorkOrderJobLogMapper.selectApsWorkOrderJobLogById(id);
+            JSONObject requestBodyJson = JSONObject.parseObject(apsWorkOrderJobLog.getRequestData());
+            JSONArray docListArray = requestBodyJson.getJSONArray("DocList");
+            List<String> docNos = new ArrayList<>();
+            for (int i = 0; i < docListArray.size(); i++) {
+                if(docListArray.getString(i)!=null){
+                    docNos.add(docListArray.getString(i));
+                }
+            }
+            if(!docNos.isEmpty()){
+                getWorkOrderProcessFromU9(docNos);
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            return false;
+        }
+        return true;
+    }
 }

--
Gitblit v1.9.3