From 5b25d65a9e86fd45861f89104e6996dc2c387e1b Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期二, 06 五月 2025 16:07:46 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/controller/DevopsController.java |  115 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 84 insertions(+), 31 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DevopsController.java b/src/main/java/com/zy/asrs/controller/DevopsController.java
index 8da1cf5..863c2d2 100644
--- a/src/main/java/com/zy/asrs/controller/DevopsController.java
+++ b/src/main/java/com/zy/asrs/controller/DevopsController.java
@@ -1,12 +1,16 @@
 package com.zy.asrs.controller;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.annotations.ManagerAuth;
 import com.core.common.Cools;
 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;
+import com.zy.asrs.service.BasDevpService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.core.CrnThread;
 import com.zy.core.DevpThread;
@@ -16,15 +20,19 @@
 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;
 import org.springframework.beans.factory.annotation.Autowired;
+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;
 
 @RestController
 @RequestMapping("/devops")
@@ -39,25 +47,32 @@
     @Autowired
     private WrkMastMapper wrkMastMapper;
 
+    @Autowired
+    private BasDevpService basDevpService;
+
     @RequestMapping("/wrkMast/list")
     public R list() {
         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) {
                 devopsMessage = new DevopsMessage();
                 devopsMessage.setWrkNo(wrkMast.getWrkNo());
                 if (working != null) {
+                    //鍦ㄥ伐浣滐紝鍒欏垽鏂槸鍚︽湭褰撳墠杩欐潯
                     if (working.getWrkNo().equals(wrkMast.getWrkNo())) {
                         devopsMessage.setError("璇ュ伐浣滄。姝e湪鍑哄簱锛岃绋嶅悗");
                     } else {
-                        devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鍑哄簱");
+                        devopsMessage.setError(working.getWrkNo() + "鍙峰伐浣滄。姝e湪鍑哄簱锛岃绋嶅悗");
                     }
                     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());
@@ -67,15 +82,16 @@
                         devopsMessage.setMethod(type.getMethod());
                     }
                 }
-                List<ErrorType> crnError = isCrnError(wrkMast);
+                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() + ";" + type.getDesc());
                         devopsMessage.setMethod(devopsMessage.getMethod() + ";" + type.getMethod());
                     } else {
                         devopsMessage.setError(type.getDesc());
-                        devopsMessage
-                                .setMethod(type.getMethod());
+                        devopsMessage.setMethod(type.getMethod());
                     }
                 }
                 devopsMessages.add(devopsMessage);
@@ -84,69 +100,106 @@
         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);
-        }
-//        if (crnProtocol.getTaskNo().equals(wrkMast.getWrkNo().shortValue())) {
-//            types.add(ErrorType.CRNGONGZUOHAO);
-//        }
         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());
+        }
+        // 鎸佷箙鏁版嵁
+        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"); // 鍙嚭
+            vo.setPakMk(staProtocol.isPakMk()?"Y":"N");       // 鍏ュ簱鏍囪
+            vo.setStaNo(staProtocol.getStaNo());                // 鐩爣绔�
+            vo.setEmptyMk(staProtocol.isEmptyMk()?"Y":"N");     // 绌烘澘淇″彿
+            list.add(vo);
+        }
+        return R.ok().add(list);
+    }
 }

--
Gitblit v1.9.1