From 7413518e646b9e924ec7e305b282fcb88fc82c1d Mon Sep 17 00:00:00 2001
From: lsh <lsh123456>
Date: 星期六, 04 三月 2023 09:45:10 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/SteController.java | 136 ++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 132 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/SteController.java b/src/main/java/com/zy/asrs/controller/SteController.java
index 40cf485..caf6d76 100644
--- a/src/main/java/com/zy/asrs/controller/SteController.java
+++ b/src/main/java/com/zy/asrs/controller/SteController.java
@@ -7,10 +7,12 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.asrs.domain.enums.CrnStatusType;
+import com.zy.asrs.domain.param.SteModeParam;
import com.zy.asrs.domain.param.SteOperatorParam;
-import com.zy.asrs.domain.vo.SteMsgTableVo;
-import com.zy.asrs.domain.vo.SteStateTableVo;
import com.zy.asrs.domain.vo.SteDataVo;
+import com.zy.asrs.domain.vo.SteMsgTableVo;
+import com.zy.asrs.domain.vo.SteSensorDataVo;
+import com.zy.asrs.domain.vo.SteStateTableVo;
import com.zy.asrs.entity.BasSte;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.service.BasSteService;
@@ -25,6 +27,7 @@
import com.zy.core.model.command.SteCommand;
import com.zy.core.model.protocol.SteProtocol;
import com.zy.core.properties.SlaveProperties;
+import com.zy.core.properties.SystemProperties;
import com.zy.core.thread.SteThread;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -70,6 +73,7 @@
continue;
}
vo.setTaskNo(steProtocol.getTaskNo().intValue()); // 浠诲姟鍙�
+ vo.setStatusVal(steProtocol.getMode().intValue()); // 鍦ㄧ嚎鐘舵��
vo.setStatusType(steProtocol.mode == 0 ? "绂荤嚎" : "鍦ㄧ嚎"); // 妯″紡鐘舵��
if (!Cools.isEmpty(steProtocol.getStatus())) {
vo.setStatus(steProtocol.getStatusType().desc); // 鐘舵��
@@ -97,6 +101,12 @@
}
if (!Cools.isEmpty(steProtocol.getChargeStatus())) {
vo.setChargeStatus(steProtocol.getChargeStatus()==1?"鉁�":"脳");
+ }
+ if (!Cools.isEmpty(steProtocol.getAlarm())) {
+ vo.setAlarm1(String.valueOf(steProtocol.getAlarm()));
+ }
+ if (!Cools.isEmpty(steProtocol.getAlarm0())) {
+ vo.setAlarm2(String.valueOf(steProtocol.getAlarm0()));
}
}
return R.ok().add(list);
@@ -176,6 +186,84 @@
return R.ok().add(vo);
}
+ @GetMapping("/sensor/detl/{steNo}")
+ public R steSensorDetl(@PathVariable("steNo") Integer steNo){
+ SteSensorDataVo vo = new SteSensorDataVo();
+ for (SteSlave ste : slaveProperties.getSte()) {
+ if (steNo.equals(ste.getId())) {
+ vo.setSteNo(ste.getId());
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId());
+ if (steThread == null) {
+ return R.error("璁惧涓嶅湪绾�");
+ }
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) {
+ return R.error("璁惧涓嶅湪绾�");
+ }
+
+ // 绌挎杞﹀紓甯� -----------
+ vo.setLiftErr(steProtocol.isLiftErr());
+ vo.setInFetchErr(steProtocol.isInFetchErr());
+ vo.setOutFetchErr(steProtocol.isOutFetchErr());
+ vo.setAntiErr(steProtocol.isAntiErr());
+ vo.setLiftSwitchErr(steProtocol.isLiftSwitchErr());
+ vo.setTrackErr(steProtocol.isTrackErr());
+ vo.setTimeoutErr(steProtocol.isTimeoutErr());
+ vo.setConnectErr(steProtocol.isConnectErr());
+ vo.setEmergencyErr(steProtocol.isEmergencyErr());
+ vo.setTaskTypeErr(steProtocol.isTaskTypeErr());
+ vo.setTaskNoErr(steProtocol.isTaskNoErr());
+ vo.setNewTaskErr(steProtocol.isNewTaskErr());
+ vo.setErrTaskErr(steProtocol.isErrTaskErr());
+ vo.setStopErr(steProtocol.isStopErr());
+ vo.setOfflineTaskErr(steProtocol.isOfflineTaskErr());
+ vo.setStartTaskErr(steProtocol.isStartTaskErr());
+ vo.setVoltageTaskErr(steProtocol.isVoltageTaskErr());
+ vo.setDevpErr(steProtocol.isDevpErr());
+
+ // 绌挎杞︽彁绀轰俊鎭� ----------------------
+ vo.setOnline(steProtocol.isOnline());
+ vo.setNotOnTrack(steProtocol.isNotOnTrack());
+ vo.setLowVoltage(steProtocol.isLowVoltage());
+ vo.setElectricityLoss(steProtocol.isElectricityLoss());
+ vo.setForcedTravel(steProtocol.isForcedTravel());
+ vo.setDemoMode(steProtocol.isDemoMode());
+ vo.setBrushConnect(steProtocol.isBrushConnect());
+ vo.setTaskManualForbid(steProtocol.isTaskManualForbid());
+ vo.setOnlineManualForbid(steProtocol.isOnlineManualForbid());
+ vo.setDevpEmergency(steProtocol.isDevpEmergency());
+ vo.setTaskInterrupt(steProtocol.isTaskInterrupt());
+ vo.setTaskClear(steProtocol.isTaskClear());
+ vo.setTaskConfirmTimeout(steProtocol.isTaskConfirmTimeout());
+ vo.setTaskWithCharge(steProtocol.isTaskWithCharge());
+
+ // 浠诲姟淇℃伅 ----------------
+ vo.setPakInTask(steProtocol.isPakInTask());
+ vo.setPakOutTask(steProtocol.isPakOutTask());
+ vo.setPakMoveTask(steProtocol.isPakMoveTask());
+ vo.setGoHpTask(steProtocol.isGoHpTask());
+ vo.setGoOHpTask(steProtocol.isGoOHpTask());
+ vo.setGoHpAvoid(steProtocol.isGoHpAvoid());
+ vo.setGoOHpAvoid(steProtocol.isGoOHpAvoid());
+ vo.setPakInEmpty(steProtocol.isPakInEmpty());
+ vo.setPakInFinish(steProtocol.isPakInFinish());
+ vo.setPakOutEmpty(steProtocol.isPakOutEmpty());
+ vo.setPakOutFinish(steProtocol.isPakOutFinish());
+ vo.setGoHpAvoidFinish(steProtocol.isGoHpAvoidFinish());
+ vo.setGoOHpAvoidFinish(steProtocol.isGoOHpAvoidFinish());
+ vo.setGoHpAvoidErr(steProtocol.isGoHpAvoidErr());
+ vo.setGoOHpAvoidErr(steProtocol.isGoOHpAvoidErr());
+
+ // 鐘舵�佷俊鎭� -------------
+ vo.setAutoMode(steProtocol.isAutoMode());
+ vo.setVoltageLow(steProtocol.isVoltageLow());
+ break;
+ }
+ }
+ return R.ok().add(vo);
+ }
+
@PostMapping("/detl/update")
@ManagerAuth
public R steUpdate(SteDataVo vo){
@@ -200,6 +288,10 @@
} else {
throw new CoolException("鍛戒护涓嬪彂澶辫触");
}
+ basSte.setRow(vo.getRow());
+ basSte.setBay(vo.getBay());
+ basSte.setLev(vo.getLev());
+
basSte.setPakMk(vo.getPakMk());
basSte.setWrkNo(vo.getWorkNo());
basSte.setCrnNo(vo.getCrnNo());
@@ -214,6 +306,42 @@
/****************************************************************/
/************************** 鎵嬪姩鎿嶄綔 ******************************/
/****************************************************************/
+
+ @PostMapping("/mode/switch")
+ @ManagerAuth
+ public R crnDemo(SteModeParam param) throws InterruptedException {
+ if (Cools.isEmpty(param.getSteNo())){
+ 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 (SteSlave steSlave : slaveProperties.getSte()) {
+ if (steSlave.getId().equals(param.getSteNo())) {
+ // 鑾峰彇绌挎杞︿俊鎭�
+ SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, steSlave.getId());
+ SteProtocol steProtocol = steThread.getSteProtocol();
+ if (steProtocol == null) { continue; }
+ SteCommand steCommand = new SteCommand();
+ steCommand.setSteNo(param.getSteNo()); // 绌挎杞︾紪鍙�
+ if (steProtocol.getMode() == 0) {
+ steCommand.setControlMode((short) 1);
+ } else {
+ steCommand.setControlMode((short) 0);
+ }
+ if (MessageQueue.offer(SlaveType.Ste, param.getSteNo(), new Task(2, steCommand))) {
+ return R.ok();
+ } else {
+ throw new CoolException("鍛戒护涓嬪彂澶辫触");
+ }
+ }
+ }
+ return R.ok();
+ }
@ManagerAuth(memo = "鎵嬪姩鎿嶄綔")
@PostMapping("/operator/ste")
@@ -238,9 +366,9 @@
steCommand.setSteNo(ste.getId()); // 绌挎杞︾紪鍙�
if (param.getSteTaskMode() == 16) {
steCommand.setComplete(true);
- } else if (param.getSteTaskMode() == 17) {
+ } else if (param.getSteTaskMode() == 99) {
steCommand.setControlMode((short) 1);
- } else if (param.getSteTaskMode() == 18) {
+ } else if (param.getSteTaskMode() == 100) {
steCommand.setControlMode((short) 0);
} else {
if (steTaskModeType == null) {
--
Gitblit v1.9.1