From d3df1630ad3e1c71b61d177ee818d5c5c94e97c0 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期六, 11 十月 2025 18:45:29 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java |   38 ++++++++++++++++++++++++++++++++------
 1 files changed, 32 insertions(+), 6 deletions(-)

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 b7d3dbd..07ae663 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
@@ -115,7 +115,8 @@
 
     private static final String ALARM_MODULE = "涓┖";
     private static final String ALARM_TYPE = "涓┖澶х悊鐗�";
-    private static final String ALARM_CODE = "sizeSame";
+    private static final String ALARM_CODE_SIZE = "sizeSame";
+    private static final String ALARM_CODE_ID = "idSame";
 
     /**
      * 鐩撮�氭牸瀛�
@@ -131,8 +132,7 @@
         List<ProductAlarmInfo> alarmInfos = productAlarmInfoService.list(new LambdaQueryWrapper<ProductAlarmInfo>()
                 .eq(ProductAlarmInfo::getState, Const.LOAD_RAW_GLASS_NEW)
                 .eq(ProductAlarmInfo::getAlarmModule, ALARM_MODULE)
-                .eq(ProductAlarmInfo::getAlarmType, ALARM_TYPE)
-                .eq(ProductAlarmInfo::getAlarmCode, ALARM_CODE));
+                .eq(ProductAlarmInfo::getAlarmType, ALARM_TYPE));
         if (CollectionUtil.isNotEmpty(alarmInfos)) {
             log.info("鐣岄潰鎶ヨ锛岀瓑寰呬汉宸ュ共棰勫鐞�");
             return;
@@ -179,6 +179,13 @@
         for (Map.Entry<String, Long> entry : glassCountMap.entrySet()) {
             if (entry.getValue() > 1) {
                 log.info("杩涚墖鐜荤拑{}瀛樺湪鐩稿悓锛岀粨鏉熸湰娆′换鍔�", entry.getKey());
+                ProductAlarmInfo alarmInfo = new ProductAlarmInfo();
+                alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
+                alarmInfo.setAlarmModule(ALARM_MODULE);
+                alarmInfo.setAlarmType(ALARM_TYPE);
+                alarmInfo.setAlarmCode(ALARM_CODE_ID);
+                alarmInfo.setAlarmMessage(entry.getKey());
+                productAlarmInfoService.save(alarmInfo);
                 //鍚憄lc鍙戦�佹姤璀�:鍚屼竴杞﹁繘鐗囩幓鐠冨瓨鍦ㄧ浉鍚�
                 s7DataZKDLPOne = new S7DataZKDLPOne();
                 s7DataZKDLPOne.setAlramSignal(2);
@@ -191,6 +198,16 @@
         if (CollectionUtil.isNotEmpty(detailsList)) {
             log.info("鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑{}锛岀粨鏉熸湰娆′换鍔�", detailsList);
             //鍚憄lc鍙戦�佹姤璀�:鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑
+            List<String> sameGlassIds = detailsList.stream()
+                    .map(HollowBigStorageCageDetails::getGlassId)
+                    .collect(Collectors.toList());
+            ProductAlarmInfo alarmInfo = new ProductAlarmInfo();
+            alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
+            alarmInfo.setAlarmModule(ALARM_MODULE);
+            alarmInfo.setAlarmType(ALARM_TYPE);
+            alarmInfo.setAlarmCode(ALARM_CODE_ID);
+            alarmInfo.setAlarmMessage(sameGlassIds.toString());
+            productAlarmInfoService.save(alarmInfo);
             s7DataZKDLPOne = new S7DataZKDLPOne();
             s7DataZKDLPOne.setAlramSignal(4);
             s7SerializerZKDLPOne.write(s7DataZKDLPOne);
@@ -275,7 +292,7 @@
                     alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
                     alarmInfo.setAlarmModule(ALARM_MODULE);
                     alarmInfo.setAlarmType(ALARM_TYPE);
-                    alarmInfo.setAlarmCode(ALARM_CODE);
+                    alarmInfo.setAlarmCode(ALARM_CODE_SIZE);
                     alarmInfo.setAlarmMessage(info.getGlassId());
                     productAlarmInfoService.save(alarmInfo);
                     //閲嶇疆璇︽儏琛ㄦ暟鎹�
@@ -1024,10 +1041,19 @@
                     }
                     baseInfoList = resultList;
                 } else {
-                    //澶т簬鎬诲眰鏁板厛鍙杢otalLyaer鍊嶆暟鏁伴噺鐨勭幓鐠冿紝淇濊瘉澶ц溅涓婄殑鐜荤拑鎴愬浼�
+                    //澶т簬鎬诲眰鏁板厛鍙杢otalLayer鍊嶆暟鏁伴噺鐨勭幓鐠冿紝淇濊瘉澶ц溅涓婄殑鐜荤拑鎴愬浼�
                     int remainCount = templist.size() % totalLayer;
                     if (targetSlot == 930) {
-                        baseInfoList = templist.subList(0, totalLayer);
+                        int tempSequence = templist.get(0).getHollowSequence();
+                        List<T> resultList = new ArrayList<>();
+                        for (int i = 0; i < templist.size(); i++) {
+                            if (tempSequence == list.get(i).getHollowSequence()) {
+                                resultList.add(templist.get(i));
+                            } else {
+                                break;
+                            }
+                        }
+                        baseInfoList = resultList;
                     } else {
                         baseInfoList = templist.subList(0, templist.size() - remainCount);
                     }

--
Gitblit v1.8.0