From 1999452f6faf5dc357defdf9bcd395059a10059a Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期三, 03 九月 2025 17:12:51 +0800
Subject: [PATCH] 新增agv自动入库

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index bcaa71b..1f96e45 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -68,7 +68,7 @@
     @Autowired
     private WrkDetlService wrkDetlService;
     @Autowired
-    private WaitPakinMapper waitPakinMapper;
+    private WaitPakinService waitPakinService;
     @Autowired
     private LocMastService locMastService;
     @Autowired
@@ -2065,5 +2065,62 @@
         }
     }
 
+    /**
+     * agv瀹屾垚鍏ュ簱浠诲姟锛岀粰杈撻�佺嚎涓嬪彂鍏ュ簱浠诲姟
+     * agv鐘舵��
+     * be_batch
+     * 0锛氭棤闇�璋冪敤AGV
+     * 1锛氱瓑寰呰皟鐢ˋGV
+     * 2锛欰GV浠诲姟涓嬪彂鎴愬姛
+     * 3锛欰GV浠诲姟瀹屾垚
+     * 4锛氱粰杈撻�佺嚎涓嬪彂鍏ュ簱鎸囦护瀹屾垚
+     */
+    public synchronized void overAGVTaskIn() {
+        int[] inStaNos= {101,103,105};
+        for (int inStaNo : inStaNos) {
+            // 鑾峰彇鍏ュ簱绔欎俊鎭�
+            SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            StaProtocol staProtocol = devpThread.getStation().get(inStaNo);
+            if (staProtocol == null) {
+                continue;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+
+            // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢
+            if (staProtocol.isAutoing() && staProtocol.isLoading()
+                    && staProtocol.isInEnable()
+                    && !staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0){// && !Cools.isEmpty(barcode)) {
+                //鑾峰彇AGV鎼繍瀹屾垚鐨勫叆搴撻�氱煡妗�
+                WaitPakin waitPakin = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
+                        .eq("memo", staProtocol.getSiteId())
+                        .eq("be_batch", 3));
+                if(Cools.isEmpty(waitPakin)){
+                    return;
+                }
+                short staNo = 0;
+                if(staProtocol.getSiteId()==101){
+                    staNo=102;
+                }else if(staProtocol.getSiteId()==103){
+                    staNo=104;
+                }else if(staProtocol.getSiteId()==105){
+                    staNo=106;
+                }
+                staProtocol.setWorkNo((short) 9991);
+                staProtocol.setStaNo(staNo);
+                devpThread.setPakMk(staProtocol.getSiteId(), false);
+                boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol));
+                if (!result) {
+                    throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触");
+                }else {
+                    waitPakin.setBeBatch(4);//4锛氱粰杈撻�佺嚎涓嬪彂鍏ュ簱鎸囦护瀹屾垚
+                    waitPakinService.updateById(waitPakin);
+                }
+
+            }
+        }
+
+    }
+
 
 }

--
Gitblit v1.9.1