From 3bbd6bbe7281906b61709333cab12a58b023c6e7 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期一, 22 九月 2025 16:15:21 +0800
Subject: [PATCH] 1、预警信息提示

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java |  160 ++++++++++++++++++++++++++++++++---------------------
 1 files changed, 96 insertions(+), 64 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 67d8ed8..b7d3dbd 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
@@ -10,6 +10,8 @@
 import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
+import com.mes.alarm.entity.ProductAlarmInfo;
+import com.mes.alarm.service.ProductAlarmInfoService;
 import com.mes.base.entity.HollowBigStorageCageBaseInfo;
 import com.mes.bigstoragecagetask.entity.BigStorageCageTask;
 import com.mes.bigstoragecagetask.service.BigStorageCageTaskService;
@@ -101,11 +103,19 @@
     @Qualifier("CMJ1ModbusTcp")
     ModbusTcp CMJ1ModbusTcp;
 
+    @Resource
+    private ProductAlarmInfoService productAlarmInfoService;
+
     private static final String BIG_STORAGE_CAGE_IN_TWO_TASK = "big_storage_cage_in_two_task";
     private static final String BIG_STORAGE_CAGE_OUT_TWO_TASK = "big_storage_cage_out_two_task";
 
     private static final List<Integer> ONE_LINE_FIRST = Arrays.asList(930, 931, 932);
     private static final List<Integer> TWO_LINE_FIRST = Arrays.asList(931, 930, 932);
+
+
+    private static final String ALARM_MODULE = "涓┖";
+    private static final String ALARM_TYPE = "涓┖澶х悊鐗�";
+    private static final String ALARM_CODE = "sizeSame";
 
     /**
      * 鐩撮�氭牸瀛�
@@ -118,6 +128,15 @@
 
     @Scheduled(fixedDelay = 1000)
     public void inBigStorageTask() {
+        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));
+        if (CollectionUtil.isNotEmpty(alarmInfos)) {
+            log.info("鐣岄潰鎶ヨ锛岀瓑寰呬汉宸ュ共棰勫鐞�");
+            return;
+        }
         S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class);
         log.info("杩涚墖浠诲姟璇诲彇s7DataZKDLPOne:{}", s7DataZKDLPOne);
         Boolean inkageEntity = s7DataZKDLPOne.getMesControl();
@@ -240,51 +259,49 @@
         List<HollowBigStorageCageHistoryTask> historyTasks = new ArrayList<>();
 
         Integer glassGap = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_GLASS_GAP);
-        try {
-            log.info("寮�濮嬭绠楃洰鏍囨牸瀛�,鐜荤拑id鏈夛細{}", inTaskList);
-            if (slotMaxHeight > Math.min(glassInfoList.get(0).getWidth(), glassInfoList.get(0).getHeight()) && glassInfoList.get(0).getThickness() < slotMaxthickness) {
-                for (BigStorageCageTask task : inTaskList) {
-                    GlassInfo info = glassListMap.get(task.getGlassId()).get(0);
-                    HollowBigStorageDTO bigStorageDTO = hollowGlassRelationInfoService.queryHollowTargetSlot(info.getFlowCardId(), info.getGlassType(),
+
+        log.info("寮�濮嬭绠楃洰鏍囨牸瀛�,鐜荤拑id鏈夛細{}", inTaskList);
+        if (slotMaxHeight > Math.min(glassInfoList.get(0).getWidth(), glassInfoList.get(0).getHeight()) && glassInfoList.get(0).getThickness() < slotMaxthickness) {
+            for (BigStorageCageTask task : inTaskList) {
+                GlassInfo info = glassListMap.get(task.getGlassId()).get(0);
+                HollowBigStorageDTO bigStorageDTO = null;
+                try {
+                    bigStorageDTO = hollowGlassRelationInfoService.queryHollowTargetSlot(info.getFlowCardId(), info.getGlassType(),
                             info.getWidth(), info.getHeight(), info.getTotalLayer(), info.getLayer());
-//            涓存椂鏇存柊鏍煎瓙鐨勫墿浣欏昂瀵革細闃叉鐩搁偦鐜荤拑杩涘悓涓�鏍煎瓙閫犳垚鍓╀綑灏哄涓嶈冻锛岀幓鐠冭秺鐣岀殑鎯呭喌锛屼换鍔″畬鎴愬悗鍐嶆鏇存柊澶х悊鐗囩琛ㄥ墿浣欏搴︼紙鎸夌収绗煎唴鐜荤拑鏁伴噺鏇存柊澶х悊鐗囩鍓╀綑灏哄锛�
-                    hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
-                            .set(HollowBigStorageCage::getRemainWidth, bigStorageDTO.getRemainWidth() - Math.max(info.getWidth(), info.getHeight()) - glassGap)
-                            .eq(HollowBigStorageCage::getSlot, bigStorageDTO.getSlot()));
-                    task.setTargetSlot(bigStorageDTO.getSlot());
-                    task.setGlassId(info.getGlassId());
-                    //瀛樻斁鍘嗗彶浠诲姟
-                    HollowBigStorageCageHistoryTask historyTask = new HollowBigStorageCageHistoryTask();
-                    BeanUtils.copyProperties(task, historyTask);
-                    historyTask.setTaskType(Const.BIG_STORAGE_AFTER_IN);
-                    historyTask.setGlassCount(glassInfoList.size());
-                    historyTask.setTaskState(Const.ENGINEERING_NEW);
-                    historyTasks.add(historyTask);
-                    //瀛樻斁璇︽儏鏁版嵁
-                    HollowBigStorageCageDetails cageDetails = new HollowBigStorageCageDetails();
-                    BeanUtils.copyProperties(bigStorageDTO, cageDetails);
-                    BeanUtils.copyProperties(info, cageDetails);
-                    cageDetails.setState(Const.GLASS_STATE_NEW);
-                    cageDetails.setSequence(bigStorageDTO.getSlotSequence());
-                    cageDetails.setGap(glassGap);
-                    cageDetails.setId(null);
-                    hollowBigStorageCageDetailsService.save(cageDetails);
+                } catch (Exception exception) {
+                    log.info("杩涚墖浠诲姟鎵ц涓彂鐢熷紓甯革細{}", exception);
+                    //淇濆瓨鏁呴殰淇℃伅
+                    ProductAlarmInfo alarmInfo = new ProductAlarmInfo();
+                    alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
+                    alarmInfo.setAlarmModule(ALARM_MODULE);
+                    alarmInfo.setAlarmType(ALARM_TYPE);
+                    alarmInfo.setAlarmCode(ALARM_CODE);
+                    alarmInfo.setAlarmMessage(info.getGlassId());
+                    productAlarmInfoService.save(alarmInfo);
+                    //閲嶇疆璇︽儏琛ㄦ暟鎹�
+                    hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
+                            .set(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_TAKE)
+                            .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_NEW));
+                    //閲嶇疆涓┖鍏崇郴琛ㄦ暟鎹�
                     hollowGlassRelationInfoService.update(new LambdaUpdateWrapper<HollowGlassRelationInfo>()
-                            .set(HollowGlassRelationInfo::getGlassId, cageDetails.getGlassId())
-                            .set(HollowGlassRelationInfo::getTemperingLayoutId, cageDetails.getTemperingLayoutId())
-                            .set(HollowGlassRelationInfo::getTemperingFeedSequence, cageDetails.getTemperingFeedSequence())
-                            .set(HollowGlassRelationInfo::getEngineerId, cageDetails.getEngineerId())
-                            .set(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_OCCUPY)
-                            .eq(HollowGlassRelationInfo::getFlowCardId, bigStorageDTO.getFlowCardId())
-                            .eq(HollowGlassRelationInfo::getLayer, bigStorageDTO.getLayer())
-                            .eq(HollowGlassRelationInfo::getVirtualSlot, bigStorageDTO.getVirtualSlot())
-                            .eq(HollowGlassRelationInfo::getSlotSequence, bigStorageDTO.getSlotSequence())
-                            .eq(HollowGlassRelationInfo::getHollowSequence, bigStorageDTO.getHollowSequence())
+                            .set(HollowGlassRelationInfo::getGlassId, null)
+                            .set(HollowGlassRelationInfo::getTemperingLayoutId, null)
+                            .set(HollowGlassRelationInfo::getTemperingFeedSequence, null)
+                            .set(HollowGlassRelationInfo::getEngineerId, null)
+                            .set(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_NEW)
+                            .eq(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_OCCUPY)
                     );
+                    //灏嗘牸瀛愬昂瀵告仮澶�
+                    hollowBigStorageCageService.resetCage();
+                    return;
                 }
-            } else {
-                BigStorageCageTask task = inTaskList.get(0);
-                task.setTargetSlot(THROUGH_SLOT);
+
+//            涓存椂鏇存柊鏍煎瓙鐨勫墿浣欏昂瀵革細闃叉鐩搁偦鐜荤拑杩涘悓涓�鏍煎瓙閫犳垚鍓╀綑灏哄涓嶈冻锛岀幓鐠冭秺鐣岀殑鎯呭喌锛屼换鍔″畬鎴愬悗鍐嶆鏇存柊澶х悊鐗囩琛ㄥ墿浣欏搴︼紙鎸夌収绗煎唴鐜荤拑鏁伴噺鏇存柊澶х悊鐗囩鍓╀綑灏哄锛�
+                hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
+                        .set(HollowBigStorageCage::getRemainWidth, bigStorageDTO.getRemainWidth() - Math.max(info.getWidth(), info.getHeight()) - glassGap)
+                        .eq(HollowBigStorageCage::getSlot, bigStorageDTO.getSlot()));
+                task.setTargetSlot(bigStorageDTO.getSlot());
+                task.setGlassId(info.getGlassId());
                 //瀛樻斁鍘嗗彶浠诲姟
                 HollowBigStorageCageHistoryTask historyTask = new HollowBigStorageCageHistoryTask();
                 BeanUtils.copyProperties(task, historyTask);
@@ -292,37 +309,52 @@
                 historyTask.setGlassCount(glassInfoList.size());
                 historyTask.setTaskState(Const.ENGINEERING_NEW);
                 historyTasks.add(historyTask);
-                GlassInfo info = glassInfoList.get(0);
+                //瀛樻斁璇︽儏鏁版嵁
                 HollowBigStorageCageDetails cageDetails = new HollowBigStorageCageDetails();
+                BeanUtils.copyProperties(bigStorageDTO, cageDetails);
                 BeanUtils.copyProperties(info, cageDetails);
-                cageDetails.setSlot(THROUGH_SLOT);
                 cageDetails.setState(Const.GLASS_STATE_NEW);
-                cageDetails.setDeviceId(0);
-                cageDetails.setSequence(0);
-                cageDetails.setHollowSequence(0);
+                cageDetails.setSequence(bigStorageDTO.getSlotSequence());
                 cageDetails.setGap(glassGap);
-                cageDetails.setFilmsId(info.getFilmsid());
                 cageDetails.setId(null);
                 hollowBigStorageCageDetailsService.save(cageDetails);
+                hollowGlassRelationInfoService.update(new LambdaUpdateWrapper<HollowGlassRelationInfo>()
+                        .set(HollowGlassRelationInfo::getGlassId, cageDetails.getGlassId())
+                        .set(HollowGlassRelationInfo::getTemperingLayoutId, cageDetails.getTemperingLayoutId())
+                        .set(HollowGlassRelationInfo::getTemperingFeedSequence, cageDetails.getTemperingFeedSequence())
+                        .set(HollowGlassRelationInfo::getEngineerId, cageDetails.getEngineerId())
+                        .set(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_OCCUPY)
+                        .eq(HollowGlassRelationInfo::getFlowCardId, bigStorageDTO.getFlowCardId())
+                        .eq(HollowGlassRelationInfo::getLayer, bigStorageDTO.getLayer())
+                        .eq(HollowGlassRelationInfo::getVirtualSlot, bigStorageDTO.getVirtualSlot())
+                        .eq(HollowGlassRelationInfo::getSlotSequence, bigStorageDTO.getSlotSequence())
+                        .eq(HollowGlassRelationInfo::getHollowSequence, bigStorageDTO.getHollowSequence())
+                );
             }
-        } catch (Exception exception) {
-            log.info("杩涚墖浠诲姟鎵ц涓彂鐢熷紓甯革細{}", exception);
-            hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
-                    .set(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_TAKE)
-                    .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_NEW));
-
-            hollowGlassRelationInfoService.update(new LambdaUpdateWrapper<HollowGlassRelationInfo>()
-                    .set(HollowGlassRelationInfo::getGlassId, null)
-                    .set(HollowGlassRelationInfo::getTemperingLayoutId, null)
-                    .set(HollowGlassRelationInfo::getTemperingFeedSequence, null)
-                    .set(HollowGlassRelationInfo::getEngineerId, null)
-                    .set(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_NEW)
-                    .eq(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_OCCUPY)
-            );
-            //灏嗘牸瀛愬昂瀵告仮澶�
-            hollowBigStorageCageService.resetCage();
-            return;
+        } else {
+            BigStorageCageTask task = inTaskList.get(0);
+            task.setTargetSlot(THROUGH_SLOT);
+            //瀛樻斁鍘嗗彶浠诲姟
+            HollowBigStorageCageHistoryTask historyTask = new HollowBigStorageCageHistoryTask();
+            BeanUtils.copyProperties(task, historyTask);
+            historyTask.setTaskType(Const.BIG_STORAGE_AFTER_IN);
+            historyTask.setGlassCount(glassInfoList.size());
+            historyTask.setTaskState(Const.ENGINEERING_NEW);
+            historyTasks.add(historyTask);
+            GlassInfo info = glassInfoList.get(0);
+            HollowBigStorageCageDetails cageDetails = new HollowBigStorageCageDetails();
+            BeanUtils.copyProperties(info, cageDetails);
+            cageDetails.setSlot(THROUGH_SLOT);
+            cageDetails.setState(Const.GLASS_STATE_NEW);
+            cageDetails.setDeviceId(0);
+            cageDetails.setSequence(0);
+            cageDetails.setHollowSequence(0);
+            cageDetails.setGap(glassGap);
+            cageDetails.setFilmsId(info.getFilmsid());
+            cageDetails.setId(null);
+            hollowBigStorageCageDetailsService.save(cageDetails);
         }
+
         //鍘嗗彶鏁版嵁鍏ュ簱
         hollowBigStorageCageHistoryTaskService.saveBatch(historyTasks);
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�

--
Gitblit v1.8.0