From 2534c069e82ec81119eb9f2477075e389dadf625 Mon Sep 17 00:00:00 2001
From: lsh <1>
Date: 星期四, 07 三月 2024 14:24:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 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 046a07a..98efc3c 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -1132,7 +1132,38 @@
         }
     }
 
-    //鑷姩瀹屾垚浠诲姟
+    //agv鍙栨斁璐т换鍔″畬鎴�
+    public synchronized void autoCompleteAGV() {
+        List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>());
+        for (BasDevp basDevp:basDevps){
+            DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+            StaProtocol staProtocol = devpThread.getStation().get(basDevp.getDevNo());
+            if (staProtocol == null) {
+                continue;
+            } else {
+                staProtocol = staProtocol.clone();
+            }
+            if (basDevp.getWrkNo()!=0){
+                if (basDevp.getAgvTargetPick()!=0){//鍙栬揣
+                    staProtocol.setAgvTypeSign((short)0);
+                    staProtocol.setStaNo(basDevp.getDevNo().shortValue());
+                    MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
+                }else if (basDevp.getAgvTargetPlace()!=0){
+                    staProtocol.setAgvTypeSign((short)1);
+                    staProtocol.setStaNo(basDevp.getDevNo().shortValue());
+                    MessageQueue.offer(SlaveType.Devp, 1, new Task(4, staProtocol));
+                }
+            }else {
+                if (basDevp.getAgvTargetPick()!=0){
+                    basDevp.setAgvStartPick(0);
+                    basDevpService.updateById(basDevp);
+                }else if (basDevp.getAgvTargetPlace()!=0){
+                    basDevp.setAgvStartPlace(0);
+                    basDevpService.updateById(basDevp);
+                }
+            }
+        }
+    }
     public synchronized void autoCompleteTask() {
         List<TaskWrk> taskWrks = taskWrkMapper.selectWorkingTask();
         for (TaskWrk taskWrk : taskWrks) {

--
Gitblit v1.9.1