From 2c08bfb96d6523dfbf5ae543e94495c151aadbf1 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期五, 14 三月 2025 17:53:18 +0800 Subject: [PATCH] 大屏嵌入历史任务,生产统计显示 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 148 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 131 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..bf42980 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,21 @@ 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.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; @@ -13,7 +24,6 @@ import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.Map; /** * @Author : zhoush @@ -30,18 +40,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 +95,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 +126,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 +146,72 @@ } } } + + @Scheduled(fixedDelay = 1000) + public void querySameDayProductionTask() { + JSONObject jsonObject = new JSONObject(); + DailyProductionVO productionVO = largenScreenService.querySameDayProduction(new DateRequest()); + jsonObject.append("productionVO", productionVO); + + ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreenProduction"); + 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("largenScreenProduction is closed"); + } + } + } + } + + @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, 2) + .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