From 3c7d672fb7d6c34742fb7da6f66616ccf3be2c9a Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期五, 08 十一月 2024 14:50:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 37 +++++++++++++++++++++++++++++++------ 1 files changed, 31 insertions(+), 6 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java index 3d83139..e142d14 100644 --- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java +++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java @@ -2,7 +2,6 @@ import cn.hutool.core.lang.Assert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.toolkit.JoinWrappers; @@ -21,7 +20,6 @@ import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper; import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper; import com.mes.common.config.Const; -import com.mes.common.utils.RedisUtil; import com.mes.damage.entity.Damage; import com.mes.damage.service.DamageService; import com.mes.glassinfo.entity.GlassInfo; @@ -31,13 +29,17 @@ import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.service.TemperingGlassInfoService; +import com.mes.utils.RedisUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -310,6 +312,29 @@ //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness()); + List<Integer> deviceUseds = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness()); + List<BigStorageCageDetails> engineerCount1 = baseMapper.selectList( + new LambdaQueryWrapper<BigStorageCageDetails>() + .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT,Const.GLASS_STATE_DAMAGE,Const.GLASS_STATE_TAKE) + .select(BigStorageCageDetails::getEngineerId) + .groupBy(BigStorageCageDetails::getEngineerId) + .between(BigStorageCageDetails::getDeviceId, 1, 5) + ); + List<BigStorageCageDetails> engineerCount2 = baseMapper.selectList( + new LambdaQueryWrapper<BigStorageCageDetails>() + .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT,Const.GLASS_STATE_DAMAGE,Const.GLASS_STATE_TAKE) + .select(BigStorageCageDetails::getEngineerId) + .groupBy(BigStorageCageDetails::getEngineerId) + .between(BigStorageCageDetails::getDeviceId, 6, 8) + ); + if (engineerCount1.size() > engineerCount2.size()) { + deviceUsedList.removeIf(device -> device < 6); + } else { + deviceUsedList.removeIf(device -> device > 5); + } + if (CollectionUtils.isEmpty(deviceUsedList)) { + deviceUsedList = deviceUseds; + } for (Integer item : deviceUsedList) { bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() .eq(BigStorageCage::getRemainWidth, slotWidth) @@ -381,17 +406,17 @@ .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN) .orderBy(Boolean.TRUE, sequenceOrder, GlassInfo::getTemperingFeedSequence)); if (CollectionUtils.isNotEmpty(temperingGlassInfos)) { - if ("0".equals(temperingFeedSequence)){ + if ("0".equals(temperingFeedSequence)) { if (CollectionUtils.isNotEmpty(temperingGlassInfos)) { plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfos, Boolean.FALSE, ""); } - }else{ + } else { temperingGlassInfoService.saveBatch(temperingGlassInfos); } return true; } } - return false; + return false; } -- Gitblit v1.8.0