From 0c695808a612e96a1f62d5873c390a5785650322 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期六, 10 五月 2025 15:05:00 +0800
Subject: [PATCH] 123
---
src/main/java/com/zy/asrs/controller/DevopsController.java | 185 ++++++++++++++++++++++++++++++++++------------
1 files changed, 136 insertions(+), 49 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/DevopsController.java b/src/main/java/com/zy/asrs/controller/DevopsController.java
index 2470daf..6a9cb42 100644
--- a/src/main/java/com/zy/asrs/controller/DevopsController.java
+++ b/src/main/java/com/zy/asrs/controller/DevopsController.java
@@ -6,7 +6,6 @@
import com.core.common.R;
import com.zy.asrs.domain.devops.DevopsMessage;
import com.zy.asrs.domain.devops.ErrorType;
-import com.zy.asrs.domain.vo.SiteTableVo;
import com.zy.asrs.entity.BasDevp;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.mapper.WrkMastMapper;
@@ -20,7 +19,6 @@
import com.zy.core.enums.CrnStatusType;
import com.zy.core.enums.SlaveType;
import com.zy.core.model.CrnSlave;
-import com.zy.core.model.DevpSlave;
import com.zy.core.model.protocol.CrnProtocol;
import com.zy.core.model.protocol.StaProtocol;
import com.zy.core.properties.SlaveProperties;
@@ -30,9 +28,7 @@
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
@RestController
@RequestMapping("/devops")
@@ -55,22 +51,35 @@
List<DevopsMessage> devopsMessages = new ArrayList<>();
DevopsMessage devopsMessage;
for (CrnSlave crnSlave : slaveProperties.getCrn()) {
- List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnSlave.getId()).in("io_type", 101, 103, 107).orderBy("wrk_sts", false));
+ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnSlave.getId()).orderBy("wrk_sts", false));
//鍏堟煡璇㈠爢鍨涙満鏄惁鍦ㄥ伐浣�
WrkMast working = wrkMastMapper.selectWorking(crnSlave.getId());
for (WrkMast wrkMast : wrkMasts) {
+ CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
+ CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+ if (crnProtocol == null) {
+ crnProtocol = new CrnProtocol();
+ }
devopsMessage = new DevopsMessage();
devopsMessage.setWrkNo(wrkMast.getWrkNo());
if (working != null) {
//鍦ㄥ伐浣滐紝鍒欏垽鏂槸鍚︽湭褰撳墠杩欐潯
if (working.getWrkNo().equals(wrkMast.getWrkNo())) {
- devopsMessage.setError("璇ュ伐浣滄。姝e湪鍑哄簱锛岃绋嶅悗");
+ if (crnProtocol.getTaskNo().intValue() == working.getWrkNo()) {
+ devopsMessage.setError("璇ュ伐浣滄。姝e湪鎵ц锛岃绋嶅悗");
+ } else {
+ devopsMessage.setError("璇ュ伐浣滄。鐘舵�佷笉瀵癸紝涓庡爢鍨涙満鐨勫伐浣滃彿涓嶅尮閰�");
+ devopsMessage.setMethod("缁撳悎浠诲姟鎯呭喌杩涜鎿嶄綔;濡傛灉瀹為檯宸插畬鎴愶紝灏卞皢宸ヤ綔妗e畬鎴�;濡傛灉鏈畬鎴愶紝鍒欒皟鏁村伐浣滄。鐘舵��");
+ }
} else {
- devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鍑哄簱锛岃绋嶅悗");
+ devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鎵ц锛岃绋嶅悗");
}
+ devopsMessages.add(devopsMessage);
continue;
}
- List<ErrorType> staError = isStaError(wrkMast);
+ DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
+ StaProtocol staProtocol = devpThread.getStation().get(wrkMast.getStaNo());
+ List<ErrorType> staError = isStaError(staProtocol, wrkMast);
for (ErrorType type : staError) {
if (!Cools.isEmpty(devopsMessage.getError())) {
devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
@@ -80,7 +89,7 @@
devopsMessage.setMethod(type.getMethod());
}
}
- List<ErrorType> crnError = isCrnError(wrkMast);
+ List<ErrorType> crnError = isCrnError(crnProtocol, wrkMast);
for (ErrorType type : crnError) {
if (!Cools.isEmpty(devopsMessage.getError())) {
devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
@@ -96,94 +105,172 @@
return R.ok(devopsMessages);
}
- private List<ErrorType> isStaError(WrkMast staNo) {
+ private List<ErrorType> isStaError(StaProtocol staProtocol, WrkMast wrkMast) {
List<ErrorType> types = new ArrayList<>();
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
- StaProtocol staProtocol = devpThread.getStation().get(staNo);
if (staProtocol == null) {
types.add(ErrorType.ERROR);
return types;
} else {
staProtocol = staProtocol.clone();
}
+ // 鑷姩
if (staProtocol.isAutoing()) {
types.add(ErrorType.FEIZIDONG);
}
- if (staProtocol.isLoading()) {
- types.add(ErrorType.YOUWU);
- }
- if (staProtocol.getWorkNo() == 0) {
- types.add(ErrorType.GONGZUOHAO);
- }
- if (staProtocol.getStaNo() == null) {
- types.add(ErrorType.STANO);
+ if (wrkMast.getIoType() > 100) {
+ // 鍑哄簱鏍¢獙
+ // 鏈夌墿
+ if (staProtocol.isLoading()) {
+ types.add(ErrorType.YOUWU);
+ } // 宸ヤ綔鍙锋槸鍚︿负0
+ if (staProtocol.getWorkNo() == 0) {
+ types.add(ErrorType.GONGZUOHAO);
+ }
+ // 鐩爣绔欑偣
+ if (staProtocol.getStaNo() == null) {
+ types.add(ErrorType.STANO);
+ }
+ } else {
+ // 鍏ュ簱鏍¢獙
+
}
return types;
}
- private List<ErrorType> isCrnError(WrkMast wrkMast) {
+ private List<ErrorType> isCrnError(CrnProtocol crnProtocol, WrkMast wrkMast) {
List<ErrorType> types = new ArrayList<>();
- CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
- CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-
+ // 鍫嗗灈鏈烘槸鍚︾┖闂�
if (crnProtocol.getStatusType() == CrnStatusType.IDLE) {
types.add(ErrorType.CRN_NO_IDLE);
}
+ //浠诲姟鍙锋槸鍚︿负0
if (crnProtocol.getTaskNo() == 0) {
types.add(ErrorType.WORKING);
}
+ // 鍫嗗灈鏈烘槸鍚﹁嚜鍔�
if (crnProtocol.getModeType() == CrnModeType.AUTO) {
types.add(ErrorType.CRN_FEIZIDONG);
}
+ // 杞借揣鍙版湁鐗�
if (crnProtocol.getLoaded() == 0) {
types.add(ErrorType.LOAD);
}
+ // 鍫嗗灈鏈哄彇璐т腑
if (crnProtocol.statusType == CrnStatusType.FETCHING) {
types.add(ErrorType.WORKING);
}
+ // 鏀捐揣涓�
if (crnProtocol.statusType == CrnStatusType.PUTTING) {
types.add(ErrorType.WORKING);
}
+ // 鍫嗗灈鏈虹瓑寰呯‘璁ょ姸鎬�
if (crnProtocol.statusType == CrnStatusType.WAITING) {
types.add(ErrorType.WORKING);
}
+ // 璐у弶鏄惁浼氬洖涓�
if (crnProtocol.forkPosType == CrnForkPosType.HOME) {
types.add(ErrorType.HOME);
}
- if (crnProtocol.modeType == CrnModeType.AUTO) {
- types.add(ErrorType.FEIZIDONG);
- }
-
return types;
}
-
@PostMapping("/site/list")
@ManagerAuth(memo = "绔欑偣淇℃伅琛�")
- public R siteTable(){
- List<SiteTableVo> list = new ArrayList<>();
- // 鍐呭瓨鏁版嵁
- Map<Integer, StaProtocol> station = new HashMap<>();
- for (DevpSlave devp : slaveProperties.getDevp()) {
- DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId());
- station.putAll(devpThread.getStation());
- }
+ public R siteTable() {
+ List<DevopsMessage> devopsMessages = new ArrayList<>();
+ DevopsMessage devopsMessage;
+ List<Integer> outSta = slaveProperties.getOutSta();
+ List<Integer> inSta = slaveProperties.getInSta();
// 鎸佷箙鏁版嵁
List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<BasDevp>().orderBy("dev_no"));
- for (BasDevp devp : basDevps) {
- StaProtocol staProtocol = station.get(devp.getDevNo());
- if (null == staProtocol) { continue; }
- SiteTableVo vo = new SiteTableVo();
- vo.setDevNo(devp.getDevNo()); // 绔欑偣缂栧彿
- vo.setWorkNo(staProtocol.getWorkNo()); // 宸ヤ綔鍙�
- vo.setAutoing(staProtocol.isAutoing()?"Y":"N"); // 鑷姩
- vo.setLoading(staProtocol.isLoading()?"Y":"N"); // 鏈夌墿
- vo.setInEnable(staProtocol.isInEnable()?"Y":"N"); // 鍙叆
- vo.setOutEnable(staProtocol.isOutEnable()?"Y":"N"); // 鍙嚭
- list.add(vo);
+ for (Integer out : outSta) {
+ for (BasDevp devp : basDevps) {
+ if (devp.getDevNo().equals(out)) {
+ devopsMessage = new DevopsMessage();
+ devopsMessage.setStaNo(out);
+ devopsMessage.setType("鍑哄簱绔欑偣");
+ if (devp.getLoading().equalsIgnoreCase("Y")) {
+ devopsMessage.setError(ErrorType.YOUWU.getDesc());
+ devopsMessage.setMethod("璇峰皢鐗╂枡鎸蛋锛屾墠鑳藉嚭搴�");
+ } else {
+ List<ErrorType> crnError = isOutStaError(devp);
+ for (ErrorType type : crnError) {
+ if (!Cools.isEmpty(devopsMessage.getError())) {
+ devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
+ devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod());
+ } else {
+ devopsMessage.setError(type.getDesc());
+ devopsMessage.setMethod(type.getMethod());
+ }
+ }
+ }
+ devopsMessages.add(devopsMessage);
+ }
+ }
}
- return R.ok().add(list);
+ for (Integer in : inSta) {
+ for (BasDevp devp : basDevps) {
+ if (devp.getDevNo().equals(in)) {
+ devopsMessage = new DevopsMessage();
+ devopsMessage.setStaNo(in);
+ devopsMessage.setType("鍏ュ簱绔欑偣");
+ if (devp.getLoading().equalsIgnoreCase("Y")) {
+ List<ErrorType> crnError = isInStaError(devp);
+ for (ErrorType type : crnError) {
+ if (!Cools.isEmpty(devopsMessage.getError())) {
+ devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
+ devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod());
+ } else {
+ devopsMessage.setError(type.getDesc());
+ devopsMessage.setMethod(type.getMethod());
+ }
+ }
+ } else {
+ devopsMessage.setError(ErrorType.WUWU.getDesc());
+ devopsMessage.setMethod(ErrorType.WUWU.getMethod());
+ }
+ devopsMessages.add(devopsMessage);
+ }
+ }
+ }
+ return R.ok().add(devopsMessages);
+ }
+
+ private List<ErrorType> isOutStaError(BasDevp devp) {
+ List<ErrorType> types = new ArrayList<>();
+ // 鑷姩
+ if (!devp.getAutoing().equalsIgnoreCase("Y")) {
+ types.add(ErrorType.FEIZIDONG);
+ }
+ // 宸ヤ綔鍙锋槸鍚︿负0
+ if (devp.getWrkNo() != null && devp.getWrkNo() > 0) {
+ types.add(ErrorType.GONGZUOHAO);
+ }
+ // 鐩爣绔欑偣
+ //TODO
+// if (devp.getStaNo() == null) {
+// types.add(ErrorType.STANO);
+// }
+
+ return types;
+ }
+
+ private List<ErrorType> isInStaError(BasDevp devp) {
+ List<ErrorType> types = new ArrayList<>();
+ // 鑷姩
+ if (!devp.getAutoing().equalsIgnoreCase("Y")) {
+ types.add(ErrorType.FEIZIDONG);
+ }
+ // 宸ヤ綔鍙锋槸鍚︿负0
+ if (devp.getWrkNo() != null && devp.getWrkNo() > 0) {
+ types.add(ErrorType.GONGZUOHAO);
+ }
+ // 鐩爣绔欑偣
+// if (staProtocol.getStaNo() == null) {
+// types.add(ErrorType.STANO);
+// }
+ return types;
}
}
--
Gitblit v1.9.1