From 68242c8f3acc051368eeb1246b2fb6327a783bfc Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 04 十一月 2025 09:05:39 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/RgvController.java |   59 +++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 45 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index bbebddf..98f3848 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,8 +11,10 @@
 import com.zy.asrs.domain.vo.RgvStateTableVo;
 import com.zy.asrs.entity.BasRgv;
 import com.zy.asrs.entity.BasRgvErr;
+import com.zy.asrs.entity.BasRgvMap;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.mapper.BasRgvMapMapper;
 import com.zy.asrs.service.BasRgvService;
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WrkMastService;
@@ -62,7 +64,8 @@
     private MainServiceImpl mainService;
     @Autowired
     private LocMastService locMastService;
-
+    @Autowired
+    private BasRgvMapMapper basRgvMapMapper;
     @ManagerAuth(memo = "瑙i攣灏忚溅")
     @PostMapping("/lock")
     public R lock(CrnOperatorParam param){
@@ -88,16 +91,25 @@
 
             RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
             if (rgvProtocol == null) continue;
+            BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
 
             vo.setStatusType(rgvProtocol.modeType.desc);   // 妯″紡鐘舵��
             vo.setStatus(String.valueOf(rgvProtocol.getMode())); // 鐘舵��
             vo.setWorkNo1(rgvProtocol.getTaskNo1());      // 宸ヤ綅1浠诲姟鍙�
             vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
             vo.setLoading1(rgvProtocol.getLoaded1() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅1鏈夌墿
-            vo.setRgvPos(rgvProtocol.getRgvPos());
+            vo.setRgvPos(basRgvMap != null?basRgvMap.getNowRoute():0);
             vo.setRgvPos1(rgvProtocol.getRgvPosI2());
             vo.setWalkPos(Objects.equals(rgvProtocol.getWalkPos(), 1) ? "鍦ㄥ畾浣�" : "涓嶅湪瀹氫綅");
             vo.setPakMk(rgvThread.isPakMk() ? "鏃犻攣" : "閿佸畾");
+//            vo.setPakIn(rgvThread.isPakIn() ? "鍙叆" : "涓嶅彲鍏�");
+//            vo.setPakOut(rgvThread.isPakOut() ? "鍙嚭" : "涓嶅彲鍑�");
+//            vo.setPakRgv(rgvThread.isPakRgv() ? "鏃犻攣" : "閿佸畾");
+            vo.setPaking(rgvThread.isPaking()? "鏃犻攣" : "閿佸畾");
+//            vo.setPakAll(rgvThread.isPakAll() ? "鏃犻攣" : "閿佸畾");
+//            vo.setPakToCrn(rgvThread.isPakToCrn() ? "鏃犻攣" : "閿佸畾");
+
+
             vo.setWorkNo2(rgvProtocol.getTaskNo2());      // 宸ヤ綅2浠诲姟鍙�
 //            vo.setStatus2(rgvProtocol.getStatusType2().desc); // 宸ヤ綅2鐘舵��
             vo.setLoading2(rgvProtocol.getLoaded2() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅2鏈夌墿
@@ -271,19 +283,12 @@
         }
         RgvCommand command = new RgvCommand();
         command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1(true);  // 浠诲姟瀹屾垚纭浣�
-//        command.setTaskNo1( 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo1((short) 0); // 婧愮珯
-        command.setDestinationStaNo1((short) 0);  // 鐩爣绔�
-        command.setAckFinish2(true);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2(0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
-        command.setSourceStaNo2((short) 0); // 婧愮珯
-        command.setDestinationStaNo2((short) 0);  // 鐩爣绔�
-        command.setCommand(true);
+        command.setWrkTaskPri(0);  //鎵ц宸ヤ綅
+        command.setTaskNo(Math.toIntExact(0)); // 宸ヤ綔鍙�
+        command.setTaskStatus((short)0); // 浠诲姟妯″紡: 鍙栬揣
+        command.setTargetPosition(0);  // 鐩爣绔�
 
-        return rgvControl(command)? R.ok(): R.error();
+        return rgvClear(command)? R.ok(): R.error();
     }
 
     @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
@@ -348,4 +353,30 @@
         return false;
     }
 
+    private boolean rgvClear(RgvCommand command){
+        if (command.getRgvNo() == null) {
+            throw new CoolException("璇烽�夋嫨RGV");
+        }
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            // 鑾峰彇RGV淇℃伅
+            if (command.getRgvNo().equals(rgv.getId())) {
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+                if (rgvThread == null) {
+                    throw new CoolException("RGV涓嶅湪绾�");
+                }
+                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                if (rgvProtocol == null) {
+                    throw new CoolException("RGV涓嶅湪绾�");
+                }
+                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(3, command))) {
+                    return true;
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+            }
+        }
+        return false;
+
+    }
+
 }
\ No newline at end of file

--
Gitblit v1.9.1