From a337569893db242c78a3208a84c3e5e801791c0a Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 03 三月 2026 09:53:54 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |    1 +
 src/main/resources/docs/WCS外部HTTP API接口V1.7.docx                |    0 
 src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java       |    1 +
 src/main/java/com/zy/asrs/task/WrkMastScheduler.java            |   40 ++++++++++++++++++++++++++++++++++++++--
 src/main/resources/application.yml                              |    2 +-
 5 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
index 25b9419..5f8ec1d 100644
--- a/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
+++ b/src/main/java/com/zy/asrs/domain/enums/NotifyMsgType.java
@@ -20,6 +20,7 @@
     DUAL_CRN_TRANSFER_TASK_COMPLETE("dual_crn_transfer_task_complete", "鍙屽伐浣嶅爢鍨涙満绉诲簱浠诲姟鎵ц瀹屾垚"),
 
     STATION_OUT_TASK_RUN("station_out_task_run","杈撻�佺珯鐐瑰嚭搴撲换鍔¤繍琛屼腑"),
+    STATION_OUT_TASK_RUN_COMPLETE("station_out_task_run_complete","杈撻�佺珯鐐瑰嚭搴撲换鍔¤繍琛屽畬鎴�"),
     ;
 
     public String flag;
diff --git a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
index 707d3b9..9f2a2bd 100644
--- a/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WrkMastScheduler.java
@@ -95,8 +95,8 @@
                 continue;
             }
 
-            if (!locMast.getLocSts().equals("R")) {
-                log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬R", wrkMast.getWrkNo());
+            if (!(locMast.getLocSts().equals("R") || locMast.getLocSts().equals("O"))) {
+                log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬R or O", wrkMast.getWrkNo());
                 continue;
             }
 
@@ -237,4 +237,40 @@
         }
     }
 
+    @Scheduled(cron = "0/1 * * * * ? ")
+    @Transactional
+    public void processOutStationRun(){
+        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", WrkStsType.STATION_RUN.sts));
+        if (wrkMasts.isEmpty()) {
+            return;
+        }
+
+        for (WrkMast wrkMast : wrkMasts) {
+            String locNo = wrkMast.getSourceLocNo();
+            LocMast locMast = locMastService.queryByLoc(locNo);
+            if (locMast == null) {
+                log.info("[workNo={}]搴撲綅涓嶅瓨鍦�", wrkMast.getWrkNo());
+                continue;
+            }
+
+            if (locMast.getLocSts().equals("O")) {
+                continue;
+            }
+
+            if (!locMast.getLocSts().equals("R")) {
+                log.info("[workNo={}]搴撲綅鐘舵�佷笉澶勪簬R", wrkMast.getWrkNo());
+                continue;
+            }
+
+            locMast.setLocSts("O");
+            locMast.setBarcode("");
+            locMast.setModiTime(new Date());
+            boolean result = locMastService.updateById(locMast);
+            if (!result) {
+                log.info("[workNo={}]搴撲綅鐘舵�丱鏇存柊澶辫触", wrkMast.getWrkNo());
+                continue;
+            }
+        }
+    }
+
 }
diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 1e8058c..dffc379 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -302,6 +302,7 @@
                     wrkMast.setWrkSts(WrkStsType.STATION_RUN_COMPLETE.sts);
                     wrkMast.setIoTime(new Date());
                     wrkMastService.updateById(wrkMast);
+                    notifyUtils.notify(String.valueOf(SlaveType.Devp), basStation.getDeviceNo(), String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.STATION_OUT_TASK_RUN_COMPLETE, null);
                     redisUtil.set(RedisKeyType.STATION_OUT_EXECUTE_COMPLETE_LIMIT.key + wrkMast.getWrkNo(), "lock", 60);
                 }
             }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 540bd1c..fe77635 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,6 +1,6 @@
 # 绯荤粺鐗堟湰淇℃伅
 app:
-  version: 1.0.4.1
+  version: 1.0.4.2
   version-type: dev  # prd 鎴� dev
 
 server:
diff --git "a/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.7.docx" "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.7.docx"
index c6aa49d..26e5cac 100644
--- "a/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.7.docx"
+++ "b/src/main/resources/docs/WCS\345\244\226\351\203\250HTTP API\346\216\245\345\217\243V1.7.docx"
Binary files differ

--
Gitblit v1.9.1