From b64ef67b6950301c5e808cbb709248e341a3e6a2 Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期五, 20 十二月 2024 22:53:14 +0800
Subject: [PATCH] 1、大理片笼及中空大理片笼自动报工,增加过渡台限制(高度超过2500或者厚度超过12) 2、卧理报工

---
 hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java |   43 +++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
index dfd6891..d7e8364 100644
--- a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
+++ b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -78,6 +78,10 @@
 
     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 Integer THROUGH_SLOT = 920;
     @Autowired(required = false)
     MiloService miloService;
     @Resource
@@ -94,6 +98,11 @@
 
     @Value("${mes.outCarMaxSize}")
     private Integer outCarMaxSize;
+
+    @Value("${mes.slotMaxHeight}")
+    private Integer slotMaxHeight;
+    @Value("${mes.slotMaxthickness}")
+    private Integer slotMaxthickness;
 
     @Scheduled(fixedDelay = 1000)
     public void inBigStorageTask() throws Exception {
@@ -154,10 +163,40 @@
             //todo:鍚憄lc鍙戦�佹姤璀�
             return;
         }
+        //鎸夌収鐜荤拑鍘氬害鍒嗙粍锛屽垽鏂墿浣欐牸瀛愭槸鍚﹀彲浠ュ瓨鏀�
+        Map<Double, Long> thickCountMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getThickness, Collectors.counting()));
+        for (Map.Entry<Double, Long> entry : thickCountMap.entrySet()) {
+            int count = hollowBigStorageCageService.count(new LambdaQueryWrapper<HollowBigStorageCage>()
+                    .eq(HollowBigStorageCage::getEnableState, Const.SLOT_ON).eq(HollowBigStorageCage::getRemainWidth, slotWidth)
+                    .le(HollowBigStorageCage::getMinThickness, entry.getKey())
+                    .ge(HollowBigStorageCage::getMaxThickness, entry.getKey()));
+            if (count < entry.getValue()) {
+                log.info("绗煎唴鏍煎瓙鍓╀綑鏁伴噺涓嶈冻锛岀粨鏉熸湰娆¤繘鐗�");
+                //todo:鍚憄lc鍙戦�佹姤璀�
+                return;
+            }
+        }
+        //todo:瓒呭ぇ灏哄
+        if (slotMaxHeight < Math.min(glassInfoList.get(0).getWidth(), glassInfoList.get(0).getHeight()) || glassInfoList.get(0).getThickness() > slotMaxthickness) {
+            int count = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
+                    .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT)
+                    .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL));
+            if (count > 0) {
+                log.info("鐩撮�氱墖鍙板瓨鍦ㄧ幓鐠冿紝缁撴潫鏈杩涚墖");
+                //todo:鍚憄lc鍙戦�佹姤璀�
+                return;
+            }
+        }
+
+        log.info("灏嗛挗鍖栧皬鐗囪〃鍐呯殑鐘舵�佹敼涓洪挗鍖栫粨鏉燂紝鐜荤拑id鏈夛細{}", glassIdList);
         //淇敼閽㈠寲浠诲姟琛ㄤ腑鐨勭姸鎬�
         temperingGlassInfoService.update(new LambdaUpdateWrapper<TemperingGlassInfo>()
                 .set(TemperingGlassInfo::getState, Const.TEMPERING_END).in(TemperingGlassInfo::getGlassId, glassIdList));
-
+        //鎶ュ伐
+        log.info("灏嗘帴鏀跺埌鐨勭幓鐠冭繘琛岄挗鍖栬嚜鍔ㄦ姤宸ワ紝鐜荤拑id鏈夛細{}", glassIdList);
+        for (String glass : glassIdList) {
+            damageService.autoSubmitReport(glass, inTaskList.get(0).getStartSlot(), "閽㈠寲", "杩涗腑绌虹悊鐗囩");
+        }
         Map<String, List<GlassInfo>> glassListMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getGlassId));
 
         //璁$畻鐩爣鏍煎瓙
@@ -766,7 +805,7 @@
                 targetSlot = storageCage.getSlot();
                 hollowBigStorageCageService.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
                         .set(HollowBigStorageCage::getRemainWidth, 0).eq(HollowBigStorageCage::getSlot, targetSlot));
-            }else{
+            } else {
                 resultList = tempList;
             }
             totalLayer = 0;

--
Gitblit v1.8.0