From d3f3d4b309cfb285fcbbc48b91c4046111c7e9cd Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 02 七月 2025 13:45:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/RgvController.java | 104 ++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 73 insertions(+), 31 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 0df3a98..29e0663 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -4,6 +4,7 @@ import com.core.annotations.ManagerAuth; import com.core.common.R; import com.core.exception.CoolException; +import com.zy.asrs.domain.enums.CrnStatusType; import com.zy.asrs.domain.enums.RgvStatusType; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.domain.param.RgvOperatorParam; @@ -11,13 +12,16 @@ import com.zy.asrs.domain.vo.RgvStateTableVo; import com.zy.asrs.entity.BasRgv; import com.zy.asrs.entity.BasRgvErr; +import com.zy.asrs.entity.TaskWrk; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.mapper.BasRgvErrMapper; import com.zy.asrs.service.BasRgvService; import com.zy.asrs.service.LocMastService; +import com.zy.asrs.service.TaskWrkService; 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; @@ -63,41 +67,78 @@ private MainServiceImpl mainService; @Autowired private LocMastService locMastService; + @Autowired + private TaskWrkService taskWrkService; @ManagerAuth(memo = "澶嶄綅") - @PostMapping("/rgv/operator/reset") + @PostMapping("/operator/reset") public R crnReset(RgvOperatorParam param){ - // 绯荤粺杩愯鐘舵�佸垽鏂� -// if (SystemProperties.WCS_RUNNING_STATUS.get()) { -// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�"); -// } - short[] array = new short[9]; RgvCommand command = new RgvCommand(); command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙� command.setReset(true); - - return rgvControl(command)?R.ok():R.error(); + 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 rgvControl(CrnCommand command){ - if (command.getCrnNo() == null) { + @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.getCrnNo().equals(rgv.getId())) { - CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); - if (crnThread == null) { + if (command.getRgvNo().equals(rgv.getId())) { + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId()); + if (rgvThread == null) { throw new CoolException("RGV涓嶅湪绾�"); } - CrnProtocol crnProtocol = crnThread.getCrnProtocol(); - if (crnProtocol == null) { + 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(4, command))) { + if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) { return true; } else { throw new CoolException("鍛戒护涓嬪彂澶辫触"); @@ -132,17 +173,19 @@ 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.setRgvPos(rgvProtocol.getRgvPos()); - vo.setRgvPos1(rgvProtocol.getRgvPosI()); - vo.setWalkPos(rgvProtocol.getWalkPos()==1?"鍦ㄥ畾浣�":"涓嶅湪瀹氫綅"); vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾"); -// vo.setWorkNo2(rgvProtocol.getTaskNo2()); // 宸ヤ綅2浠诲姟鍙� -// vo.setStatus2(rgvProtocol.getStatusType2().desc); // 宸ヤ綅2鐘舵�� -// vo.setLoading2(rgvProtocol.getLoaded2()==1?"鏈夌墿":"鏃犵墿"); // 宸ヤ綅2鏈夌墿 - + vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ"); vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); + if (rgvProtocol.getTaskNo1()>0) { + TaskWrk taskWrk = taskWrkService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + if (taskWrk != null) { + vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯 + vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔� + vo.setBarcode(taskWrk.getBarcode()); + } + } if (rgvProtocol.getAlarm() > 0) { BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName()); @@ -173,13 +216,12 @@ vo.setWorkNo(rgvProtocol.getTaskNo1()); // 浠诲姟鍙� if (rgvProtocol.getTaskNo1()>0) { - WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1()); - if (wrkMast != null) { - vo.setStatus(RgvStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� - vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯 - vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔� - vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣� - vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅 + TaskWrk taskWrk = taskWrkService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + if (taskWrk != null) { + vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵�� + vo.setSourceStaNo(taskWrk.getStartPoint()); // 婧愮珯 + vo.setStaNo(taskWrk.getTargetPoint()); // 鐩爣绔� + vo.setOrigin(taskWrk.getBarcode()); } } else { vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc); // 妯″紡鐘舵�� -- Gitblit v1.9.1