From 4e3b8155722b66e25df3c6fd42cc586b68dea391 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 06 六月 2025 13:55:39 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 170 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 153 insertions(+), 17 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..8f5b662 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,19 +1,37 @@
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.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;
import org.springframework.scheduling.annotation.Scheduled;
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
@@ -30,18 +48,44 @@
EdgStorageCageService edgStorageCageService;
@Resource
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";
+
+ 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 +103,27 @@
}
@Scheduled(fixedDelay = 1000)
- public void cacheGlassIsRun() {
- JSONObject jsonObject = new JSONObject();
- //姝e湪杩涜鐨勪换鍔�
- List<EdgGlassTaskInfo> taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun();
- jsonObject.append("taskCaches", taskCaches);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("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 = edgStorageCageDetailsService.queryCurrentCutDrawing(deviceId, stationCell);
+ 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 +134,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 +154,86 @@
}
}
}
+
+ @Scheduled(fixedDelay = 5000)
+ 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