From 10ca931a094e4fcb34e61b74d5d5c3f0ec642227 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 08 十二月 2025 11:28:51 +0800
Subject: [PATCH] 1、中空大理片笼信息查询修改为条件查询时只显示符合的数据

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |   58 +++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 39 insertions(+), 19 deletions(-)

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 6c184f6..dc3aaba 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
@@ -3,10 +3,10 @@
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.lang.Assert;
 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.xingshuangs.iot.protocol.s7.service.S7PLC;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.kangaroohy.milo.model.ReadWriteEntity;
 import com.kangaroohy.milo.service.MiloService;
@@ -88,6 +88,9 @@
     @Autowired
     @Qualifier("s7SerializerDLPTwo")
     private S7Serializer s7SerializerDLPTwo;
+    @Autowired
+    @Qualifier("s7plcWZL")
+    private S7PLC s7plcWZL;
 
     @Resource
     SysConfigService sysConfigService;
@@ -257,13 +260,13 @@
                     .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL));
             if (count > 0) {
                 log.info("鐩撮�氱墖鍙板瓨鍦ㄧ幓鐠冿紝缁撴潫鏈杩涚墖");
-                ProductAlarmInfo alarmInfo = new ProductAlarmInfo();
-                alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
-                alarmInfo.setAlarmModule(ALARM_MODULE);
-                alarmInfo.setAlarmType(ALARM_TYPE);
-                alarmInfo.setAlarmCode(ALARM_CODE_OVER);
-                alarmInfo.setAlarmMessage("");
-                productAlarmInfoService.save(alarmInfo);
+//                ProductAlarmInfo alarmInfo = new ProductAlarmInfo();
+//                alarmInfo.setState(Const.LOAD_RAW_GLASS_NEW);
+//                alarmInfo.setAlarmModule(ALARM_MODULE);
+//                alarmInfo.setAlarmType(ALARM_TYPE);
+//                alarmInfo.setAlarmCode(ALARM_CODE_OVER);
+//                alarmInfo.setAlarmMessage("");
+//                productAlarmInfoService.save(alarmInfo);
                 //鍚憄lc鍙戦�佹姤璀�:鐩撮�氱墖鍙板瓨鍦ㄧ幓鐠冿紝鏃犳硶缁х画鐩撮��
 //                miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 64));
                 s7DataDLPOne = new S7DataDLPOne();
@@ -390,6 +393,17 @@
             log.info("褰撳墠鏈敹鍒板嚭鐗囪姹傦紝缁撴潫鍑虹墖浠诲姟");
             return;
         }
+        try {
+            int outRequest = s7plcWZL.readUInt16("DB51.8");
+            if (outRequest == 0){
+                log.info("褰撳墠鏈敹鍒板崸杞珛鍏佽鍑虹墖璇锋眰锛岀粨鏉熷嚭鐗囦换鍔�");
+                return;
+            }
+        } catch (Exception e) {
+            log.error("璇诲彇鍗ц浆绔嬩俊鍙峰紓甯�", e);
+            return;
+        }
+
         //鑾峰彇鍑虹墖浠诲姟琛�
         List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
         if (CollectionUtil.isNotEmpty(outTaskList)) {
@@ -415,6 +429,8 @@
                 LambdaQueryWrapper<BigStorageCage> queryWrapper = new LambdaQueryWrapper<BigStorageCage>()
                         .eq(BigStorageCage::getRemainWidth, slotWidth)
                         .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
+                        .le(BigStorageCage::getMinThickness, info.getThickness())
+                        .ge(BigStorageCage::getMaxThickness, info.getThickness())
                         .orderByAsc(BigStorageCage::getDeviceId).orderByAsc(BigStorageCage::getSlot)
                         .last("limit 1");
 
@@ -593,6 +609,7 @@
                     .eq(BigStorageCage::getEnableState, Const.SLOT_ON));
             //瀹氫箟10涓牸瀛愪负闃堝��
             if (count <= 10) {
+                log.info("绗煎瓙瓒呰繃闃堝�硷紝鎵ц4鍙风瀛愯皟搴﹂�昏緫");
                 //鑾峰彇搴忓彿涓�1鐨勬牸瀛� 灏嗘牸瀛愬唴鐨勬墍鏈夌幓鐠冮�佸埌瀵瑰簲鐨勭瀛�
                 BigStorageCage bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                         .eq(BigStorageCage::getRemainWidth, slotWidth)
@@ -600,15 +617,18 @@
                         .in(BigStorageCage::getDeviceId, Arrays.asList(5, 6))
                         .orderByAsc(BigStorageCage::getDeviceId).orderByAsc(BigStorageCage::getSlot)
                         .last("limit 1"));
-
-                list = bigStorageCageDetailsService.queryNeedDispatch();
-                computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
-                        bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
-                List<Integer> slotList = new ArrayList<>();
-                slotList.add(bigStorageCage.getSlot());
-                slotList.add(list.get(0).getSlot());
-                updateSlotRemainBySlots(slotList);
-                return;
+                if (null != bigStorageCage) {
+                    list = bigStorageCageDetailsService.queryNeedDispatch();
+                    if (CollectionUtil.isNotEmpty(list)) {
+                        computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
+                                bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
+                        List<Integer> slotList = new ArrayList<>();
+                        slotList.add(bigStorageCage.getSlot());
+                        slotList.add(list.get(0).getSlot());
+                        updateSlotRemainBySlots(slotList);
+                        return;
+                    }
+                }
             }
             //鐢熸垚璋冨害浠诲姟鎸夌収缁勫彿缁勫簭鐢�1寮�濮嬩緷娆″線5鍙风瀛愰�佸皬鐗�
             BigStorageSlotDTO slotDTO = bigStorageCageDetailsService.queryNeedDispatchSlotBySequence();
@@ -907,7 +927,7 @@
             damage.setWorkingProcedure("澶х悊鐗囩");
             damage.setRemark("杩涚鍓嶅崸杞珛");
             damage.setStatus(1);
-            damage.setType(item.getTaskState());
+            damage.setType(Const.GLASS_STATE_DAMAGE);
             damageService.insertDamage(damage);
             slotList.add(item.getTargetSlot());
         }
@@ -932,7 +952,7 @@
             damage.setWorkingProcedure("閽㈠寲鍓�");
             damage.setRemark("杩涚鍚庡崸杞珛");
             damage.setStatus(1);
-            damage.setType(item.getTaskState());
+            damage.setType(Const.GLASS_STATE_DAMAGE);
             damageService.insertDamage(damage);
             slotList.add(item.getTargetSlot());
             slotList.add(item.getStartSlot());

--
Gitblit v1.8.0