From cbec6e3f120344f6f2d69808aaabb447bb52a693 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 22 八月 2024 09:45:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 86 ++++++++++++++++++++++++++++++++++++++----
1 files changed, 77 insertions(+), 9 deletions(-)
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
index 863c349..acd2fcf 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -1,8 +1,12 @@
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.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
-import com.mes.temperingglass.service.TemperingAgoService;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -11,6 +15,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author SNG-010
@@ -20,27 +25,68 @@
public class PlcTemperingGlassTask {
@Autowired
- private TemperingAgoService temperingAgoService;
+ private TemperingGlassInfoService temperingAgoService;
+ @Autowired
+ private DamageService damageService;
+
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
@Scheduled(fixedDelay = 1000)
- public void loadGlassHome(){
+ public void temperingGlassHome() {
JSONObject jsonObject = new JSONObject();
//姝e湪绛夊緟杩涚墖鐨勭幓鐠�
List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
- jsonObject.append("waitingGlass", waitingGlass);
+ if (waitingGlass != null) {
+ jsonObject.append("waitingGlass", waitingGlass);
+ }
+
+ //鑾峰彇鏁村湪鐐変腑鐨勪袱涓増鍥緄d
+ List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
//杩涚倝涓殑鐜荤拑
- List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass();
- jsonObject.append("intoGlass", intoGlass);
+ if (!layoutId.isEmpty()) {
+ List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
+ jsonObject.append("intoGlass", intoGlass);
+ //杩涚倝涓殑绗簩涓増鍥�
+ if (layoutId.size() > 1) {
+ List<TemperingGlassInfo> intoGlass2 = temperingAgoService.selectIntoGlass(layoutId.get(1));
+ jsonObject.append("intoGlass2", intoGlass2);
+ }
+ }
//鍑虹倝鍚庣殑鐜荤拑
List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
- jsonObject.append("outGlass", outGlass);
+ if (outGlass != null) {
+ jsonObject.append("outGlass", outGlass);
+ }
+
//杩囨棆杞彴閽㈠寲鍚庣殑鐜荤拑
- TemperingGlassInfo overGlass = temperingAgoService.selectOverGlass();
- jsonObject.append("overGlass", overGlass);
+ List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
+ if (outGlass != null) {
+ jsonObject.append("overGlass", overGlass);
+ }
+ //褰撳墠閽㈠寲宸ョ▼鐨勬嬁璧版暟鎹�
+ LambdaQueryWrapper<TemperingGlassInfo> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.select(TemperingGlassInfo::getEngineerId)
+ .lt(TemperingGlassInfo::getState, Const.TEMPERING_END)
+ .groupBy(TemperingGlassInfo::getEngineerId);
+
+ List<String> engineerIds = temperingAgoService.list(queryWrapper)
+ .stream()
+ .map(TemperingGlassInfo::getEngineerId)
+ .distinct()
+ .collect(Collectors.toList());
+
+ List<Damage> temperingTakeGlassInfos = damageService.list(
+ new LambdaQueryWrapper<Damage>()
+ .in(Damage::getEngineerId, engineerIds)
+ .eq(Damage::getType, Const.GLASS_STATE_TAKE)
+ .orderByAsc(Damage::getId)
+ );
+
+
+ jsonObject.append("temperingTakeGlassInfos", temperingTakeGlassInfos);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
if (sendwServer != null) {
@@ -54,4 +100,26 @@
}
}
+ @Scheduled(fixedDelay = 1000)
+ public void temperingIsRun() {
+ JSONObject jsonObject = new JSONObject();
+ //姝e湪杩涜鐨勪换鍔�
+ List<TemperingGlassInfo> temperingTaskType = temperingAgoService.selectTaskType();
+ jsonObject.append("temperingTaskType", temperingTaskType);
+
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingIsRun");
+ if (sendwServer != null) {
+ for (WebSocketServer webserver : sendwServer) {
+ if (webserver != null) {
+ webserver.sendMessage(jsonObject.toString());
+ } else {
+ log.info("Home is closed");
+ }
+ }
+ }
+
+ }
+
+
}
\ No newline at end of file
--
Gitblit v1.8.0