From f9978d9309b3a75f078b32746bcb96d4afd55bcc Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 19 十月 2025 23:50:51 +0800
Subject: [PATCH] 1、 切割/钢化版图展示,仅将破损未报工的小片显示为破损

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java |  197 ++++++++++++++++++++++++------------------------
 1 files changed, 99 insertions(+), 98 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 a933c43..8c21cb2 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,11 +3,14 @@
 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.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
 import com.github.yulichang.toolkit.JoinWrappers;
 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.BigStorageCageBaseInfo;
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
@@ -96,28 +99,40 @@
      */
     private static final Integer THROUGH_SLOT = 920;
 
+
+    @Resource
+    private ProductAlarmInfoService productAlarmInfoService;
+
+    private static final String ALARM_MODULE = "閽㈠寲";
+    private static final String ALARM_TYPE = "閽㈠寲澶х悊鐗�";
+    private static final String ALARM_CODE_SIZE = "sizeSame";
+    private static final String ALARM_CODE_ID = "idSame";
+
     @Resource
     private RedisUtil redisUtil;
 
     @Scheduled(fixedDelay = 1000)
-    public void inBigStorageTask() throws Exception {
+    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));
+        if (CollectionUtil.isNotEmpty(alarmInfos)) {
+            log.info("鐣岄潰鎶ヨ锛岀瓑寰呬汉宸ュ共棰勫鐞�");
+            return;
+        }
         S7DataDLPOne s7DataDLPOne = s7SerializerDLPOne.read(S7DataDLPOne.class);
-//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
-//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
+        log.info("杩涚墖浠诲姟寮�濮媨}", s7DataDLPOne);
         Boolean inkageEntity = s7DataDLPOne.getMesControl();
         if (true != inkageEntity) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫杩涚墖浠诲姟");
             return;
         }
-//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP1A.DLP1A.RequestMes");
-//        if (!"1".equals(requestEntity.getValue() + "")) {
         String requestEntity = s7DataDLPOne.getRequestMes().toString();
         if (!"1".equals(requestEntity)) {
             log.info("褰撳墠鏈敹鍒拌繘鐗囪姹傦紝缁撴潫杩涚墖浠诲姟");
             return;
         }
-//        ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP1A.DLP1A.MesReply");
-//        if ("1".equals(mesReplyEntity.getValue() + "")) {
         String mesReplyEntity = s7DataDLPOne.getMesReply().toString();
         if ("1".equals(mesReplyEntity)) {
             log.info("鏈夋鍦ㄦ墽琛岀殑浠诲姟锛岀粨鏉熻繘鐗囦换鍔�");
@@ -125,23 +140,17 @@
         }
         //鑾峰彇杩涚墖浠诲姟淇℃伅
         List<BigStorageCageTask> inTaskList = new ArrayList();
-//        ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM1");
         String fromOpcUa = s7DataDLPOne.getFrom1().toString();
 
         List<String> ids = s7DataDLPOne.getIds();
         List<String> glassIdList = new ArrayList<>();
         for (int i = 0; i < 6; i++) {
-//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
             String requestWord = ids.get(i);
-//            if (null != requestWord.getValue()) {
             if (null != requestWord && !requestWord.isEmpty()) {
                 BigStorageCageTask task = new BigStorageCageTask();
-//                task.setGlassId(requestWord.getValue() + "");
                 task.setGlassId(requestWord);
-//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                 task.setStartSlot(Integer.parseInt(fromOpcUa));
                 inTaskList.add(task);
-//                glassIdList.add(requestWord.getValue() + "");
                 glassIdList.add(requestWord);
                 continue;
             }
@@ -151,13 +160,10 @@
             return;
         }
         log.info("鑾峰彇浠诲姟鐨勭幓鐠僫d锛歿}", glassIdList);
-//        ReadWriteEntity countEntity = miloService.readFromOpcUa("DLP1A.DLP1A.glassCount");
         String countEntity = s7DataDLPOne.getGlassCount().toString();
-//        if (null == countEntity.getValue() || Integer.parseInt(countEntity.getValue() + "") != glassIdList.size()) {
         if (null == countEntity || Integer.parseInt(countEntity) != glassIdList.size()) {
             log.info("褰撳墠澶ц溅杩涚墖鐜荤拑鏁伴噺{}涓巑es璇诲彇鍒扮殑鏁伴噺{}涓嶅尮閰嶏紝缁撴潫杩涚墖浠诲姟", countEntity, glassIdList.size());
             //鍚憄lc鍙戦�佹姤璀�:褰撳墠澶ц溅杩涚墖鐜荤拑鏁伴噺涓巑es璇诲彇鍒扮殑鏁伴噺涓嶅尮閰�
-//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 1));
             s7DataDLPOne = new S7DataDLPOne();
             s7DataDLPOne.setAlarmSignal(1);
             s7SerializerDLPOne.write(s7DataDLPOne);
@@ -168,7 +174,13 @@
             if (entry.getValue() > 1) {
                 log.info("杩涚墖鐜荤拑{}瀛樺湪鐩稿悓锛岀粨鏉熸湰娆′换鍔�", entry.getKey());
                 //鍚憄lc鍙戦�佹姤璀�:鍚屼竴杞﹁繘鐗囩幓鐠冨瓨鍦ㄧ浉鍚�
-//                miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 2));
+                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);
                 s7DataDLPOne = new S7DataDLPOne();
                 s7DataDLPOne.setAlarmSignal(2);
                 s7SerializerDLPOne.write(s7DataDLPOne);
@@ -180,7 +192,17 @@
         if (CollectionUtil.isNotEmpty(detailsList)) {
             log.info("鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑{}锛岀粨鏉熸湰娆′换鍔�", detailsList);
             //鍚憄lc鍙戦�佹姤璀�:鐞嗙墖绗煎瓨鍦ㄧ浉鍚岀殑杩涚墖鐜荤拑
-//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 4));
+            List<String> sameGlassIds = detailsList.stream()
+                    .map(BigStorageCageDetails::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);
+
             s7DataDLPOne = new S7DataDLPOne();
             s7DataDLPOne.setAlarmSignal(4);
             s7SerializerDLPOne.write(s7DataDLPOne);
@@ -191,7 +213,6 @@
         if (glassInfoList.size() != inTaskList.size()) {
             log.info("杩涚墖浠诲姟鏁伴噺{}涓庣幓鐠冩暟閲弡}涓嶅尮閰嶏紝缁撴潫鏈杩涚墖", inTaskList.size(), glassInfoList.size());
             //鍚憄lc鍙戦�佹姤璀�:杩涚墖浠诲姟鏁伴噺涓庣郴缁熸煡璇㈠埌鐨勭幓鐠冩暟閲忎笉鍖归厤
-//            miloService.writeToOpcWord(generateReadWriteEntity("DLP1A.DLP1A.alarmSignal", 8));
             s7DataDLPOne = new S7DataDLPOne();
             s7DataDLPOne.setAlarmSignal(8);
             s7SerializerDLPOne.write(s7DataDLPOne);
@@ -253,7 +274,6 @@
                 GlassInfo info = glassListMap.get(task.getGlassId()).get(0);
                 BigStorageDTO bigStorageDTO = bigStorageGlassInfoService.queryBigStorageTargetSlot(info.getEngineerId(), info.getTemperingLayoutId(), info.getTemperingFeedSequence());
                 //鑾峰彇鐩爣鏍煎瓙淇℃伅
-//            BigStorageDTO bigStorageDTO = bigStorageCageDetailsService.queryTargetSlotByTempering(info);
 //            涓存椂鏇存柊鏍煎瓙鐨勫墿浣欏昂瀵革細闃叉鐩搁偦鐜荤拑杩涘悓涓�鏍煎瓙閫犳垚鍓╀綑灏哄涓嶈冻锛岀幓鐠冭秺鐣岀殑鎯呭喌锛屼换鍔″畬鎴愬悗鍐嶆鏇存柊澶х悊鐗囩琛ㄥ墿浣欏搴︼紙鎸夌収绗煎唴鐜荤拑鏁伴噺鏇存柊澶х悊鐗囩鍓╀綑灏哄锛�
                 bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>()
                         .set(BigStorageCage::getRemainWidth, bigStorageDTO.getWidth() - Math.max(info.getWidth(), info.getHeight()) - glassGap)
@@ -283,7 +303,6 @@
         } else {
             BigStorageCageTask task = inTaskList.get(0);
             task.setTargetSlot(THROUGH_SLOT);
-//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", task);
             //瀛樻斁鍘嗗彶浠诲姟
             BigStorageCageHistoryTask historyTask = new BigStorageCageHistoryTask();
             BeanUtils.copyProperties(task, historyTask);
@@ -307,12 +326,6 @@
         //鍘嗗彶鏁版嵁鍏ュ簱
         bigStorageCageHistoryTaskService.saveBatch(historyTasks);
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
-//        List<ReadWriteEntity> list = new ArrayList<>();
-//        for (int i = 1; i <= inTaskList.size(); i++) {
-//            list.add(generateReadWriteEntity("DLP1A.DLP1A.TO" + i, inTaskList.get(i - 1).getTargetSlot()));
-//        }
-//        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 1));
-//        miloService.writeToOpcWord(list);
         s7DataDLPOne = new S7DataDLPOne();
         for (int i = 0; i < inTaskList.size(); i++) {
             Integer value = Integer.parseInt(inTaskList.get(i).getTargetSlot().toString());
@@ -347,15 +360,12 @@
     public void outBigStorageTask() throws Exception {
         Date startDate = new Date();
         S7DataDLPTwo s7DataWLTwo = s7SerializerDLPTwo.read(S7DataDLPTwo.class);
-//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl");
-//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
+        log.info("鍑虹墖浠诲姟寮�濮媨}", s7DataWLTwo);
         Boolean inkageEntity = s7DataWLTwo.getMesControl();
         if (true != inkageEntity) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫杩涚墖浠诲姟");
             return;
         }
-//        ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP1B.DLP1B.RequestMes");
-//        if (!"1".equals(requestEntity.getValue() + "")) {
         String requestEntity = s7DataWLTwo.getRequestMes().toString();
         if (!"1".equals(requestEntity)) {
             log.info("褰撳墠鏈敹鍒板嚭鐗囪姹傦紝缁撴潫鍑虹墖浠诲姟");
@@ -363,54 +373,62 @@
         }
         //鑾峰彇鍑虹墖浠诲姟琛�
         List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
-//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
         if (CollectionUtil.isNotEmpty(outTaskList)) {
             log.info("鏈夋鍦ㄦ墽琛岀殑鍑虹墖浠诲姟锛岀粨鏉熸湰娆″嚭鐗囦换鍔�");
             return;
         }
-        //鏄惁鍏佽閽㈠寲
-        //鏄惁鏈夋鍦ㄩ挗鍖栫殑鐜荤拑:閽㈠寲灏忕墖琛ㄥ叧鑱斿巻鍙蹭换鍔¤〃锛岀瓫閫夋湭鍑虹鐨勭幓鐠冧俊鎭�
-//            鑾峰彇褰撳墠閽㈠寲浠诲姟鏈畬鎴愬嚭鐗囩殑鐜荤拑淇℃伅
-
         Integer temperingOutTargetPosition = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_TEMPERING_OUT_TARGET_POSITION);
-        List<TemperingGlassInfo> unFinishTemperingGlassInfoList = temperingGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
-                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW).orderByAsc(TemperingGlassInfo::getTemperingLayoutId).orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
-        if (CollectionUtil.isNotEmpty(unFinishTemperingGlassInfoList)) {
-            log.info("鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟");
-            computeOutGlassInfoByVirtualSlot(unFinishTemperingGlassInfoList, "big_storage_cage_out_one_task", temperingOutTargetPosition, Const.GLASS_STATE_OUT_ING, Const.BIG_STORAGE_BEFORE_OUT);
-            Date endDate = new Date();
-            log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
-            return;
-        }
-
-        BigStorageCageDetails details = bigStorageCageDetailsService.getOne(new LambdaQueryWrapper<BigStorageCageDetails>()
-                .eq(BigStorageCageDetails::getSlot, THROUGH_SLOT)
-                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).last("limit 1"));
-        if (details != null) {
-            TemperingGlassInfo temperingGlassInfo = new TemperingGlassInfo();
-            BeanUtils.copyProperties(details, temperingGlassInfo);
-            temperingGlassInfo.setState(-1);
-            temperingGlassInfoService.save(temperingGlassInfo);
-            computeOutGlassInfoByVirtualSlot(Arrays.asList(temperingGlassInfo), "big_storage_cage_out_one_task", temperingOutTargetPosition, Const.GLASS_STATE_OUT_ING, Const.BIG_STORAGE_BEFORE_OUT);
-            return;
-        }
-
         if (redisUtil.getCacheObject("temperingSwitch")) {
-            //閽㈠寲浼樺厛锛氳幏鍙栫悊鐗囩  鐜荤拑灏忕墖  鐮存崯琛� 鏁伴噺   鍒ゆ柇绗煎唴鐗堝浘鏄惁鍒伴綈
-            List<TemperingLayoutDTO> temperingLayoutDTOList = bigStorageCageDetailsService.temperingIsAll();
-            if (CollectionUtil.isNotEmpty(temperingLayoutDTOList)) {
-                //鐜荤拑鍒伴綈鍖呮嫭宸插嚭鐗囩殑
-                //鍒伴綈锛屽皢鐜荤拑灏忕墖鏁版嵁瀛樺叆閽㈠寲灏忕墖琛紝閫昏緫鐢熸垚鍑虹墖浠诲姟  缁撴潫
-                for (TemperingLayoutDTO item : temperingLayoutDTOList) {
-//                    if (item.getEngineerId().equals(redisUtil.getCacheObject("temperingengineerId"))) {
+            //鏄惁鍏佽閽㈠寲
+            //鏄惁鏈夋鍦ㄩ挗鍖栫殑鐜荤拑:閽㈠寲灏忕墖琛ㄥ叧鑱斿巻鍙蹭换鍔¤〃锛岀瓫閫夋湭鍑虹鐨勭幓鐠冧俊鎭�
+//            鑾峰彇褰撳墠閽㈠寲浠诲姟鏈畬鎴愬嚭鐗囩殑鐜荤拑淇℃伅
+            List<TemperingGlassInfo> unFinishTemperingGlassInfoList = temperingGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
+                    .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW).orderByAsc(TemperingGlassInfo::getTemperingLayoutId).orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
+            if (CollectionUtil.isNotEmpty(unFinishTemperingGlassInfoList)) {
+                log.info("鏈夋鍦ㄥ嚭鐗囩殑閽㈠寲浠诲姟");
+                computeOutGlassInfoByVirtualSlot(unFinishTemperingGlassInfoList, "big_storage_cage_out_one_task", temperingOutTargetPosition, Const.GLASS_STATE_OUT_ING, Const.BIG_STORAGE_BEFORE_OUT);
+                Date endDate = new Date();
+                log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
+                return;
+            }
+
+            BigStorageCageDetails details = bigStorageCageDetailsService.getOne(new LambdaQueryWrapper<BigStorageCageDetails>()
+                    .eq(BigStorageCageDetails::getSlot, THROUGH_SLOT)
+                    .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).last("limit 1"));
+            if (details != null) {
+                TemperingGlassInfo temperingGlassInfo = new TemperingGlassInfo();
+                BeanUtils.copyProperties(details, temperingGlassInfo);
+                temperingGlassInfo.setState(-1);
+                temperingGlassInfoService.save(temperingGlassInfo);
+                computeOutGlassInfoByVirtualSlot(Arrays.asList(temperingGlassInfo), "big_storage_cage_out_one_task", temperingOutTargetPosition, Const.GLASS_STATE_OUT_ING, Const.BIG_STORAGE_BEFORE_OUT);
+                return;
+            }
+            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"));
+                int temperingLayoutId = 1;
+                if (temperingGlassInfo != null) {
+                    temperingLayoutId = temperingGlassInfo.getTemperingLayoutId() + 1;
+                }
+                List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getEngineerId, temperingEngineerId).eq(GlassInfo::getTemperingLayoutId, temperingLayoutId));
+                if (CollectionUtil.isEmpty(glassInfos)) {
+                    //鎸囧畾閽㈠寲宸ョ▼鎵ц瀹屾垚锛岀Щ闄ゅ伐绋嬪彿
+                    redisUtil.deleteObject("temperingEngineerId");
+                    return;
+                }
+                List<TemperingLayoutDTO> temperingLayoutDTOS = bigStorageCageDetailsService.temperingIsAllByTemperingLayoutId(temperingEngineerId, temperingLayoutId);
+                if (CollectionUtil.isNotEmpty(temperingLayoutDTOS)) {
                     List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class)
                             .select("-1 as state,t.filmsid as films_id,t.glass_id,t.flow_card_id,t.glass_type,t.width,t.height" +
                                     ",t.thickness,t.ishorizontal,t.tempering_layout_id,t.tempering_feed_sequence,t.x_coordinate,t.y_coordinate," +
                                     "t.angle,t1.slot,t.engineer_id")
                             .innerJoin(BigStorageCageDetails.class, BigStorageCageDetails::getGlassId, GlassInfo::getGlassId)
                             .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
-                            .eq(GlassInfo::getTemperingLayoutId, item.getTemperingLayoutId())
-                            .eq(GlassInfo::getEngineerId, item.getEngineerId())
+                            .eq(GlassInfo::getTemperingLayoutId, temperingLayoutId)
+                            .eq(GlassInfo::getEngineerId, temperingEngineerId)
                             .orderByAsc(GlassInfo::getTemperingFeedSequence));
                     if (CollectionUtil.isNotEmpty(temperingGlassInfos)) {
                         temperingGlassInfoService.saveBatch(temperingGlassInfos);
@@ -419,10 +437,11 @@
                         log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
                         return;
                     }
-//                    }
                 }
             }
+
         }
+
         //鏄惁鏈変汉宸ヤ笅鐗囦换鍔�   鏈夌洿鎺ュ嚭
         Integer artificialOutTargetPosition = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_ARTIFICIAL_OUT_TARGET_POSITION);
         Integer outCarMaxSize = sysConfigService.queryConfigValue(ConstSysConfig.VERTICAL_OUT_CAR_SIZE);
@@ -438,6 +457,18 @@
         }
         //鏄惁瀛樺湪闇�瑕佸唴閮ㄨ皟搴︾殑鏍煎瓙:鎵ц鍐呴儴璋冨害浠诲姟
         if (redisUtil.getCacheObject("dispatchSwitch")) {
+            //鑾峰彇杩涚墖鍗忚鍐呭锛屽湪杩涚墖鏈夎姹�/杩涚墖浠诲姟鎵ц涓笉鎵ц璋冨害浠诲姟
+            S7DataDLPOne s7DataDLPOne = s7SerializerDLPOne.read(S7DataDLPOne.class);
+            String requestInEntity = s7DataDLPOne.getRequestMes().toString();
+            if ("1".equals(requestInEntity)) {
+                log.info("褰撳墠鏀跺埌杩涚墖璇锋眰锛岀粨鏉熻皟搴︿换鍔�");
+                return;
+            }
+            String mesReplyInEntity = s7DataDLPOne.getMesReply().toString();
+            if ("1".equals(mesReplyInEntity)) {
+                log.info("鏈夋鍦ㄦ墽琛岀殑杩涚墖浠诲姟锛岀粨鏉熻皟搴︿换鍔�");
+                return;
+            }
             //todo:鑾峰彇绗煎唴鍗曟牸宸茬粡鍒伴綈鐨勭幓鐠冩牸瀛愪俊鎭�
             List<BigStorageRelationDTO> virtualList = bigStorageCageDetailsService.queryIsAllNeedDispatchVirtualSlot();
             if (CollectionUtil.isEmpty(virtualList)) {
@@ -479,30 +510,21 @@
     @Scheduled(fixedDelay = 1000)
     public void finishInBigStorageTask() throws Exception {
         S7DataDLPOne s7DataDLPOne = s7SerializerDLPOne.read(S7DataDLPOne.class);
-//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1A.DLP1A.mesControl");
-//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
         Boolean inkageEntity = s7DataDLPOne.getMesControl();
         if (true != inkageEntity) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫瀹屾垚杩涚墖浠诲姟");
             return;
         }
         //鑾峰彇杩涚墖浠诲姟琛�
-//        List<BigStorageCageTask> inTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_in_one_task");
         List<BigStorageCageTask> inTaskList = new ArrayList();
 
         List<String> glassIdList = new ArrayList<>();
-//        ReadWriteEntity toWord = miloService.readFromOpcUa("DLP1A.DLP1A.TO1");
-//        if ("0".equals(toWord.getValue() + "")) {
         String toWord = s7DataDLPOne.getTo1().toString();
         if ("0".equals(toWord)) {
             log.info("瀹屾垚浠诲姟宸叉墽琛岋紝缁撴潫鏈瀹屾垚杩涚墖浠诲姟");
             return;
         }
         for (int i = 0; i < 6; i++) {
-//            ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP1A.DLP1A.DI" + i);
-//            ReadWriteEntity statetWord = miloService.readFromOpcUa("DLP1A.DLP1A.STATE" + i);
-//            ReadWriteEntity toOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.TO" + i);
-//            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP1A.DLP1A.FROM" + i);
             String requestWord = "";
             String statetWord = "";
             String toOpcUa = "";
@@ -546,19 +568,13 @@
                     break;
             }
 
-//            if (null != requestWord.getValue()) {
             if (!requestWord.isEmpty()) {
                 BigStorageCageTask task = new BigStorageCageTask();
-//                task.setGlassId(requestWord.getValue() + "");
-//                task.setTargetSlot(Integer.parseInt(toOpcUa.getValue() + ""));
-//                task.setTaskState(Integer.parseInt(statetWord.getValue() + ""));
-//                task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + ""));
                 task.setGlassId(requestWord);
                 task.setTargetSlot(Integer.parseInt(toOpcUa));
                 task.setTaskState(Integer.parseInt(statetWord));
                 task.setStartSlot(Integer.parseInt(fromOpcUa));
                 inTaskList.add(task);
-//                glassIdList.add(requestWord.getValue() + "");
                 glassIdList.add(requestWord);
                 continue;
             }
@@ -605,17 +621,9 @@
                     .eq(BigStorageCageHistoryTask::getGlassId, item.getGlassId()));
             item.setTargetSlot(0);
             //娓呯┖浠诲姟琛ㄦ暟鎹�
-//            bigStorageCageTaskService.updateTaskMessage("big_storage_cage_in_one_task", item);
         }
         //娓呯┖鍚姩鐘舵��
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
-        //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
-//        List<ReadWriteEntity> list = new ArrayList<>();
-//        for (int i = 1; i <= 6; i++) {
-//            list.add(generateReadWriteEntity("DLP1A.DLP1A.TO" + i, 0));
-//        }
-//        list.add(generateReadWriteEntity("DLP1A.DLP1A.MesReply", 0));
-//        miloService.writeToOpcWord(list);
         s7DataDLPOne = new S7DataDLPOne();
         s7DataDLPOne.setTo1(0);
         s7DataDLPOne.setTo2(0);
@@ -630,8 +638,6 @@
     @Scheduled(fixedDelay = 1000)
     public void finishOutBigStorageTask() throws Exception {
         S7DataDLPTwo s7DataWLTwo = s7SerializerDLPTwo.read(S7DataDLPTwo.class);
-//        ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP1B.DLP1B.mesControl");
-//        if (true != Boolean.parseBoolean(inkageEntity.getValue() + "")) {
         Boolean inkageEntity = s7DataWLTwo.getMesControl();
         if (true != inkageEntity) {
             log.info("褰撳墠涓洪潪鑱旀満鐘舵�侊紝缁撴潫瀹屾垚鍑虹墖浠诲姟");
@@ -639,7 +645,6 @@
         }
         //鑾峰彇鍑虹墖浠诲姟琛�
         List<BigStorageCageTask> outTaskList = getOutTaskList(s7DataWLTwo);
-//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_one_task");
         if (CollectionUtil.isEmpty(outTaskList)) {
             log.info("褰撳墠澶ц溅鏃犲嚭鐗囩幓鐠冿紝缁撴潫瀹屾垚鍑虹墖浠诲姟");
             return;
@@ -723,11 +728,9 @@
             }
         }
 //       閲嶇疆浠诲姟琛ㄦ暟鎹�
-//        bigStorageCageTaskService.updateOutTaskMessage("big_storage_cage_out_one_task");
         resetOutTask();
         //娓呯┖鍚姩鐘舵��
         //鍚憃pc鍙戦�佸惎鍔ㄤ俊鍙�
-//        miloService.writeToOpcWord(generateReadWriteEntity("DLP1B.DLP1B.MesReply", 0));
         S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
         s7DataDLPTwo.setMesReply(0);
         s7SerializerDLPTwo.write(s7DataDLPTwo);
@@ -909,8 +912,6 @@
             }
         }
         s7SerializerDLPTwo.write(s7DataDLPTwo);
-//        bigStorageCageTaskService.removeAll("big_storage_cage_out_one_task");
-//        bigStorageCageTaskService.saveTaskMessage(tableName, bigStorageCageTaskList);
         List<BigStorageCageHistoryTask> historyList = bigStorageCageTaskList.stream().filter(e -> StringUtils.isNotBlank(e.getGlassId())).map(e -> {
             BigStorageCageHistoryTask history = new BigStorageCageHistoryTask();
             BeanUtils.copyProperties(e, history);

--
Gitblit v1.8.0