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