From a3c4e24bf090430e1a0a207d44478ca61926248a Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 09 七月 2025 08:24:07 +0800
Subject: [PATCH] 1、fixbug:卧式理片笼出片异常 2、钢化版图显示

---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java |   46 +++++++++++++++++++++-------------------------
 1 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
index 4048bb8..c8717d1 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassNewTask.java
@@ -117,13 +117,14 @@
     public void startOneOpcTask() throws Exception {
         S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
         S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
+        S7DataWLExtra s7DataWLExtraTwo = s7SerializerWLTwo.read(S7DataWLExtra.class);
         log.info("涓�绾垮崸鐞�: {}", s7DataWLOne);
         //鑾峰彇绗簩鏉$嚎璺殑鍗у紡鐞嗙墖绗肩姸鎬�
         Boolean twoInkageEntity = s7DataWLTwo.getDeviceState();
         //榛樿鍙窇涓�鍙板崸寮忕悊鐗�,涓ゆ潯绾胯矾閮藉彲浠ヨ蛋
         int cellFlag = 1;
         //濡傛灉涓ゆ潯绾块兘鍚姩鍒欏彧鑳借窇涓�鏉$嚎
-        if (twoInkageEntity != null && !twoInkageEntity) {
+        if (!twoInkageEntity && !Const.OUT_DISABLE.equals(s7DataWLExtraTwo.getD06SlotState())) {
             cellFlag = 2;
         }
         startOneOpcTaskChild(s7DataWLOne, 1, cellFlag);
@@ -133,10 +134,11 @@
     public void startTwoOpcTask() throws Exception {
         S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
         S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
+        S7DataWLExtra s7DataWLExtraTwo = s7SerializerWLTwo.read(S7DataWLExtra.class);
         log.info("浜岀嚎鍗х悊: {}", s7DataWLTwo);
         Boolean oneInkageEntity = s7DataWLOne.getDeviceState();
         int cellFlag = 1;
-        if (oneInkageEntity != null && !oneInkageEntity) {
+        if (!oneInkageEntity  && !Const.OUT_DISABLE.equals(s7DataWLExtraTwo.getD06SlotState())) {
             cellFlag = 2;
         }
         startOneOpcTaskChild(s7DataWLTwo, 2, cellFlag);
@@ -173,15 +175,15 @@
             //杩涚墖浠诲姟
             log.info("璁惧锛歿}鐘舵�侊細{}", device, request);
             log.info("杩涚墖浠诲姟锛氳繘鐗囩幓鐠僫d涓猴細{}", task.getGlassIdIn());
-            intoTask(task, "", device);
+            intoTask(task, device);
         } else if (request == 2 && taskRunning == 0) {
             //鍑虹墖浠诲姟
-            outTask(task, "", device, cellFlag);
+            outTask(task, device, cellFlag);
         } else if (request == 3 && taskRunning == 0) {
             //鐩撮�氫换鍔�
             log.info("璁惧锛歿}鐘舵�侊細{}", device, request);
-            if (!outTask(task, "", device, cellFlag)) {
-                intoTask(task, "", device);
+            if (!outTask(task, device, cellFlag)) {
+                intoTask(task, device);
             }
         } else if (request == 4) {
             log.info("璁惧锛歿}鐘舵�侊細{}", device, request);
@@ -218,7 +220,7 @@
     }
 
     @Scheduled(fixedDelay = 1000)
-    public void edgTwoOpcTask() throws Exception {
+    public void edgTwoOpcTask() {
         S7DataWL s7DataWLTwo = s7SerializerWLTwo.read(S7DataWL.class);
         String glassId = s7DataWLTwo.getGlassId();
         log.info("2鍙风嚎鐜荤拑id{},鍘嗗彶id{}", glassId, glassIdTwo);
@@ -229,7 +231,7 @@
         edgTaskChild(glassId, 2);
     }
 
-    private void edgTaskChild(String glassId, int cell) throws Exception {
+    private void edgTaskChild(String glassId, int cell) {
         ratio = sysConfigService.queryConfigValue(ConstSysConfig.CACHE_RATIO);
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId).last("limit 1"));
         if (glassInfo == null) {
@@ -270,9 +272,9 @@
         }
     }
 
-    private boolean intoTask(S7DataWL task, String tableName, int deviceId) {
+    private boolean intoTask(S7DataWL task, int deviceId) {
         Date startDate = new Date();
-        log.info("寮�濮嬫墽琛岃繘鐗囦换鍔★紝浠诲姟淇℃伅涓猴細{},琛ㄥ悕涓猴細{},璁惧id:{},寮�濮嬫椂闂达細{}", task, tableName, deviceId, startDate);
+        log.info("寮�濮嬫墽琛岃繘鐗囦换鍔★紝浠诲姟淇℃伅涓猴細{},璁惧id:{},寮�濮嬫椂闂达細{}", task, deviceId, startDate);
         //鑾峰彇鐜荤拑鐨勫熀鏈俊鎭�
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, task.getGlassIdIn()));
         if (null == glassInfo) {
@@ -338,7 +340,7 @@
         return Boolean.TRUE;
     }
 
-    private boolean outTask(S7DataWL task, String tableName, int deviceId, int cellFlag) throws Exception {
+    private boolean outTask(S7DataWL task, int deviceId, int cellFlag) {
         Date startDate = new Date();
         //鑾峰彇瀵瑰簲鐨勮澶囩姸鎬佷俊鎭�
         S7DataWL s7DataWLOne = s7SerializerWLOne.read(S7DataWL.class);
@@ -359,15 +361,14 @@
         // 3:浜屽彿绾夸竴瀵瑰鐨勬儏鍐典笅锛岃幏鍙栦竴鍙风嚎纾ㄨ竟鍓嶇墖鍙癈08鐨勭姸鎬侊紝C08闈炵鐢ㄦ椂锛屼竴鍙风嚎灏嗘寜鐓06鐗囧彴鐘舵�佽寰楀嚭鐗�
         if (cellFlag == 2) {
             if (deviceId == 1) {
-
                 twoOutState = twoOutState & d06OutState;
             } else {
                 oneOutState = oneOutState & d06OutState;
             }
         }
 
-        log.info("寮�濮嬫墽琛屽嚭鐗�/鐩撮�氫换鍔★紝浠诲姟淇℃伅涓猴細{},琛ㄥ悕涓猴細{},璁惧id:{},寮�濮嬫椂闂达細{},涓�鍙风嚎鐘舵�侊細{}锛屼簩鍙风嚎鐘舵�侊細{}",
-                task, tableName, deviceId, startDate, oneOutState, twoOutState);
+        log.info("寮�濮嬫墽琛屽嚭鐗�/鐩撮�氫换鍔★紝浠诲姟淇℃伅涓猴細{},璁惧id:{},寮�濮嬫椂闂达細{},涓�鍙风嚎鐘舵�侊細{}锛屼簩鍙风嚎鐘舵�侊細{}",
+                task, deviceId, startDate, oneOutState, twoOutState);
         //鑾峰彇褰撳墠闇�瑕佽蛋閭f潯绾�
         int cell = 0;
         if (cellFlag == 1) {
@@ -381,22 +382,18 @@
                 cell = Const.TWO_OUT_TARGET_POSITION;
             }
         }
-        if (Const.OUT_FREE.equals(oneOutState) && Const.OUT_FREE.equals(twoOutState)) {
-            if (cellFlag == 2) {
-                if (!outChildTask(task, tableName, deviceId, cell, startDate)) {
-                    cell = cell == Const.ONE_OUT_TARGET_POSITION ? Const.TWO_OUT_TARGET_POSITION : Const.ONE_OUT_TARGET_POSITION;
-                    return outChildTask(task, tableName, deviceId, cell, startDate);
-                }
-            } else {
-                return outChildTask(task, tableName, deviceId, cell, startDate);
+        if (cellFlag == 2) {
+            if (!outChildTask(task, deviceId, cell, startDate)) {
+                cell = cell == Const.ONE_OUT_TARGET_POSITION ? Const.TWO_OUT_TARGET_POSITION : Const.ONE_OUT_TARGET_POSITION;
+                return outChildTask(task, deviceId, cell, startDate);
             }
         } else {
-            return outChildTask(task, tableName, deviceId, cell, startDate);
+            return outChildTask(task, deviceId, cell, startDate);
         }
         return Boolean.TRUE;
     }
 
-    private boolean outChildTask(S7DataWL task, String tableName, int deviceId, int cell, Date startDate) {
+    private boolean outChildTask(S7DataWL task, int deviceId, int cell, Date startDate) {
         EdgStorageCageDetails edgStorageCageDetails = null;
 
         //绗煎唴鏄増鍥剧浉宸槸鍚﹁秴杩囬槇鍊�
@@ -534,7 +531,6 @@
         task.setStartCell(edgStorageCageDetails.getSlot());
         task.setTaskRunning(taskType);
         task.setEndCell(cell);
-//        edgStorageDeviceTaskService.updateTaskMessage(tableName, task);
         if (deviceId == 1) {
             s7SerializerWLOne.write(
                     S7DataWL.builder()

--
Gitblit v1.8.0