From e80cb83c601a9a9a0b3db6d848ea605800d22bc7 Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期五, 01 十二月 2023 13:44:39 +0800 Subject: [PATCH] #盘点逻辑 --- src/main/java/com/zy/asrs/controller/CrnController.java | 107 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 68 insertions(+), 39 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..2d23c46 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) { @@ -194,7 +170,7 @@ } vo.setXspeed(crnProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min) vo.setYspeed(crnProtocol.getYSpeed()); // 鍗囬檷閫熷害锛坢/min) - vo.setZspeed(crnProtocol.getZSpeed()); // 鍙夌墮閫熷害锛坢/min) +// vo.setZspeed(crnProtocol.getZSpeed()); // 鍙夌墮閫熷害锛坢/min) vo.setXdistance(crnProtocol.getXDistance()); // 璧拌璺濈(Km) vo.setYdistance(crnProtocol.getYDistance()); // 鍗囬檷璺濈(Km) vo.setXduration(crnProtocol.getXDuration()); // 璧拌鏃堕暱(H) @@ -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(); } + /****************************************************************/ @@ -294,6 +290,23 @@ return crnControl(command)?R.ok():R.error(); } + @ManagerAuth(memo = "绉昏溅") + @PostMapping("/operator/steMove") + public R crnSteMove(CrnOperatorParam param){ + CrnCommand command = new CrnCommand(); + command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� + command.setTaskNo((short) 0); // 宸ヤ綔鍙� + command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + command.setTaskMode(CrnTaskModeType.STE_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(); + } + @ManagerAuth(memo = "绔欏埌绔�") @PostMapping("/operator/siteMove") public R crnSiteMove(CrnOperatorParam param){ @@ -301,7 +314,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); // 婧愬簱浣嶅眰 @@ -366,6 +379,21 @@ @ManagerAuth(memo = "浠诲姟瀹屾垚") @PostMapping("/operator/taskComplete") public R crnTaskComplete(CrnOperatorParam param){ + + // 鑾峰彇鍫嗗灈鏈轰俊鎭� + CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, param.getCrnNo()); + if (crnThread == null) { + return R.error(); + } + CrnProtocol crnProtocol = crnThread.getCrnProtocol(); + if (crnProtocol == null) { + return R.error(); + } + + //鍫嗗灈鏈虹姸鎬佷笉鏄瓑寰匴CS纭鏃讹紝涓嶈兘涓嬪彂纭浣� + if (!crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.WAITING)){ + return R.error("鍫嗗灈鏈轰笉鏄瓑寰匴CS纭鐘舵��"); + } CrnCommand command = new CrnCommand(); command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� command.setTaskNo((short) 0); // 宸ヤ綔鍙� @@ -424,6 +452,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