ZengTao
2024-07-19 8f1ff8eefdaf6c9722541975abd2422772c9ebdd
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -2,6 +2,7 @@
import cn.hutool.core.lang.Assert;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.bigstorage.entity.BigStorageCage;
@@ -197,9 +198,9 @@
            temperingGlassInfoMapper.updateById(temperingGlassInfo);
        }
        if (status == 0) {
            bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE);
        } else {
            bigStorageCageDetails.setState(Const.GLASS_STATE_DAMAGE);
        } else {
            bigStorageCageDetails.setState(Const.GLASS_STATE_TAKE);
        }
        baseMapper.updateById(bigStorageCageDetails);
        bigStorageCageService.updateRemainWidth(bigStorageCageDetails.getSlot());
@@ -321,4 +322,47 @@
    public List<SlotSequenceDTO> queryGlassMaxAndMin(String engineerId, Integer temperingLayoutId) {
        return baseMapper.queryGlassMaxAndMin(engineerId, temperingLayoutId);
    }
    @Override
    public boolean TemperingGlass(String temperingLayoutId, String engineerId){
        LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoLambdaQueryWrapper=new LambdaQueryWrapper<>();
        temperingGlassInfoLambdaQueryWrapper
                .eq(TemperingGlassInfo::getTemperingLayoutId,temperingLayoutId)
                .eq(TemperingGlassInfo::getEngineerId,engineerId);
        List<TemperingGlassInfo> temperingGlassInfoList=temperingGlassInfoMapper.selectList(temperingGlassInfoLambdaQueryWrapper);
        if(temperingGlassInfoList.size()==0){
            LambdaQueryWrapper<BigStorageCageDetails> wrapper =new LambdaQueryWrapper<>();
            wrapper.eq(BigStorageCageDetails::getTemperingLayoutId,temperingLayoutId)
                    .eq(BigStorageCageDetails::getEngineerId,engineerId)
                    .in(BigStorageCageDetails::getState,Const.GLASS_STATE_IN,Const.GLASS_STATE_ARTIFICIAL,Const.GLASS_STATE_OUT_ING);
            List<BigStorageCageDetails> bigStorageCageDetailsList=baseMapper.selectList(wrapper);
            for (BigStorageCageDetails bigStorageCageDetails:bigStorageCageDetailsList
            ) {
                TemperingGlassInfo temperingGlassInfo=new TemperingGlassInfo();
                LambdaQueryWrapper<GlassInfo> glassInfoLambdaQueryWrapper=new LambdaQueryWrapper<>();
                glassInfoLambdaQueryWrapper.eq(GlassInfo::getGlassId,bigStorageCageDetails.getGlassId());
                GlassInfo glassInfo=glassInfoMapper.selectOne(glassInfoLambdaQueryWrapper);
                BeanUtils.copyProperties(glassInfo, temperingGlassInfo);
                temperingGlassInfo.setState(Const.TEMPERING_NEW);
                temperingGlassInfo.setSlot(bigStorageCageDetails.getSlot());
                temperingGlassInfoMapper.insert(temperingGlassInfo);
            }
            return true;
        }else{
            return false;
        }
    }
    @Override
    public List<Map<String, Object>> selectTemperingGlass(){
        QueryWrapper<BigStorageCageDetails> wrapper = new QueryWrapper<>();
        wrapper.select("engineer_id,tempering_layout_id,count(*) as count")
                .groupBy("engineer_id,tempering_layout_id");
        List<Map<String, Object>> TemperingGlass = baseMapper.selectMaps(wrapper);
        return TemperingGlass;
    }
}