From 89b85f6cce4e792385ffde93bbe9e56a1578023c Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 21 五月 2025 10:22:23 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/CrnController.java | 361 ++++++++++++++++++++++++++++++--------------------- 1 files changed, 210 insertions(+), 151 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 3690e3c..5b152d6 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -1,9 +1,7 @@ package com.zy.asrs.controller; -import HslCommunication.Profinet.Siemens.SiemensS7Net; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; -import com.baomidou.mybatisplus.plugins.Page; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; @@ -18,10 +16,9 @@ import com.zy.asrs.entity.*; import com.zy.asrs.mapper.BasCrnErrorMapper; import com.zy.asrs.service.BasCrnpService; -import com.zy.asrs.service.LocMastService; -import com.zy.asrs.service.WrkMastService; -import com.zy.asrs.service.impl.MainServiceImpl; -import com.zy.asrs.utils.VersionUtils; +import com.zy.asrs.service.TaskWrkService; +import com.zy.asrs.utils.CommandUtils; +import com.zy.asrs.utils.CrnOperaUtils; import com.zy.core.CrnThread; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; @@ -52,20 +49,16 @@ @RestController public class CrnController { - - @Autowired private SlaveProperties slaveProperties; - @Autowired - private WrkMastService wrkMastService; @Autowired private BasCrnErrorMapper basCrnErrorMapper; @Autowired private BasCrnpService basCrnpService; @Autowired - private MainServiceImpl mainService; + private CrnOperaUtils crnOperaUtils; @Autowired - private LocMastService locMastService; + private TaskWrkService taskWrkService; @ManagerAuth(memo = "杩涜涓殑鍛戒护") @@ -125,8 +118,8 @@ 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()); + if (crnProtocol.getAlarm() > 0) { + BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName()); } } @@ -189,13 +182,13 @@ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� if (crnProtocol.getTaskNo()>0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 - vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� - vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� - vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk != null) { + vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(null); // 婧愮珯 + vo.setStaNo(null); // 鐩爣绔� + vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣� + vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅 } } else { vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� @@ -230,13 +223,13 @@ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� if (crnProtocol.getTaskNo()>0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 - vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� - vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� - vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk != null) { + vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(null); // 婧愮珯 + vo.setStaNo(null); // 鐩爣绔� + vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣� + vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅 } } else { vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� @@ -273,13 +266,13 @@ vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� if (crnProtocol.getTaskNo()>0) { - WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); - if (wrkMast != null) { - vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 - vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� - vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� - vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue()); + if (taskWrk != null) { + vo.setDeviceStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(null); // 婧愮珯 + vo.setStaNo(null); // 鐩爣绔� + vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣� + vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅 } } else { vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵�� @@ -370,108 +363,76 @@ @ManagerAuth(memo = "鍏ュ簱") @PostMapping("/crn/operator/put") public R crnPut(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - 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()); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); +// // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } +// command.setCommand((short)1); + + boolean result = crnOperaUtils.crnPut(param); + return result ? R.ok() : R.error(); } @ManagerAuth(memo = "鍑哄簱") @PostMapping("/crn/operator/take") public R crnTake(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡 - 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(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } +// command.setCommand((short)1); + + boolean result = crnOperaUtils.crnTake(param); + return result ? R.ok() : R.error(); } @ManagerAuth(memo = "搴撲綅杞Щ") @PostMapping("/crn/operator/stockMove") public R crnStockMove(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.LOC_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()); // 鐩爣搴撲綅灞� - 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); - return crnControl(command)?R.ok():R.error(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } +// command.setCommand((short)1); + + boolean result = crnOperaUtils.crnStockMove(param); + return result ? R.ok() : R.error(); } @ManagerAuth(memo = "绔欏埌绔�") @PostMapping("/crn/operator/siteMove") public R crnSiteMove(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡 - command.setSourcePosX(param.getSourceStaNo()); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 - command.setDestinationPosX(param.getStaNo()); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + + boolean result = crnOperaUtils.crnSiteMove(param); + return result ? R.ok() : R.error(); } @ManagerAuth(memo = "鍥炲師鐐�") @PostMapping("/crn/operator/bacOrigin") public R crnBacOrigin(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + + boolean result = crnOperaUtils.crnBacOrigin(param); + return result ? R.ok() : R.error(); } @ManagerAuth(memo = "鍙嶅師鐐�") @PostMapping("/crn/operator/reverseOrigin") public R reverseOrigin(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 34); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 5); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + + boolean result = crnOperaUtils.reverseOrigin(param); + return result ? R.ok() : R.error(); } // @ManagerAuth(memo = "鍧愭爣绉诲姩") @@ -495,18 +456,12 @@ @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/crn/operator/taskComplete") public R crnTaskComplete(CrnOperatorParam param){ - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + // 绯荤粺杩愯鐘舵�佸垽鏂� +// if (SystemProperties.WCS_RUNNING_STATUS.get()) { +// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); +// } + boolean result = crnOperaUtils.crnTaskComplete(param.getCrnNo()); + return result ? R.ok() : R.error(); } // @ManagerAuth(memo = "鏆傚仠") @@ -524,26 +479,25 @@ @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("璇烽�夋嫨鍫嗗灈鏈�"); } - CrnCommand command = new CrnCommand(); - command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - command.setTaskNo((short) 0); // 宸ヤ綔鍙� - command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡 - command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 - command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 - command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰 - command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺� - command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒� - command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞� - return crnControl(command)?R.ok():R.error(); + + boolean result = crnOperaUtils.crnClearCommand(param); + return result ? R.ok() : R.error(); } @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("璇烽�夋嫨鍫嗗灈鏈�"); } @@ -566,7 +520,7 @@ crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� Thread.sleep(1000L); - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) { + if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand), false)) { return R.ok(); } else { throw new CoolException("鍛戒护涓嬪彂澶辫触"); @@ -582,22 +536,127 @@ @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()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� -// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� -// 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.setAuto((short)1); return crnControl2(command)?R.ok():R.error(); } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAuto((short)2); + + return crnControl2(command)?R.ok():R.error(); + } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAuto((short)3); + + return crnControl2(command)?R.ok():R.error(); + } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk1((short)1); + + return crnControl2(command)?R.ok():R.error(); + } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk2((short)1); + + return crnControl2(command)?R.ok():R.error(); + } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk3((short)1); + + return crnControl2(command)?R.ok():R.error(); + } + @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()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setOnlineWrk4((short)1); + + 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){ if (command.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); @@ -615,7 +674,7 @@ } // 绌洪棽鍒ゆ柇 // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(4, command))) { + if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(4, command), false)) { return true; } else { throw new CoolException("鍛戒护涓嬪彂澶辫触"); @@ -649,11 +708,11 @@ } // 绌洪棽鍒ゆ柇 // if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) { - if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) { - return true; - } else { - throw new CoolException("鍛戒护涓嬪彂澶辫触"); - } + if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(2, command), false)) { + return true; + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } // } else { // throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�"); // } -- Gitblit v1.9.1