From eae89f75a208938dba8787a73f68a8ae2e44e165 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期一, 23 十二月 2024 10:20:37 +0800 Subject: [PATCH] 1、指定钢化工程接口 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 83 ++++++++++++++++++++++++++++++++++------- 1 files changed, 69 insertions(+), 14 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 e142d14..f23a0a7 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 @@ -8,9 +8,8 @@ import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.mes.bigstorage.entity.BigStorageCage; import com.mes.bigstorage.entity.BigStorageCageDetails; -import com.mes.bigstorage.entity.BigStorageDTO; -import com.mes.bigstorage.entity.dto.SlotSequenceDTO; -import com.mes.bigstorage.entity.dto.TemperingLayoutDTO; +import com.mes.bigstorage.entity.dto.*; +import com.mes.bigstorage.entity.vo.BigStorageQueryVO; import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper; import com.mes.bigstorage.service.BigStorageCageDetailsService; import com.mes.bigstorage.service.BigStorageCageService; @@ -283,7 +282,7 @@ .eq(BigStorageCageDetails::getLayer, glassInfo.getLayer()); // wrapper.eq(BigStorageCageDetails::getWidth, glassInfo.getWidth()).eq(BigStorageCageDetails::getHeight, glassInfo.getHeight()); } else { - wrapper.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1); + wrapper.eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() - 1); } BigStorageCage bigStorageCage = bigStorageCageService.selectJoinOne(BigStorageCage.class, wrapper); if (null != bigStorageCage) { @@ -296,7 +295,7 @@ } bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() .eq(BigStorageCage::getEnableState, Const.SLOT_ON) - .eq(BigStorageCage::getRemainWidth, slotWidth) + .eq(BigStorageCage::getRemainWidth, slotWidth).orderByAsc(BigStorageCage::getSlot) // .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()) @@ -312,17 +311,17 @@ //鑾峰彇鐜荤拑鐨勫帤搴︼細閲嶆柊閫夌瀛愰渶瑕佹寜鐓х瀛愬彲鏀剧幓鐠冨帤搴﹁繘琛岄�夋嫨 鍥犱负瀛愭煡璇㈡帓搴忓涓籹ql鏃犲奖鍝嶏紝鎵�浠ュ厛鎵ц瀛愭煡璇㈣幏鍙栭『搴忥紝鐒跺悗涓�娆″幓鏌ヨ List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(glassInfo.getThickness()); - List<Integer> deviceUseds = 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) + .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) + .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) @@ -337,7 +336,7 @@ } for (Integer item : deviceUsedList) { bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>() - .eq(BigStorageCage::getRemainWidth, slotWidth) + .eq(BigStorageCage::getRemainWidth, slotWidth).orderByAsc(BigStorageCage::getSlot) .eq(BigStorageCage::getEnableState, Const.SLOT_ON) .eq(BigStorageCage::getDeviceId, item) .last("limit 1")); @@ -421,14 +420,24 @@ @Override - public List<Map<String, Object>> selectTemperingGlass() { - List<Map<String, Object>> temperingGlass = baseMapper.selectTemperingGlassCount(); - return temperingGlass; + public List<TemperingGlassCountDTO> selectTemperingGlass(int isTempering) { + return baseMapper.selectTemperingGlassCount(isTempering); } @Override public void updateBySlot(List<UpdateBigStorageCageDTO> glassList, int state) { baseMapper.updateBySlot(glassList, state); + } + + @Override + public String dispatchSwitch(Boolean flag) { + redisUtil.setCacheObject("dispatchSwitch", flag); + return "success"; + } + + @Override + public List<GlassInfoLackDTO> queryLackGlassInfo(BigStorageQueryVO bigStorageQueryVO) { + return baseMapper.queryLackGlassInfo(bigStorageQueryVO); } @Override @@ -438,7 +447,53 @@ } @Override - public void appointEngineerId(String engineerId) { - redisUtil.setCacheObject("temperingengineerId", engineerId); + public boolean appointTemperingEngineerId(String engineerId) { + LambdaQueryWrapper<TemperingGlassInfo> temperingGlassInfoLambdaQueryWrapper = new LambdaQueryWrapper<>(); + temperingGlassInfoLambdaQueryWrapper + .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW); + List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoMapper.selectList(temperingGlassInfoLambdaQueryWrapper); + + if (temperingGlassInfoList.size() == 0) { + List<TemperingGlassInfo> temperingGlassInfos = glassInfoService.selectJoinList(TemperingGlassInfo.class, JoinWrappers.lambda(GlassInfo.class) + .selectAll(GlassInfo.class) + .select("-1 as state") + .selectAs(BigStorageCageDetails::getSlot, TemperingGlassInfo::getSlot) + .innerJoin(BigStorageCageDetails.class, BigStorageCageDetails::getGlassId, GlassInfo::getGlassId) + .eq(GlassInfo::getEngineerId, engineerId) + .ne(GlassInfo::getTemperingLayoutId, 0) + .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN) + .orderByAsc(GlassInfo::getTemperingLayoutId) + .orderByAsc(GlassInfo::getTemperingFeedSequence) + ); + if (CollectionUtils.isNotEmpty(temperingGlassInfos)) { + temperingGlassInfoService.saveBatch(temperingGlassInfos); + return true; + } + } + return false; + } + + @Override + public List<BigStorageRelationDTO> queryIsAllNeedDispatchVirtualSlot() { + return baseMapper.queryIsAllNeedDispatchVirtualSlot(); + } + + @Override + public List<BigStorageSequenceDTO> dispatchBigStorageGlassInfo(BigStorageRelationDTO bigStorageRelationDTO) { + return baseMapper.queryNeedDispatchSlot(bigStorageRelationDTO); + } + + @Override + public String bigStorageGlassDamageByGlassId(String glassId) { + Damage damage = new Damage(); + damage.setGlassId(glassId); + damage.setType(Const.GLASS_STATE_DAMAGE); + damageService.insertDamage(damage); + return "success"; + } + + @Override + public void updateDeviceIdBySlot(List<Integer> slotList) { + baseMapper.updateDeviceIdBySlot(slotList); } } -- Gitblit v1.8.0