From 52b397b5901c0ec428d0dc6589cbf4c9c2729c24 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期六, 20 四月 2024 17:43:24 +0800 Subject: [PATCH] #演示 --- src/main/java/com/zy/asrs/controller/RgvController.java | 139 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 131 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java index 8a28213..c46f545 100644 --- a/src/main/java/com/zy/asrs/controller/RgvController.java +++ b/src/main/java/com/zy/asrs/controller/RgvController.java @@ -2,9 +2,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.RgvStatusType; +import com.zy.asrs.domain.param.CrnDemoParam; import com.zy.asrs.domain.param.CrnOperatorParam; import com.zy.asrs.domain.param.RgvOperatorParam; import com.zy.asrs.domain.vo.RgvMsgTableVo; @@ -33,15 +35,19 @@ import com.zy.core.model.protocol.CrnProtocol; import com.zy.core.model.protocol.RgvProtocol; import com.zy.core.properties.SlaveProperties; +import com.zy.core.properties.SystemProperties; import com.zy.core.thread.SiemensRgvThread; 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; /** * RGV鎺ュ彛 @@ -64,7 +70,124 @@ private MainServiceImpl mainService; @Autowired private LocMastService locMastService; + int wrkNo = 9990; + + @ManagerAuth(memo = "婕旂ず鍛戒护涓嬪彂") + @GetMapping("/rgvDemoTask") + public R rgvDemoTask(Integer rgvNo, Integer sta,Integer end){ + wrkNo++; + RgvCommand command = new RgvCommand(); + command.setRgvNo(rgvNo); // RGV缂栧彿 + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(wrkNo); // 宸ヤ綔鍙� + command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� + command.setSourceStaNo1(sta.shortValue()); // 婧愮珯 + command.setDestinationStaNo1(end.shortValue()); // 鐩爣绔� +// command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� +// command.setTaskNo2((short) 0); // 宸ヤ綔鍙� +// command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� +// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯 +// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔� + command.setCommand((short) 0); + + return rgvControl(command)? R.ok(): R.error(); + } + + @ManagerAuth(memo = "瑙i攣灏忚溅") + @PostMapping("/lock") + public R lock(RgvOperatorParam param ){ + SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo()); + rgvThread.setPakMk(true); + return R.ok(); + } + + @GetMapping("/demo/status") + public R demoStatus(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.ok("X"); + } + String demo = "X"; +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + demo = rgvSlave.getDemo()?"Y":"N"; + } + } + return R.ok(demo); + } + + @GetMapping("/demo/status/true") + public R demoStatusTrue(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.error("璇烽�夋嫨rgv"); + } +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + rgvSlave.setDemo(true); + } + } + return R.ok(); + } + @GetMapping("/demo/status/false") + public R demoStatusFalse(Integer rgvNo){ + if (Cools.isEmpty(rgvNo)){ + return R.error("璇烽�夋嫨rgv"); + } +// List<Map<String, Object>> res = new ArrayList<>(); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId() == rgvNo){ + rgvSlave.setDemo(false); + } + } + return R.ok(); + } + + + + @PostMapping("/demo/switch") + @ManagerAuth(memo = "RGV婕旂ず") + public R crnDemo(CrnDemoParam param) throws InterruptedException { + if (Cools.isEmpty(param.getCrnId())){ + return R.error(); + } + if (Cools.isEmpty(param.getPassword())){ + return R.error("璇疯緭鍏ュ彛浠�"); + } + if (!param.getPassword().equals(SystemProperties.WCS_PASSWORD)){ + return R.error("鍙d护閿欒"); + } + Thread.sleep(200L); + for (RgvSlave rgvSlave : slaveProperties.getRgv()) { + if (rgvSlave.getId().equals(param.getCrnId())) { + rgvSlave.setDemo(param.getOpt()); + } + } +// mainService.crnDemoOfLocMove(param.getCrnId()); + return R.ok(); + } + + @ManagerAuth(memo = "鍙栨斁璐�") + @PostMapping("/operator/put") + public R rgvFetchPut(RgvOperatorParam param){ + wrkNo++; + RgvCommand command = new RgvCommand(); + command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(wrkNo); // 宸ヤ綔鍙� + command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� + command.setSourceStaNo1(param.getSourceRow().shortValue()); // 婧愮珯 + command.setDestinationStaNo1(param.getSourceBay().shortValue()); // 鐩爣绔� +// command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� +// command.setTaskNo2((short) 0); // 宸ヤ綔鍙� +// command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐� +// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯 +// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔� + command.setCommand((short) 0); + + return rgvControl(command)? R.ok(): R.error(); + } @ManagerAuth(memo = "澶嶄綅") @PostMapping("/operator/reset") @@ -166,14 +289,14 @@ continue; } vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵�� - vo.setStatus(rgvProtocol.getStatusType().desc); // 鐘舵�� + vo.setStatus(rgvProtocol.getStatusType1().desc); // 鐘舵�� vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙� vo.setRgvPos(rgvProtocol.getRgvPos()); vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾"); vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ"); vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); - vo.setStaNo(rgvProtocol.getSouSta().intValue()); - vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); +// vo.setStaNo(rgvProtocol.getSouSta().intValue()); +// vo.setSourceStaNo(rgvProtocol.getEndSta().intValue()); if (rgvProtocol.getAlarm() > 0) { BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm()); vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName()); @@ -247,8 +370,8 @@ public R rgvTaskComplete(RgvOperatorParam param){ RgvCommand command = new RgvCommand(); command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 - command.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣� - command.setTaskNo1((short) 0); // 宸ヤ綔鍙� + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1( 0); // 宸ヤ綔鍙� command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 command.setSourceStaNo1((short) 0); // 婧愮珯 command.setDestinationStaNo1((short) 0); // 鐩爣绔� @@ -270,8 +393,8 @@ } RgvCommand command = new RgvCommand(); command.setRgvNo(param.getRgvNo()); // RGV缂栧彿 - command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣� - command.setTaskNo1((short) 0); // 宸ヤ綔鍙� + command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� + command.setTaskNo1(0); // 宸ヤ綔鍙� command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡 command.setSourceStaNo1((short) 0); // 婧愮珯 command.setDestinationStaNo1((short) 0); // 鐩爣绔� @@ -306,7 +429,7 @@ RgvCommand Command = new RgvCommand(); Command.setRgvNo(rgv.getId()); // RGV缂栧彿 Command.setTaskMode1(RgvTaskModeType.NONE); - Command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣� + Command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣� Command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣� Command.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣� // 寤舵椂鍙戦�� -- Gitblit v1.9.1