From d724176dbcf033a096d7dcbd864c05485f021fbb Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 17 十二月 2025 08:30:56 +0800
Subject: [PATCH] 1、 钢化前钢化出片逻辑调整,避免卧转立信号对调度任务的影响 2、修改出片方式,当玻璃未在关系表时,默认出一片 3、中空新增进片线路校验,避免钢化重复报工

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |   41 ++++++++++++++++++++++++++++-------------
 1 files changed, 28 insertions(+), 13 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 442fbb7..55215e3 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
@@ -6,6 +6,7 @@
 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;
@@ -87,6 +88,9 @@
     @Autowired
     @Qualifier("s7SerializerDLPTwo")
     private S7Serializer s7SerializerDLPTwo;
+    @Autowired
+    @Qualifier("s7plcWZL")
+    private S7PLC s7plcWZL;
 
     @Resource
     SysConfigService sysConfigService;
@@ -256,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();
@@ -465,6 +469,16 @@
 
         Integer temperingOutTargetPosition = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_TEMPERING_OUT_TARGET_POSITION);
         if (redisUtil.getCacheObject("temperingSwitch")) {
+            try {
+                int outRequest = s7plcWZL.readUInt16("DB51.8");
+                if (outRequest == 0) {
+                    log.info("褰撳墠鏈敹鍒板崸杞珛鍏佽鍑虹墖璇锋眰锛岀粨鏉熷嚭鐗囦换鍔�");
+                    return;
+                }
+            } catch (Exception e) {
+                log.error("璇诲彇鍗ц浆绔嬩俊鍙峰紓甯�", e);
+                return;
+            }
             //鏄惁鍏佽閽㈠寲
             //鏄惁鏈夋鍦ㄩ挗鍖栫殑鐜荤拑:閽㈠寲灏忕墖琛ㄥ叧鑱斿巻鍙蹭换鍔¤〃锛岀瓫閫夋湭鍑虹鐨勭幓鐠冧俊鎭�
 //            鑾峰彇褰撳墠閽㈠寲浠诲姟鏈畬鎴愬嚭鐗囩殑鐜荤拑淇℃伅
@@ -912,7 +926,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());
         }
@@ -937,7 +951,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());
@@ -1008,15 +1022,16 @@
     computeOutGlassInfoByVirtualSlot(List<T> list, String tableName, int targetSlot, int state, int taskType) {
         //浠诲姟鏁版嵁:鑾峰彇杞﹀瓙瀛樻斁鐜荤拑鏈�澶ф暟閲�,鐜荤拑闂撮殧
         List<T> outGlassList = list;
-//        if (!THROUGH_SLOT.equals(list.get(0).getSlot())) {
-//            涓存椂瑙e喅鏂规:鍑虹墖鏃惰�冭檻鐜荤拑纰版挒锛屾敼涓轰竴鐗囦竴鍑�
-        // 鐣岄潰鍏抽棴璋冨害寮�鍏� !Const.BIG_STORAGE_BEFORE_DISPATCH.equals(taskType)
         if (list.get(0).getSlot() >= 500 && list.get(0).getThickness() > 8) {
             outGlassList = list.subList(0, 1);
         } else {
             List<String> glassIdList = bigStorageGlassRelationInfoService.queryNeedOutGlassId(
                     list.get(0).getEngineerId(), list.get(0).getTemperingLayoutId(), list.get(0).getTemperingFeedSequence());
-            outGlassList = list.stream().filter(e -> glassIdList.contains(e.getGlassId())).collect(Collectors.toList());
+            if (CollectionUtil.isEmpty(glassIdList)) {
+                outGlassList = list.subList(0, 1);
+            } else {
+                outGlassList = list.stream().filter(e -> glassIdList.contains(e.getGlassId())).collect(Collectors.toList());
+            }
         }
 //        }
         Assert.isFalse(CollectionUtil.isEmpty(outGlassList), "鏈幏鍙栧嚭鐗囨暟鎹紝缁撴潫鍑虹墖浠诲姟");

--
Gitblit v1.8.0