From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期一, 23 十二月 2024 16:13:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 124 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 124 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java index c745481..e3b5d27 100644 --- a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java +++ b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java @@ -3,13 +3,22 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.kangaroohy.milo.model.ReadWriteEntity; +import com.kangaroohy.milo.service.MiloService; +import com.mes.bigstoragecagetask.entity.BigStorageCageTask; +import com.mes.bigstoragecagetask.service.BigStorageCageTaskService; import com.mes.common.config.Const; +import com.mes.hollow.entity.HollowBigStorageCage; import com.mes.hollow.entity.HollowGlassOutRelationInfo; +import com.mes.hollow.service.HollowBigStorageCageService; import com.mes.hollow.service.HollowGlassOutRelationInfoService; import com.mes.hollowqueue.entity.HollowGlassQueueInfo; import com.mes.hollowqueue.service.HollowGlassQueueInfoService; +import com.mes.temperingglass.entity.TemperingGlassInfo; 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.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -32,6 +41,16 @@ HollowGlassQueueInfoService hollowGlassQueueInfoService; @Resource HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService; + @Resource + HollowBigStorageCageService hollowBigStorageCageService; + @Resource + BigStorageCageTaskService bigStorageCageTaskService; + + @Autowired(required = false) + MiloService miloService; + + @Resource + RedisUtil redisUtil; @Scheduled(fixedDelay = 1000) public void hollowGlassTask() { List<HollowGlassOutRelationInfo> taskList = hollowGlassOutRelationInfoService.list(new LambdaQueryWrapper<HollowGlassOutRelationInfo>() @@ -55,4 +74,109 @@ } } } + + @Scheduled(fixedDelay = 1000) + public void hollowGlassMessage() { + JSONObject jsonObject = new JSONObject(); + try { + //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁 + queryDataSource1(jsonObject); + + ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("hollowGlassMessage"); + 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"); + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + + public void queryDataSource1(JSONObject jsonObject) throws Exception { + List<Double> carPostion = new ArrayList<>(); + carPostion.add(0.25); + carPostion.add(0.5); + jsonObject.append("carPostion", carPostion); + //鐣岄潰灞曠ず绗煎瓙淇℃伅 + jsonObject.append("bigStorageCageInfos", hollowBigStorageCageService.queryHollowbigStorageCageDetail()); + + try{ + //杩涚墖浠诲姟鏁版嵁 + List<BigStorageCageTask> inTaskList = new ArrayList(); + ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1"); + for (int i = 1; i <= 6; i++) { + ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i); + ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i); + ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i); + if (null != requestWord.getValue()) { + BigStorageCageTask task = new BigStorageCageTask(); + task.setGlassId(requestWord.getValue() + ""); + task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); + task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); + task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); + inTaskList.add(task); + continue; + } + } + jsonObject.append("bigStorageCageDetailsFeedTask", inTaskList); + //杩涚墖鑱旀満 + ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl"); + jsonObject.append("inkageEntity", inkageEntity.getValue()); + //杩涚墖璇锋眰 + ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes"); + jsonObject.append("requestEntity", requestEntity.getValue()); + //鍚姩鍛戒护 + ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply"); + jsonObject.append("mesReplyEntity", mesReplyEntity.getValue()); + //鍑虹墖鑱旀満 + ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl"); + jsonObject.append("outInkageEntity", outInkageEntity.getValue()); + //鍑虹墖璇锋眰 + ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes"); + jsonObject.append("outRequestEntity", outRequestEntity.getValue()); + + }catch(Exception e){ + //todo:涓嶅仛浠诲姟澶勭悊 + } + + //鍑虹墖浠诲姟鏁版嵁 + List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_two_task"); + jsonObject.append("bigStorageCageDetailsOutTask", outTaskList); + + //璋冨害寮�鍏� + boolean dispatchHollowSwitch = false; + if (redisUtil.getCacheObject("dispatchHollowSwitch") == null) { + redisUtil.setCacheObject("dispatchHollowSwitch", false); + } else { + dispatchHollowSwitch = redisUtil.getCacheObject("dispatchHollowSwitch"); + } + jsonObject.append("dispatchHollowSwitch", dispatchHollowSwitch); + + //鐞嗙墖绗间娇鐢ㄦ儏鍐� + List<Map<String, Object>> bigStorageCageUsage = hollowBigStorageCageService.selectBigStorageCageUsage(); + jsonObject.append("bigStorageCageUsage", bigStorageCageUsage); + +// +// //鎵撳嵃寮�鍏� +// boolean autoPrint = false; +// if (redisUtil.getCacheObject("autoPrint") == null) { +// redisUtil.setCacheObject("autoPrint", false); +// } else { +// autoPrint = redisUtil.getCacheObject("autoPrint"); +// } +// jsonObject.append("autoPrint", autoPrint); + + } + } -- Gitblit v1.8.0