From f84127457cf5ebacb0af4b4a4667846b23312a19 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期五, 17 五月 2024 16:11:03 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/RgvController.java | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 111 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index b71f6c3..97112ee 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -104,17 +104,27 @@
@GetMapping("/demo/status")
public R demoStatus(Integer rgvNo){
+ Map<String,Object> map = new HashMap<>();
if (Cools.isEmpty(rgvNo)){
- return R.ok("X");
+ map.put("demo","X");
+ map.put("rgvMode",0);
+ return R.ok().add(map);
}
String demo = "X";
+ Integer rgvMode = 0;
// List<Map<String, Object>> res = new ArrayList<>();
for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
- if (rgvSlave.getId() == rgvNo){
+ SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgvNo);
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvSlave.getId().equals(rgvNo)){
demo = rgvSlave.getDemo()?"Y":"N";
+ rgvSlave.setRgvMode(rgvProtocol.getMode().intValue());
+ rgvMode = rgvProtocol.getMode().intValue();
}
}
- return R.ok(demo);
+ map.put("demo",demo);
+ map.put("rgvMode",rgvMode);
+ return R.ok().add(map);
}
@GetMapping("/demo/status/true")
@@ -189,18 +199,24 @@
break;
case 12://鎵嬪姩
DB="5.3";
+ rgvSlave.setRgvMode(3);
break;
case 13://鎵嬪姩瀹氫綅
DB="5.4";
break;
case 14://鍗曟満
DB="5.5";
+ rgvSlave.setRgvMode(2);
break;
case 15://鑱旀満
DB="5.6";
+ rgvSlave.setRgvMode(1);
break;
case 16://璐у弶瀹氫綅鍥炰腑
DB="5.7";
+ break;
+ case 17://鎭㈠鑱旀満浠诲姟
+ DB="6.0";
break;
default:
return R.error("鎸夐挳涓嶅瓨鍦紵锛燂紵锛燂紒锛侊紒");
@@ -260,6 +276,68 @@
return rgvControl(command)? R.ok(): R.error();
}
+
+
+ @ManagerAuth(memo = "鍙�")
+ @PostMapping("/operator/single/step/one/put")
+ public R rgvFetchSingleStepOnePut(RgvOperatorParam param){
+ return rgvFetchSingleStepPut(param,1)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鏀�")
+ @PostMapping("/operator/single/step/two/put")
+ public R rgvFetchSingleStepTwoPut(RgvOperatorParam param){
+ return rgvFetchSingleStepPut(param,2)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "X杩愯")
+ @PostMapping("/operator/single/step/three/put")
+ public R rgvFetchSingleStepThreePut(RgvOperatorParam param){
+ return rgvFetchSingleStepPut(param,3)?R.ok():R.error();
+ }
+
+ @ManagerAuth(memo = "鍙栨斁")
+ @PostMapping("/operator/single/step/four/put")
+ public R rgvFetchSingleStepFourPut(RgvOperatorParam param){
+ return rgvFetchSingleStepPut(param,4)?R.ok():R.error();
+ }
+
+ public boolean rgvFetchSingleStepPut(RgvOperatorParam param ,Integer type){
+ wrkNo++;
+ RgvCommand command = new RgvCommand();
+ RgvTaskModeType fetchPut = RgvTaskModeType.NONE;
+ switch (type){
+ case 1:
+ fetchPut = RgvTaskModeType.FETCH;
+ param.setSourceBay(0);
+ break;
+ case 2:
+ fetchPut = RgvTaskModeType.PUT;
+ param.setSourceRow(0);
+ break;
+ case 3:
+ fetchPut = RgvTaskModeType.X_MOVE;
+ break;
+ case 4:
+ fetchPut = RgvTaskModeType.FETCH_PUT;
+ break;
+ default:
+ return false;
+ }
+ command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+ command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
+ command.setTaskNo1(wrkNo); // 宸ヤ綔鍙�
+ command.setTaskMode1(fetchPut); // 浠诲姟妯″紡: 鍙栨斁璐�
+ 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 rgvControlD(command);
+ }
+
@ManagerAuth(memo = "澶嶄綅")
@PostMapping("/operator/reset")
@@ -542,4 +620,34 @@
return false;
}
+ private boolean rgvControlD(RgvCommand command){
+ if (command.getRgvNo() == null) {
+ throw new CoolException("璇烽�夋嫨RGV");
+ }
+ for (RgvSlave rgv : slaveProperties.getRgv()) {
+ // 鑾峰彇RGV淇℃伅
+ if (command.getRgvNo().equals(rgv.getId())) {
+// SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+// if (rgvThread == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+ try{
+ if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(11, command))) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+ }catch (Exception e){
+ log.error("鍗曟浠诲姟涓嬪彂澶辫触锛屽紓甯革細"+e);
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+ }
+ }
+ return false;
+ }
+
}
\ No newline at end of file
--
Gitblit v1.9.1