From 12ee7baa78483a3077ac55cc6d11a0ebc543daf4 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 12 十一月 2025 11:14:06 +0800
Subject: [PATCH] 1、中空避免不出片调度修改 2、钢化指定的工程,自动取消指定规则变更 3、中空打印标签修改为只打印配对玻璃的标签

---
 UI-Project/src/views/hollow/hollowequipmenthree.vue                                                              |    4 +++-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |   30 ++++++++++++++++++++++++------
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java     |    8 ++------
 UI-Project/src/views/hollow/hollowequipment.vue                                                                  |    5 ++++-
 UI-Project/src/views/hollow/hollowequipmenttwo.vue                                                               |    4 +++-
 5 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/UI-Project/src/views/hollow/hollowequipment.vue b/UI-Project/src/views/hollow/hollowequipment.vue
index 6f71f4b..4b0db23 100644
--- a/UI-Project/src/views/hollow/hollowequipment.vue
+++ b/UI-Project/src/views/hollow/hollowequipment.vue
@@ -1885,7 +1885,9 @@
 const blinde = ref(false)
 const labelPrint = ref(false);
 const handleBinde = (flowCard) => {
-  const summary = flowCard.reduce((map, item) => {
+  const summary = flowCard
+        .filter(item => item.isPair !== 0) 
+        .reduce((map, item) => {
         const key = `${item.hollowSequence}`;
         if (!map[key]) {
           map[key] = {
@@ -1898,6 +1900,7 @@
         return map;
       }, {});
       listFlow.value = Object.values(summary);
+      console.log(listFlow.value)
   blinde.value = true;
   getTags();
   hiprint.init();
diff --git a/UI-Project/src/views/hollow/hollowequipmenthree.vue b/UI-Project/src/views/hollow/hollowequipmenthree.vue
index 0cd963c..c58eea5 100644
--- a/UI-Project/src/views/hollow/hollowequipmenthree.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenthree.vue
@@ -1144,7 +1144,9 @@
 const blinde = ref(false)
 const labelPrint = ref(false);
 const handleBinde = (flowCard) => {
-  const summary = flowCard.reduce((map, item) => {
+  const summary = flowCard
+        .filter(item => item.isPair !== 0) 
+        .reduce((map, item) => {
         const key = `${item.hollowSequence}`;
         if (!map[key]) {
           map[key] = {
diff --git a/UI-Project/src/views/hollow/hollowequipmenttwo.vue b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
index 502f199..61f5366 100644
--- a/UI-Project/src/views/hollow/hollowequipmenttwo.vue
+++ b/UI-Project/src/views/hollow/hollowequipmenttwo.vue
@@ -681,7 +681,9 @@
   blindc.value = true;
 };
 const handleBinde = (flowCard) => {
-  const summary = flowCard.reduce((map, item) => {
+  const summary = flowCard
+        .filter(item => item.isPair !== 0) 
+        .reduce((map, item) => {
         const key = `${item.hollowSequence}`;
         if (!map[key]) {
           map[key] = {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
index 07c694b..6c184f6 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -5,6 +5,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.kangaroohy.milo.model.ReadWriteEntity;
@@ -478,13 +479,30 @@
 
             String temperingEngineerId = redisUtil.getCacheObject("temperingEngineerId");
             if (StringUtils.isNotBlank(temperingEngineerId)) {
-                TemperingGlassInfo temperingGlassInfo = temperingGlassInfoService.getOne(new QueryWrapper<TemperingGlassInfo>()
-                        .select("Top 1 *")
-                        .eq("engineer_id", temperingEngineerId)
-                        .orderByDesc("tempering_layout_id"));
+                List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list(
+                        new LambdaQueryWrapper<TemperingGlassInfo>()
+                                .eq(TemperingGlassInfo::getEngineerId, temperingEngineerId)
+                                .orderByAsc(TemperingGlassInfo::getId)
+                );
                 int temperingLayoutId = 1;
-                if (temperingGlassInfo != null) {
-                    temperingLayoutId = temperingGlassInfo.getTemperingLayoutId() + 1;
+                if (CollectionUtils.isEmpty(temperingGlassInfoList)) {
+                    temperingLayoutId = 1;
+                } else {
+                    List<Integer> tempIds = temperingGlassInfoList.stream()
+                            .map(TemperingGlassInfo::getTemperingLayoutId)
+                            .distinct()
+                            .sorted()
+                            .collect(Collectors.toList());
+
+                    int expected = 1;
+                    for (int current : tempIds) {
+                        if (current > expected) {
+                            break; // 鎵惧埌绗竴涓己澶卞�硷紝璺冲嚭寰幆
+                        } else if (current == expected) {
+                            expected++; // 杩炵画鍒欓�掑鏈熸湜鐨勫��
+                        }
+                    }
+                    temperingLayoutId = expected; // 缂哄け鍒欎负expected锛岃繛缁垯涓簃ax+1
                 }
                 List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getEngineerId, temperingEngineerId).eq(GlassInfo::getTemperingLayoutId, temperingLayoutId));
                 if (CollectionUtil.isEmpty(glassInfos)) {
diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index 0fb1f76..3f8fe30 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -1079,7 +1079,7 @@
     }
 
     private List<HollowGlassQueueInfo> computeOutHollowQueue(List<HollowGlassQueueInfo> queueInfoList, HollowGlassOutRelationInfo hollowGlassOutRelationInfo) {
-        if (CollectionUtil.isNotEmpty(queueInfoList)) {
+        if (CollectionUtil.isEmpty(queueInfoList)) {
             return new ArrayList<>();
         }
         //浠诲姟涓哄己鍒讹紝鍙洿鎺ヨ繑鍥炲師鏈夌殑闃熷垪
@@ -1093,11 +1093,6 @@
         List<HollowGlassQueueInfo> resultQueue = new ArrayList<>();
 
         for (List<HollowGlassQueueInfo> items : gridGroups.values()) {
-            // 鎯呭喌1锛氭牸瀛愬唴鍙湁涓�涓暟鎹笖鏈厤瀵� - 杩囨护鎺�
-            if (items.size() == 1 && 0 == items.get(0).getSlot()) {
-                continue;
-            }
-
             // 鎯呭喌2锛氭牸瀛愬唴鍏ㄩ儴涓烘湭閰嶅鐨勬暟鎹� - 杩囨护鎺�
             boolean allUnpaired = items.stream().noneMatch(e -> e.getIsPair() == 1);
             if (allUnpaired) {
@@ -1106,6 +1101,7 @@
             // 鍚﹀垯淇濈暀杩欎釜鏍煎瓙鍐呯殑鎵�鏈夋暟鎹�
             resultQueue.addAll(items);
         }
+        Collections.sort(resultQueue, Comparator.comparing(HollowGlassQueueInfo::getId));
         return resultQueue;
     }
 

--
Gitblit v1.8.0