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 |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 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 52b49a6..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
@@ -4,14 +4,18 @@
 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.service.DamageService;
 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;
 
@@ -33,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.selectWaitingGlassByOpc();
+        List<TemperingGlassInfo> waitingGlass = selectWaitingGlassByOpc();
+//        List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlassByOpc();
         if (waitingGlass != null) {
             jsonObject.append("waitingGlass", waitingGlass);
         }
@@ -120,10 +157,10 @@
         //澶у睆閽㈠寲淇℃伅
         List<TemperingGlassInfo> temperingGlassInfoList = temperingAgoService.list(
                 new QueryWrapper<TemperingGlassInfo>()
-                        .select("engineer_id" ,"tempering_layout_id")
+                        .select("engineer_id", "tempering_layout_id")
                         .eq("state", Const.TEMPERING_START)
                         .gt("create_time", startOfToday)
-                        .groupBy("engineer_id" ,"tempering_layout_id")
+                        .groupBy("engineer_id", "tempering_layout_id")
         );
         jsonObject.append("temperingGlassInfoList", temperingGlassInfoList.size());
         //澶у睆閽㈠寲淇℃伅

--
Gitblit v1.8.0