From c2652b7c1d372b26020063132642ce06184960f8 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期三, 19 八月 2020 10:06:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/CrnController.java | 83 ++++++++++++++++++++++++++++++----------- 1 files changed, 61 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index ee847a6..28e4358 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -31,7 +31,6 @@ import java.util.ArrayList; import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; /** * 鍫嗗灈鏈烘帴鍙� @@ -41,7 +40,7 @@ @RestController @RequestMapping("/crn") public class CrnController { - private static AtomicInteger integer = new AtomicInteger(); + @Autowired private SlaveProperties slaveProperties; @Autowired @@ -156,11 +155,10 @@ StringBuilder str = new StringBuilder(); String s; int i = 0; - while( (s = OutputQueue.CRN.poll()) != null && i <=10) { + while((s = OutputQueue.CRN.poll()) != null && i <=10) { str.append("\n").append(s); i++; } -// str = new StringBuilder("\n" + new Date().toLocaleString() + "銆�2020-5-29 13:14:22銆戞壂鎻弍lcA 鐩爣绔�--273283723728327636432343234323422732837237283276364323432343234227328372372832763643234323432342"); return R.ok().add(str.toString()); } @@ -237,23 +235,6 @@ return crnControl(command)?R.ok():R.error(); } - @ManagerAuth(memo = "鍧愭爣绉诲姩") - @PostMapping("/operator/coorMove") - public R crnCoorMove(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); - } - @ManagerAuth(memo = "鍥炲師鐐�") @PostMapping("/operator/bacOrigin") public R crnBacOrigin(CrnOperatorParam param){ @@ -267,7 +248,7 @@ command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞� + command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� return crnControl(command)?R.ok():R.error(); } @@ -285,6 +266,23 @@ command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 34); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 5); // 鐩爣搴撲綅灞� + return crnControl(command)?R.ok():R.error(); + } + + @ManagerAuth(memo = "鍧愭爣绉诲姩") + @PostMapping("/operator/coorMove") + public R crnCoorMove(CrnOperatorParam param){ + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(CrnTaskModeType.OFFSET_MOVE); // 浠诲姟妯″紡 + command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� return crnControl(command)?R.ok():R.error(); } @@ -327,6 +325,47 @@ return R.ok("娓呴櫎鍛戒护鎴愬姛"); } + @ManagerAuth(memo = "鎵嬪姩澶嶄綅") + @PostMapping("/operator/handleReset") + public R handleReset(CrnOperatorParam param) throws Exception { + if (param.getCrnNo() == null) { + throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); + } + // 鑾峰彇鍫嗗灈鏈虹紦瀛� + for (CrnSlave crn : slaveProperties.getCrn()) { + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + if (param.getCrnNo().equals(crn.getId())) { + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId()); + if (crnThread == null) { + throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎"); + } + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ嚎"); + } + // 鍙湁鍑虹幇鎸囧畾寮傚父鎵嶈繘琛屽浣� + if (crnProtocol.getCrnError2().leftTakeNoneErr + || crnProtocol.getCrnError2().rightTakeNoneErr + || crnProtocol.getCrnError2().leftPutLoadErr + || crnProtocol.getCrnError2().rightPutLoadErr) { + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 + // 寤舵椂鍙戦�� + Thread.sleep(3000L); + if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + } + } + } + + return R.error(); + } + private boolean crnControl(CrnCommand command){ if (command.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); -- Gitblit v1.9.1