From 7e5796e4813bb1f4d2696a0fd05f408147c3b96e Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期三, 11 六月 2025 15:16:01 +0800 Subject: [PATCH] 所有项目必填判断 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java | 87 +++++++++++++++++++++++++++++++------------ 1 files changed, 63 insertions(+), 24 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java index 1fcdedf..0224a8d 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OPCPlcSlicecage.java @@ -1,31 +1,34 @@ package com.mes.job; import cn.hutool.json.JSONObject; -import cn.smallbun.screw.core.util.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.kangaroohy.milo.model.ReadWriteEntity; import com.kangaroohy.milo.service.MiloService; import com.mes.bigstorage.entity.BigStorageCageDetails; +import com.mes.bigstorage.entity.dto.BigStorageSummaryDTO; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; +import com.mes.bigstoragecagetask.entity.BigStorageCageHistoryTask; import com.mes.bigstoragecagetask.entity.BigStorageCageTask; +import com.mes.bigstoragecagetask.entity.BigStorageTaskVO; +import com.mes.bigstoragecagetask.service.BigStorageCageHistoryTaskService; import com.mes.bigstoragecagetask.service.BigStorageCageTaskService; -import com.mes.glassinfo.entity.GlassInfo; +import com.mes.common.config.Const; import com.mes.glassinfo.service.GlassInfoService; +import com.mes.largenscreen.entity.PieChartVO; +import com.mes.largenscreen.entity.RunTime; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.service.TemperingGlassInfoService; import com.mes.tools.WebSocketServer; import com.mes.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; 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.Socket; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -49,15 +52,11 @@ private GlassInfoService glassInfoService; @Resource private BigStorageCageTaskService bigStorageCageTaskService; + @Resource + private BigStorageCageHistoryTaskService bigStorageCageHistoryTaskService; @Autowired(required = false) MiloService miloService; - - @Value("${mes.scan.ip}") - private String scanIp; - - @Value("${mes.scan.port}") - private Integer scanPort; private JSONObject jsonObject = new JSONObject(); @@ -67,19 +66,26 @@ carPostion.add(0.5); jsonObject.append("carPostion", carPostion); //鐣岄潰灞曠ず绗煎瓙淇℃伅 - jsonObject.append("bigStorageCageInfos", bigStorageCageService.querybigStorageCageDetail()); + jsonObject.append("bigStorageCageInfos", bigStorageCageDetailsService.querybigStorageCageDetail()); - try{ + try { //杩涚墖浠诲姟鏁版嵁 - List<BigStorageCageTask> inTaskList = new ArrayList(); + List<BigStorageTaskVO> inTaskList = new ArrayList(); ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1"); for (int i = 1; i <= 6; i++) { ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i); ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i); ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i); if (null != requestWord.getValue()) { - BigStorageCageTask task = new BigStorageCageTask(); + BigStorageTaskVO task = new BigStorageTaskVO(); task.setGlassId(requestWord.getValue() + ""); + int isExistCount = bigStorageCageDetailsService.count(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, task.getGlassId()) + .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); + if (isExistCount > 0) { + task.setIsSame(1); + } else { + task.setIsSame(0); + } task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); @@ -88,7 +94,10 @@ } } jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList); - + } catch (Exception e) { + //todo:涓嶅仛浠诲姟澶勭悊 + } + try { //杩涚墖鑱旀満 ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl"); jsonObject.append("inkageEntity", inkageEntity.getValue()); @@ -104,14 +113,14 @@ //鍑虹墖璇锋眰 ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP1B.DLP1B.RequestMes"); jsonObject.append("outRequestEntity", outRequestEntity.getValue()); - }catch(Exception e){ + + + //鍑虹墖浠诲姟鏁版嵁 + List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task"); + jsonObject.append("bigStorageCageDetailsOutTask", outTaskList); + } catch (Exception e) { //todo:涓嶅仛浠诲姟澶勭悊 } - - //鍑虹墖浠诲姟鏁版嵁 - List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task"); - jsonObject.append("bigStorageCageDetailsOutTask", outTaskList); - //閽㈠寲寮�鍏� boolean temperingSwitch = false; @@ -135,6 +144,9 @@ List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage(); jsonObject.append("bigStorageCageUsage", bigStorageCageUsage); + //澶х悊鐗囨眹鎬讳俊鎭� + List<BigStorageSummaryDTO> bigStorageSummary = bigStorageCageService.selectBigStorageSummary(); + jsonObject.append("bigStorageSummary", bigStorageSummary); //鎵撳嵃寮�鍏� boolean autoPrint = false; @@ -178,7 +190,7 @@ //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁 queryDataSource1(); //鏌ヨ浣跨敤鏁版嵁婧�2鏌ヨ鏁版嵁 - queryDataSource2(); +// queryDataSource2(); ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage"); if (sendwServer != null) { @@ -199,4 +211,31 @@ e.printStackTrace(); } } + + @Scheduled(fixedDelay = 1000) + public void largenScreen() { + JSONObject jsonObject = new JSONObject(); + //鐞嗙墖绗间娇鐢ㄦ儏鍐� + ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen"); + if (sendwServer != null) { + List<Map<String, Object>> bigStorageCageUsage = bigStorageCageService.selectBigStorageCageUsage(); + jsonObject.append("bigStorageCageUsage", bigStorageCageUsage); + List<PieChartVO> pieChartVOS = bigStorageCageService.queryPieChart(); + jsonObject.append("pieChartVOS", pieChartVOS); + List<RunTime> tempRunTimes = bigStorageCageHistoryTaskService.queryRunTimes(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + jsonObject.append("tempRunTimes", tempRunTimes); + 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"); + } + } + } + } } \ No newline at end of file -- Gitblit v1.8.0