From 08cd84454ec525569c606e81a643fa8dc5759a35 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 25 十二月 2025 14:01:30 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/ConsoleController.java |   45 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 39 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/ConsoleController.java b/src/main/java/com/zy/asrs/controller/ConsoleController.java
index 1a07b8c..466a081 100644
--- a/src/main/java/com/zy/asrs/controller/ConsoleController.java
+++ b/src/main/java/com/zy/asrs/controller/ConsoleController.java
@@ -20,15 +20,13 @@
 import com.zy.common.CodeRes;
 import com.zy.common.utils.RedisUtil;
 import com.zy.core.cache.SlaveConnection;
-import com.zy.core.enums.CrnModeType;
-import com.zy.core.enums.RedisKeyType;
-import com.zy.core.enums.RgvStatusType;
-import com.zy.core.enums.SlaveType;
-import com.zy.core.enums.WrkIoType;
+import com.zy.core.enums.*;
 import com.zy.core.model.protocol.CrnProtocol;
+import com.zy.core.model.protocol.DualCrnProtocol;
 import com.zy.core.model.protocol.StationProtocol;
 import com.zy.core.properties.SystemProperties;
 import com.zy.core.thread.CrnThread;
+import com.zy.core.thread.DualCrnThread;
 import com.zy.core.thread.StationThread;
 import com.zy.core.thread.RgvThread;
 import com.zy.core.model.protocol.RgvProtocol;
@@ -117,11 +115,12 @@
                 vo.setOutEnable(stationProtocol.isOutEnable()); // 鏄惁鍙嚭
                 vo.setEmptyMk(stationProtocol.isEmptyMk()); // 鏄惁绌烘澘
                 vo.setFullPlt(stationProtocol.isFullPlt()); // 鏄惁婊℃澘
+                vo.setRunBlock(stationProtocol.isRunBlock());// 杩愯鍫靛
                 vo.setPalletHeight(stationProtocol.getPalletHeight()); // 鎵樼洏楂樺害
                 vo.setError(stationProtocol.getError()); // 閿欒鐮�
                 vo.setBarcode(stationProtocol.getBarcode()); // 鏉$爜
                 String stationStatus = StationStatusType.process(stationProtocol).toString().toLowerCase().replaceAll("_", "-");
-                if (stationProtocol.isAutoing() && stationProtocol.isLoading() && stationProtocol.getTaskNo() > 0) {
+                if (stationProtocol.isAutoing() && stationProtocol.isLoading() && stationProtocol.getTaskNo() > 0 && !stationProtocol.isRunBlock()) {
                     String taskClass = getStationTaskClass(stationProtocol.getTaskNo(), inTaskRange, outTaskRange);
                     if (taskClass != null) {
                         stationStatus = taskClass;
@@ -204,6 +203,39 @@
         return R.ok().add(vos);
     }
 
+    @PostMapping("/latest/data/dualcrn")
+    @ManagerAuth(memo = "鍙屽伐浣嶅爢鍨涙満瀹炴椂鏁版嵁")
+    public R dualCrnLatestData() {
+        List<CrnLatestDataVo> vos = new ArrayList<>();
+        List<DeviceConfig> dualCrnList = deviceConfigService.selectList(new EntityWrapper<DeviceConfig>()
+                .eq("device_type", String.valueOf(SlaveType.DualCrn)));
+        for (DeviceConfig deviceConfig : dualCrnList) {
+            DualCrnThread crnThread = (DualCrnThread) SlaveConnection.get(SlaveType.DualCrn, deviceConfig.getDeviceNo());
+            if (crnThread == null) { continue; }
+            DualCrnProtocol p = crnThread.getStatus();
+            if (p == null) { continue; }
+            CrnLatestDataVo vo = new CrnLatestDataVo();
+            vo.setCrnId(p.getCrnNo());
+            Integer bay = p.getBay() != null ? p.getBay() : p.getBayTwo();
+            vo.setOffset(bay == null ? 0.0 : Double.valueOf(bay));
+            vo.setBay(bay);
+            Integer taskNo = (p.getTaskNo() != null && p.getTaskNo() > 0) ? p.getTaskNo()
+                    : ((p.getTaskNoTwo() != null && p.getTaskNoTwo() > 0) ? p.getTaskNoTwo() : 0);
+            vo.setTaskNo(taskNo);
+            if (p.getAlarm() != null && p.getAlarm() > 0) {
+                vo.setCrnStatus(CrnStatusType.MACHINE_ERROR);
+            } else {
+                if (taskNo != null && taskNo > 0) {
+                    vo.setCrnStatus(p.getModeType() == DualCrnModeType.AUTO ? CrnStatusType.MACHINE_AUTO : CrnStatusType.MACHINE_UN_AUTO);
+                } else {
+                    vo.setCrnStatus(p.getModeType() == DualCrnModeType.AUTO ? CrnStatusType.MACHINE_AUTO : CrnStatusType.MACHINE_UN_AUTO);
+                }
+            }
+            vos.add(vo);
+        }
+        return R.ok().add(vos);
+    }
+
     @PostMapping("/latest/data/rgv")
     @ManagerAuth(memo = "RGV瀹炴椂鏁版嵁")
     public R rgvLatestData(){
@@ -221,6 +253,7 @@
             }
             RgvLatestDataVo vo = new RgvLatestDataVo();
             vo.setRgvNo(rgvProtocol.getRgvNo());
+            vo.setTaskNo(rgvProtocol.getTaskNo());
             vo.setTrackSiteNo(String.valueOf(rgvProtocol.getRgvPos()));
             vo.setRgvStatus(RgvStatusType.get(rgvProtocol.getStatus()));
             vos.add(vo);

--
Gitblit v1.9.1