From 61df46fad507daec00a9d1ed9fdb3c433e7c1363 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 17 十月 2024 15:09:24 +0800
Subject: [PATCH] 大理片添加标签打印功能

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java |  159 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 108 insertions(+), 51 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 9937f03..61a0a3c 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
@@ -575,53 +575,99 @@
      * 纭瀛楁竻绌�
      */
 //    @Scheduled(fixedDelay = 300)
-//    public void confirmClear() {
-//        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
-//        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
-//        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
-//        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
-//        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
-//        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
-//        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
-//        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
-//        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
-//        if(!REQUEST_WORD.equals(d01ToMES)){
-//            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
-//        }
-//        if(!REQUEST_WORD.equals(d04ToMES)){
-//            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
-//        }
-//        if (!REQUEST_WORD.equals(d03ToMES)) {
-//            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
-//        }
-//        if (!REQUEST_WORD.equals(d05ToMES)) {
-//            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
-//        }
-//    }
+    public void confirmClear() {
+        PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+        String d01ToMES = plcParameterObject.getPlcParameter("D01ToMES").getValue();
+        String d04ToMES = plcParameterObject.getPlcParameter("D04ToMES").getValue();
+        String mesD01Address = plcParameterObject.getPlcParameter("MESToD01").getAddress();
+        String mesD04Address = plcParameterObject.getPlcParameter("MESToD04").getAddress();
+        String d03ToMES = plcParameterObject.getPlcParameter("D03ToMES").getValue();
+        String d05ToMES = plcParameterObject.getPlcParameter("D05ToMES").getValue();
+        String mesD03Address = plcParameterObject.getPlcParameter("MESToD03").getAddress();
+        String mesD05Address = plcParameterObject.getPlcParameter("MESToD05").getAddress();
+        if (!REQUEST_WORD.equals(d01ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD01Address, 0);
+        }
+        if (!REQUEST_WORD.equals(d04ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD04Address, 0);
+        }
+        if (!REQUEST_WORD.equals(d03ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD03Address, 0);
+        }
+        if (!REQUEST_WORD.equals(d05ToMES)) {
+            S7object.getinstance().plccontrol.writeWord(mesD05Address, 0);
+        }
+    }
+
     /**
      * 杩涚墖鐘舵�佷慨鏀�
      */
 //    @Scheduled(fixedDelay = 300)
-//    public void feedStatusUpdate() {
-//        List<String> glassIds1=null;
-//        List<String> glassIds2=null;
-//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1=bigStorageCageFeedTaskService.list(
-//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
-//                .eq(BigStorageCageFeedTask::getTaskState,1)
-//                .eq(BigStorageCageFeedTask::getLine,Const.ARTIFICIAL_OUT_TARGET_POSITION)
-//        );
-//        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2=bigStorageCageFeedTaskService.list(
-//                new LambdaQueryWrapper<BigStorageCageFeedTask>()
-//                        .eq(BigStorageCageFeedTask::getTaskState,1)
-//                        .eq(BigStorageCageFeedTask::getLine,Const.TEMPERING_OUT_TARGET_POSITION)
-//        );
-////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-////        }
-////        if(CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)){
-////
-////        }
-//    }
+    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)) {
+                glassIds1.add(line1GlassId);
+            }
+            String line2GlassId = plcParameterObject.getPlcParameter("D05ID" + i).getAddress();
+            if (StringUtils.isEmpty(line2GlassId)) {
+                glassIds1.add(line2GlassId);
+            }
+        }
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks1 = bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .eq(BigStorageCageFeedTask::getTaskState, 1)
+                        .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
+        );
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks2 = bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .eq(BigStorageCageFeedTask::getTaskState, 1)
+                        .eq(BigStorageCageFeedTask::getLine, Const.A10_OUT_TARGET_POSITION)
+        );
+        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks1)) {
+            List<String> matchingIds1 = bigStorageCageFeedTasks1.stream()
+                    .map(BigStorageCageFeedTask::getGlassId)
+                    .filter(glassIds1::contains)
+                    .distinct()
+                    .collect(Collectors.toList());
+        }
+        if (CollectionUtils.isNotEmpty(bigStorageCageFeedTasks2)) {
+            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)
+                            .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) {
+            bigStorageCageFeedTaskService.update(
+                    new LambdaUpdateWrapper<BigStorageCageFeedTask>()
+                            .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)
+                            .set(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_CAR)
+            );
+        }
+    }
 
     /**
      * 鎸夌収鐜荤拑id鍒ゆ柇鐜荤拑鐘舵�佸強鍗ц浆绔嬫槸鍚﹀彲鐩存帴鍚姩
@@ -713,11 +759,16 @@
             //鍚憄lc鍐欏叆纭瀛�
             int returnData = 0;
             int count = 1;
-            while (returnData == 0) {
+            while (returnData != 0) {
                 S7object.getinstance().plccontrol.writeWord(mesAddress, 1);
-                returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0);
-                log.info("杩涘崸杞珛绗瑊}娆″彂閫佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesAddress, returnData);
-
+                PlcParameterObject plcParameterObject = S7object.getinstance().PlcMesObject;
+                if (Const.A10_OUT_TARGET_POSITION.equals(line)) {
+                    returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D04ToMES").getValue());
+                } else {
+                    returnData = Integer.parseInt(plcParameterObject.getPlcParameter("D01ToMES").getValue());
+                }
+//                returnData = S7object.getinstance().plccontrol.readWord(mesAddress, 1).get(0);
+                log.info("杩涘崸杞珛绗瑊}娆″彂閫佺‘璁ゅ瓧瀹屾垚锛屽湴鍧�涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesAddress, 1);
             }
         }
         //璁板綍鏃犳硶鏀句笅鐜荤拑锛屽悗缁垽鏂惎鍔�
@@ -837,10 +888,15 @@
         }
         int returnData = 0;
         int count = 1;
-        while (returnData == 0) {
+        while (returnData != 0) {
             s7control.writeWord(outLine, 2);
-            returnData = s7control.readWord(outLine, 1).get(0);
-            log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
+            if (line.equals(Const.A09_OUT_TARGET_POSITION)) {
+                returnData = Integer.parseInt(plcMesObject.getPlcParameter("MESToD03").getValue());
+            } else {
+                returnData = Integer.parseInt(plcMesObject.getPlcParameter("MESToD05").getValue());
+            }
+//            returnData = s7control.readWord(outLine, 1).get(0);
+            log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, 2);
         }
     }
 
@@ -953,7 +1009,8 @@
         log.info("灏嗗嚭鐗囩幓鐠儃}鐜荤拑鐘舵�佹敼涓哄凡鍑虹墖", glassIds);
         bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
                 .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
-                .in(BigStorageCageDetails::getGlassId, glassIds));
+                .in(BigStorageCageDetails::getGlassId, glassIds)
+                .ne(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT));
 //        int returnData = 0;
 //        int count = 1;
 //        while (returnData == 0) {

--
Gitblit v1.8.0