From 62882b6d2366b454fa3c6f33a6b8abb261080405 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 31 十月 2024 11:22:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |   82 ++++++++++++++++++++++++++---------------
 1 files changed, 52 insertions(+), 30 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index 61a0a3c..f30b7d0 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -574,7 +574,7 @@
     /**
      * 纭瀛楁竻绌�
      */
-//    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 300)
     public void confirmClear() {
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
         String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
@@ -602,65 +602,71 @@
     /**
      * 杩涚墖鐘舵�佷慨鏀�
      */
-//    @Scheduled(fixedDelay = 300)
+    @Scheduled(fixedDelay = 300)
     public void feedStatusUpdate() {
         PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-        List<String> glassIds1 = null;
-        List<String> glassIds2 = null;
-        for (int i = 1; i <= 2; i++) {
-            String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getAddress();
-            if (StringUtils.isEmpty(line1GlassId)) {
+        List<String> glassIds1 = new ArrayList<>();
+        List<String> glassIds2 = new ArrayList<>();
+        for (int i = 1; i <= 6; i++) {
+            String line1GlassId = plcParameterObject.getPlcParameter("D03ID" + i).getValue();
+            if (StringUtils.isNotEmpty(line1GlassId)) {
                 glassIds1.add(line1GlassId);
             }
-            String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getAddress();
-            if (StringUtils.isEmpty(line2GlassId)) {
-                glassIds1.add(line2GlassId);
+            String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getValue();
+            if (StringUtils.isNotEmpty(line2GlassId)) {
+                glassIds2.add(line2GlassId);
             }
         }
         List<BigStorageCageFeedTask> bigStorageCageFeedTasks1 = bigStorageCageFeedTaskService.list(
                 new LambdaQueryWrapper<BigStorageCageFeedTask>()
-                        .eq(BigStorageCageFeedTask::getTaskState, 1)
+                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_NEW)
                         .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
         );
         List<BigStorageCageFeedTask> bigStorageCageFeedTasks2 = bigStorageCageFeedTaskService.list(
                 new LambdaQueryWrapper<BigStorageCageFeedTask>()
-                        .eq(BigStorageCageFeedTask::getTaskState, 1)
+                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_NEW)
                         .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
         );
-        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)) {
+        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1) && CollectionUtils.isNotEmpty(glassIds1)) {
             List<String> matchingIds1 = bigStorageCageFeedTasks1.stream()
                     .map(BigStorageCageFeedTask::getGlassId)
                     .filter(glassIds1::contains)
                     .distinct()
                     .collect(Collectors.toList());
+            bigStorageCageFeedTaskService.update(
+                    new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+                            .in(BigStorageCageFeedTask::getGlassId, matchingIds1)
+                            .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+                            .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+            );
         }
-        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2)) {
+        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2) && CollectionUtils.isNotEmpty(glassIds2)) {
             List<String> matchingIds2 = bigStorageCageFeedTasks2.stream()
                     .map(BigStorageCageFeedTask::getGlassId)
                     .filter(glassIds2::contains)
                     .distinct()
                     .collect(Collectors.toList());
-        }
-        bigStorageCageFeedTaskService.update(
-                new LambdaUpdateWrapper<BigStorageCageFeedTask>()
-                        .in(BigStorageCageFeedTask::getGlassId, glassIds1, glassIds2)
-                        .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
-                        .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
-        );
-        if (glassIds1 == null) {
             bigStorageCageFeedTaskService.update(
                     new LambdaUpdateWrapper<BigStorageCageFeedTask>()
-                            .eq(BigStorageCageFeedTask::getLine,Const.A09_OUT_TARGET_POSITION)
+                            .in(BigStorageCageFeedTask::getGlassId, matchingIds2)
+                            .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+                            .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+            );
+        }
+        if (CollectionUtils.isEmpty(glassIds1)) {
+            bigStorageCageFeedTaskService.update(
+                    new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+                            .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
                             .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
                             .gt(BigStorageCageFeedTask::getTargetSlot, 0)
                             .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
                             .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR)
             );
         }
-        if (glassIds1 == null) {
+        if (CollectionUtils.isEmpty(glassIds2)) {
             bigStorageCageFeedTaskService.update(
                     new LambdaUpdateWrapper<BigStorageCageFeedTask>()
-                            .eq(BigStorageCageFeedTask::getLine,Const.A10_OUT_TARGET_POSITION)
+                            .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
                             .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
                             .gt(BigStorageCageFeedTask::getTargetSlot, 0)
                             .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
@@ -673,6 +679,21 @@
      * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
      */
     public Boolean judgeGlassTypeStatus(String glassId, Integer line, String mesAddress) {
+        //鍒ゆ柇姝ょ幓鐠冩槸鍦ㄧ鍐呮垨宸茬敓鎴愯繘鐗囦换鍔�
+        BigStorageCageFeedTask bigStorageCageFeedTask = bigStorageCageFeedTaskService.getOne(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
+                        .eq(BigStorageCageFeedTask::getGlassId, glassId)
+        );
+        BigStorageCageDetails bigStorageCageDetails = bigStorageCageDetailsService.getOne(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .eq(BigStorageCageDetails::getGlassId, glassId)
+                        .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+        );
+        if (bigStorageCageFeedTask != null || bigStorageCageDetails != null) {
+            log.info("姝ょ幓鐠冨瓨浠诲姟鎴栧凡鍦ㄧ鍐�");
+            return Boolean.TRUE;
+        }
         //1銆佽幏鍙栦换鍔¤〃涓浉閭荤幓鐠�
         List<EdgGlassTaskInfo> edgGlassTaskInfoList;
         edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()
@@ -757,11 +778,12 @@
         //鍚憄lc鍙戦�佽繘鐗囩‘璁�
         if (flag) {
             //鍚憄lc鍐欏叆纭瀛�
-            int returnData = 0;
+            PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+            int returnData = 1;
             int count = 1;
             while (returnData != 0) {
                 S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
-                PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+
                 if (Const.A10_OUT_TARGET_POSITION.equals(line)) {
                     returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D04ToMES").getValue());
                 } else {
@@ -886,14 +908,14 @@
             s7control.writeWord(plcMesObject.getPlcParameter("TargetAddToImport" + i).getAddress(), taskList.get(i - 1).getTargetSlot());
             log.info("鍚憄lc鍙戦�佺{}鐗囩幓鐠冨凡瀹屾垚,璧峰浣嶇疆鏄瘂}锛岀洰鏍囦綅缃槸", i, taskList.get(i - 1).getLine(), taskList.get(i - 1).getTargetSlot());
         }
-        int returnData = 0;
+        int returnData = 1;
         int count = 1;
         while (returnData != 0) {
             s7control.writeWord(outLine, 2);
             if (line.equals(Const.A09_OUT_TARGET_POSITION)) {
-                returnData = Integer.parseInt(plcMesObject.getPlcParameter("MESToD03").getValue());
+                returnData = Integer.parseInt(plcMesObject.getPlcParameter("D03ToMES").getValue());
             } else {
-                returnData = Integer.parseInt(plcMesObject.getPlcParameter("MESToD05").getValue());
+                returnData = Integer.parseInt(plcMesObject.getPlcParameter("D05ToMES").getValue());
             }
 //            returnData = s7control.readWord(outLine, 1).get(0);
             log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, 2);

--
Gitblit v1.8.0