From 5de29342a9ec4ac6621fca5af803219a8ac0ce42 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期一, 05 八月 2024 13:46:32 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 132 ++++++++++++++++++++++++------------------- 1 files changed, 73 insertions(+), 59 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 a1f0079..7138c20 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 @@ -30,6 +30,7 @@ import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.service.TemperingGlassInfoService; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @@ -49,6 +50,7 @@ * @author zhoush * @since 2024-03-27 */ +@Slf4j @Service public class BigStorageCageDetailsServiceImpl extends MPJBaseServiceImpl<BigStorageCageDetailsMapper, BigStorageCageDetails> implements BigStorageCageDetailsService { @@ -88,7 +90,7 @@ @Override - public List<BigStorageCageDetails> selectFeedTask(){ + public List<BigStorageCageDetails> selectFeedTask() { //杩涚墖浠诲姟鏁版嵁 LambdaQueryWrapper<BigStorageCageDetails> feedWrapper = new LambdaQueryWrapper<>(); feedWrapper.eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW); @@ -101,38 +103,38 @@ List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper); Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream() .collect(Collectors.toMap(BigStorageCageFeedTask::getGlassId, task -> task)); - Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator(); - while (iterator.hasNext()) { - BigStorageCageDetails bigStorageCageDetails = iterator.next(); - BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId()); - bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask); - } - return bigStorageCageDetailsList; + Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator(); + while (iterator.hasNext()) { + BigStorageCageDetails bigStorageCageDetails = iterator.next(); + BigStorageCageFeedTask bigStorageCageFeedTask = listMap.get(bigStorageCageDetails.getGlassId()); + bigStorageCageDetails.setBigStorageCageFeedTask(bigStorageCageFeedTask); + } + return bigStorageCageDetailsList; } @Override - public List<BigStorageCageDetails> selectOutTask(){ - LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>(); - outWrapper.in(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING,Const.GLASS_STATE_SCHEDULE_ING); - List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper); - LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>(); - outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS); - List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper); + public List<BigStorageCageDetails> selectOutTask() { + LambdaQueryWrapper<BigStorageCageDetails> outWrapper = new LambdaQueryWrapper<>(); + outWrapper.in(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING, Const.GLASS_STATE_SCHEDULE_ING); + List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(outWrapper); + LambdaQueryWrapper<BigStorageCageOutTask> outTaskWrapper = new LambdaQueryWrapper<>(); + outTaskWrapper.lt(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_SUCCESS); + List<BigStorageCageOutTask> bigStorageCageOutTaskList = bigStorageCageOutTaskMapper.selectList(outTaskWrapper); - Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream() - .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task)); - for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { - BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); - bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); - } - Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator(); - while (iterator.hasNext()) { - BigStorageCageDetails bigStorageCageDetails = iterator.next(); - BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); - bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); - } - return bigStorageCageDetailsList; + Map<String, BigStorageCageOutTask> listMap = bigStorageCageOutTaskList.stream() + .collect(Collectors.toMap(BigStorageCageOutTask::getGlassId, task -> task)); + for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList) { + BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); + bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); } + Iterator<BigStorageCageDetails> iterator = bigStorageCageDetailsList.iterator(); + while (iterator.hasNext()) { + BigStorageCageDetails bigStorageCageDetails = iterator.next(); + BigStorageCageOutTask bigStorageCageOutTask = listMap.get(bigStorageCageDetails.getGlassId()); + bigStorageCageDetails.setBigStorageCageOutTask(bigStorageCageOutTask); + } + return bigStorageCageDetailsList; + } /** @@ -266,7 +268,8 @@ .selectAll(BigStorageCage.class) .leftJoin(BigStorageCageDetails.class, BigStorageCageDetails::getSlot, BigStorageCage::getSlot) .eq(BigStorageCage::getEnableState, Const.SLOT_ON) - .eq(BigStorageCageDetails::getEngineerId,glassInfo.getEngineerId()) + .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL_ZERO) + .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId()) .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId()) .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())) .last("limit 1"); @@ -277,6 +280,7 @@ } BigStorageCage bigStorageCage = bigStorageCageService.selectJoinOne(BigStorageCage.class, wrapper); if (null != bigStorageCage) { + log.info("鏃犻挗鍖栫増鍥緄d鎴栨牴鎹綋鍓嶇幓鐠冪墖搴�+1鎵惧埌鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); bigStorageDTO = new BigStorageDTO(); bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); bigStorageDTO.setSlot(bigStorageCage.getSlot()); @@ -286,11 +290,12 @@ bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() .eq(BigStorageCage::getEnableState, Const.SLOT_ON) .eq(BigStorageCage::getRemainWidth, slotWidth) - .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0") +// .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0") .inSql(BigStorageCage::getDeviceId, - "select distinct device_id from big_storage_cage_details where engineer_id = "+glassInfo.getEngineerId()+" and tempering_layout_id = " + glassInfo.getTemperingLayoutId()) + "select distinct device_id from big_storage_cage_details where engineer_id = '" + glassInfo.getEngineerId() + "' and tempering_layout_id = " + glassInfo.getTemperingLayoutId()) .last("limit 1")); if (null != bigStorageCage) { + log.info("鏍规嵁鐗堝浘id鎵惧埌绗煎瓙鍐呯殑鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); bigStorageDTO = new BigStorageDTO(); bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); bigStorageDTO.setSlot(bigStorageCage.getSlot()); @@ -298,35 +303,42 @@ return bigStorageDTO; } - //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 - bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() - .eq(BigStorageCage::getRemainWidth, slotWidth) - .eq(BigStorageCage::getEnableState, Const.SLOT_ON) - .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0") - .notInSql(BigStorageCage::getDeviceId, - "select distinct device_id from big_storage_cage_details where state in (100,102,103)") - .ge(BigStorageCage::getMaxThickness, glassInfo.getThickness()) - .orderByAsc(BigStorageCage::getDeviceId) - .last("limit 1")); - if (null != bigStorageCage) { - bigStorageDTO = new BigStorageDTO(); - bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); - bigStorageDTO.setSlot(bigStorageCage.getSlot()); - bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId()); - return bigStorageDTO; + //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ + List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness()); + for (Integer item : deviceUsedList) { + bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() + .eq(BigStorageCage::getRemainWidth, slotWidth) + .eq(BigStorageCage::getEnableState, Const.SLOT_ON) + .eq(BigStorageCage::getDeviceId, item) + .last("limit 1")); + if (null != bigStorageCage) { + log.info("鎸夌収瀛樼鐜荤拑鏍煎瓙鏁板崰鐢ㄦ渶灏戞柟寮忚幏鍙栦俊鎭牸瀛愪负锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); + bigStorageDTO = new BigStorageDTO(); + bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); + bigStorageDTO.setSlot(bigStorageCage.getSlot()); + bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId()); + return bigStorageDTO; + } } - bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() - .eq(BigStorageCage::getRemainWidth, slotWidth) - .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state = 0") - .eq(BigStorageCage::getEnableState, Const.SLOT_ON) - .ge(BigStorageCage::getMaxThickness, glassInfo.getThickness()) - .orderByAsc(BigStorageCage::getDeviceId) - .last("limit 1")); + + //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 + List<Integer> deviceNotUsedList = bigStorageCageService.queryFreeDeviceByNotUsed(glassInfo.getThickness()); + for (Integer item : deviceNotUsedList) { + bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() + .eq(BigStorageCage::getRemainWidth, slotWidth) + .eq(BigStorageCage::getEnableState, Const.SLOT_ON) + .eq(BigStorageCage::getDeviceId, item) + .last("limit 1")); + if (null != bigStorageCage) { + log.info("鎸夌収瀛樼鐜荤拑鏍煎瓙鏁板墿浣欐渶澶氬緱鏂瑰紡鑾峰彇淇℃伅鐗堝浘id:{},鏍煎瓙锛歿},鐜荤拑id锛歿}", glassInfo.getTemperingLayoutId(), bigStorageCage.getSlot(), glassInfo.getGlassId()); + bigStorageDTO = new BigStorageDTO(); + bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); + bigStorageDTO.setSlot(bigStorageCage.getSlot()); + bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId()); + return bigStorageDTO; + } + } Assert.isTrue(null != bigStorageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�"); - bigStorageDTO = new BigStorageDTO(); - bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); - bigStorageDTO.setSlot(bigStorageCage.getSlot()); - bigStorageDTO.setDeviceId(bigStorageCage.getDeviceId()); return bigStorageDTO; } @@ -377,7 +389,9 @@ QueryWrapper<BigStorageCageDetails> wrapper = new QueryWrapper<>(); wrapper.select("engineer_id,tempering_layout_id,count(*) as count") .in("state", Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL) - .groupBy("engineer_id,tempering_layout_id"); + .groupBy("engineer_id,tempering_layout_id") + .orderByAsc("engineer_id") + .orderByAsc("tempering_layout_id"); List<Map<String, Object>> TemperingGlass = baseMapper.selectMaps(wrapper); return TemperingGlass; } -- Gitblit v1.8.0