From 99723fc0384824c9b002d85a393038c333d039a1 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期一, 29 九月 2025 09:32:08 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java |   67 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java b/src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java
index cb5f612..f725f69 100644
--- a/src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java
+++ b/src/main/java/com/zy/asrs/webSocketConfig/LedWebsocket.java
@@ -14,8 +14,10 @@
 import com.zy.asrs.service.*;
 
 import com.zy.common.service.CommonService;
+import com.zy.common.utils.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
@@ -43,6 +45,10 @@
     private WrkDetlService wrkDetlService;
     @Autowired
     private OrderDetlService orderDetlService;
+    @Autowired
+    private RedisUtil redisUtil;
+    @Value("${led.id}")
+    private String ledId;
 
     @Scheduled(cron = "0/2 * * * * ? ")
     private void send() {
@@ -149,30 +155,53 @@
 
     }
 
-
     @Scheduled(cron = "0/2 * * * * ? ")
-    private void TaskOrErrorSend(){
+    private void ErrorSend(){
         Map<String,Object> map=new HashMap<>();
-
-        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1002));
-        if (basDevp == null || Cools.isEmpty(basDevp.getDecDesc()) || basDevp.getWrkNo() == 0){
+        map.put("to",ledId);
+        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
+        if (basDevp == null ){
             return;
         }
-        if (!Cools.isEmpty(basDevp.getDecDesc())){
-            map.put("to","1002");
-            map.put("message",Cools.add("type", "error").add("errMsg",basDevp.getDecDesc()));
-            webSocketServer.onMessage(JSONObject.toJSONString(map),null,"1002");
-        }else if (basDevp.getWrkNo() != 0){
-            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
-            if (null == wrkMast){
-                return;
-            }
-
-            List<LedCommand> commandList = getCommandList(basDevp.getWrkNo().toString());
-            map.put("to","1002");
-            map.put("message",Cools.add("type", "task").add("taskList",commandList));
-            webSocketServer.onMessage(JSONObject.toJSONString(map),null,"1002");
+        String key = "wms_websocket_error";
+        Object object = redisUtil.get(key);
+        if (null != object && object.equals(basDevp.getDecDesc())){
+            return;
         }
+        map.put("message",Cools.add("type", "error").add("errMsg",basDevp.getDecDesc()));
+        webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId);
+        redisUtil.set(key,basDevp.getDecDesc(),15);
+    }
+
+
+    @Scheduled(cron = "0/2 * * * * ? ")
+    private void TaskSend(){
+        Map<String,Object> map=new HashMap<>();
+        map.put("to",ledId);
+        BasDevp basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", ledId));
+        if (basDevp.getDevMk().equals("O")){
+            basDevp = basDevpService.selectOne(new EntityWrapper<BasDevp>().eq("dev_no", 1001));
+        }
+
+        if (basDevp == null ){
+            return;
+        }
+        String key = "wms_websocket_task";
+        Object object = redisUtil.get(key);
+        if (null != object && object.equals(basDevp.getWrkNo())){
+            return;
+        }
+        List<LedCommand> commandList = new ArrayList<>();
+
+        if (basDevp.getWrkNo() != 0){
+            WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", basDevp.getWrkNo()));
+            if (null != wrkMast){
+                commandList = getCommandList(basDevp.getWrkNo().toString());
+            }
+        }
+        map.put("message",Cools.add("type", "task").add("taskList",commandList));
+        webSocketServer.onMessage(JSONObject.toJSONString(map),null,ledId);
+        redisUtil.set(key,basDevp.getWrkNo(),15);
     }
 
     public List<LedCommand> getCommandList(String taskNo){

--
Gitblit v1.9.1