From a56259ffabbdd3dba89d60e4da2c06a1b88e6220 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期六, 10 五月 2025 14:57:20 +0800
Subject: [PATCH] 123

---
 src/main/java/com/zy/asrs/controller/DevopsController.java |  155 ++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 116 insertions(+), 39 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DevopsController.java b/src/main/java/com/zy/asrs/controller/DevopsController.java
index 115bc3f..0af0a64 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")
@@ -59,15 +55,26 @@
             //鍏堟煡璇㈠爢鍨涙満鏄惁鍦ㄥ伐浣�
             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;
                 }
                 DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1);
@@ -75,23 +82,21 @@
                 List<ErrorType> staError = isStaError(staProtocol, wrkMast);
                 for (ErrorType type : staError) {
                     if (!Cools.isEmpty(devopsMessage.getError())) {
-                        devopsMessage.setError(devopsMessage.getError() + "\n" + type.getDesc());
-                        devopsMessage.setMethod(devopsMessage.getMethod() + "\n" + type.getMethod());
+                        devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
+                        devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod());
                     } else {
-                        devopsMessage.setError(type.getDesc()+ ";");
-                        devopsMessage.setMethod(type.getMethod()+ ";" );
+                        devopsMessage.setError(type.getDesc());
+                        devopsMessage.setMethod(type.getMethod());
                     }
                 }
-                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, wrkMast.getCrnNo());
-                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
                 List<ErrorType> crnError = isCrnError(crnProtocol, wrkMast);
                 for (ErrorType type : crnError) {
                     if (!Cools.isEmpty(devopsMessage.getError())) {
-                        devopsMessage.setError(devopsMessage.getError() + "\n" + type.getDesc());
-                        devopsMessage.setMethod(devopsMessage.getMethod() + "\n" + type.getMethod());
+                        devopsMessage.setError(devopsMessage.getError() + ";" + type.getDesc());
+                        devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod());
                     } else {
-                        devopsMessage.setError(type.getDesc()+ ";");
-                        devopsMessage.setMethod(type.getMethod()+ ";");
+                        devopsMessage.setError(type.getDesc());
+                        devopsMessage.setMethod(type.getMethod());
                     }
                 }
                 devopsMessages.add(devopsMessage);
@@ -174,32 +179,104 @@
     @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());
-        }
+        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;
+        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);
+                }
             }
-            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"); // 鍙嚭
-            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 鍏ュ簱鏍囪
-            vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
-            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 绌烘澘淇″彿
-            list.add(vo);
         }
-        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);
+        }
+
+        // 鏈夌墿
+        if (devp.getLoading().equalsIgnoreCase("Y")) {
+            types.add(ErrorType.YOUWU);
+        } // 宸ヤ綔鍙锋槸鍚︿负0
+        if (devp.getWrkNo() != null) {
+            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) {
+            types.add(ErrorType.GONGZUOHAO);
+        }
+        // 鐩爣绔欑偣
+//        if (staProtocol.getStaNo() == null) {
+//            types.add(ErrorType.STANO);
+//        }
+        return types;
     }
 }

--
Gitblit v1.9.1