From 3adcbff31fdece77269744c8741f237e7a57348e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期日, 22 三月 2026 17:17:58 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |   23 +++++++++++++++++------
 1 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 550ad32..f988dd1 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -70,6 +70,8 @@
     private BasStationOptService basStationOptService;
     @Autowired
     private StationTaskLoopService stationTaskLoopService;
+    @Autowired
+    private WrkAnalysisService wrkAnalysisService;
 
     //鎵ц杈撻�佺珯鐐瑰叆搴撲换鍔�
     public synchronized void stationInExecute() {
@@ -115,7 +117,7 @@
                             continue;
                         }
 
-                        if (wrkMast.getWrkSts() == WrkStsType.INBOUND_DEVICE_RUN.sts) {
+                        if (!Objects.equals(wrkMast.getWrkSts(), WrkStsType.NEW_INBOUND.sts)) {
                             continue;
                         }
 
@@ -145,12 +147,15 @@
                             continue;
                         }
 
-                        wrkMast.setWrkSts(WrkStsType.INBOUND_DEVICE_RUN.sts);
+                        Date now = new Date();
+                        wrkMast.setWrkSts(WrkStsType.INBOUND_STATION_RUN.sts);
                         wrkMast.setSourceStaNo(stationProtocol.getStationId());
                         wrkMast.setStaNo(targetStationId);
                         wrkMast.setSystemMsg("");
-                        wrkMast.setIoTime(new Date());
+                        wrkMast.setIoTime(now);
+                        wrkMast.setModiTime(now);
                         if (wrkMastService.updateById(wrkMast)) {
+                            wrkAnalysisService.markInboundStationStart(wrkMast, now);
                             MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
                             News.info("杈撻�佺珯鐐瑰叆搴撳懡浠や笅鍙戞垚鍔燂紝绔欑偣鍙�={}锛屽伐浣滃彿={}锛屽懡浠ゆ暟鎹�={}", stationId, wrkMast.getWrkNo(), JSON.toJSONString(command));
                             redisUtil.set(RedisKeyType.STATION_IN_EXECUTE_LIMIT.key + stationId, "lock", 5);
@@ -238,10 +243,13 @@
                         continue;
                     }
 
+                    Date now = new Date();
                     wrkMast.setWrkSts(WrkStsType.STATION_RUN.sts);
                     wrkMast.setSystemMsg("");
-                    wrkMast.setIoTime(new Date());
+                    wrkMast.setIoTime(now);
+                    wrkMast.setModiTime(now);
                     if (wrkMastService.updateById(wrkMast)) {
+                        wrkAnalysisService.markOutboundStationStart(wrkMast, now);
                         MessageQueue.offer(SlaveType.Devp, stationObjModel.getDeviceNo(), new Task(2, command));
                         News.info("杈撻�佺珯鐐瑰嚭搴撳懡浠や笅鍙戞垚鍔燂紝绔欑偣鍙�={}锛屽伐浣滃彿={}锛屽懡浠ゆ暟鎹�={}", stationProtocol.getStationId(), wrkMast.getWrkNo(), JSON.toJSONString(command));
                         redisUtil.set(RedisKeyType.STATION_OUT_EXECUTE_LIMIT.key + stationProtocol.getStationId(), "lock", 5);
@@ -362,9 +370,12 @@
         if (wrkMast == null || wrkMast.getWrkNo() == null) {
             return;
         }
+        Date now = new Date();
         wrkMast.setWrkSts(WrkStsType.STATION_RUN_COMPLETE.sts);
-        wrkMast.setIoTime(new Date());
+        wrkMast.setIoTime(now);
+        wrkMast.setModiTime(now);
         wrkMastService.updateById(wrkMast);
+        wrkAnalysisService.markOutboundStationComplete(wrkMast, now);
         if (deviceNo != null) {
             notifyUtils.notify(String.valueOf(SlaveType.Devp), deviceNo, String.valueOf(wrkMast.getWrkNo()), wrkMast.getWmsWrkNo(), NotifyMsgType.STATION_OUT_TASK_RUN_COMPLETE, null);
         }
@@ -1345,7 +1356,7 @@
         if (Objects.equals(currentStationId, wrkMast.getStaNo())) {
             return false;
         }
-        return Objects.equals(wrkMast.getWrkSts(), WrkStsType.INBOUND_DEVICE_RUN.sts)
+        return Objects.equals(wrkMast.getWrkSts(), WrkStsType.INBOUND_STATION_RUN.sts)
                 || Objects.equals(wrkMast.getWrkSts(), WrkStsType.STATION_RUN.sts);
     }
 

--
Gitblit v1.9.1