From f2f19526ed5ba89a8e3a195d3559a2d74471b0c9 Mon Sep 17 00:00:00 2001
From: lsh <lsh>
Date: 星期四, 16 五月 2024 10:19:07 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/RgvController.java | 148 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 143 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index c46f545..0af8021 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")
@@ -124,7 +134,7 @@
}
// List<Map<String, Object>> res = new ArrayList<>();
for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
- if (rgvSlave.getId() == rgvNo){
+ if (rgvSlave.getId().equals(rgvNo)){
rgvSlave.setDemo(true);
}
}
@@ -137,9 +147,84 @@
}
// List<Map<String, Object>> res = new ArrayList<>();
for (RgvSlave rgvSlave : slaveProperties.getRgv()) {
- if (rgvSlave.getId() == rgvNo){
+ 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";
+ 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;
+ default:
+ return R.error("鎸夐挳涓嶅瓨鍦紵锛燂紵锛燂紒锛侊紒");
+ }
+ if (MessageQueue.offer(SlaveType.Rgv, rgvNo, new Task(10, DB))) {
+ return R.ok();
+ } else {
+ return R.error("鍛戒护涓嬪彂澶辫触");
+ }
+ }
+
}
return R.ok();
}
@@ -189,6 +274,59 @@
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();
+ }
+
+ 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;
+ 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 rgvControl(command);
+ }
+
+
@ManagerAuth(memo = "澶嶄綅")
@PostMapping("/operator/reset")
public R crnReset(RgvOperatorParam param){
--
Gitblit v1.9.1