From e021ca7fe59647b483a8762f509cc708841cc9cf Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期二, 22 四月 2025 15:25:58 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/YiWuProject

---
 hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java
index 3a365aa..91fac5f 100644
--- a/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java
@@ -1,19 +1,26 @@
 package com.mes.hollow.service.impl;
 
+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.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
+import com.mes.common.config.ConstSysConfig;
 import com.mes.hollow.entity.HollowBigStorageCage;
 import com.mes.hollow.entity.HollowBigStorageCageDetails;
+import com.mes.hollow.entity.dto.FlowCardVirtualSlotDTO;
 import com.mes.hollow.entity.dto.HollowBigStorageAndDetailsDTO;
 import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO;
 import com.mes.hollow.mapper.HollowBigStorageCageMapper;
+import com.mes.hollow.mapper.HollowGlassRelationInfoMapper;
+import com.mes.hollow.service.HollowBigStorageCageDetailsService;
 import com.mes.hollow.service.HollowBigStorageCageService;
-import org.springframework.beans.factory.annotation.Value;
+import com.mes.sysconfig.service.SysConfigService;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -27,8 +34,16 @@
 @Service
 public class HollowBigStorageCageServiceImpl extends ServiceImpl<HollowBigStorageCageMapper, HollowBigStorageCage> implements HollowBigStorageCageService {
 
-    @Value("${mes.slotWidth}")
-    private Integer slotWidth;
+//    @Value("${mes.slotWidth}")
+//    private Integer slotWidth;
+
+    @Resource
+    private HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
+    @Resource
+    private HollowGlassRelationInfoMapper hollowGlassRelationInfoMapper;
+    @Resource
+    private SysConfigService sysConfigService;
+
     @Override
     public List<HollowBigStorageAndDetailsDTO> queryHollowBigStorageCageDetail(HollowBigStorageDetailsQueryVO query) {
         MPJLambdaWrapper<HollowBigStorageCage> wrapper = new MPJLambdaWrapper<>();
@@ -37,7 +52,7 @@
                         .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId())
                         .like(StringUtils.isNotBlank(query.getFlowCardId()), HollowBigStorageCageDetails::getFlowCardId, query.getFlowCardId())
                         .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING))
-                .eq(HollowBigStorageCage::getDeviceId, query.getDeviceId())
+//                .eq(HollowBigStorageCage::getDeviceId, query.getDeviceId())
                 .orderByAsc(HollowBigStorageCage::getDeviceId)
                 .orderByAsc(HollowBigStorageCage::getSlot);
         return baseMapper.selectJoinList(HollowBigStorageAndDetailsDTO.class, wrapper);
@@ -56,10 +71,30 @@
 
     @Override
     public List<Map<String, Object>> selectBigStorageCageUsage() {
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
         QueryWrapper<HollowBigStorageCage> wrapper = new QueryWrapper<>();
         wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) / COUNT(device_id), 2)*100 AS percentage,SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) AS count")
                 .groupBy("device_id");
         return baseMapper.selectMaps(wrapper);
     }
+
+    @Override
+    public Boolean resetCage() {
+//        澶嶄綅锛氶噸缃悊鐗囩鍩虹淇℃伅1銆佹竻闄ょ鍐呯姸鎬佷负0鐨勮剰鏁版嵁;
+        hollowBigStorageCageDetailsService.remove(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
+                .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_NEW));
+//        2灏嗙┖鏍煎瓙鐨勫昂瀵哥疆涓哄垵濮嬪昂瀵�
+        Integer slotWidth = sysConfigService.queryConfigValue(ConstSysConfig.HOLLOW_SLOT_WIDTH);
+        this.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
+                .set(HollowBigStorageCage::getRemainWidth, slotWidth)
+                .notInSql(HollowBigStorageCage::getSlot, "select distinct slot from hollow_big_storage_cage_details where state in( 100 , 102 , 103 ,104)"));
+//        3銆佸皢涓嶅湪绗煎唴鐨勬祦绋嬪崱鐨勫叧绯昏〃閲嶇疆
+//        浠呰幏鍙栫悊鐗囩鍐呯殑娴佺▼鍗′俊鎭伩鍏嶇幓鐠�
+        List<FlowCardVirtualSlotDTO> list = hollowBigStorageCageDetailsService.queryFlowCardIdsAndLayer();
+        for (FlowCardVirtualSlotDTO item : list) {
+            hollowGlassRelationInfoMapper.clearDirtyFlowCardData(item.getFlowCardId(), item.getLayer());
+        }
+        return Boolean.TRUE;
+    }
 }
 

--
Gitblit v1.8.0