From 882d2ee2d9a35bf02e5fbb11a79c3abffe9cfe61 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 21 三月 2024 16:43:38 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/RgvController.java |  135 ++++++++++++++++++++++++++-------------------
 1 files changed, 78 insertions(+), 57 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 5e1fc13..493a8d7 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -5,6 +5,7 @@
 import com.core.common.R;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.RgvStatusType;
+import com.zy.asrs.domain.param.CrnOperatorParam;
 import com.zy.asrs.domain.param.RgvOperatorParam;
 import com.zy.asrs.domain.vo.RgvMsgTableVo;
 import com.zy.asrs.domain.vo.RgvStateTableVo;
@@ -16,15 +17,20 @@
 import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.core.CrnThread;
+import com.zy.core.RgvThread;
 import com.zy.core.cache.MessageQueue;
 import com.zy.core.cache.OutputQueue;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.RgvModeType;
 import com.zy.core.enums.RgvTaskModeType;
 import com.zy.core.enums.SlaveType;
+import com.zy.core.model.CrnSlave;
 import com.zy.core.model.RgvSlave;
 import com.zy.core.model.Task;
+import com.zy.core.model.command.CrnCommand;
 import com.zy.core.model.command.RgvCommand;
+import com.zy.core.model.protocol.CrnProtocol;
 import com.zy.core.model.protocol.RgvProtocol;
 import com.zy.core.properties.SlaveProperties;
 import com.zy.core.thread.SiemensRgvThread;
@@ -58,6 +64,78 @@
     private MainServiceImpl mainService;
     @Autowired
     private LocMastService locMastService;
+
+
+    @ManagerAuth(memo = "澶嶄綅")
+    @PostMapping("/operator/reset")
+    public R crnReset(RgvOperatorParam param){
+        RgvCommand command = new RgvCommand();
+        command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setReset(true);
+        return rgvControl2(command)?R.ok():R.error();
+    }
+    @ManagerAuth(memo = "鑱旀満")
+    @PostMapping("/operator/auto")
+    public R crnAuto(RgvOperatorParam param){
+        RgvCommand command = new RgvCommand();
+        command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setAuto(true);
+        return rgvControl2(command)?R.ok():R.error();
+    }
+    @ManagerAuth(memo = "鎭㈠浠诲姟")
+    @PostMapping("/operator/restoreTask")
+    public R crnRestoreTask(RgvOperatorParam param){
+        RgvCommand command = new RgvCommand();
+        command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setRestoreTask(true);
+        return rgvControl2(command)?R.ok():R.error();
+    }
+    @ManagerAuth(memo = "瀹屾垚浠诲姟")
+    @PostMapping("/operator/compTask")
+    public R rgvCompTask(RgvOperatorParam param){
+        RgvCommand command = new RgvCommand();
+        command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setCompTask(true);
+        return rgvControl2(command)?R.ok():R.error();
+    }
+    @ManagerAuth(memo = "鎬ュ仠")
+    @PostMapping("/operator/stop")
+    public R rgvStop(RgvOperatorParam param){
+        RgvCommand command = new RgvCommand();
+        command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+        command.setStop(true);
+        return rgvControl2(command)?R.ok():R.error();
+    }
+
+    private boolean rgvControl2(RgvCommand command){
+        if (command.getRgvNo() == null) {
+            throw new CoolException("璇烽�夋嫨RGV");
+        }
+        for (RgvSlave rgv : slaveProperties.getRgv()) {
+            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+            if (command.getRgvNo().equals(rgv.getId())) {
+                SiemensRgvThread rgvThread = (SiemensRgvThread) 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 (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
+                if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) {
+                    return true;
+                } else {
+                    throw new CoolException("鍛戒护涓嬪彂澶辫触");
+                }
+//                } else {
+//                    throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
+//                }
+            }
+        }
+        return false;
+    }
 
     @PostMapping("/table/rgv/state")
     @ManagerAuth(memo = "RGV淇℃伅琛�")
@@ -157,65 +235,8 @@
     /************************** 鎵嬪姩鎿嶄綔 ******************************/
     /****************************************************************/
 
-    @ManagerAuth(memo = "鍙栨斁璐�")
-    @PostMapping("/operator/put")
-    public R rgvFetchPut(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-//        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-//        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-//        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-//        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-//        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
 
-        return rgvControl(command)? R.ok(): R.error();
-    }
 
-    @ManagerAuth(memo = "鍙栬揣")
-    @PostMapping("/operator/take")
-    public R rgvFetch(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栬揣
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
-
-        return rgvControl(command)? R.ok(): R.error();
-    }
-
-    @ManagerAuth(memo = "鏀捐揣")
-    @PostMapping("/operator/stockMove")
-    public R rgvPut(RgvOperatorParam param){
-        RgvCommand command = new RgvCommand();
-        command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
-        command.setAckFinish1((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode1(RgvTaskModeType.PUT); // 浠诲姟妯″紡: 鏀捐揣
-        command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
-        command.setDestinationStaNo1(param.getStaNo1());  // 鐩爣绔�
-        command.setAckFinish2((short) 0);  // 浠诲姟瀹屾垚纭浣�
-        command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
-        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
-        command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-        command.setDestinationStaNo2(param.getStaNo2());  // 鐩爣绔�
-        command.setCommand((short) 0);
-
-        return rgvControl(command)? R.ok(): R.error();
-    }
 
     @ManagerAuth(memo = "浠诲姟瀹屾垚")
     @PostMapping("/operator/taskComplete")

--
Gitblit v1.9.1