From 10dab7d3386ef06679c9d9a78c0dbf94e473aeeb Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 22 四月 2024 14:56:45 +0800
Subject: [PATCH] #按钮
---
src/main/java/com/zy/asrs/controller/RgvController.java | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 213 insertions(+), 14 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 493a8d7..b71f6c3 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,196 @@
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().equals(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().equals(rgvNo)){
+ rgvSlave.setDemo(false);
+ }
+ }
+ return R.ok();
+ }
+
+ @GetMapping("/demo/status/rgvStatus")
+ public R demoStatusTrue1(Integer rgvNo,Integer status){
+ if (Cools.isEmpty(rgvNo)){
+ return R.error("璇烽�夋嫨rgv");
+ }
+ if (Cools.isEmpty(status)){
+ return R.error("閫夋嫨鎸夐挳鏈夎");
+ }
+// List<Map<String, Object>> res = new ArrayList<>();
+ for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
+ // 鑾峰彇RGV淇℃伅
+ SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
+ if (rgvThread == null) {
+ throw new CoolException("RGV涓嶅湪绾�");
+ }
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == null) {
+ throw new CoolException("RGV涓嶅湪绾�");
+ }
+ String DB = "";
+ if (rgvSlave.getId().equals(rgvNo)){
+ switch (status){
+ case 5://寮哄埗鍚姩
+ DB="4.4";
+ break;
+// case 6://澶嶄綅淇″彿
+// DB="4.5";
+// break;
+ case 7://鎶ヨ娑堥煶
+ DB="4.6";
+ break;
+ case 8://鍚姩
+ DB="4.7";
+ break;
+ case 9://鍋滄
+ DB="5.0";
+ break;
+ case 10://鎬ュ仠
+ DB="5.1";
+ break;
+ case 11://澶嶄綅鎸夐挳
+ DB="5.2";
+ break;
+ case 12://鎵嬪姩
+ DB="5.3";
+ break;
+ case 13://鎵嬪姩瀹氫綅
+ DB="5.4";
+ break;
+ case 14://鍗曟満
+ DB="5.5";
+ break;
+ case 15://鑱旀満
+ DB="5.6";
+ break;
+ case 16://璐у弶瀹氫綅鍥炰腑
+ DB="5.7";
+ break;
+ default:
+ return R.error("鎸夐挳涓嶅瓨鍦紵锛燂紵锛燂紒锛侊紒");
+ }
+ if (MessageQueue.offer(SlaveType.Rgv, rgvNo, new Task(10, DB))) {
+ return R.ok();
+ } else {
+ return R.error("鍛戒护涓嬪彂澶辫触");
+ }
+ }
+
+ }
+ 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")
@@ -104,6 +299,15 @@
RgvCommand command = new RgvCommand();
command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
command.setStop(true);
+ return rgvControl2(command)?R.ok():R.error();
+ }
+
+ @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();
}
@@ -157,19 +361,14 @@
continue;
}
vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
- vo.setStatus(rgvProtocol.getStatusType().desc); // 鐘舵��
+ vo.setStatus(rgvProtocol.getStatusType1().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()));
+// 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());
@@ -243,8 +442,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); // 鐩爣绔�
@@ -266,8 +465,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); // 鐩爣绔�
@@ -302,7 +501,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