From d26899642291dbc0cb8b97f7fb175411b53a2895 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期日, 27 四月 2025 14:56:49 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/CrnController.java | 367 +++++++++++++++++++++++++++++++---------------------
1 files changed, 217 insertions(+), 150 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/CrnController.java b/src/main/java/com/zy/asrs/controller/CrnController.java
index 3690e3c..e9c72e9 100644
--- a/src/main/java/com/zy/asrs/controller/CrnController.java
+++ b/src/main/java/com/zy/asrs/controller/CrnController.java
@@ -1,9 +1,7 @@
package com.zy.asrs.controller;
-import HslCommunication.Profinet.Siemens.SiemensS7Net;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
-import com.baomidou.mybatisplus.plugins.Page;
import com.core.annotations.ManagerAuth;
import com.core.common.Cools;
import com.core.common.R;
@@ -19,9 +17,9 @@
import com.zy.asrs.mapper.BasCrnErrorMapper;
import com.zy.asrs.service.BasCrnpService;
import com.zy.asrs.service.LocMastService;
-import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.service.impl.MainServiceImpl;
-import com.zy.asrs.utils.VersionUtils;
+import com.zy.asrs.service.TaskWrkService;
+import com.zy.asrs.utils.CommandUtils;
+import com.zy.asrs.utils.CrnOperaUtils;
import com.zy.core.CrnThread;
import com.zy.core.cache.MessageQueue;
import com.zy.core.cache.OutputQueue;
@@ -37,6 +35,7 @@
import com.zy.core.properties.SystemProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@@ -52,20 +51,22 @@
@RestController
public class CrnController {
-
-
+ @Value("${wms.url}")
+ private String wmsUrl;
+ @Value("${wms.movePath}")
+ private String movePath;
@Autowired
private SlaveProperties slaveProperties;
- @Autowired
- private WrkMastService wrkMastService;
@Autowired
private BasCrnErrorMapper basCrnErrorMapper;
@Autowired
private BasCrnpService basCrnpService;
@Autowired
- private MainServiceImpl mainService;
- @Autowired
private LocMastService locMastService;
+ @Autowired
+ private CrnOperaUtils crnOperaUtils;
+ @Autowired
+ private TaskWrkService taskWrkService;
@ManagerAuth(memo = "杩涜涓殑鍛戒护")
@@ -125,8 +126,8 @@
vo.setLiftPos(crnProtocol.getLiftPosType().desc);
vo.setWalkPos(crnProtocol.getWalkPos()==1?"涓嶅湪瀹氫綅":"鍦ㄥ畾浣�");
vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1()));
- if (crnProtocol.getAlarm1() > 0) {
- BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
+ if (crnProtocol.getAlarm() > 0) {
+ BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
vo.setAlarm(crnError==null?"鏈煡寮傚父":crnError.getErrName());
}
}
@@ -189,13 +190,13 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
if (crnProtocol.getTaskNo()>0) {
- WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
- if (wrkMast != null) {
- vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+ if (taskWrk != null) {
+ vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(null); // 婧愮珯
+ vo.setStaNo(null); // 鐩爣绔�
+ vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣�
+ vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅
}
} else {
vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
@@ -230,13 +231,13 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
if (crnProtocol.getTaskNo()>0) {
- WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
- if (wrkMast != null) {
- vo.setStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+ if (taskWrk != null) {
+ vo.setStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(null); // 婧愮珯
+ vo.setStaNo(null); // 鐩爣绔�
+ vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣�
+ vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅
}
} else {
vo.setStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
@@ -273,13 +274,13 @@
vo.setWorkNo(crnProtocol.getTaskNo()); // 浠诲姟鍙�
if (crnProtocol.getTaskNo()>0) {
- WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
- if (wrkMast != null) {
- vo.setDeviceStatus(CrnStatusType.process(wrkMast.getIoType()).getDesc()); // 妯″紡鐘舵��
- vo.setSourceStaNo(wrkMast.getSourceStaNo$()); // 婧愮珯
- vo.setStaNo(wrkMast.getStaNo$()); // 鐩爣绔�
- vo.setSourceLocNo(wrkMast.getSourceLocNo()); // 婧愬簱浣�
- vo.setLocNo(wrkMast.getLocNo()); // 鐩爣搴撲綅
+ TaskWrk taskWrk = taskWrkService.selectByWrkNo(crnProtocol.getTaskNo().intValue());
+ if (taskWrk != null) {
+ vo.setDeviceStatus(CrnStatusType.process(taskWrk.getIoType()).getDesc()); // 妯″紡鐘舵��
+ vo.setSourceStaNo(null); // 婧愮珯
+ vo.setStaNo(null); // 鐩爣绔�
+ vo.setSourceLocNo(taskWrk.getStartPoint()); // 婧愬簱浣�
+ vo.setLocNo(taskWrk.getTargetPoint()); // 鐩爣搴撲綅
}
} else {
vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 妯″紡鐘舵��
@@ -370,108 +371,76 @@
@ManagerAuth(memo = "鍏ュ簱")
@PostMapping("/crn/operator/put")
public R crnPut(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
- command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓
- command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪
- command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰
- command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+// // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+// command.setCommand((short)1);
+
+ boolean result = crnOperaUtils.crnPut(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "鍑哄簱")
@PostMapping("/crn/operator/take")
public R crnTake(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.PAKOUT); // 浠诲姟妯″紡
- command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓
- command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪
- command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰
- command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+// command.setCommand((short)1);
+
+ boolean result = crnOperaUtils.crnTake(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "搴撲綅杞Щ")
@PostMapping("/crn/operator/stockMove")
public R crnStockMove(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡
- command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓
- command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪
- command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰
- command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
- LocMast sourceLoc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getSourcePosX())
- .eq("bay1", command.getSourcePosY()).eq("lev1", command.getSourcePosZ()));
- LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", command.getDestinationPosX())
- .eq("bay1", command.getDestinationPosY()).eq("lev1", command.getDestinationPosZ()));
- VersionUtils.locMoveCheckLocType(sourceLoc, loc);
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+// command.setCommand((short)1);
+
+ boolean result = crnOperaUtils.crnStockMove(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "绔欏埌绔�")
@PostMapping("/crn/operator/siteMove")
public R crnSiteMove(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡
- command.setSourcePosX(param.getSourceStaNo()); // 婧愬簱浣嶆帓
- command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- command.setSourcePosZ((short) 1); // 婧愬簱浣嶅眰
- command.setDestinationPosX(param.getStaNo()); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ((short) 1); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+
+ boolean result = crnOperaUtils.crnSiteMove(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "鍥炲師鐐�")
@PostMapping("/crn/operator/bacOrigin")
public R crnBacOrigin(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡
- command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
- command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+
+ boolean result = crnOperaUtils.crnBacOrigin(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "鍙嶅師鐐�")
@PostMapping("/crn/operator/reverseOrigin")
public R reverseOrigin(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡
- command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
- command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY((short) 34); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ((short) 5); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+
+ boolean result = crnOperaUtils.reverseOrigin(param);
+ return result ? R.ok() : R.error();
}
// @ManagerAuth(memo = "鍧愭爣绉诲姩")
@@ -495,18 +464,12 @@
@ManagerAuth(memo = "浠诲姟瀹屾垚")
@PostMapping("/crn/operator/taskComplete")
public R crnTaskComplete(CrnOperatorParam param){
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 1); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
- command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ boolean result = crnOperaUtils.crnTaskComplete(param.getCrnNo());
+ return result ? R.ok() : R.error();
}
// @ManagerAuth(memo = "鏆傚仠")
@@ -524,26 +487,25 @@
@ManagerAuth(memo = "娓呴櫎鍛戒护")
@PostMapping("/crn/operator/clearCommand")
public R crnClearCommand(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
if (param.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
}
- CrnCommand command = new CrnCommand();
- command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
- command.setTaskNo((short) 0); // 宸ヤ綔鍙�
- command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
- command.setTaskMode(CrnTaskModeType.NONE); // 浠诲姟妯″紡
- command.setSourcePosX((short) 0); // 婧愬簱浣嶆帓
- command.setSourcePosY((short) 0); // 婧愬簱浣嶅垪
- command.setSourcePosZ((short) 0); // 婧愬簱浣嶅眰
- command.setDestinationPosX((short) 0); // 鐩爣搴撲綅鎺�
- command.setDestinationPosY((short) 0); // 鐩爣搴撲綅鍒�
- command.setDestinationPosZ((short) 0); // 鐩爣搴撲綅灞�
- return crnControl(command)?R.ok():R.error();
+
+ boolean result = crnOperaUtils.crnClearCommand(param);
+ return result ? R.ok() : R.error();
}
@ManagerAuth(memo = "鎵嬪姩澶嶄綅")
@PostMapping("/crn/operator/handleReset")
public R handleReset(CrnOperatorParam param) throws Exception {
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
if (param.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
}
@@ -566,7 +528,7 @@
crnCommand.setCommand((short) 0); // 浠诲姟瀹屾垚纭浣�
// 寤舵椂鍙戦��
Thread.sleep(1000L);
- if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand))) {
+ if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand), false)) {
return R.ok();
} else {
throw new CoolException("鍛戒护涓嬪彂澶辫触");
@@ -582,22 +544,127 @@
@ManagerAuth(memo = "鍒囨崲鑱旀満妯″紡")
@PostMapping("/crn/operator/auto")
public R crnAuto(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
short[] array = new short[9];
CrnCommand command = new CrnCommand();
command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
command.setTaskNo((short) 0); // 宸ヤ綔鍙�
-// command.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣�
-// command.setTaskMode(CrnTaskModeType.PAKIN); // 浠诲姟妯″紡
-// command.setSourcePosX(param.getSourceRow()); // 婧愬簱浣嶆帓
-// command.setSourcePosY(param.getSourceBay()); // 婧愬簱浣嶅垪
-// command.setSourcePosZ(param.getSourceLev()); // 婧愬簱浣嶅眰
-// command.setDestinationPosX(param.getRow()); // 鐩爣搴撲綅鎺�
-// command.setDestinationPosY(param.getBay()); // 鐩爣搴撲綅鍒�
-// command.setDestinationPosZ(param.getLev()); // 鐩爣搴撲綅灞�
command.setAuto((short)1);
return crnControl2(command)?R.ok():R.error();
}
+ @ManagerAuth(memo = "鍒囨崲鍗婃墜鍔ㄦā寮�")
+ @PostMapping("/crn/operator/semiAutomatic")
+ public R crnsemiAutomatic(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAuto((short)2);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鍒囨崲鎵嬪姩妯″紡")
+ @PostMapping("/crn/operator/hand")
+ public R onlineWrk1(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setAuto((short)3);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鐢宠瀹屾垚浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk1")
+ public R onlineWrk2(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk1((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鐢宠鍙栨秷浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk2")
+ public R onlineWrk3(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk2((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "娓呴櫎鑱旀満浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk3")
+ public R onlineWrk4(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk3((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+ @ManagerAuth(memo = "鎭㈠鑱旀満浠诲姟")
+ @PostMapping("/crn/operator/onlineWrk4")
+ public R crnHand(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setOnlineWrk4((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+
+ @ManagerAuth(memo = "澶嶄綅")
+ @PostMapping("/crn/operator/reset")
+ public R crnReset(CrnOperatorParam param){
+ // 绯荤粺杩愯鐘舵�佸垽鏂�
+// if (SystemProperties.WCS_RUNNING_STATUS.get()) {
+// return R.error("wcs绯荤粺鐘舵�佷负寮�鍚�");
+// }
+ short[] array = new short[9];
+ CrnCommand command = new CrnCommand();
+ command.setCrnNo(param.getCrnNo()); // 鍫嗗灈鏈虹紪鍙�
+ command.setTaskNo((short) 0); // 宸ヤ綔鍙�
+ command.setReset((short)1);
+
+ return crnControl2(command)?R.ok():R.error();
+ }
+
+
+
private boolean crnControl2(CrnCommand command){
if (command.getCrnNo() == null) {
throw new CoolException("璇烽�夋嫨鍫嗗灈鏈�");
@@ -615,7 +682,7 @@
}
// 绌洪棽鍒ゆ柇
// if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
- if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(4, command))) {
+ if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(4, command), false)) {
return true;
} else {
throw new CoolException("鍛戒护涓嬪彂澶辫触");
@@ -649,11 +716,11 @@
}
// 绌洪棽鍒ゆ柇
// if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
- if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
- return true;
- } else {
- throw new CoolException("鍛戒护涓嬪彂澶辫触");
- }
+ if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(2, command), false)) {
+ return true;
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
// } else {
// throw new CoolException("鍫嗗灈鏈轰笉鍦ㄧ┖闂茬姸鎬�");
// }
--
Gitblit v1.9.1