From eaf25c57276ebaf28141418199c92e9502884ccf Mon Sep 17 00:00:00 2001
From: zhoushihao <zsh19950802@163.com>
Date: 星期日, 09 三月 2025 23:51:28 +0800
Subject: [PATCH] 1、原片仓储新增任务完成/任务失败接口供用户异常情况恢复处理 2、原片仓储新增历史任务查询按钮 3、卧式理片新增任务完成/任务失败接口供用户异常情况恢复处理 4、大理片笼临时修改:10mm及以上厚度的玻璃走直通任务,厚度可按照实际情况进行配置 5、fixbug:中空理片笼10mm厚度玻璃进入理片笼小格子异常问题查询,同一个流程卡同一层出现2种厚度,导致厚度赋值异常,目前已改为查询最后一次导入的为准

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowGlassRelationInfoServiceImpl.java |   33 ++++++++++++++++++++++++++++++---
 1 files changed, 30 insertions(+), 3 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 89e1602..ba08ba6 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
@@ -10,6 +10,7 @@
 import com.mes.glassinfo.service.GlassInfoService;
 import com.mes.hollow.entity.HollowBigStorageCage;
 import com.mes.hollow.entity.HollowBigStorageCageDetails;
+import com.mes.hollow.entity.HollowGlassOutRelationInfo;
 import com.mes.hollow.entity.HollowGlassRelationInfo;
 import com.mes.hollow.entity.dto.FlowCardGlassInfoDTO;
 import com.mes.hollow.entity.dto.HollowBigStorageDTO;
@@ -19,6 +20,7 @@
 import com.mes.hollow.mapper.HollowGlassRelationInfoMapper;
 import com.mes.hollow.service.HollowBigStorageCageDetailsService;
 import com.mes.hollow.service.HollowBigStorageCageService;
+import com.mes.hollow.service.HollowGlassOutRelationInfoService;
 import com.mes.hollow.service.HollowGlassRelationInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
@@ -49,6 +51,8 @@
     @Resource
     HollowGlassRelationInfoService hollowGlassRelationInfoService;
     @Resource
+    HollowGlassOutRelationInfoService hollowGlassOutRelationInfoService;
+    @Resource
     HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
     @Value("${mes.slotWidth}")
     private Integer slotWidth;
@@ -72,9 +76,18 @@
                 .last("limit 1")
         );
         if (relationInfoOne == null) {
+            //鏌ョ湅mes鏄惁鏈夊搴旂殑娴佺▼鍗′俊鎭�
+            int count = hollowGlassRelationInfoService.count(new LambdaQueryWrapper<HollowGlassRelationInfo>()
+                    .eq(HollowGlassRelationInfo::getFlowCardId, flowCardId)
+                    .eq(HollowGlassRelationInfo::getLayer, layer));
+            if (count == 0) {
+                generateHollowGlassInfo(flowCardId, totalLayer, layer);
+            } else {
+                //姣旇緝鍏崇郴琛ㄥ強涓┖鐞嗙墖绗艰鎯呰〃鐨勬祦绋嬪崱鏁版嵁锛屽鐞嗚剰鏁版嵁锛氬皢涓嶅湪绗煎唴鐨勬祦绋嬪崱鍖归厤鏁版嵁鑱屼綅绌�
+                this.baseMapper.clearDirtyFlowCardData(flowCardId, layer);
+            }
             //鐞嗙墖绗煎叧绯昏〃涓病鏈夊搴旂殑鏁版嵁锛屾煡鐪嬬悊鐗囩铏氭嫙浣嶇疆琛ㄦ槸鍚︽湁鏈伐绋嬩笅鐨勬墍鏈夌幓鐠冭櫄鎷熶俊鎭�
             //铏氭嫙浣嶇疆琛ㄦ病鏈夋湰宸ョ▼涓嬬殑鎵�鏈夌幓鐠冭櫄鎷熶俊鎭紝鎸夌収鐜荤拑id鐢熸垚鏈伐绋嬩笅鎵�鏈夌幓鐠冪殑铏氭嫙淇℃伅
-            generateHollowGlassInfo(flowCardId, totalLayer, layer);
             relationInfoOne = this.getOne(new LambdaQueryWrapper<HollowGlassRelationInfo>()
                     .eq(HollowGlassRelationInfo::getFlowCardId, flowCardId)
                     .eq(HollowGlassRelationInfo::getWidth, width)
@@ -87,13 +100,27 @@
             );
         }
         //璇︽儏琛ㄥ唴鑾峰彇鏈粍鏄惁宸茬粡鏈夌幓鐠冨湪绗煎瓙鍐咃紙0琛ㄧず鎻愬墠鍗犵敤锛�
+        int taskCount = hollowGlassOutRelationInfoService.count(new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
+                .eq(HollowGlassOutRelationInfo::getFlowCardId, flowCardId));
+        HollowBigStorageCage storageCage = null;
+        //濡傛灉涓嶅瓨鍦ㄥ垯閫夋嫨绗煎唴鏈敤鐨勬柊鏍煎瓙
+        if (taskCount > 0) {
+            storageCage = hollowBigStorageCageService.getOne(new LambdaQueryWrapper<HollowBigStorageCage>()
+                    .eq(HollowBigStorageCage::getEnableState, Const.SLOT_ON).eq(HollowBigStorageCage::getRemainWidth, slotWidth)
+                    .le(HollowBigStorageCage::getMinThickness, relationInfoOne.getThickness())
+                    .ge(HollowBigStorageCage::getMaxThickness, relationInfoOne.getThickness())
+                    .orderByAsc(HollowBigStorageCage::getMaxThickness).last("limit 1"));
+            HollowBigStorageDTO storageDTO = new HollowBigStorageDTO();
+            BeanUtils.copyProperties(storageCage, storageDTO);
+            BeanUtils.copyProperties(relationInfoOne, storageDTO);
+            return storageDTO;
+        }       //璇︽儏琛ㄥ唴鑾峰彇鏈粍鏄惁宸茬粡鏈夌幓鐠冨湪绗煎瓙鍐咃紙0琛ㄧず鎻愬墠鍗犵敤锛�
         List<HollowBigStorageCageDetails> hollowDetailsList = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                 .eq(HollowBigStorageCageDetails::getFlowCardId, relationInfoOne.getFlowCardId())
                 .eq(HollowBigStorageCageDetails::getTotalLayer, totalLayer)
                 .eq(HollowBigStorageCageDetails::getLayer, layer)
                 .eq(HollowBigStorageCageDetails::getVirtualSlot, relationInfoOne.getVirtualSlot())
                 .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO));
-        HollowBigStorageCage storageCage = null;
         //濡傛灉涓嶅瓨鍦ㄥ垯閫夋嫨绗煎唴鏈敤鐨勬柊鏍煎瓙
         if (CollectionUtil.isEmpty(hollowDetailsList)) {
             storageCage = hollowBigStorageCageService.getOne(new LambdaQueryWrapper<HollowBigStorageCage>()
@@ -165,7 +192,7 @@
     public void generateHollowGlassInfo(String flowCardId, int totalLayer, int layer) {
 
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getFlowCardId, flowCardId)
-                .eq(GlassInfo::getLayer, layer).last("limit 1"));
+                .eq(GlassInfo::getLayer, layer).orderByDesc(GlassInfo::getId).last("limit 1"));
         if (null == glassInfo) {
             log.info("褰撳墠娴佺▼鍗′俊鎭负瀵煎叆mes绯荤粺娴佺▼鍗★細{}锛屽眰鏁皗}", flowCardId, layer);
             return;

--
Gitblit v1.8.0