From 9272ffcd882f7fceef00dc01dc08b75a1e3acd4c Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期二, 11 十一月 2025 15:09:34 +0800
Subject: [PATCH] 1、 中空出片任务调度任务判定,占用单格的不配对的不执行调度,格子内全部为不配对的不调度 2、 移除无用包引用

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java |  143 +++++++++++------------------------------------
 1 files changed, 34 insertions(+), 109 deletions(-)

diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index 7cfb89e..39a87d4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -5,7 +5,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mes.common.config.Const;
-import com.mes.common.utils.RedisUtil;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.entity.request.DownGlassInfoRequest;
@@ -18,6 +17,8 @@
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.tools.DateUtil;
 import com.mes.tools.WebSocketServer;
+import com.mes.tools.WebSocketUtils;
+import com.mes.utils.RedisUtil;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,9 +26,9 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import javax.annotation.Resource;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
-import java.net.InetSocketAddress;
 import java.net.Socket;
 import java.util.ArrayList;
 import java.util.List;
@@ -48,6 +49,8 @@
     private DownGlassTaskService downGlassTaskService;
     @Autowired
     private GlassInfoService glassInfoService;
+    @Resource
+    private WebSocketUtils webSocketUtils;
 
     @Value("${mes.scan.ip}")
     private String scanIp;
@@ -66,15 +69,8 @@
         List<DownWorkstation> data = downWorkstationService.list();
         jsonObject.append("params", data);
         log.info(jsonObject.toString());
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null && webserver.session.isOpen()) {
-                    log.info("宸插彂閫�");
-                    webserver.sendMessage(jsonObject.toString());
-                }
-            }
-        }
+        webSocketUtils.sendToWeb("unloadglass", jsonObject);
+
     }
 
     @Scheduled(fixedDelay = 1000)
@@ -84,14 +80,7 @@
         List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3);
         jsonObject2.append("glassinfo", glassinfodata);
         log.info(jsonObject2.toString());
-        ArrayList<WebSocketServer> sendwServer2 = WebSocketServer.sessionMap.get("unloadglass2");
-        if (sendwServer2 != null) {
-            for (WebSocketServer webserver : sendwServer2) {
-                if (webserver != null && webserver.session.isOpen()) {
-                    webserver.sendMessage(jsonObject2.toString());
-                }
-            }
-        }
+        webSocketUtils.sendToWeb("unloadglass2", jsonObject2);
     }
 
     @Scheduled(fixedDelay = 1000)
@@ -101,14 +90,7 @@
         List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6);
         jsonObject3.append("glassinfo2", glassinfodata2);
         log.info(jsonObject3.toString());
-        ArrayList<WebSocketServer> sendwServer3 = WebSocketServer.sessionMap.get("unloadglass3");
-        if (sendwServer3 != null) {
-            for (WebSocketServer webserver : sendwServer3) {
-                if (webserver != null && webserver.session.isOpen()) {
-                    webserver.sendMessage(jsonObject3.toString());
-                }
-            }
-        }
+        webSocketUtils.sendToWeb("unloadglass3", jsonObject3);
     }
 
     @Scheduled(fixedDelay = 2000)
@@ -118,14 +100,7 @@
         List<Map<String, Object>> list = downStorageCageService.selectDownStorageCages();
         jsonObject4.append("params2", list);
         log.info(jsonObject4.toString());
-        ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("downcache");
-        if (sendwServer4 != null) {
-            for (WebSocketServer webserver : sendwServer4) {
-                if (webserver != null && webserver.session.isOpen()) {
-                    webserver.sendMessage(jsonObject4.toString());
-                }
-            }
-        }
+        webSocketUtils.sendToWeb("downcache", jsonObject4);
     }
 
     @Scheduled(fixedDelay = 2000)
@@ -155,7 +130,7 @@
         jsonObject4.append("downGlassInfos", downGlassInfos);
         jsonObject4.append("engineerIdList", engineerIdList);
 
-        //閽㈠寲寮�鍏�
+        //鎵撳嵃寮�鍏�
         boolean autoPrint = false;
         if (redisUtil.getCacheObject("autoPrint") == null) {
             redisUtil.setCacheObject("autoPrint", false);
@@ -169,19 +144,13 @@
                         .select("Top 1 *")
                         .eq("end_cell", Const.G13_WORK_STATION)
                         .lt("task_status", Const.UNLOAD_GLASS_DOWN)
-                        .orderByDesc("id")
+                        .orderByAsc("id")
         );
-        jsonObject4.append("takeGlass", takeGlass);
-
-
-        ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
-        if (sendwServer4 != null) {
-            for (WebSocketServer webserver : sendwServer4) {
-                if (webserver != null && webserver.session.isOpen()) {
-                    webserver.sendMessage(jsonObject4.toString());
-                }
-            }
+        if (takeGlass != null) {
+            jsonObject4.append("takeGlass", takeGlass);
         }
+
+        webSocketUtils.sendToWeb("unloadglass", jsonObject4);
     }
 
     @Scheduled(fixedDelay = 1000)
@@ -192,75 +161,31 @@
         jsonObject.append("downWorkstation", downWorkstation);
         List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache();
         jsonObject.append("downGlassTask", downGlassTask);
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unLoadGlassIsRun");
-        if (sendwServer != null) {
-            for (WebSocketServer webserver : sendwServer) {
-                if (webserver != null) {
-                    webserver.sendMessage(jsonObject.toString());
-                } else {
-                    log.info("unLoadGlassIsRun is closed");
-                }
-            }
-        }
+
+        webSocketUtils.sendToWeb("unLoadGlassIsRun", jsonObject);
     }
 
     @Scheduled(fixedDelay = Long.MAX_VALUE)
     public void scanCodeTask() {
         log.info("鎵弿浠诲姟宸插惎鍔�");
         while (true) {
-            new Thread(() -> {
-                try (Socket socket = new Socket(scanIp, scanPort);
-                     BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
-                    // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴�
-                    String response;
-                    log.info("绛夊緟鎵爜涓�......");
-                    while ((response = in.readLine()) != null) {
-                        log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", response);
-                        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode");
-                        if (CollectionUtils.isNotEmpty(sendwServer)) {
-                            //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭
-                            GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
-                                    .eq(GlassInfo::getGlassId, response).last("limit 1"));
-                            if (null == glassInfo) {
-                                log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", response);
-                            } else {
-                                sendwServer.get(0).sendMessage(glassInfo.toString());
-                            }
-                        }
-                    }
-                } catch (Exception exception) {
-                    log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage());
+            JSONObject jsonObject = new JSONObject();
+            try (Socket socket = new Socket(scanIp, scanPort);
+                 BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
+                // 鎺ユ敹鏈嶅姟鍣ㄥ搷搴�
+                log.info("绛夊緟鎵爜涓�......");
+                String glassId = in.readLine();
+                log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", glassId);
+                //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭
+                GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
+                        .eq(GlassInfo::getGlassId, glassId).last("limit 1"));
+                if (null == glassInfo) {
+                    log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", glassId);
+                    return;
                 }
-            }).start();
-        }
-    }
-
-    @Scheduled(fixedDelay = Long.MAX_VALUE)
-    public void scanCodeTaskCopy()
-    {
-        log.info("鎵弿浠诲姟宸插惎鍔�");
-        try {
-            BarcodeReadThread brt=new BarcodeReadThread(scanIp,scanPort,this);
-            brt.start();
-
-        }catch (Exception exception) {
-            log.info("鎵弿浠诲姟鍚姩寮傚父锛屽師鍥犱负{}", exception.getMessage());
-        }
-
-    }
-    //socket璇诲彇鍒版秷鎭悗浼氳皟鐢ㄨ繖涓嚱鏁�
-    public void barcodeCheckin(String response)
-    {
-        log.info("鎵弿鍒扮殑鐜荤拑id锛歿}", response);
-        List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("scanCode");
-        if (CollectionUtils.isNotEmpty(sendwServer)) {
-            //鎸夌収鐜荤拑id鑾峰彇鐜荤拑淇℃伅杩斿洖缁欏墠绔晫闈紝鍏蜂綋闇�瑕佸摢浜涙暟鎹緟纭
-            GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>()
-                    .eq(GlassInfo::getGlassId, response).last("limit 1"));
-            if (null == glassInfo) {
-                log.info("鎸夌収鐜荤拑id锛歿}锛屾棤娉曟壘鍒扮幓鐠冧俊鎭�", response);
-            } else {
-                sendwServer.get(0).sendMessage(glassInfo.toString());
+                webSocketUtils.sendToWeb("scanGlass", glassInfo);
+            } catch (Exception exception) {
+                log.info("璇诲彇寮傚父锛屽師鍥犱负{}", exception.getMessage());
             }
         }
     }

--
Gitblit v1.8.0