From 7d7ad3200c9657b521abf54fef4eb0e8603ef4c1 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期一, 03 三月 2025 09:28:04 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java |  123 ++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 15 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
index cdbe706..97f8fef 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -1,10 +1,20 @@
 package com.mes.job;
 
 import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mes.common.config.Const;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.edgstoragecage.entity.vo.CutDrawingVO;
+import com.mes.edgstoragecage.entity.vo.EdgStorageCageVO;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.opctask.entity.EdgStorageDeviceTask;
+import com.mes.opctask.entity.EdgStorageDeviceTaskHistory;
+import com.mes.opctask.service.EdgStorageDeviceTaskHistoryService;
+import com.mes.opctask.service.EdgStorageDeviceTaskService;
 import com.mes.tools.WebSocketServer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -14,6 +24,7 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CompletionStage;
 
 /**
  * @Author : zhoush
@@ -30,18 +41,42 @@
     EdgStorageCageService edgStorageCageService;
     @Resource
     EdgGlassTaskInfoService edgGlassTaskInfoService;
+    @Resource
+    EdgStorageDeviceTaskService edgStorageDeviceTaskService;
+    @Resource
+    EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService;
+    @Resource
+    EngineeringService engineeringService;
+
+
+    private static final String EDG_STORAGE_DEVICE_ONE_TASK = "edg_storage_device_one_task";
+
+    private static final String EDG_STORAGE_DEVICE_TWO_TASK = "edg_storage_device_two_task";
 
     @Scheduled(fixedDelay = 1000)
-    public void CacheGlassTasks() {
-        JSONObject jsonObject = new JSONObject();
-        List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-        jsonObject.append("currentCutTerritory", currentCutTerritorys);
-        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
-        //鍗у缂撳瓨绗煎唴淇℃伅
-        List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
-        jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
+    public void CacheGlassOneTasks() {
+        CacheGlassTasksChild("cacheGlassOne", 1);
+    }
 
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
+    @Scheduled(fixedDelay = 1000)
+    public void CacheGlassTwoTasks() {
+        CacheGlassTasksChild("cacheGlassTwo", 2);
+    }
+
+    private void CacheGlassTasksChild(String webSocketName, int deviceId) {
+        JSONObject jsonObject = new JSONObject();
+        //鍗у缂撳瓨绗煎唴淇℃伅
+        List<EdgStorageCageVO> edgStorageCageVOS = edgStorageCageService.selectEdgStorageCagesByDeviceId(deviceId);
+        jsonObject.append("EdgStorageCageinfos", edgStorageCageVOS);
+
+        //鑾峰彇姝e湪鏁村舰涓殑浠诲姟
+        EdgStorageDeviceTaskHistory taskHistory = edgStorageDeviceTaskHistoryService.getOne(new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
+                .eq(EdgStorageDeviceTaskHistory::getDeviceId, deviceId)
+                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
+                .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1"));
+        jsonObject.append("taskMessage", taskHistory);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(webSocketName);
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
                 if (webserver != null) {
@@ -59,16 +94,30 @@
     }
 
     @Scheduled(fixedDelay = 1000)
-    public void cacheGlassIsRun() {
+    public void currentCutDrawingOneTask() {
+        currentCutDrawingTaskChild("currentCutDrawingOne", 1, 5);
+    }
+
+    @Scheduled(fixedDelay = 1000)
+    public void currentCutDrawingTwoTask() {
+        currentCutDrawingTaskChild("currentCutDrawingTwo", 2, 6);
+    }
+
+    public void currentCutDrawingTaskChild(String webSocketName, int deviceId, int stationCell) {
         JSONObject jsonObject = new JSONObject();
-        //姝e湪杩涜鐨勪换鍔�
-        List<EdgGlassTaskInfo> taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun();
-        jsonObject.append("taskCaches", taskCaches);
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun");
+        List<CutDrawingVO> currentCutDrawings = edgStorageCageDetailsService.queryCurrentCutDrawing(deviceId, stationCell);
+        jsonObject.append("currentCutTerritory", currentCutDrawings);
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(webSocketName);
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
                 if (webserver != null) {
                     webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
                 } else {
                     log.info("Home is closed");
                 }
@@ -79,7 +128,6 @@
     @Scheduled(fixedDelay = 1000)
     public void CacheGlassTaskss() {
         JSONObject jsonObject = new JSONObject();
-        //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
         //纾ㄨ竟淇℃伅
         List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
         jsonObject.append("edgTasks", edgTasks);
@@ -100,4 +148,49 @@
             }
         }
     }
+
+    @Scheduled(fixedDelay = 1000)
+    public void largenScreen() {
+        JSONObject jsonObject = new JSONObject();
+        //纾ㄨ竟淇℃伅
+        List<EdgStorageDeviceTaskHistory> edgOneTasks = edgStorageDeviceTaskHistoryService.list(
+                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
+                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 1)
+                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
+        );
+        List<EdgStorageDeviceTaskHistory> edgTwoTasks = edgStorageDeviceTaskHistoryService.list(
+                new LambdaQueryWrapper<EdgStorageDeviceTaskHistory>()
+                        .eq(EdgStorageDeviceTaskHistory::getDeviceId, 1)
+                        .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.EDG_GLASS_BEFORE)
+        );
+        jsonObject.append("edgOneTasks", edgOneTasks);
+        jsonObject.append("edgTwoTasks", edgTwoTasks);
+        List<Engineering> engineeringOne = engineeringService.list(
+                new LambdaQueryWrapper<Engineering>()
+                        .eq(Engineering::getStationCell, 5)
+                        .eq(Engineering::getState, 0)
+        );
+        List<Engineering> engineeringTow = engineeringService.list(
+                new LambdaQueryWrapper<Engineering>()
+                        .eq(Engineering::getStationCell, 6)
+                        .eq(Engineering::getState, 0)
+        );
+        jsonObject.append("engineeringOne", engineeringOne);
+        jsonObject.append("engineeringTwo", engineeringTow);
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("largenScreen is closed");
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.8.0