From febb08f4bc7bc7fb31f549697f246498d51b6e10 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 25 三月 2024 13:16:17 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/RgvController.java | 152 ++++++++++++++++++++++++++++++--------------------
1 files changed, 91 insertions(+), 61 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..0e53b0a 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;
@@ -59,6 +65,87 @@
@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();
+ }
+
+ @ManagerAuth(memo = "鍙栨秷鎬ュ仠")
+ @PostMapping("/operator/noStop")
+ public R rgvNoStop(RgvOperatorParam param){
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setNoStop(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淇℃伅琛�")
public R rgvStateTable(){
@@ -81,11 +168,11 @@
vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
vo.setStatus(rgvProtocol.getStatusType().desc); // 鐘舵��
vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙�
- vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
- vo.setLoading1(rgvProtocol.getLoaded1()==1?"鏈夌墿":"鏃犵墿"); // 宸ヤ綅1鏈夌墿
+// vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
+// vo.setLoading1(rgvProtocol.getLoaded1()==1?"鏈夌墿":"鏃犵墿"); // 宸ヤ綅1鏈夌墿
vo.setRgvPos(rgvProtocol.getRgvPos());
- vo.setRgvPos1(rgvProtocol.getRgvPosI());
- vo.setWalkPos(rgvProtocol.getWalkPos()==1?"鍦ㄥ畾浣�":"涓嶅湪瀹氫綅");
+// vo.setRgvPos1(rgvProtocol.getRgvPosI());
+// vo.setWalkPos(rgvProtocol.getWalkPos()==1?"鍦ㄥ畾浣�":"涓嶅湪瀹氫綅");
vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
// vo.setWorkNo2(rgvProtocol.getTaskNo2()); // 宸ヤ綅2浠诲姟鍙�
// vo.setStatus2(rgvProtocol.getStatusType2().desc); // 宸ヤ綅2鐘舵��
@@ -157,65 +244,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