From 8891898a6ae6229ede66c8005f2912c75ddc6d90 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 05 三月 2025 22:32:26 +0800
Subject: [PATCH] 1、fixbug:中空任务领取部分对数玻璃后继续领任务,任务显示异常bug解决 2、大理片笼/中空理片笼显示异常bug:进片任务计算目标格子后,预先将笼子插入一条记录,界面相同判断时显示存在歧义,修改数据返回逻辑:在没有目标格子前提下,如果笼内存在玻璃显示相同,有目标格子后笼内有数据不显示 3、中空理片笼进片任务优化:中空可能存在脏数据,原因人为操作或订单多补片造成中空关系订单数量与实际数据不匹配,实际数量大于订单数量,系统会重新生成一份关系造成关系进笼玻璃数据顺序存在重复而无法进笼。
---
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 72 ++++++++++++++++++++++++++++++++----
1 files changed, 64 insertions(+), 8 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 f7e63e5..f5661a3 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,5 +1,12 @@
package com.mes.job;
+
import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.mes.common.config.Const;
+import com.mes.damage.entity.Damage;
+import com.mes.damage.service.DamageService;
+import com.mes.engineering.entity.Engineering;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.tools.WebSocketServer;
@@ -10,6 +17,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author SNG-010
@@ -20,21 +28,27 @@
@Autowired
private TemperingGlassInfoService temperingAgoService;
+ @Autowired
+ private DamageService damageService;
+
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
@Scheduled(fixedDelay = 1000)
- public void temperingGlassHome(){
+ 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();
//杩涚倝涓殑鐜荤拑
- if(!layoutId.isEmpty()) {
+ if (!layoutId.isEmpty()) {
List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
jsonObject.append("intoGlass", intoGlass);
//杩涚倝涓殑绗簩涓増鍥�
@@ -45,11 +59,16 @@
}
//鍑虹倝鍚庣殑鐜荤拑
List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
- jsonObject.append("outGlass", outGlass);
+ if (outGlass != null) {
+ jsonObject.append("outGlass", outGlass);
+ }
+
//杩囨棆杞彴閽㈠寲鍚庣殑鐜荤拑
List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
+ if (outGlass != null) {
+ jsonObject.append("overGlass", overGlass);
+ }
- jsonObject.append("overGlass", overGlass);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
if (sendwServer != null) {
@@ -62,13 +81,16 @@
}
}
}
+
@Scheduled(fixedDelay = 1000)
- public void temperingIsRun(){
+ public void temperingIsRun() {
JSONObject jsonObject = new JSONObject();
//姝e湪杩涜鐨勪换鍔�
- List<TemperingGlassInfo>temperingTaskType=temperingAgoService.selectTaskType();
+ List<TemperingGlassInfo> temperingTaskType = temperingAgoService.selectTaskType();
jsonObject.append("temperingTaskType", temperingTaskType);
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
+
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingIsRun");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
@@ -78,7 +100,41 @@
}
}
}
+
}
+ @Scheduled(fixedDelay = 1000)
+ public void largenScreen() {
+ JSONObject jsonObject = new JSONObject();
+ //澶у睆閽㈠寲淇℃伅
+ Integer putGlass = temperingAgoService.count(
+ new LambdaUpdateWrapper<TemperingGlassInfo>()
+ .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
+ );
+ jsonObject.append("temperingTaskType", putGlass);
+ //澶у睆閽㈠寲淇℃伅
+ List<TemperingGlassInfo> temperingGlassInfoList = temperingAgoService.list(
+ new LambdaQueryWrapper<TemperingGlassInfo>()
+ .select(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 閫夋嫨瑕佸幓閲嶇殑瀛楁
+ .eq(TemperingGlassInfo::getState, Const.TEMPERING_START)
+ .groupBy(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 鎸� engineerId 鍜� temperingLayoutId 鍒嗙粍
+ );
+ jsonObject.append("temperingGlassInfoList", temperingGlassInfoList.size());
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
+ 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("largenScreen is closed");
+ }
+ }
+ }
+ }
}
\ No newline at end of file
--
Gitblit v1.8.0