From 9ada554508bbaba431c9cf6745268ac9b87561d5 Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期一, 24 十一月 2025 15:55:10 +0800
Subject: [PATCH] *
---
src/main/java/com/zy/asrs/controller/RgvController.java | 542 +++++++++++++++++++++++++++++------------------------
1 files changed, 294 insertions(+), 248 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 3be5b88..80b35a5 100644
--- a/src/main/java/com/zy/asrs/controller/RgvController.java
+++ b/src/main/java/com/zy/asrs/controller/RgvController.java
@@ -11,8 +11,10 @@
import com.zy.asrs.domain.vo.RgvStateTableVo;
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvErr;
+import com.zy.asrs.entity.BasRgvMap;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.BasRgvErrMapper;
+import com.zy.asrs.mapper.BasRgvMapMapper;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
@@ -22,6 +24,7 @@
import com.zy.core.cache.SlaveConnection;
import com.zy.core.enums.RgvModeType;
import com.zy.core.enums.RgvTaskModeType;
+import com.zy.core.enums.RgvTaskStatusType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.RgvSlave;
import com.zy.core.model.Task;
@@ -35,8 +38,10 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
/**
* RGV鎺ュ彛
@@ -59,95 +64,115 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private BasRgvMapMapper basRgvMapMapper;
+// @ManagerAuth(memo = "瑙i攣灏忚溅")
+// @PostMapping("/lock")
+// public R lock(CrnOperatorParam param){
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo());
+// rgvThread.setPakMk(true);
+// return R.ok();
+// }
+//
+// @PostMapping("/table/rgv/state")
+// @ManagerAuth(memo = "RGV淇℃伅琛�")
+// public R rgvStateTable() {
+// List<RgvStateTableVo> list = new ArrayList<>();
+// List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+//
+// for (BasRgv basRgv : rgvs) {
+// RgvStateTableVo vo = new RgvStateTableVo();
+// vo.setRgvNo(basRgv.getRgvNo()); // RGV鍙�
+// list.add(vo);
+//
+// // 鑾峰彇RGV淇℃伅
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
+// if (rgvThread == null) continue;
+//
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) continue;
+// BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo());
+//
+// vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
+// vo.setStatus(String.valueOf(rgvProtocol.getMode())); // 鐘舵��
+// vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙�
+// vo.setStatus1(rgvProtocol.getStatusType1().desc); // 宸ヤ綅1鐘舵��
+// vo.setLoading1(rgvProtocol.getLoaded1() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅1鏈夌墿
+// vo.setRgvPos(basRgvMap != null?basRgvMap.getNowRoute():0);
+// vo.setRgvPos1(rgvProtocol.getRgvPosI2());
+// vo.setWalkPos(Objects.equals(rgvProtocol.getWalkPos(), 1) ? "鍦ㄥ畾浣�" : "涓嶅湪瀹氫綅");
+// vo.setPakMk(rgvThread.isPakMk() ? "鏃犻攣" : "閿佸畾");
+//// vo.setPakIn(rgvThread.isPakIn() ? "鍙叆" : "涓嶅彲鍏�");
+//// vo.setPakOut(rgvThread.isPakOut() ? "鍙嚭" : "涓嶅彲鍑�");
+//// vo.setPakRgv(rgvThread.isPakRgv() ? "鏃犻攣" : "閿佸畾");
+// vo.setPaking(rgvThread.isPaking()? "鏃犻攣" : "閿佸畾");
+//// vo.setPakAll(rgvThread.isPakAll() ? "鏃犻攣" : "閿佸畾");
+//// vo.setPakToCrn(rgvThread.isPakToCrn() ? "鏃犻攣" : "閿佸畾");
+//
+//
+// vo.setWorkNo2(rgvProtocol.getTaskNo2()); // 宸ヤ綅2浠诲姟鍙�
+//// vo.setStatus2(rgvProtocol.getStatusType2().desc); // 宸ヤ綅2鐘舵��
+// vo.setLoading2(rgvProtocol.getLoaded2() ? "鏈夌墿" : "鏃犵墿"); // 宸ヤ綅2鏈夌墿
+//
+// // --- 閬嶅巻 errX 瀛楁鐢熸垚 warnCode 鍜� alarm ---
+// List<String> alarms = new ArrayList<>();
+// List<String> warnCodes = new ArrayList<>();
+// Field[] fields = rgvProtocol.getClass().getDeclaredFields();
+// for (Field field : fields) {
+// if (field.getName().startsWith("err") && field.getType().equals(Boolean.class)) {
+// field.setAccessible(true);
+// try {
+// Boolean value = (Boolean) field.get(rgvProtocol);
+// if (Boolean.TRUE.equals(value)) {
+// String numPart = field.getName().substring(3);
+// int errId = Integer.parseInt(numPart);
+// warnCodes.add(String.valueOf(errId));
+//
+// BasRgvErr rgvErr = basRgvErrMapper.selectById(errId);
+// alarms.add(rgvErr == null ? "鏈煡寮傚父(" + errId + ")" : rgvErr.getErrName());
+// }
+// } catch (IllegalAccessException e) {
+// e.printStackTrace();
+// }
+// }
+// }
+//
+// vo.setWarnCode(String.join(",", warnCodes));
+// vo.setAlarm(alarms.isEmpty() ? "" : String.join("锛�", alarms));
+// }
+//
+// return R.ok().add(list);
+// }
- @ManagerAuth(memo = "瑙i攣灏忚溅")
- @PostMapping("/lock")
- public R lock(CrnOperatorParam param){
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo());
- rgvThread.setPakMk(true);
- return R.ok();
- }
- @PostMapping("/table/rgv/state")
- @ManagerAuth(memo = "RGV淇℃伅琛�")
- public R rgvStateTable(){
- List<RgvStateTableVo> list = new ArrayList<>();
- List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
- for (BasRgv basRgv : rgvs) {
- // 琛ㄦ牸琛�
- RgvStateTableVo vo = new RgvStateTableVo();
- vo.setRgvNo(basRgv.getRgvNo()); // RGV鍙�
- list.add(vo);
- // 鑾峰彇RGV淇℃伅
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
- if (rgvThread == null) {
- continue;
- }
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- continue;
- }
- vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
- vo.setStatus(rgvProtocol.getStatusType().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.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
- if (rgvProtocol.getAlarm() > 0) {
- BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
- vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
- }
- }
- return R.ok().add(list);
- }
-
- @PostMapping("/table/rgv/msg")
- @ManagerAuth(memo = "RGV鏁版嵁琛�")
- public R rgvMsgTable(){
- List<RgvMsgTableVo> list = new ArrayList<>();
- List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
- for (BasRgv basRgv : rgvs) {
- // 琛ㄦ牸琛�
- RgvMsgTableVo vo = new RgvMsgTableVo();
- vo.setRgvNo(basRgv.getRgvNo()); // RGV鍙�
- list.add(vo);
- // 鑾峰彇RGV淇℃伅
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
- if (rgvThread == null) {
- continue;
- }
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- continue;
- }
-
- vo.setWorkNo(rgvProtocol.getTaskNo1()); // 浠诲姟鍙�
- if (rgvProtocol.getTaskNo1()>0) {
- WrkMast wrkMast = wrkMastService.selectById(rgvProtocol.getTaskNo1());
- if (wrkMast != null) {
- vo.setStatus(RgvStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
- }
- } else {
- vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc); // 妯″紡鐘舵��
- }
- vo.setXspeed(rgvProtocol.getXSpeed()); // 璧拌閫熷害锛坢/min)
- vo.setXdistance(rgvProtocol.getXDistance()); // 璧拌璺濈(Km)
- vo.setXduration(rgvProtocol.getXDuration()); // 璧拌鏃堕暱(H)
- }
- return R.ok().add(list);
- }
+// @PostMapping("/table/rgv/msg")
+// @ManagerAuth(memo = "RGV鏁版嵁琛�")
+// public R rgvMsgTable(){
+// List<RgvMsgTableVo> list = new ArrayList<>();
+// List<BasRgv> rgvs = basRgvService.selectList(new EntityWrapper<BasRgv>().orderBy("rgv_no"));
+// for (BasRgv basRgv : rgvs) {
+// // 琛ㄦ牸琛�
+// RgvMsgTableVo vo = new RgvMsgTableVo();
+// vo.setRgvNo(basRgv.getRgvNo()); // RGV鍙�
+// list.add(vo);
+// // 鑾峰彇RGV淇℃伅
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, basRgv.getRgvNo());
+// if (rgvThread == null) {
+// continue;
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// continue;
+// }
+//
+// vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1宸ヤ綔鍙�
+// vo.setWorkNo2(rgvProtocol.getTaskNo2()); //宸ヤ綅2 宸ヤ綔鍙�
+// vo.setStaNo(String.valueOf(rgvProtocol.getRgvPosDestination())); //灏忚溅鐩爣绔�
+// vo.setStatus(rgvProtocol.modeType.equals(RgvModeType.AUTO)? rgvProtocol.modeType.desc: RgvModeType.HAND.desc); // 妯″紡鐘舵��
+//
+// }
+// return R.ok().add(list);
+// }
@PostMapping("/output/site")
@ManagerAuth(memo = "RGV鎶ユ枃鏃ュ織杈撳嚭")
@@ -162,175 +187,196 @@
return R.ok().add(str.toString());
}
- /****************************************************************/
- /************************** 鎵嬪姩鎿嶄綔 ******************************/
- /****************************************************************/
-
- @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); // 宸ヤ綔鍙�
+// /****************************************************************/
+// /************************** 鎵嬪姩鎿嶄綔 ******************************/
+// /****************************************************************/
+//
+// @ManagerAuth(memo = "鍙栨斁璐�")
+// @PostMapping("/operator/put")
+// public R rgvFetchPut(RgvOperatorParam param){
+// RgvCommand command = new RgvCommand();
+// command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+// command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
+// command.setTaskNo(0); // 宸ヤ綔鍙�
+// command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
+// command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+//// command.setDestinationStaNo1(param.getStaNo1()); // 鐩爣绔�
+// command.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣�
+// command.setTaskNo2(0); // 宸ヤ綔鍙�
// command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 浠诲姟妯″紡: 鍙栨斁璐�
// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
-// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔�
- command.setCommand((short) 0);
+//// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔�
+// command.setCommand(true);
+//
+// return rgvControl(command)? R.ok(): R.error();
+// }
- 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.setWrkTaskPri(param.getWorkSta()); //鎵ц宸ヤ綅
+// command.setTaskNo(Math.toIntExact(param.getWorkNo())); // 宸ヤ綔鍙�
+// command.setTaskStatus(RgvTaskStatusType.FETCH); // 浠诲姟妯″紡: 鍙栬揣
+// command.setTargetPosition(Integer.valueOf(param.getStaNo())); // 鐩爣绔�
+//// command.setTaskMode2(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栨斁璐�
+//// command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
+//// command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+//// command.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskNo2( 0); // 宸ヤ綔鍙�
+//// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
+//// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔�
+// command.setCommand(true);
+//
+// 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/stockMove")
+// public R rgvPut(RgvOperatorParam param){
+// RgvCommand command = new RgvCommand();
+// command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+// command.setWrkTaskPri(param.getWorkSta()); //鎵ц宸ヤ綅
+// command.setTaskNo(Math.toIntExact(param.getWorkNo())); // 宸ヤ綔鍙�
+// command.setTaskStatus(RgvTaskStatusType.PUT); // 浠诲姟妯″紡: 鍙栬揣
+// command.setTargetPosition(Integer.valueOf(param.getStaNo())); // 鐩爣绔�
+//// command.setAckFinish1(false); // 浠诲姟瀹屾垚纭浣�
+//// command.setSourceStaNo1(param.getSourceStaNo1()); // 婧愮珯
+//// command.setAckFinish2(false); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskNo2( 0); // 宸ヤ綔鍙�
+//// command.setTaskMode2(RgvTaskModeType.FETCH); // 浠诲姟妯″紡: 鍙栨斁璐�
+//// command.setSourceStaNo2(param.getSourceStaNo2()); // 婧愮珯
+//// command.setDestinationStaNo2(param.getStaNo2()); // 鐩爣绔�
+// command.setCommand(true);
+//
+// return rgvControl(command)? R.ok(): R.error();
+// }
- @ManagerAuth(memo = "浠诲姟瀹屾垚")
- @PostMapping("/operator/taskComplete")
- public R rgvTaskComplete(RgvOperatorParam param){
- RgvCommand command = new RgvCommand();
- command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
- command.setAckFinish1((short) 1); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourceStaNo1((short) 0); // 婧愮珯
- command.setDestinationStaNo1((short) 0); // 鐩爣绔�
- command.setAckFinish2((short) 1); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourceStaNo2((short) 0); // 婧愮珯
- command.setDestinationStaNo2((short) 0); // 鐩爣绔�
- command.setCommand((short) 0);
+// @ManagerAuth(memo = "浠诲姟瀹屾垚")
+// @PostMapping("/operator/taskComplete")
+// public R rgvTaskComplete(RgvOperatorParam param){
+// RgvCommand command = new RgvCommand();
+// command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+// command.setAckFinish1(true); // 浠诲姟瀹屾垚纭浣�
+//// command.setTaskNo1(0); // 宸ヤ綔鍙�
+// command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
+// command.setSourceStaNo1((short) 0); // 婧愮珯
+// command.setDestinationStaNo1((short) 0); // 鐩爣绔�
+// command.setAckFinish2(true); // 浠诲姟瀹屾垚纭浣�
+// command.setTaskNo2( 0); // 宸ヤ綔鍙�
+// command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
+// command.setSourceStaNo2((short) 0); // 婧愮珯
+// command.setDestinationStaNo2((short) 0); // 鐩爣绔�
+// command.setCommand(true);
+//
+// return rgvControl(command)? R.ok(): R.error();
+// }
- return rgvControl(command)? R.ok(): R.error();
- }
+// @ManagerAuth(memo = "娓呴櫎鍛戒护")
+// @PostMapping("/operator/clearCommand")
+// public R rgvClearCommand(RgvOperatorParam param){
+// if (param.getRgvNo() == null) {
+// throw new CoolException("璇烽�夋嫨RGV鍙�");
+// }
+// RgvCommand command = new RgvCommand();
+// command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
+// command.setWrkTaskPri(0); //鎵ц宸ヤ綅
+// command.setTaskNo(Math.toIntExact(0)); // 宸ヤ綔鍙�
+// command.setTaskStatus((short)0); // 浠诲姟妯″紡: 鍙栬揣
+// command.setTargetPosition(0); // 鐩爣绔�
+//
+// return rgvClear(command)? R.ok(): R.error();
+// }
- @ManagerAuth(memo = "娓呴櫎鍛戒护")
- @PostMapping("/operator/clearCommand")
- public R rgvClearCommand(RgvOperatorParam param){
- if (param.getRgvNo() == null) {
- throw new CoolException("璇烽�夋嫨RGV鍙�");
- }
- RgvCommand command = new RgvCommand();
- command.setRgvNo(param.getRgvNo()); // RGV缂栧彿
- command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo1((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode1(RgvTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourceStaNo1((short) 0); // 婧愮珯
- command.setDestinationStaNo1((short) 0); // 鐩爣绔�
- command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskNo2((short) 0); // 宸ヤ綔鍙�
- command.setTaskMode2(RgvTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourceStaNo2((short) 0); // 婧愮珯
- command.setDestinationStaNo2((short) 0); // 鐩爣绔�
- command.setCommand((short) 0);
-
- return rgvControl(command)? R.ok(): R.error();
- }
-
- @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
- @PostMapping("/operator/handleReset")
- public R handleReset(RgvOperatorParam param) throws Exception {
- if (param.getRgvNo() == null) {
- throw new CoolException("璇烽�夋嫨RGV");
- }
- // 鑾峰彇RGV缂撳瓨
- for (RgvSlave rgv : slaveProperties.getRgv()) {
- // 鑾峰彇RGV淇℃伅
- if (param.getRgvNo().equals(rgv.getId())) {
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
- if (rgvThread == null) {
- throw new CoolException("RGV涓嶅湪绾�");
- }
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- throw new CoolException("RGV涓嶅湪绾�");
- }
- RgvCommand Command = new RgvCommand();
- Command.setRgvNo(rgv.getId()); // RGV缂栧彿
- Command.setTaskMode1(RgvTaskModeType.NONE);
- Command.setAckFinish1((short) 0); // 浠诲姟瀹屾垚纭浣�
- Command.setAckFinish2((short) 0); // 浠诲姟瀹屾垚纭浣�
- Command.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣�
- // 寤舵椂鍙戦��
- Thread.sleep(1000L);
- if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, Command))) {
- return R.ok();
- } else {
- throw new CoolException("鍛戒护涓嬪彂澶辫触");
- }
-
- }
- }
- return R.error();
- }
-
- private boolean rgvControl(RgvCommand command){
- if (command.getRgvNo() == null) {
- throw new CoolException("璇烽�夋嫨RGV");
- }
- for (RgvSlave rgv : slaveProperties.getRgv()) {
- // 鑾峰彇RGV淇℃伅
- if (command.getRgvNo().equals(rgv.getId())) {
- RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
- if (rgvThread == null) {
- throw new CoolException("RGV涓嶅湪绾�");
- }
- RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
- if (rgvProtocol == null) {
- throw new CoolException("RGV涓嶅湪绾�");
- }
- if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, command))) {
- return true;
- } else {
- throw new CoolException("鍛戒护涓嬪彂澶辫触");
- }
- }
- }
- return false;
- }
+// @ManagerAuth(memo = "鎵嬪姩澶嶄綅")
+// @PostMapping("/operator/handleReset")
+// public R handleReset(RgvOperatorParam param) throws Exception {
+// if (param.getRgvNo() == null) {
+// throw new CoolException("璇烽�夋嫨RGV");
+// }
+// // 鑾峰彇RGV缂撳瓨
+// for (RgvSlave rgv : slaveProperties.getRgv()) {
+// // 鑾峰彇RGV淇℃伅
+// if (param.getRgvNo().equals(rgv.getId())) {
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+// if (rgvThread == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvCommand Command = new RgvCommand();
+// Command.setRgvNo(rgv.getId()); // RGV缂栧彿
+// Command.setTaskMode1(RgvTaskModeType.NONE);
+// Command.setAckFinish1(true); // 浠诲姟瀹屾垚纭浣�
+// Command.setAckFinish2(true); // 浠诲姟瀹屾垚纭浣�
+// Command.setCommand(true); // 浠诲姟瀹屾垚纭浣�
+// // 寤舵椂鍙戦��
+// Thread.sleep(1000L);
+// if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, Command))) {
+// return R.ok();
+// } else {
+// throw new CoolException("鍛戒护涓嬪彂澶辫触");
+// }
+//
+// }
+// }
+// return R.error();
+// }
+//
+// private boolean rgvControl(RgvCommand command){
+// if (command.getRgvNo() == null) {
+// throw new CoolException("璇烽�夋嫨RGV");
+// }
+// for (RgvSlave rgv : slaveProperties.getRgv()) {
+// // 鑾峰彇RGV淇℃伅
+// if (command.getRgvNo().equals(rgv.getId())) {
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+// if (rgvThread == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) {
+// return true;
+// } else {
+// throw new CoolException("鍛戒护涓嬪彂澶辫触");
+// }
+// }
+// }
+// return false;
+// }
+//
+// private boolean rgvClear(RgvCommand command){
+// if (command.getRgvNo() == null) {
+// throw new CoolException("璇烽�夋嫨RGV");
+// }
+// for (RgvSlave rgv : slaveProperties.getRgv()) {
+// // 鑾峰彇RGV淇℃伅
+// if (command.getRgvNo().equals(rgv.getId())) {
+// RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+// if (rgvThread == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+// if (rgvProtocol == null) {
+// throw new CoolException("RGV涓嶅湪绾�");
+// }
+// if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(3, command))) {
+// return true;
+// } else {
+// throw new CoolException("鍛戒护涓嬪彂澶辫触");
+// }
+// }
+// }
+// return false;
+//
+// }
}
\ No newline at end of file
--
Gitblit v1.9.1