From 982bc1e3eb588021b2f73dfb04bfc78beb462db7 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 10 六月 2025 14:25:19 +0800
Subject: [PATCH] 添加引入,修改S7类short为int

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java |  154 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 144 insertions(+), 10 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 8801ad7..51570dd 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,12 +1,22 @@
 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.EdgStorageCageVO;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
-import com.mes.opctask.entity.EdgStorageDeviceTask;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.service.EngineeringService;
+import com.mes.largenscreen.entity.DailyProductionVO;
+import com.mes.largenscreen.entity.DateRequest;
+import com.mes.largenscreen.entity.PieChartVO;
+import com.mes.largenscreen.entity.RunTime;
+import com.mes.largenscreen.service.LargenScreenService;
+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;
@@ -14,9 +24,14 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
 /**
  * @Author : zhoush
@@ -35,6 +50,12 @@
     EdgGlassTaskInfoService edgGlassTaskInfoService;
     @Resource
     EdgStorageDeviceTaskService edgStorageDeviceTaskService;
+    @Resource
+    EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService;
+    @Resource
+    EngineeringService engineeringService;
+    @Resource
+    LargenScreenService largenScreenService;
 
 
     private static final String EDG_STORAGE_DEVICE_ONE_TASK = "edg_storage_device_one_task";
@@ -43,25 +64,56 @@
 
     @Scheduled(fixedDelay = 1000)
     public void CacheGlassOneTasks() {
-        CacheGlassTasksChild(EDG_STORAGE_DEVICE_ONE_TASK, "cacheGlassOne", 1, 5);
+        CacheGlassTasksChild("cacheGlassOne", 1);
     }
 
     @Scheduled(fixedDelay = 1000)
     public void CacheGlassTwoTasks() {
-        CacheGlassTasksChild(EDG_STORAGE_DEVICE_TWO_TASK, "cacheGlassTwo", 2, 6);
+        CacheGlassTasksChild("cacheGlassTwo", 2);
     }
 
-    private void CacheGlassTasksChild(String tableName, String webSocketName, int deviceId, int stationCell) {
+    private void CacheGlassTasksChild(String webSocketName, int deviceId) {
         JSONObject jsonObject = new JSONObject();
-//        List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-//        jsonObject.append("currentCutTerritory", currentCutTerritorys);
-        //鍗у缂撳瓨绗煎唴淇℃伅0 = {EdgStorageCageVO@11649} "EdgStorageCageVO(details=null)"
+        //鍗у缂撳瓨绗煎唴淇℃伅
         List<EdgStorageCageVO> edgStorageCageVOS = edgStorageCageService.selectEdgStorageCagesByDeviceId(deviceId);
         jsonObject.append("EdgStorageCageinfos", edgStorageCageVOS);
 
-        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName);
-        jsonObject.append("taskMessage", task);
+        //鑾峰彇姝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) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("Home is closed");
+                }
+            }
+        }
+    }
+
+    @Scheduled(fixedDelay = 1000)
+    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 = edgStorageCageDetailsService.queryCurrentCutDrawing(deviceId, stationCell);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get(webSocketName);
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
@@ -102,4 +154,86 @@
             }
         }
     }
+
+    @Scheduled(fixedDelay = 1000)
+    public void querySameDayProductionTask() {
+        JSONObject jsonObject = new JSONObject();
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreenProduction");
+        if (sendwServer != null) {
+            List<DailyProductionVO> productionVO = largenScreenService.querySameDayProduction(new DateRequest());
+            jsonObject.append("productionVO", productionVO);
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                    List<String> messages = webserver.getMessages();
+                    if (!messages.isEmpty()) {
+                        // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                        webserver.clearMessages();
+                    }
+                } else {
+                    log.info("largenScreenProduction is closed");
+                }
+            }
+        }
+    }
+
+    @Scheduled(fixedDelay = 5000)
+    public void largenScreen() {
+        JSONObject jsonObject = new JSONObject();
+        //纾ㄨ竟淇℃伅
+
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
+        if (sendwServer != null) {
+            Date startOfToday = new Date(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli());
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            String formatted = sdf.format(startOfToday);
+            LocalDate date = LocalDate.parse(formatted); // formatted = "2025-05-23"
+            LocalDateTime start = date.atStartOfDay(); // 2025-05-23 00:00:00
+            LocalDateTime end = date.plusDays(1).atStartOfDay();
+            int edgOneCount = edgGlassTaskInfoService.count(
+                    new LambdaQueryWrapper<EdgGlassTaskInfo>()
+                            .lt(EdgGlassTaskInfo::getState, 2)
+                            .eq(EdgGlassTaskInfo::getLine, 1)
+                            .between(EdgGlassTaskInfo::getCreateTime, start, end)
+            );
+            edgOneCount = edgOneCount >= 6 ? 6 : edgOneCount;
+            int edgTwoCount = edgGlassTaskInfoService.count(
+                    new LambdaQueryWrapper<EdgGlassTaskInfo>()
+                            .lt(EdgGlassTaskInfo::getState, 2)
+                            .eq(EdgGlassTaskInfo::getLine, 2)
+                            .between(EdgGlassTaskInfo::getCreateTime, start, end)
+            );
+            edgTwoCount = edgTwoCount >= 6 ? 6 : edgTwoCount;
+            jsonObject.append("edgOneCount", edgOneCount);
+            jsonObject.append("edgTwoCount", edgTwoCount);
+            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);
+            List<PieChartVO> pieChartVOS = edgStorageCageDetailsService.queryPieChart();
+            jsonObject.append("pieChartVOS", pieChartVOS);
+            List<RunTime> loadRunTimes = edgStorageDeviceTaskHistoryService.queryRunTimes(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")));
+            jsonObject.append("loadRunTimes", loadRunTimes);
+            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