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/asrs/task/WrkMastScheduler.java |   40 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 38 insertions(+), 2 deletions(-)

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;
+            }
+        }
+    }
+
 }

--
Gitblit v1.9.1