From b4ff04d7dd22f0e48bf386cd422e885aef08fed7 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 22 五月 2025 15:03:10 +0800
Subject: [PATCH] OPC通讯修改为S7通讯

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/OpcLoadGlassTask.java |   96 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 69 insertions(+), 27 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 be0007a..2a79d53 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
@@ -122,9 +122,9 @@
 
     private void opcLoadGlassChild(String tableName, Integer deviceId) {
         S7DataSP s7DataSP = new S7DataSP();
-        if(tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)){
+        if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
             s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
-        }else{
+        } else {
             s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
         }
         Engineering engineering = engineeringMapper.selectOne(new LambdaQueryWrapper<Engineering>()
@@ -134,11 +134,18 @@
             return;
         }
         //浠诲姟鏆傚仠
-        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+        S7DataSP task=new S7DataSP();
+        if(LOAD_GLASS_ONE_DEVICE.equals(deviceId)){
+            s7SerializerSPOne.read(S7DataSP.class);
+        }else{
+            s7SerializerSPTwo.read(S7DataSP.class);
+        }
+//        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
         ;
         if ("0".equals(s7DataSP.getInkageState().toString())) {
+            log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, s7DataSP.getInkageState().toString());
 //        if (0 == task.getInkageState()) {
-            log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
+//            log.info("{}涓婄墖绾匡紝澶勪簬绂荤嚎鐘舵�侊細{}锛岀粨鏉熸湰鍦颁笂鐗囪姹�", deviceId, task.getInkageState());
             return;
         }
         if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_RUNNING)) {
@@ -176,12 +183,23 @@
             }
             int number = Math.min(twoLoadStation.getRemainQuantity(), usageVOS.size());
             //鐢熸垚涓婄墖浠诲姟
-            task.setTotalCount(number);
-            task.setTaskRunning(Const.ENGINEERING_RUNNING);
-            task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
-            task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
-            task.setSlot(loadStation.get(1));
-            loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+            task.setTotalCount((short)number);
+            task.setTaskRunning(Boolean.TRUE);
+            task.setRawGlassWidth((short) usageVOS.get(0).getWidth());
+            task.setRawGlassHeight((short) usageVOS.get(0).getHeight());
+            task.setSlot(loadStation.get(1).shortValue());
+//            loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+            S7DataSP s7DataSPWrite = new S7DataSP();
+            s7DataSPWrite.setTotalCount((short) number);
+            s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+            s7DataSPWrite.setRawGlassWidth((short) usageVOS.get(0).getWidth());
+            s7DataSPWrite.setRawGlassHeight((short) usageVOS.get(0).getHeight());
+            s7DataSPWrite.setSlot(loadStation.get(1).shortValue());
+            if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+                s7SerializerSPOne.write(s7DataSPWrite);
+            } else {
+                s7SerializerSPTwo.write(s7DataSPWrite);
+            }
             saveHistoryTask(task, deviceId);
             return;
         }
@@ -192,23 +210,34 @@
         }
         //鐢熸垚涓婄墖浠诲姟
         int number = Math.min(oneLoadStation.getRemainQuantity(), usageVOS.size());
-        task.setTotalCount(number);
-        task.setTaskRunning(Const.ENGINEERING_RUNNING);
-        task.setRawGlassWidth((int) usageVOS.get(0).getWidth());
-        task.setRawGlassHeight((int) usageVOS.get(0).getHeight());
-        task.setSlot(loadStation.get(0));
-        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+        task.setTotalCount((short)number);
+        task.setTaskRunning(Boolean.TRUE);
+        task.setRawGlassWidth((short) usageVOS.get(0).getWidth());
+        task.setRawGlassHeight((short) usageVOS.get(0).getHeight());
+        task.setSlot(loadStation.get(0).shortValue());
+//        loadGlassDeviceTaskService.updateTaskMessage(tableName, task);
+        S7DataSP s7DataSPWrite = new S7DataSP();
+        s7DataSPWrite.setTotalCount((short) number);
+        s7DataSPWrite.setTaskRunning(Boolean.TRUE);
+        s7DataSPWrite.setRawGlassWidth((short) usageVOS.get(0).getWidth());
+        s7DataSPWrite.setRawGlassHeight((short) usageVOS.get(0).getHeight());
+        s7DataSPWrite.setSlot(loadStation.get(0).shortValue());
+        if (LOAD_GLASS_ONE_DEVICE.equals(deviceId)) {
+            s7SerializerSPOne.write(s7DataSPWrite);
+        } else {
+            s7SerializerSPTwo.write(s7DataSPWrite);
+        }
         saveHistoryTask(task, deviceId);
     }
 
     private void opcLoadGlassFinishChid(String tableName, Integer deviceId) {
         S7DataSP s7DataSP = new S7DataSP();
-        if(tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)){
+        if (tableName.equals(LOAD_GLASS_DEVICE_ONE_TASK)) {
             s7DataSP = s7SerializerSPOne.read(S7DataSP.class);
-        }else{
+        } else {
             s7DataSP = s7SerializerSPTwo.read(S7DataSP.class);
         }
-        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
+//        LoadGlassDeviceTask task = loadGlassDeviceTaskService.queryTaskMessage(tableName);
         if (s7DataSP.getTaskRunning().toString().equals(Const.ENGINEERING_NEW)) {
 //        if (task.getTaskRunning().equals(Const.ENGINEERING_NEW)) {
             log.info("鏃犱换鍔�,缁撴潫");
@@ -223,13 +252,15 @@
 //         宸插畬鎴愭暟閲�  鐮存崯鏁伴噺
         Integer finishCount = Integer.parseInt(s7DataSP.getFinishCount().toString());
         Integer damageCount = Integer.parseInt(s7DataSP.getDamageCount().toString());
+        Integer slot = Integer.parseInt(s7DataSP.getSlot().toString());
 //        Integer finishCount = task.getFinishCount();
 //        Integer damageCount = task.getDamageCount();
 
         //鏇存柊褰撳墠鏋跺瓙涓婄殑鍘熺墖鍓╀綑鎯呭喌
         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寰呬紭鍖�
@@ -241,12 +272,23 @@
                     .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);
+//        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((short) 0);
+        s7DataSPWrite.setRawGlassWidth((short) 0);
+        s7DataSPWrite.setRawGlassHeight((short) 0);
+        s7DataSPWrite.setSlot((short) 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)
@@ -254,7 +296,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);

--
Gitblit v1.8.0