From f1a616a09a30e096617cbf7d64c911bb4e81c738 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 23 十二月 2024 11:29:03 +0800
Subject: [PATCH] 1、中空大理片前端推送数据
---
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