From 1bcf1bbb327a3baf494dd8a7b624983e3294a015 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 13 十月 2025 09:42:15 +0800
Subject: [PATCH] 1、通讯配置修改

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java |  115 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 77 insertions(+), 38 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
index 1ffca23..c239de4 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java
@@ -15,14 +15,14 @@
 import com.mes.pp.service.OptimizeProjectService;
 import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
 import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
-import com.mes.s7.entity.S7Data;
-import com.mes.s7.job.S7Job;
+import com.mes.s7.entity.S7DataSP;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.entity.vo.UpPattenUsageVO;
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 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 org.springframework.util.CollectionUtils;
@@ -57,8 +57,13 @@
     @Resource
     private OptimizeProjectService optimizeProjectService;
 
-    @Autowired(required = false)
-    S7Serializer s7Serializer;
+    @Autowired
+    @Qualifier("s7SerializerSP1")
+    private S7Serializer s7SerializerSPOne;
+
+    @Autowired
+    @Qualifier("s7SerializerSP1")
+    private S7Serializer s7SerializerSPTwo;
 
     private static final List<Integer> LOAD_STATION_01 = Arrays.asList(101, 102);
     private static final List<Integer> LOAD_STATION_02 = Arrays.asList(103, 104);
@@ -81,7 +86,7 @@
         opcLoadGlassChild(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
     }
 
-    //    @Scheduled(fixedDelay = 5000)
+//    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassTwo() {
         opcLoadGlassChild(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
     }
@@ -91,7 +96,7 @@
         opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_ONE_TASK, LOAD_GLASS_ONE_DEVICE);
     }
 
-    //    @Scheduled(fixedDelay = 5000)
+//    @Scheduled(fixedDelay = 5000)
     public void opcLoadGlassTwoFinish() {
         opcLoadGlassFinishChid(LOAD_GLASS_DEVICE_TWO_TASK, LOAD_GLASS_TWO_DEVICE);
     }
@@ -106,7 +111,10 @@
         for (Engineering engineering : engineerings) {
             Integer count = upPattenUsageMapper.selectCount(new LambdaQueryWrapper<UpPattenUsage>()
                     .eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId()).ne(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
-            if (count == 0) {
+            OptimizeProject project = optimizeProjectService.getOne(new LambdaUpdateWrapper<OptimizeProject>()
+                    .eq(OptimizeProject::getProjectNo, 200)
+                    .eq(OptimizeProject::getState, engineering.getEngineerId()));
+            if (count == 0 && project != null) {
                 engineeringMapper.update(null, new LambdaUpdateWrapper<Engineering>().set(Engineering::getState, Const.ENGINEERING_SUCCESS)
                         .eq(Engineering::getEngineerId, engineering.getEngineerId()));
                 optimizeProjectService.update(null, new LambdaUpdateWrapper<OptimizeProject>().set(OptimizeProject::getState, 300)
@@ -116,7 +124,13 @@
     }
 
     private void opcLoadGlassChild(String tableName, Integer deviceId) {
-        S7Data S7DataSP1 = s7Serializer.read(S7Data.class);
+        S7DataSP s7DataSP = new S7DataSP();
+        if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
+            s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
+        } else {
+            s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
+        }
+        log.info("{}涓婄墖绾匡紝褰撳墠涓婄墖浣嶄俊鎭細{}", deviceId, s7DataSP);
         Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
                 .eq(Engineering::getState, Const.ENGINEERING_RUNNING).eq(Engineering::getStationCell, deviceId));
         if (null == engineering) {
@@ -124,15 +138,12 @@
             return;
         }
         //浠诲姟鏆傚仠
-        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
-        ;
-        if ("0".equals(S7DataSP1.getInkageState().toString())) {
-//        if (0 == task.getInkageState()) {
-            log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
+        S7DataSP task = new S7DataSP();
+        if ("0".equals(s7DataSP.getInkageState().toString())) {
+            log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, s7DataSP.getInkageState().toString());
             return;
         }
-        if (S7DataSP1.getTaskRunning().toString().equals(Const.ENGINEERING_RUNNING)) {
-//        if (task.getTaskRunning().equals(Const.ENGINEERING_RUNNING)) {
+        if (s7DataSP.getTaskRunning()) {
             log.info("{}涓婄墖绾匡紝鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId);
             return;
         }
@@ -167,11 +178,21 @@
             int number = Math.min(twoLoadStation.getRemainQuantity(), usageVOS.size());
             //鐢熸垚涓婄墖浠诲姟
             task.setTotalCount(number);
-            task.setTaskRunning(Const.ENGINEERING_RUNNING);
+            task.setTaskRunning(Boolean.TRUE);
             task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
             task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
             task.setSlot(loadStation.get(1));
-            loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+            S7DataSP s7DataSPWrite = new S7DataSP();
+            s7DataSPWrite.setTotalCount(number);
+            s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+            s7DataSPWrite.setRawGlassWidth((int) usageVOS.get(0).getWidth());
+            s7DataSPWrite.setRawGlassHeight((int) usageVOS.get(0).getHeight());
+            s7DataSPWrite.setSlot(loadStation.get(1));
+            if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+                s7SerializerSPOne.write(s7DataSPWrite);
+            } else {
+                s7SerializerSPTwo.write(s7DataSPWrite);
+            }
             saveHistoryTask(task, deviceId);
             return;
         }
@@ -183,38 +204,51 @@
         //鐢熸垚涓婄墖浠诲姟
         int number = Math.min(oneLoadStation.getRemainQuantity(), usageVOS.size());
         task.setTotalCount(number);
-        task.setTaskRunning(Const.ENGINEERING_RUNNING);
+        task.setTaskRunning(Boolean.TRUE);
         task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
         task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
         task.setSlot(loadStation.get(0));
-        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+        S7DataSP s7DataSPWrite = new S7DataSP();
+        s7DataSPWrite.setTotalCount(number);
+        s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+        s7DataSPWrite.setRawGlassWidth((int) usageVOS.get(0).getWidth());
+        s7DataSPWrite.setRawGlassHeight((int) usageVOS.get(0).getHeight());
+        s7DataSPWrite.setSlot(loadStation.get(0));
+        if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+            s7SerializerSPOne.write(s7DataSPWrite);
+        } else {
+            s7SerializerSPTwo.write(s7DataSPWrite);
+        }
         saveHistoryTask(task, deviceId);
     }
 
     private void opcLoadGlassFinishChid(String tableName, Integer deviceId) {
-        S7Data S7DataSP1 = s7Serializer.read(S7Data.class);
-        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
-        if (S7DataSP1.getTaskRunning().toString().equals(Const.ENGINEERING_NEW)) {
-//        if (task.getTaskRunning().equals(Const.ENGINEERING_NEW)) {
+        S7DataSP s7DataSP = new S7DataSP();
+        if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
+            s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
+        } else {
+            s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
+        }
+        log.info("{}涓婄墖绾匡紝褰撳墠涓婄墖浣嶄俊鎭細{}", deviceId, s7DataSP);
+        if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_NEW)) {
             log.info("鏃犱换鍔�,缁撴潫");
             return;
         }
-        if (Integer.parseInt(S7DataSP1.getTaskState().toString()) <= 1) {
-//        if (task.getTaskState() <= 1) {
+        if (Integer.parseInt(s7DataSP.getTaskState().toString()) <= 1) {
             log.info("浠诲姟姝e湪鎵ц,缁撴潫");
             return;
         }
         //鑾峰彇浠诲姟瀹屾垚鎯呭喌
 //         宸插畬鎴愭暟閲�  鐮存崯鏁伴噺
-        Integer finishCount = Integer.parseInt(S7DataSP1.getFinishCount().toString());
-        Integer damageCount = Integer.parseInt(S7DataSP1.getDamageCount().toString());
-//        Integer finishCount = task.getFinishCount();
-//        Integer damageCount = task.getDamageCount();
+        Integer finishCount = Integer.parseInt(s7DataSP.getFinishCount().toString());
+        Integer damageCount = Integer.parseInt(s7DataSP.getDamageCount().toString());
+        Integer slot = Integer.parseInt(s7DataSP.getSlot().toString());
 
         //鏇存柊褰撳墠鏋跺瓙涓婄殑鍘熺墖鍓╀綑鎯呭喌
         rawGlassStorageDetailsService.update(new UpdateWrapper<RawGlassStorageDetails>()
                 .inSql("slot", "select slot from raw_glass_storage_station where enable_state = 1")
-                .eq("slot", task.getSlot())
+//                .eq("slot", task.getSlot())
+                .eq("slot", slot)
                 .eq("state", Const.RAW_GLASS_STATE_IN)
                 .setSql("remain_quantity = remain_quantity - " + (finishCount + damageCount)));
         //鏇存柊宸ョ▼涓嬬殑鍘熺墖鏁伴噺 todo:sql寰呬紭鍖�
@@ -226,12 +260,17 @@
                     .set(UpPattenUsage::getState, Const.LOAD_RAW_GLASS_SUCCESS));
         }
         //浠诲姟琛ㄦ暟鎹儏鍐�
-        task.setTaskRunning(0);
-        task.setTotalCount(0);
-        task.setRawGlassWidth(0);
-        task.setRawGlassHeight(0);
-        task.setSlot(0);
-        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+        S7DataSP s7DataSPWrite = new S7DataSP();
+        s7DataSPWrite.setTaskRunning(Boolean.FALSE);
+        s7DataSPWrite.setTotalCount(0);
+        s7DataSPWrite.setRawGlassWidth(0);
+        s7DataSPWrite.setRawGlassHeight(0);
+        s7DataSPWrite.setSlot(0);
+        if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+            s7SerializerSPOne.write(s7DataSPWrite);
+        } else {
+            s7SerializerSPTwo.write(s7DataSPWrite);
+        }
         loadGlassDeviceTaskHistoryService.update(new LambdaUpdateWrapper<LoadGlassDeviceTaskHistory>()
                 .set(LoadGlassDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_SUCCESS)
                 .eq(LoadGlassDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
@@ -239,7 +278,7 @@
         );
     }
 
-    private boolean saveHistoryTask(LoadGlassDeviceTask task, Integer deviceId) {
+    private boolean saveHistoryTask(S7DataSP task, Integer deviceId) {
         LoadGlassDeviceTaskHistory taskHistory = new LoadGlassDeviceTaskHistory();
         BeanUtils.copyProperties(task, taskHistory);
         taskHistory.setStation(deviceId);
@@ -262,4 +301,4 @@
         return flag && details.getRemainQuantity() > 0;
     }
 
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0