From 392c7dd497d89db3bea0775c640f33c1293fde75 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期二, 24 六月 2025 20:33:35 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/CrnController.java | 178 +++++++++++++++++++++++++++++++---------------------------- 1 files changed, 93 insertions(+), 85 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java index 4b5edf5..26e6aa5 100644 --- a/src/main/java/com/zy/asrs/controller/CrnController.java +++ b/src/main/java/com/zy/asrs/controller/CrnController.java @@ -26,7 +26,6 @@ import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; import com.zy.core.cache.SlaveConnection; -import com.zy.core.enums.CrnLiftPosType; import com.zy.core.enums.CrnModeType; import com.zy.core.enums.CrnTaskModeType; import com.zy.core.enums.SlaveType; @@ -38,12 +37,15 @@ import com.zy.core.properties.SystemProperties; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 鍫嗗灈鏈烘帴鍙� @@ -115,42 +117,20 @@ continue; } vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� -// if (crnProtocol.getTaskNo()>0) { -// WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); -// if (wrkMast != null) { -// vo.setStatusType(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵�� -// } -// } else { -// -// } vo.setStatusType(crnProtocol.modeType.desc); // 妯″紡鐘舵�� - if (crnProtocol.getTaskFinish() == 1) { - vo.setStatus("绛夊緟纭"); - } else { - vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵�� - } + vo.setStatus(crnProtocol.getStatusType().desc); // 鐘舵�� vo.setLoading(crnProtocol.getLoaded()==1?"鏈夌墿":"鏃犵墿"); // 鏈夌墿 vo.setBay(crnProtocol.getBay()); // 鍒� vo.setLev(crnProtocol.getLevel()); // 灞� - vo.setLiftPos(crnProtocol.getLiftPosType().desc); - if (crnProtocol.getPlatformHigh()) { - vo.setSitePos("绔欏彴楂樹綅"); - } - if (crnProtocol.getPlatformLow()) { - vo.setSitePos("绔欏彴楂樹綅"); - } -// vo.setXOrigin(crnProtocol.getBay()==1?"鏄�":"鍚�"); // 璧拌鍘熺偣 -// vo.setYOrigin(crnProtocol.getLevel()==1?"鏄�":"鍚�"); // 鍗囬檷鍘熺偣 - vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 - vo.setXLocation(crnProtocol.getWalkPos() == 1?"鏄�":"鍚�"); // 璧拌瀹氫綅 - vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"鍚�":"鏄�"); // 鍗囬檷瀹氫綅 -// vo.setStop(crnProtocol.getCrnError1().controlStop||crnProtocol.getCrnError1().mainStop||crnProtocol.getCrnError1().remoteStop?"鏄�":"鍚�"); // 鎬ュ仠 - vo.setAlarm1(String.valueOf(crnProtocol.getAlarm1())); - vo.setAlarm2(String.valueOf(crnProtocol.getAlarm2())); - vo.setAlarm3(String.valueOf(crnProtocol.getAlarm3())); - vo.setAlarm4(String.valueOf(crnProtocol.getAlarm4())); -// vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); // 寮傚父鐮� + vo.setForkOffset(crnProtocol.getForkPosType().desc); // 璐у弶浣嶇疆 + vo.setLiftPos(crnProtocol.getLiftPosType().desc); + vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�"); + 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(list); } @@ -176,10 +156,6 @@ } vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙� - BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); - if (null != crnError) { - vo.setError(crnError.getErrName()); - } if (crnProtocol.getTaskNo()>0) { WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo()); if (wrkMast != null) { @@ -216,6 +192,20 @@ return R.ok().add(str.toString()); } + + @GetMapping("/demo/status") + public R demoStatus(){ + List<Map<String, Object>> res = new ArrayList<>(); + for (CrnSlave crnSlave : slaveProperties.getCrn()) { + Map<String, Object> map = new HashMap<>(); + map.put("crnNo", crnSlave.getId()); + map.put("demo", crnSlave.getDemo()); + res.add(map); + } + return R.ok().add(res); + } + + @PostMapping("/demo/switch") @ManagerAuth(memo = "鍫嗗灈鏈烘紨绀�") public R crnDemo(CrnDemoParam param) throws InterruptedException { @@ -229,9 +219,15 @@ return R.error("鍙d护閿欒"); } Thread.sleep(200L); - mainService.crnDemoOfLocMove(param.getCrnId()); + for (CrnSlave crnSlave : slaveProperties.getCrn()) { + if (crnSlave.getId().equals(param.getCrnId())) { + crnSlave.setDemo(param.getOpt()); + } + } +// mainService.crnDemoOfLocMove(param.getCrnId()); return R.ok(); } + /****************************************************************/ @@ -301,7 +297,7 @@ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskMode(CrnTaskModeType.SITE_MOVE); // 浠诲姟妯″紡 + command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡 command.setSourcePosX(param.getSourceStaNo()); // 婧愬簱浣嶆帓 command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪 command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰 @@ -311,57 +307,58 @@ return crnControl(command)?R.ok():R.error(); } - @ManagerAuth(memo = "鍥炲師鐐�") - @PostMapping("/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(); - } - - @ManagerAuth(memo = "鍙嶅師鐐�") - @PostMapping("/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(); - } - -// @ManagerAuth(memo = "鍧愭爣绉诲姩") -// @PostMapping("/operator/coorMove") -// public R crnCoorMove(CrnOperatorParam param){ +// @ManagerAuth(memo = "鍥炲師鐐�") +// @PostMapping("/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.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()); // 鐩爣搴撲綅灞� -// staNoProcess(param, command); +// 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(); // } + +// @ManagerAuth(memo = "鍙嶅師鐐�") +// @PostMapping("/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(); +// } + + @ManagerAuth(memo = "鍧愭爣绉诲姩") + @PostMapping("/operator/crnMove") + public R crnCoorMove(CrnOperatorParam param){ + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 9999); // 宸ヤ綔鍙� + command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(CrnTaskModeType.CRN_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()); // 鐩爣搴撲綅灞� + staNoProcess(param, command); + + return crnControl(command)?R.ok():R.error(); + } @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/operator/taskComplete") @@ -398,8 +395,18 @@ if (param.getCrnNo() == null) { throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�"); } - MessageQueue.clear(SlaveType.Crn, param.getCrnNo()); - return R.ok("娓呴櫎鍛戒护鎴愬姛"); + 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(); } @ManagerAuth(memo = "鎵嬪姩澶嶄綅") @@ -424,6 +431,7 @@ crnCommand.setCrnNo(crn.getId()); // 鍫嗗灈鏈虹紪鍙� crnCommand.setTaskMode(CrnTaskModeType.CLEAR); crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� Thread.sleep(1000L); if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) { -- Gitblit v1.9.1