wangfei
2025-03-12 24c437477ced2c8e9c62c43f2428471daf890312
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java
@@ -1,19 +1,25 @@
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.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 org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -29,6 +35,12 @@
    @Value("${mes.slotWidth}")
    private Integer slotWidth;
    @Resource
    private HollowBigStorageCageDetailsService hollowBigStorageCageDetailsService;
    @Resource
    private HollowGlassRelationInfoMapper hollowGlassRelationInfoMapper;
    @Override
    public List<HollowBigStorageAndDetailsDTO> queryHollowBigStorageCageDetail(HollowBigStorageDetailsQueryVO query) {
        MPJLambdaWrapper<HollowBigStorageCage> wrapper = new MPJLambdaWrapper<>();
@@ -61,5 +73,23 @@
                .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将空格子的尺寸置为初始尺寸
        this.update(new LambdaUpdateWrapper<HollowBigStorageCage>()
                .set(HollowBigStorageCage::getRemainWidth, slotWidth)
                .notIn(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;
    }
}