From af7f09e7965887b034c9add213bf68c816f22338 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 19 九月 2025 18:02:36 +0800
Subject: [PATCH] 中空理片笼缺片详情改造,中空一线二线三线页面改造

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java |   40 ++++++++++++++++++++++++++++++----------
 1 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
index 9c78f1c..bc1dae1 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java
@@ -7,6 +7,8 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.common.config.Const;
 import com.mes.common.config.ConstSysConfig;
+import com.mes.damage.entity.request.DamageRequest;
+import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.hollow.entity.HollowBigStorageCage;
@@ -28,10 +30,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -59,6 +58,8 @@
     HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
     @Resource
     SysConfigService sysConfigService;
+    @Resource
+    DamageService damageService;
 //    @Value("${mes.slotWidth}")
 //    private Integer slotWidth;
 //    @Value("${mes.glassGap}")
@@ -68,12 +69,12 @@
 //    private Integer outCarMaxSize;
 
     @Override
-    public HollowBigStorageDTO queryHollowTargetSlot(String flowCardId, double width, double height, int totalLayer, int layer) {
+    public HollowBigStorageDTO queryHollowTargetSlot(String flowCardId, Integer glassType, double width, double height, int totalLayer, int layer) {
+        log.info("鐜荤拑娴佺▼鍗★細{}锛屽簭鍙凤細{}锛屾�诲眰鏁帮細{}锛屽眰鏁帮細{}", flowCardId, glassType, totalLayer, layer);
         //鎸夌収鐜荤拑淇℃伅鑾峰彇鍏崇郴琛ㄤ腑瀵瑰簲鐨勫ぇ鐞嗙墖绗兼牸瀛愬彿
         HollowGlassRelationInfo relationInfoOne = hollowGlassRelationInfoService.getOne(new LambdaQueryWrapper<HollowGlassRelationInfo>()
                 .eq(HollowGlassRelationInfo::getFlowCardId, flowCardId)
-                .eq(HollowGlassRelationInfo::getWidth, width)
-                .eq(HollowGlassRelationInfo::getHeight, height)
+                .eq(HollowGlassRelationInfo::getOrderSort, glassType)
                 .eq(HollowGlassRelationInfo::getTotalLayer, totalLayer)
                 .eq(HollowGlassRelationInfo::getLayer, layer)
                 .eq(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_NEW)
@@ -95,8 +96,7 @@
             //铏氭嫙浣嶇疆琛ㄦ病鏈夋湰宸ョ▼涓嬬殑鎵�鏈夌幓鐠冭櫄鎷熶俊鎭紝鎸夌収鐜荤拑id鐢熸垚鏈伐绋嬩笅鎵�鏈夌幓鐠冪殑铏氭嫙淇℃伅
             relationInfoOne = this.getOne(new LambdaQueryWrapper<HollowGlassRelationInfo>()
                     .eq(HollowGlassRelationInfo::getFlowCardId, flowCardId)
-                    .eq(HollowGlassRelationInfo::getWidth, width)
-                    .eq(HollowGlassRelationInfo::getHeight, height)
+                    .eq(HollowGlassRelationInfo::getOrderSort, glassType)
                     .eq(HollowGlassRelationInfo::getTotalLayer, totalLayer)
                     .eq(HollowGlassRelationInfo::getLayer, layer)
                     .eq(HollowGlassRelationInfo::getState, Const.HOLLOW_RELATION_NEW)
@@ -104,6 +104,7 @@
                     .last("limit 1")
             );
         }
+        Assert.isTrue(null != relationInfoOne, "鐩稿叧娴佺▼鍗℃湭鎵惧埌瀵瑰簲鐨勭粍鍙蜂俊鎭紝鐜荤拑娴佺▼鍗★細{}锛屽簭鍙凤細{}锛屾�诲眰鏁帮細{}锛屽眰鏁帮細{}", flowCardId, glassType, totalLayer, layer);
         Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
         //璇︽儏琛ㄥ唴鑾峰彇鏈粍鏄惁宸茬粡鏈夌幓鐠冨湪绗煎瓙鍐咃紙0琛ㄧず鎻愬墠鍗犵敤锛�
         int taskCount = hollowGlassOutRelationInfoService.count(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
@@ -301,6 +302,8 @@
 
     @Override
     public List<HollowAllFlowCardVO> queryHollowAllFlowCard(HollowBigStorageDetailsQueryVO query) {
+        Date startDate = new Date();
+        log.info("寮�濮嬫煡璇腑绌烘祦绋嬪崱浠诲姟淇℃伅锛屽紑濮嬫椂闂磠}", startDate);
         List<HollowBigStorageCageDetails> detailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                 .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                 .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId())
@@ -312,6 +315,8 @@
             log.info("绗煎唴鏃犵幓鐠�");
             return new ArrayList<>();
         }
+        Date middleDate = new Date();
+        log.info("涓┖鐞嗙墖绗艰鎯呮暟鎹凡鏌ヨ瀹屾瘯锛岃�楁椂:{}ms", middleDate.getTime() - startDate.getTime());
         Map<String, List<HollowBigStorageCageDetails>> listMap = detailsList.stream().collect(Collectors.groupingBy(HollowBigStorageCageDetails::getFlowCardId));
         List<HollowAllFlowCardVO> resultList = new ArrayList<>();
         AtomicInteger pairTotalCount = new AtomicInteger();
@@ -330,13 +335,15 @@
                 }
                 List<FlowCardGlassInfoDTO> flowCardInfoList = hollowBigStorageCageDetailsService.hollowIsAll(e, cageDetails.getTotalLayer(), Boolean.FALSE);
                 log.info("鑾峰彇鍒扮殑娴佺▼鍗′俊鎭负:{}", flowCardInfoList);
-                if(CollectionUtil.isNotEmpty(flowCardInfoList)){
+                if (CollectionUtil.isNotEmpty(flowCardInfoList)) {
                     hollowAllFlowCardVO.setFlowCardGlassInfoDTOList(flowCardInfoList);
                     pairTotalCount.addAndGet(flowCardInfoList.get(0).getPairCount());
                 }
                 resultList.add(hollowAllFlowCardVO);
             }
         });
+        Date endDate = new Date();
+        log.info("瀹㈡埛淇℃伅鏁版嵁宸叉煡璇㈠畬姣曪紝鑰楁椂:{}ms锛屾�昏鑰楁椂锛歿}ms", endDate.getTime() - middleDate.getTime(), endDate.getTime() - startDate.getTime());
         if (CollectionUtil.isEmpty(resultList)) {
             return new ArrayList<>();
         }
@@ -419,6 +426,19 @@
         return sysConfigService.queryConfigValue(sysKey);
     }
 
+    @Override
+    public Boolean hollowBigStorageGlassDamage(DamageRequest request) {
+        List<GlassInfo> glassInfos = glassInfoService.list(new LambdaQueryWrapper<GlassInfo>()
+                .eq(GlassInfo::getFlowCardId, request.getFlowCardId())
+                .eq(GlassInfo::getLayer, request.getLayer())
+                .eq(GlassInfo::getGlassType, request.getGlassType()));
+        for (GlassInfo glassInfo : glassInfos) {
+            //鎺扮墖鎶ョ牬鎹�
+            damageService.autoSubmitReport(glassInfo.getGlassId(), request.getLine(), request.getWorkingProcedure(), request.getRemark(), request.getState());
+        }
+        return Boolean.TRUE;
+    }
+
     private void sortFlowCardIdList(List<HollowAllFlowCardVO> list) {
         Pattern pattern = Pattern.compile("^NG(\\d+)([A-Za-z]+)(\\d+)$");
 

--
Gitblit v1.8.0