From a519e1aa12852e5a6d53a8e1b9bbc095391e2415 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 21 三月 2024 13:12:48 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java | 15 +--
src/main/java/com/zy/asrs/controller/RgvController.java | 108 ++++++++++++--------------
src/main/java/com/zy/core/thread/SiemensRgvThread.java | 42 +++++-----
src/main/java/com/zy/core/model/command/RgvCommand.java | 6 +
src/main/webapp/views/deviceOperate/rgvOperate.html | 12 +-
5 files changed, 86 insertions(+), 97 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 5e1fc13..0df3a98 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -5,6 +5,7 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.RgvStatusType;
+import com.zy.asrs.domain.param.CrnOperatorParam;
import com.zy.asrs.domain.param.RgvOperatorParam;
import com.zy.asrs.domain.vo.RgvMsgTableVo;
import com.zy.asrs.domain.vo.RgvStateTableVo;
@@ -16,15 +17,19 @@
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
import com.zy.asrs.service.impl.MainServiceImpl;
+import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.RgvModeType;
import com.zy.core.enums.RgvTaskModeType;
import com.zy.core.enums.SlaveType;
+import com.zy.core.model.CrnSlave;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.Task;
+import com.zy.core.model.command.CrnCommand;
import com.zy.core.model.command.RgvCommand;
+import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.RgvProtocol;
import com.zy.core.properties.SlaveProperties;
import com.zy.core.thread.SiemensRgvThread;
@@ -58,6 +63,52 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
+
+
+ @ManagerAuth(memo = "澶嶄綅")
+ @PostMapping("/rgv/operator/reset")
+ public R crnReset(RgvOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setReset(true);
+
+ return rgvControl(command)?R.ok():R.error();
+ }
+
+ private boolean rgvControl(CrnCommand command){
+ if (command.getCrnNo() == null) {
+ throw new CoolException("璇烽�夋嫨RGV");
+ }
+ for (RgvSlave rgv : slaveProperties.getRgv()) {
+ // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+ if (command.getCrnNo().equals(rgv.getId())) {
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+ if (crnThread == null) {
+ throw new CoolException("RGV涓嶅湪绾�");
+ }
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ throw new CoolException("RGV涓嶅湪绾�");
+ }
+ // 绌洪棽鍒ゆ柇
+// if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
+ if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, command))) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+// } else {
+// throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
+// }
+ }
+ }
+ return false;
+ }
@PostMapping("/table/rgv/state")
@ManagerAuth(memo = "RGV淇℃伅琛�")
@@ -157,65 +208,8 @@
/************************** 鎵嬪姩鎿嶄綔 ******************************/
/****************************************************************/
- @ManagerAuth(memo = "鍙栨斁璐�")
- @PostMapping("/operator/put")
- public R rgvFetchPut(RgvOperatorParam param){
- RgvCommand command = new RgvCommand();
- command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
- command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
- command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
- command.setDestinationStaNo1(param.getStaNo1()); // 鐩爣绔�
-// 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/take")
- public R rgvFetch(RgvOperatorParam param){
- RgvCommand command = new RgvCommand();
- command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
- command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode1(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栬揣
- command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
- command.setDestinationStaNo1(param.getStaNo1()); // 鐩爣绔�
- 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/stockMove")
- public R rgvPut(RgvOperatorParam param){
- RgvCommand command = new RgvCommand();
- command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
- command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode1(RgvTaskModeType.PUT); // 浠诲姟妯″紡: 鏀捐揣
- command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
- command.setDestinationStaNo1(param.getStaNo1()); // 鐩爣绔�
- 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/taskComplete")
diff --git a/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java b/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java
index 3b0881f..d5953d6 100644
--- a/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java
+++ b/src/main/java/com/zy/asrs/domain/param/RgvOperatorParam.java
@@ -11,15 +11,8 @@
// RGV鍙�
private Integer rgvNo;
- // 宸ヤ綅1婧愮珯
- private Short sourceStaNo1;
-
- // 宸ヤ綅1鐩爣绔�
- private Short staNo1;
-
- // 宸ヤ綅2婧愮珯
- private Short sourceStaNo2;
-
- // 宸ヤ綅2鐩爣绔�
- private Short staNo2;
+ private boolean auto;
+ private boolean restoreTask;
+ private boolean compTask;
+ private boolean reset;
}
diff --git a/src/main/java/com/zy/core/model/command/RgvCommand.java b/src/main/java/com/zy/core/model/command/RgvCommand.java
index 5be8072..6fd1df1 100644
--- a/src/main/java/com/zy/core/model/command/RgvCommand.java
+++ b/src/main/java/com/zy/core/model/command/RgvCommand.java
@@ -84,6 +84,12 @@
*/
private Short command = 0;
+ private boolean auto;
+ private boolean restoreTask;
+ private boolean compTask;
+ private boolean reset;
+ private boolean stop;
+
public void setTaskMode1(Short taskMode1){
this.taskMode1 = taskMode1;
this.taskModeType1 = RgvTaskModeType.get(taskModeType1);
diff --git a/src/main/java/com/zy/core/thread/SiemensRgvThread.java b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
index e18a15d..6092901 100644
--- a/src/main/java/com/zy/core/thread/SiemensRgvThread.java
+++ b/src/main/java/com/zy/core/thread/SiemensRgvThread.java
@@ -67,9 +67,9 @@
readStatus();
break;
// // 宸ヤ綅1銆�2鍐欏叆鏁版嵁
-// case 2:
-// write((RgvCommand) task.getData());
-// break;
+ case 2:
+ write((RgvCommand) task.getData());
+ break;
//宸ヤ綅1鍐欏叆鏁版嵁
case 4:
write1((RgvCommand) task.getData());
@@ -249,25 +249,23 @@
return false;
}
// convertRow(command);
- command.setRgvNo(slave.getId());
- short[] array = new short[11];
- array[0] = command.getAckFinish1();
- array[1] = command.getTaskNo1();
- array[2] = command.getTaskMode1();
- array[3] = command.getSourceStaNo1();
- array[4] = command.getDestinationStaNo1();
-// array[0] = command.getAckFinish1();
-// array[1] = command.getTaskNo1();
-// array[2] = command.getTaskMode1();
-// array[3] = command.getSourceStaNo1();
-// array[4] = command.getDestinationStaNo1();
-// array[5] = command.getAckFinish2();
-// array[6] = command.getTaskNo2();
-// array[7] = command.getTaskMode2();
-// array[8] = command.getSourceStaNo2();
-// array[9] = command.getDestinationStaNo2();
-// array[10] = command.getCommand();
- OperateResult result = siemensNet.Write("DB100.0", array);
+ OperateResult result = new OperateResult();
+ boolean[] array = new boolean[1];
+ array[0] = true;
+ if (command.isAuto()){
+ result = siemensNet.Write("DB99.0.1", array);
+ } else if (command.isRestoreTask()) {
+ result = siemensNet.Write("DB99.0.2", array);
+ }
+ else if (command.isCompTask()) {
+ result = siemensNet.Write("DB99.0.3", array);
+ }
+ else if (command.isStop()) {
+ result = siemensNet.Write("DB99.0.4", array);
+ }
+ else if (command.isReset()) {
+ result = siemensNet.Write("DB99.0.5", array);
+ }
// if (command.getAckFinish1() == 0 && command.getAckFinish2() == 0) {
// short commandFinish = 3; //宸ヤ綅1銆�2浠诲姟鍚屾椂鍐欏叆
diff --git a/src/main/webapp/views/deviceOperate/rgvOperate.html b/src/main/webapp/views/deviceOperate/rgvOperate.html
index dec65a5..f00cab1 100644
--- a/src/main/webapp/views/deviceOperate/rgvOperate.html
+++ b/src/main/webapp/views/deviceOperate/rgvOperate.html
@@ -53,14 +53,12 @@
<div>
<el-button @click="requestOperate('auto')" type="warning">鑱旀満</el-button>
- <el-button @click="requestOperate('semiAutomatic')" type="warning">鍗婅嚜鍔�</el-button>
- <el-button @click="requestOperate('hand')" type="warning">鎵嬪姩</el-button>
- <el-button @click="requestOperate('onlineWrk4')" type="warning">鎭㈠鑱旀満浠诲姟</el-button>
- <el-button @click="requestOperate('onlineWrk3')" type="warning">娓呴櫎鑱旀満浠诲姟</el-button>
- <el-button @click="requestOperate('onlineWrk1')" type="warning">鐢宠瀹屾垚浠诲姟</el-button>
+ <el-button @click="requestOperate('restoreTask')" type="warning">鎭㈠鑱旀満浠诲姟</el-button>
+ <el-button @click="requestOperate('compTask')" type="warning">寮哄埗瀹屾垚浠诲姟</el-button>
<br/>
<br/>
- <el-button @click="requestOperate('onlineWrk2')" type="warning">鐢宠鍙栨秷浠诲姟</el-button>
+ <el-button @click="requestOperate('stop')" type="warning">杩滅▼鎬ュ仠</el-button>
+ <el-button @click="requestOperate('reset')" type="warning">绯荤粺澶嶄綅</el-button>
</div>
</div>
</el-card>
@@ -195,7 +193,7 @@
type: 'warning'
}).then(()=>{
$.ajax({
- url: baseUrl + "/crn/operator/" + method,
+ url: baseUrl + "/rgv/operator/" + method,
headers: {
'token': localStorage.getItem('token')
},
--
Gitblit v1.9.1