From c904f735e0b8a488ef56744c08f8e10258639bce Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 05 六月 2025 15:54:58 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/RgvController.java | 421 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 388 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/RgvController.java b/src/main/java/com/zy/asrs/controller/RgvController.java
index 0df3a98..59cb2d8 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;
@@ -12,12 +14,15 @@
import com.zy.asrs.entity.BasRgv;
import com.zy.asrs.entity.BasRgvErr;
import com.zy.asrs.entity.WrkMast;
+import com.zy.asrs.entity.WrkMastSta;
import com.zy.asrs.mapper.BasRgvErrMapper;
import com.zy.asrs.service.BasRgvService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.WrkMastService;
+import com.zy.asrs.service.WrkMastStaService;
import com.zy.asrs.service.impl.MainServiceImpl;
import com.zy.core.CrnThread;
+import com.zy.core.RgvThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
import com.zy.core.cache.SlaveConnection;
@@ -32,15 +37,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鎺ュ彛
@@ -63,41 +72,348 @@
private MainServiceImpl mainService;
@Autowired
private LocMastService locMastService;
+ @Autowired
+ private WrkMastStaService wrkMastStaService;
+ 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){
+ Map<String,Object> map = new HashMap<>();
+ if (Cools.isEmpty(rgvNo)){
+ 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()) {
+ 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();
+ }
+ }
+ map.put("demo",demo);
+ map.put("rgvMode",rgvMode);
+ return R.ok().add(map);
+ }
+
+ @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";
+ 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;
+ case 18://娓呮鑱旀満浠诲姟
+ DB="6.1";
+ 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/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("/rgv/operator/reset")
+ @PostMapping("/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();
+ return rgvControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鑱旀満")
+ @PostMapping("/operator/auto")
+ public R crnAuto(RgvOperatorParam param){
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setAuto(true);
+ return rgvControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鎭㈠浠诲姟")
+ @PostMapping("/operator/restoreTask")
+ public R crnRestoreTask(RgvOperatorParam param){
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setRestoreTask(true);
+ return rgvControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "瀹屾垚浠诲姟")
+ @PostMapping("/operator/compTask")
+ public R rgvCompTask(RgvOperatorParam param){
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setCompTask(true);
+ return rgvControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鎬ュ仠")
+ @PostMapping("/operator/stop")
+ public R rgvStop(RgvOperatorParam param){
+ RgvCommand command = new RgvCommand();
+ command.setRgvNo(param.getRgvNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setStop(true);
+ return rgvControl2(command)?R.ok():R.error();
}
- private boolean rgvControl(CrnCommand command){
- if (command.getCrnNo() == null) {
+ @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();
+ }
+
+ private boolean rgvControl2(RgvCommand command){
+ if (command.getRgvNo() == 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) {
+ if (command.getRgvNo().equals(rgv.getId())) {
+ SiemensRgvThread rgvThread = (SiemensRgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+ if (rgvThread == null) {
throw new CoolException("RGV涓嶅湪绾�");
}
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
- if (crnProtocol == null) {
+ RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+ if (rgvProtocol == 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))) {
+ if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) {
return true;
} else {
throw new CoolException("鍛戒护涓嬪彂澶辫触");
@@ -129,20 +445,29 @@
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鏈夌墿
+ if (rgvProtocol.getTaskNo1() != 0){
+ WrkMastSta wrkMastSta = wrkMastStaService.selectOne(new EntityWrapper<WrkMastSta>()
+ .setSqlSelect("TOP 1 wrk_no as wrkNo , wrk_sts as wrkSts, create_time as createTime")
+ .eq("wrk_No", rgvProtocol.getTaskNo1())
+ .orderBy("create_time", false)
+
+ );
+ if (!Cools.isEmpty(wrkMastSta)){
+ vo.setWrkSts(wrkMastSta.getWrkSts());
+ }
+ }
+ vo.setStatusType(rgvProtocol.modeType.desc); // 妯″紡鐘舵��
+ vo.setStatus(rgvProtocol.getStatusType1().desc); // 鐘舵��
+ vo.setWorkNo1(rgvProtocol.getTaskNo1()); // 宸ヤ綅1浠诲姟鍙�
+ vo.setRgvPos(rgvProtocol.getCode());
+ vo.setPakMk(rgvThread.isPakMk()?"鏃犻攣":"閿佸畾");
+ vo.setWalkPos(rgvProtocol.getAlarm() == 0?"姝e父":"鎶ヨ");
vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm()));
+ vo.setList32(rgvProtocol.getList32());
+ vo.setList33(rgvProtocol.getList33());
+ vo.setList34(rgvProtocol.getList34());
+ vo.setList35(rgvProtocol.getList35());
if (rgvProtocol.getAlarm() > 0) {
BasRgvErr rgvErr = basRgvErrMapper.selectById(rgvProtocol.getAlarm());
vo.setAlarm(rgvErr==null?"鏈煡寮傚父":rgvErr.getErrName());
@@ -216,8 +541,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); // 鐩爣绔�
@@ -239,8 +564,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); // 鐩爣绔�
@@ -275,7 +600,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); // 浠诲姟瀹屾垚纭浣�
// 寤舵椂鍙戦��
@@ -316,4 +641,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