From 04a3dc92f15bbcaaadbca0f2e6b8fb1dcd31e338 Mon Sep 17 00:00:00 2001 From: zwl <1051256694@qq.com> Date: 星期四, 06 三月 2025 13:45:30 +0800 Subject: [PATCH] 堆垛机移库任务下发坐标修改 --- src/main/java/com/zy/asrs/controller/CrnController.java | 142 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 114 insertions(+), 28 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 314a8fa..cbb8c5c 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -130,7 +130,7 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); - vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); + vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); if (crnProtocol.getAlarm() > 0) { BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); @@ -165,9 +165,9 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); - vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); - if (crnProtocol.getAlarm1() > 0) { - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); + vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); + if (crnProtocol.getAlarm() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); } return R.ok().add(vo); @@ -307,9 +307,9 @@ vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 vo.setLiftPos(crnProtocol.getLiftPosType().desc); vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); - vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); - if (crnProtocol.getAlarm1() > 0) { - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); + vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); + if (crnProtocol.getAlarm() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); } vo.setInEnable(basCrnp.getInEnable()); @@ -376,17 +376,21 @@ @ManagerAuth(memo = "鍏ュ簱") @PostMapping("/crn/operator/put") public R crnPut(CrnOperatorParam param){ +// // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡 - command.setSourcePosZ(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosX(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosY(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞� + command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� command.setCommand((short)1); return crnControl(command)?R.ok():R.error(); } @@ -394,46 +398,63 @@ @ManagerAuth(memo = "鍑哄簱") @PostMapping("/crn/operator/take") public R crnTake(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡 - command.setSourcePosZ(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosX(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosY(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞� + command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡 + command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� + command.setCommand((short)1); return crnControl(command)?R.ok():R.error(); } @ManagerAuth(memo = "搴撲綅杞Щ") @PostMapping("/crn/operator/stockMove") public R crnStockMove(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡 - command.setSourcePosZ(param.getSourceRow()); // 婧愬簱浣嶆帓 - command.setSourcePosX(param.getSourceBay()); // 婧愬簱浣嶅垪 - command.setSourcePosY(param.getSourceLev()); // 婧愬簱浣嶅眰 - command.setDestinationPosZ(param.getRow()); // 鐩爣搴撲綅鎺� - command.setDestinationPosX(param.getBay()); // 鐩爣搴撲綅鍒� - command.setDestinationPosY(param.getLev()); // 鐩爣搴撲綅灞� + command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓 + command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪 + command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰 + command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺� + command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒� + command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞� command.setCommand((short)1); LocMast sourceLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getSourcePosX()) .eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ())); LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX()) .eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ())); - VersionUtils.locMoveCheckLocType(sourceLoc, loc); + try { + VersionUtils.locMoveCheckLocType(sourceLoc, loc); + } catch (Exception e) { + throw new RuntimeException(e); + } return crnControl(command)?R.ok():R.error(); } @ManagerAuth(memo = "绔欏埌绔�") @PostMapping("/crn/operator/siteMove") public R crnSiteMove(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -451,6 +472,10 @@ @ManagerAuth(memo = "鍥炲師鐐�") @PostMapping("/crn/operator/bacOrigin") public R crnBacOrigin(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -468,6 +493,10 @@ @ManagerAuth(memo = "鍙嶅師鐐�") @PostMapping("/crn/operator/reverseOrigin") public R reverseOrigin(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -503,6 +532,10 @@ @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/crn/operator/taskComplete") public R crnTaskComplete(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -514,6 +547,7 @@ command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� + command.setCommand((short)0); return crnControl(command)?R.ok():R.error(); } @@ -532,6 +566,10 @@ @ManagerAuth(memo = "娓呴櫎鍛戒护") @PostMapping("/crn/operator/clearCommand") public R crnClearCommand(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -552,6 +590,10 @@ @ManagerAuth(memo = "鎵嬪姩澶嶄綅") @PostMapping("/crn/operator/handleReset") public R handleReset(CrnOperatorParam param) throws Exception { + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -574,7 +616,7 @@ crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� Thread.sleep(1000L); - if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand), false)) { + if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand), false)) { return R.ok(); } else { throw new CoolException("鍛戒护涓嬪彂澶辫触"); @@ -590,6 +632,10 @@ @ManagerAuth(memo = "鍒囨崲鑱旀満妯″紡") @PostMapping("/crn/operator/auto") public R crnAuto(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -601,6 +647,10 @@ @ManagerAuth(memo = "鍒囨崲鍗婃墜鍔ㄦā寮�") @PostMapping("/crn/operator/semiAutomatic") public R crnsemiAutomatic(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -612,6 +662,10 @@ @ManagerAuth(memo = "鍒囨崲鎵嬪姩妯″紡") @PostMapping("/crn/operator/hand") public R onlineWrk1(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -623,6 +677,10 @@ @ManagerAuth(memo = "鐢宠瀹屾垚浠诲姟") @PostMapping("/crn/operator/onlineWrk1") public R onlineWrk2(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -634,6 +692,10 @@ @ManagerAuth(memo = "鐢宠鍙栨秷浠诲姟") @PostMapping("/crn/operator/onlineWrk2") public R onlineWrk3(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -645,6 +707,10 @@ @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟") @PostMapping("/crn/operator/onlineWrk3") public R onlineWrk4(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -656,6 +722,10 @@ @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟") @PostMapping("/crn/operator/onlineWrk4") public R crnHand(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } short[] array = new short[9]; CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� @@ -665,6 +735,22 @@ return crnControl2(command)?R.ok():R.error(); } + @ManagerAuth(memo = "澶嶄綅") + @PostMapping("/crn/operator/reset") + public R crnReset(CrnOperatorParam param){ + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + short[] array = new short[9]; + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setReset((short)1); + + return crnControl2(command)?R.ok():R.error(); + } + private boolean crnControl2(CrnCommand command){ -- Gitblit v1.9.1