From 21092d29c1c0cd1003bb32bf91fddae265a8baea Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期三, 20 十一月 2024 08:41:11 +0800
Subject: [PATCH] 1、卧理单条磨边线对接完成,另一条线等待IP确认 2、大理片笼提交部分代码

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java |   79 ++++++++++++++-------------------------
 1 files changed, 28 insertions(+), 51 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java
index b51000b..076ad78 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageTask.java
@@ -5,10 +5,10 @@
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.kangaroohy.milo.runner.subscription.SubscriptionCallback;
 import com.kangaroohy.milo.service.MiloService;
-import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
-import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragecageIntask.entity.BigStorageCageInTask;
+import com.mes.bigstoragecageIntask.service.BigStorageCageInTaskService;
 import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
 import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO;
@@ -17,19 +17,20 @@
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
-import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
-import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
+import com.mes.tools.service.BigStorageBaseService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
 import java.util.stream.Collectors;
 
 /**
@@ -38,23 +39,21 @@
 @Component
 @Slf4j
 public class OpcPlcStorageCageTask {
-
-    @Resource
-    private BigStorageCageService bigStorageCageService;
     @Resource
     private BigStorageCageDetailsService bigStorageCageDetailsService;
-    @Resource
-    private GlassInfoService glassInfoService;
     @Resource
     private BigStorageCageFeedTaskService bigStorageCageFeedTaskService;
     @Resource
     private BigStorageCageOutTaskService bigStorageCageOutTaskService;
     @Resource
-    private EdgGlassTaskInfoService edgGlassTaskInfoService;
-    @Resource
     private TemperingGlassInfoService temperingGlassInfoService;
     @Resource
     private DamageService damageService;
+
+    @Resource
+    private BigStorageBaseService baseService;
+    @Resource
+    private BigStorageCageInTaskService bigStorageBaseInTaskService;
 
     @Autowired(required = false)
     MiloService miloService;
@@ -62,14 +61,6 @@
     @Resource(name = "bigStorageStartCallback")
     SubscriptionCallback bigStorageStartCallback;
 
-    @Value("${mes.carWidth}")
-    private Integer carWidth;
-
-    @Value("${mes.slotWidth}")
-    private Integer slotWidth;
-
-    @Value("${mes.glassGap}")
-    private Integer glassGap;
 
     @Scheduled(fixedDelay = Long.MAX_VALUE)
     public void startOpcTask() throws Exception {
@@ -81,6 +72,17 @@
     public void outOpcTask() throws Exception {
         //璁惧1鐨勫嚭鐗囪姹�
         miloService.subscriptionFromOpcUa(Arrays.asList("my.device03.x1"), bigStorageStartCallback);
+    }
+
+
+    @Scheduled(fixedDelay = 200)
+    public void inBigStorageTask() {
+        //todo:鑾峰彇杩涚墖浠诲姟琛�
+        List<BigStorageCageInTask> inTaskList = bigStorageBaseInTaskService.queryTaskMessage("big_storage_cage_in_one_task");
+        if (CollectionUtils.isEmpty(inTaskList)) {
+            log.info("褰撳墠澶ц溅鏃犺繘鐗囦换鍔★紝缁撴潫鏈湴瀹氭椂浠诲姟");
+        }
+        inTaskList
     }
 
 
@@ -108,7 +110,7 @@
                 bigStorageCageDetailsService.updateBySlot(storageCageDTOList, Const.GLASS_STATE_IN);
                 log.info("4銆佸ぇ鐞嗙墖绗艰繘鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", inSuccessGlass);
                 //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵�
-                updateSlotRemainBySlots(inSuccessGlassSlot);
+                baseService.updateSlotRemainBySlots(inSuccessGlassSlot);
                 log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�");
             }
 
@@ -153,7 +155,7 @@
                 List<Integer> outSuccessSlotList = outSuccessGlass.stream().map(BigStorageCageOutTask::getStartSlot).collect(Collectors.toList());
                 log.info("4銆佸ぇ鐞嗙墖绗煎嚭鐗囩姸鎬佸凡瀹屾垚宸插畬鎴愮殑鐜荤拑淇℃伅id:{}", outSuccessGlass);
                 //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵�
-                updateSlotRemainBySlots(outSuccessSlotList);
+                baseService.updateSlotRemainBySlots(outSuccessSlotList);
                 log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�");
             }
         }
@@ -190,7 +192,7 @@
                 //鏇存柊鐞嗙墖绗肩幓鐠冨昂瀵�
                 List<Integer> slotList = scheduleSuccessGlass.stream().map(BigStorageCageOutTask::getStartSlot).distinct().collect(Collectors.toList());
                 slotList.addAll(scheduleSuccessGlass.stream().map(BigStorageCageOutTask::getEndSlot).distinct().collect(Collectors.toList()));
-                updateSlotRemainBySlots(slotList);
+                baseService.updateSlotRemainBySlots(slotList);
                 log.info("5銆佸ぇ鐞嗙墖绗艰繘鐗囩洰鏍囨牸瀛愬昂瀵告洿鏂板畬鎴�");
             }
         }
@@ -230,7 +232,7 @@
                 slotList.add(bigStorageCageFeedTask.getTargetSlot());
             }
             //鏇存柊鏍煎瓙鍓╀綑瀹藉害
-            updateSlotRemainBySlots(slotList);
+            baseService.updateSlotRemainBySlots(slotList);
             log.info("杩涚墖浠诲姟鎵ц瀹屾垚");
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
@@ -258,37 +260,12 @@
                 slotList.add(bigStorageCageOutTask.getStartSlot());
             }
             //鏇存柊鏍煎瓙鍓╀綑瀹藉害
-            updateSlotRemainBySlots(slotList);
+            baseService.updateSlotRemainBySlots(slotList);
             log.info("鍑虹墖浠诲姟鎵ц瀹屾垚");
         }
         Date endDate = new Date();
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
         return;
-    }
-
-    public void updateSlotRemainBySlots(List<Integer> slotList) {
-        //鑾峰彇鏍煎瓙鍐呮墍鏈夌殑鐜荤拑淇℃伅
-        List<BigStorageCageDetails> inSlotGlassList = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
-                .in(BigStorageCageDetails::getSlot, slotList).in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL));
-        Map<Integer, Double> slotRemainMap = new HashMap<>();
-        //鏄惁瀛樺湪鏈夋牸瀛愰潪绌虹殑鐜荤拑
-        if (CollectionUtils.isNotEmpty(inSlotGlassList)) {
-            //瀛樺湪  灏嗘牸瀛愬唴鐨勭幓鐠冨垎鍒繘琛屾洿鏂�
-            slotRemainMap = inSlotGlassList.stream()
-                    .collect(Collectors.groupingBy(BigStorageCageDetails::getSlot, Collectors.summingDouble(item -> Math.max(item.getWidth(), item.getHeight()) + glassGap)));
-            slotRemainMap.forEach((e, v) -> {
-                double remainWidth = slotWidth - v >= 0 ? slotWidth - v : 0;
-                bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, remainWidth)
-                        .eq(BigStorageCage::getSlot, e));
-            });
-        }
-        //杩囨护涓嶅瓨鍦ㄧ幓鐠冪殑鏍煎瓙 灏嗗搴﹂噸缃负鍘熷瀹藉害5000
-        Set<Integer> remainSlotList = slotRemainMap.keySet();
-        slotList.removeAll(remainSlotList);
-        if (CollectionUtils.isNotEmpty(slotList)) {
-            bigStorageCageService.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, slotWidth)
-                    .in(BigStorageCage::getSlot, slotList));
-        }
     }
 
 

--
Gitblit v1.8.0