From d7765b799489db445388e528044ab3b2bd2e649e Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 12 六月 2025 08:22:57 +0800
Subject: [PATCH] 钢化模块modbus和S7改造
---
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 68 ++++++++++++++++++++++++++++-----
1 files changed, 57 insertions(+), 11 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 fc07543..d3c42d0 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
@@ -2,22 +2,28 @@
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
+import com.kangaroohy.milo.model.ReadWriteEntity;
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.largenscreen.entity.PieChartVO;
+import com.mes.s7.entity.S7DataGHTwo;
import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.tools.WebSocketServer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import java.time.LocalDate;
+import java.time.ZoneId;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
-import java.util.stream.Collectors;
/**
* @author SNG-010
@@ -31,16 +37,49 @@
@Autowired
private DamageService damageService;
+ @Autowired
+ @Qualifier("s7SerializerGHTwo")
+ private S7Serializer s7SerializerGHTwo;
+
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
+ private List<TemperingGlassInfo> selectWaitingGlassByOpc() {
+ //鑾峰彇绛夊緟杩涚倝涓殑鐜荤拑淇℃伅
+ try {
+ S7DataGHTwo s7DataGHTwo = s7SerializerGHTwo.read(S7DataGHTwo.class);
+ String engineerEntity = s7DataGHTwo.getF09EngineerId();
+ Integer temperingLayoutIdEntity = s7DataGHTwo.getF09TemperingLayoutId();
+// ReadWriteEntity engineerEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F09_ENGINEER_ID");
+// ReadWriteEntity temperingLayoutIdEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F09_TEMPERING_LAYOUT_ID");
+
+ if (null == engineerEntity || null == temperingLayoutIdEntity) {
+ engineerEntity = s7DataGHTwo.getF08EngineerId();
+ temperingLayoutIdEntity = s7DataGHTwo.getF08TemperingLayoutId();
+// engineerEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F08_ENGINEER_ID");
+// temperingLayoutIdEntity = miloService.readFromOpcUa("GH2S7.GH2S7.F08_TEMPERING_LAYOUT_ID");
+ if (null == engineerEntity || null == temperingLayoutIdEntity) {
+ log.info("鑾峰彇鍙傛暟寮傚父锛岀粨鏉熸湰娆′换鍔�");
+ return new ArrayList<>();
+ }
+ }
+ return temperingAgoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
+ .eq(TemperingGlassInfo::getEngineerId, engineerEntity)
+ .eq(TemperingGlassInfo::getTemperingLayoutId, temperingLayoutIdEntity));
+ } catch (Exception e) {
+ log.info("鑾峰彇閽㈠寲鍙傛暟寮傚父锛歿}", e);
+ return new ArrayList<>();
+ }
+ }
+
@Scheduled(fixedDelay = 1000)
public void temperingGlassHome() {
JSONObject jsonObject = new JSONObject();
//姝e湪绛夊緟杩涚墖鐨勭幓鐠�
- List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
+ List<TemperingGlassInfo> waitingGlass = selectWaitingGlassByOpc();
+// List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlassByOpc();
if (waitingGlass != null) {
jsonObject.append("waitingGlass", waitingGlass);
}
@@ -107,17 +146,21 @@
public void largenScreen() {
JSONObject jsonObject = new JSONObject();
//澶у睆閽㈠寲淇℃伅
+ Date startOfToday = new Date(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant().toEpochMilli());
+
Integer putGlass = temperingAgoService.count(
- new LambdaUpdateWrapper<TemperingGlassInfo>()
- .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
+ new QueryWrapper<TemperingGlassInfo>()
+ .eq("state", Const.TEMPERING_NEW)
+ .gt("create_time", startOfToday)
);
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 鍒嗙粍
+ new QueryWrapper<TemperingGlassInfo>()
+ .select("engineer_id", "tempering_layout_id")
+ .eq("state", Const.TEMPERING_START)
+ .gt("create_time", startOfToday)
+ .groupBy("engineer_id", "tempering_layout_id")
);
jsonObject.append("temperingGlassInfoList", temperingGlassInfoList.size());
//澶у睆閽㈠寲淇℃伅
@@ -128,6 +171,9 @@
.groupBy(TemperingGlassInfo::getEngineerId, TemperingGlassInfo::getTemperingLayoutId) // 鎸� engineerId 鍜� temperingLayoutId 鍒嗙粍
);
jsonObject.append("temperingGlassInfoInList", temperingGlassInfoInList.size());
+ //閽㈠寲楗煎浘鏁版嵁
+ List<PieChartVO> pieChartVOS = temperingAgoService.queryPieChart();
+ jsonObject.append("pieChartVOS", pieChartVOS);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
if (sendwServer != null) {
for (WebSocketServer webserver : sendwServer) {
--
Gitblit v1.8.0