From 7a1a67b71ef5f86c2fb629c1a10b04cf3cbbd2a4 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期三, 02 十一月 2022 09:14:14 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/SteController.java | 84 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 81 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java index 2dfef4f..a0a9a87 100644 --- a/src/main/java/com/zy/asrs/controller/SteController.java +++ b/src/main/java/com/zy/asrs/controller/SteController.java @@ -7,6 +7,8 @@ import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.CrnStatusType; +import com.zy.asrs.domain.param.CrnDemoParam; +import com.zy.asrs.domain.param.SteModeParam; import com.zy.asrs.domain.param.SteOperatorParam; import com.zy.asrs.domain.vo.SteMsgTableVo; import com.zy.asrs.domain.vo.SteStateTableVo; @@ -20,17 +22,20 @@ import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.enums.SteTaskModeType; +import com.zy.core.model.CrnSlave; import com.zy.core.model.SteSlave; import com.zy.core.model.Task; import com.zy.core.model.command.SteCommand; import com.zy.core.model.protocol.SteProtocol; import com.zy.core.properties.SlaveProperties; +import com.zy.core.properties.SystemProperties; import com.zy.core.thread.SteThread; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -68,7 +73,8 @@ if (steProtocol == null) { continue; } - vo.setTaskNo(steProtocol.getTaskNo()); // 浠诲姟鍙� + vo.setTaskNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙� + vo.setStatusVal(steProtocol.getMode().intValue()); // 鍦ㄧ嚎鐘舵�� vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎"); // 妯″紡鐘舵�� if (!Cools.isEmpty(steProtocol.getStatus())) { vo.setStatus(steProtocol.getStatusType().desc); // 鐘舵�� @@ -94,6 +100,9 @@ if (!Cools.isEmpty(steProtocol.getTrack())) { vo.setTrack(steProtocol.getTrack()==0?"鉁�":"脳"); } + if (!Cools.isEmpty(steProtocol.getChargeStatus())) { + vo.setChargeStatus(steProtocol.getChargeStatus()==1?"鉁�":"脳"); + } } return R.ok().add(list); } @@ -118,7 +127,7 @@ continue; } - vo.setWorkNo(steProtocol.getTaskNo()); // 浠诲姟鍙� + vo.setWorkNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙� if (steProtocol.getTaskNo() > 0) { WrkMast wrkMast = wrkMastService.selectById(steProtocol.getTaskNo()); if (wrkMast != null) { @@ -133,6 +142,7 @@ } vo.setSpeed(steProtocol.getSpeed()); // 閫熷害 vo.setCloser(steProtocol.getCloser()); // 杩戠偣璺濈 + vo.setPakMk(steProtocol.getPakMk()); // 浣滀笟鏍囪 } return R.ok().add(list); } @@ -163,6 +173,7 @@ vo.setLev(basSte.getLev()); vo.setCrnNo(basSte.getCrnNo()); vo.setWorkNo(basSte.getWrkNo()); + vo.setPakMk(basSte.getPakMk()); } break; } @@ -173,7 +184,34 @@ @PostMapping("/detl/update") @ManagerAuth public R steUpdate(SteDataVo vo){ - + BasSte basSte = basSteService.selectById(vo.getSteNo()); + if (basSte == null) { + return R.error(); + } + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, vo.getSteNo()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { + throw new CoolException(vo.getSteNo() + "鍙风┛姊溅涓嶅湪绾匡紝鏃犳硶淇濆瓨"); + } + if (!Cools.isEmpty(vo.getRow(), vo.getBay(), vo.getLev())) { + if (!steThread.modifyPosHandle(vo.getRow(), vo.getBay(), vo.getLev())) { + throw new CoolException("鏈嶅姟鍣ㄩ敊璇�"); + } + } + SteCommand steCommand = new SteCommand(); + steCommand.setTaskNo(vo.getWorkNo()); + if (MessageQueue.offer(SlaveType.Ste, vo.getSteNo(), new Task(2, steCommand))) { + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + basSte.setPakMk(vo.getPakMk()); + basSte.setWrkNo(vo.getWorkNo()); + basSte.setCrnNo(vo.getCrnNo()); + basSte.setUpdateTime(new Date()); + if (!basSteService.updateById(basSte)) { + throw new CoolException("淇敼澶辫触"); + } return R.ok(); } @@ -181,6 +219,42 @@ /****************************************************************/ /************************** 鎵嬪姩鎿嶄綔 ******************************/ /****************************************************************/ + + @PostMapping("/mode/switch") + @ManagerAuth + public R crnDemo(SteModeParam param) throws InterruptedException { + if (Cools.isEmpty(param.getSteNo())){ + 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 (SteSlave steSlave : slaveProperties.getSte()) { + if (steSlave.getId().equals(param.getSteNo())) { + // 鑾峰彇绌挎杞︿俊鎭� + SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId()); + SteProtocol steProtocol = steThread.getSteProtocol(); + if (steProtocol == null) { continue; } + SteCommand steCommand = new SteCommand(); + steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙� + if (steProtocol.getMode() == 0) { + steCommand.setControlMode((short) 1); + } else { + steCommand.setControlMode((short) 0); + } + if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) { + return R.ok(); + } else { + throw new CoolException("鍛戒护涓嬪彂澶辫触"); + } + } + } + return R.ok(); + } @ManagerAuth(memo = "鎵嬪姩鎿嶄綔") @PostMapping("/operator/ste") @@ -205,6 +279,10 @@ steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙� if (param.getSteTaskMode() == 16) { steCommand.setComplete(true); + } else if (param.getSteTaskMode() == 99) { + steCommand.setControlMode((short) 1); + } else if (param.getSteTaskMode() == 100) { + steCommand.setControlMode((short) 0); } else { if (steTaskModeType == null) { throw new CoolException("浠诲姟绫诲瀷閿欒"); -- Gitblit v1.9.1