From f3500be4dc1af8c567388e6fa3a3ceb8bbc96637 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 30 十二月 2025 19:06:22 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/service/impl/MainServiceImpl.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java
index 91d91dd..d5a3d3c 100644
--- a/src/main/java/com/zy/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java
@@ -88,6 +88,9 @@
     private BasRgvMapService basRgvMapService;
 
     @Resource
+    private BasDevpMapper basDevpMapper;
+
+    @Resource
     private BasDevpErrLogService basDevpErrLogService;
 
     @Value("${wms.url}")
@@ -152,7 +155,7 @@
                     back = true;
                 }
                 // 閫�鍥�
-                if (back && staProtocol.getWorkNo() == 9999 && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) {
+                if (back && (staProtocol.getWorkNo() == 9999 || staProtocol.getWorkNo() == 9998)  && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.isPakMk()) {
                     MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg));
                     staProtocol.setWorkNo(wrkNo);
                     News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo);
@@ -614,6 +617,10 @@
                 if (wrkMastMapper.updateById(wrkMast) == 0) {
                     News.error(""+mark+" - 1"+" - 17"+" - 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.鍚婅溅鍏ュ簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo());
                 }
+                // 鍏ュ簱鏆傚瓨鏁�-1
+                int sourceStaNo = wrkMast.getSourceStaNo();
+                sourceStaNo = (sourceStaNo > 1024) ? sourceStaNo + 1 : sourceStaNo - 1;
+                basDevpMapper.decrementInQty(sourceStaNo);
             }
         }
         News.infoNoLog(""+mark+" - 1"+" - 0"+" - 鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂 锛� 鍏ュ簱鎵ц瀹屾瘯");
@@ -1061,7 +1068,7 @@
 
                             // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
                             staProtocol.setWorkNo(dto.getWorkNo());
-                            staProtocol.setStaNo(staProtocol.getSiteId().shortValue());
+                            staProtocol.setStaNo(dto.getStaNo().shortValue());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             log.error("杈撻�佺嚎涓嬪彂6锛�"+dto.getWorkNo()+","+staProtocol.getSiteId());
@@ -1421,6 +1428,22 @@
         }
     }
 
+    public synchronized void forwardAGVInTasks() {
+        List<Integer> workNos = new ArrayList<>();
+        for (DevpSlave devp : slaveProperties.getDevp()) {
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
+            for (DevpSlave.Sta agvSta : devp.getOutSta()) {
+                StaProtocol staProtocol = devpThread.getStation().get(agvSta.getStaNo());
+                if (staProtocol != null && staProtocol.getWorkNo() != 0) {
+                    workNos.add(staProtocol.getWorkNo());
+                }
+            }
+        }
+        if (!workNos.isEmpty()) {
+            wrkMastMapper.updateCallAgvBatch(workNos);
+        }
+    }
+
     /**
      * 鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)
      * tip锛氬悓姝�

--
Gitblit v1.9.1