From aa64540348a39c2247a79b48156e089d80f43030 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期二, 31 十二月 2024 17:01:21 +0800 Subject: [PATCH] 1、启动关闭plc任务 --- hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java | 139 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 133 insertions(+), 6 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 53f3631..d180015 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,21 @@ 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.HollowGlassOutRelationInfo; +import com.mes.hollow.service.HollowBigStorageCageDetailsService; +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.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; @@ -29,29 +37,148 @@ public class PushMessageToIndex { @Resource - HollowGlassQueueInfoService hollowGlassQueueInfoService; + HollowGlassQueueInfoService hollowGlassQueueInfoService; @Resource HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService; + @Resource + HollowBigStorageCageService hollowBigStorageCageService; + @Resource + HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService; + @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>() .in(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START, Const.HOLLOW_FLOW_CARD_PAUSE)); - if (CollectionUtil.isEmpty(taskList)){ + if (CollectionUtil.isEmpty(taskList)) { return; } JSONObject jsonObject = new JSONObject(); List<String> flowCardIdList = taskList.stream().map(HollowGlassOutRelationInfo::getFlowCardId).collect(Collectors.toList()); List<HollowGlassQueueInfo> list = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>().in(HollowGlassQueueInfo::getFlowCardId, flowCardIdList)); Map<Integer, List<HollowGlassQueueInfo>> listMap = list.stream().collect(Collectors.groupingBy(HollowGlassQueueInfo::getCell)); - jsonObject.append("930",listMap.get("930")); - jsonObject.append("931",listMap.get("931")); - jsonObject.append("932",listMap.get("932")); + jsonObject.append("930", listMap.get(930)); + jsonObject.append("931", listMap.get(931)); + jsonObject.append("932", listMap.get(932)); List<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("HollowGlass"); if (CollectionUtil.isNotEmpty(sendwServer)) { - WebSocketServer socketServer = sendwServer.get(0); + for (WebSocketServer socketServer : sendwServer) { if (socketServer != null && socketServer.session.isOpen()) { socketServer.sendMessage(jsonObject.toString()); } + } } } + + @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", hollowBigStorageCageDetailsService.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