From bb3cfeae80cbc5a6c26292d0eb23f1754d039db9 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期六, 03 八月 2024 11:26:09 +0800 Subject: [PATCH] 1、大理片笼笼进片逻辑调整 2、钢化版图按照版序出 --- hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 99 +++++++++++++++++++++++++------------------------ 1 files changed, 51 insertions(+), 48 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 a059092..c77392e 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 @@ -27,7 +27,6 @@ import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.mapper.GlassInfoMapper; import com.mes.glassinfo.service.GlassInfoService; -import com.mes.job.PlcStorageCageTask; import com.mes.temperingglass.entity.TemperingGlassInfo; import com.mes.temperingglass.mapper.TemperingGlassInfoMapper; import com.mes.temperingglass.service.TemperingGlassInfoService; @@ -73,9 +72,6 @@ private TemperingGlassInfoService temperingGlassInfoService; @Resource - private PlcStorageCageTask plcStorageCageTask; - - @Resource private DamageService damageService; @Resource private RedisUtil redisUtil; @@ -94,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); @@ -107,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; + } /** @@ -272,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_NEW, Const.GLASS_STATE_IN_ALL) + .eq(BigStorageCageDetails::getEngineerId, glassInfo.getEngineerId()) .eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId()) .gt(BigStorageCage::getRemainWidth, Math.max(glassInfo.getWidth(), glassInfo.getHeight())) .last("limit 1"); @@ -283,7 +280,7 @@ } BigStorageCage bigStorageCage = bigStorageCageService.selectJoinOne(BigStorageCage.class, wrapper); if (null != bigStorageCage) { - log.info("鏃犻挗鍖栫増鍥緄d鎴栨牴鎹綋鍓嶇幓鐠冪墖搴�+1鎵惧埌鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); + log.info("鏃犻挗鍖栫増鍥緄d鎴栨牴鎹綋鍓嶇幓鐠冪墖搴�+1鎵惧埌鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); bigStorageDTO = new BigStorageDTO(); bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); bigStorageDTO.setSlot(bigStorageCage.getSlot()); @@ -293,12 +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()); + log.info("鏍规嵁鐗堝浘id鎵惧埌绗煎瓙鍐呯殑鐩爣鏍煎瓙锛歿},鐜荤拑id锛歿}", bigStorageCage.getSlot(), glassInfo.getGlassId()); bigStorageDTO = new BigStorageDTO(); bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); bigStorageDTO.setSlot(bigStorageCage.getSlot()); @@ -310,29 +307,33 @@ 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) + .inSql(BigStorageCage::getDeviceId, + "select t.device_id from big_storage_cage t left join big_storage_cage_details t1 on t.slot = t1.slot " + + " where state in (0,100,102,103,104) and t.max_thickness >= " + glassInfo.getThickness() + " and t.enable_state = 1 " + + " group by t.device_id " + + " order by count(DISTINCT t1.tempering_layout_id), count(distinct t1.slot)") .last("limit 1")); if (null != bigStorageCage) { - log.info("鐗堝浘id棣栨杩涚涓斾笉鏄墍鏈夌瀛愰兘鏈夌増鍥緄d锛岀増鍥剧増鍥緄d:{},鏍煎瓙锛歿},鐜荤拑id锛歿}", glassInfo.getTemperingLayoutId() , bigStorageCage.getSlot(), glassInfo.getGlassId()); + 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) + .inSql(BigStorageCage::getDeviceId, + "select t.device_id from big_storage_cage t left join big_storage_cage_details t1 on t.slot = t1.slot " + + " where state in (0,100,102,103,104) and t.max_thickness >= " + glassInfo.getThickness() + " and t.enable_state = 1 " + + " group by t.device_id " + + " order by count(DISTINCT t1.tempering_layout_id), count(distinct t.slot) - count(distinct t1.slot) desc") .last("limit 1")); Assert.isTrue(null != bigStorageCage, "娌℃湁绌轰綑鐨勭瀛愬瓨鏀剧幓鐠�"); - log.info("鐗堝浘id棣栨杩涚涓旀槸鎵�鏈夌瀛愰兘鏈夌増鍥緄d锛岀増鍥剧増鍥緄d:{},鏍煎瓙锛歿},鐜荤拑id锛歿}", glassInfo.getTemperingLayoutId() , bigStorageCage.getSlot(), glassInfo.getGlassId()); + log.info("鎸夌収瀛樼鐜荤拑鏍煎瓙鏁板墿浣欐渶澶氬緱鏂瑰紡鑾峰彇淇℃伅鐗堝浘id:{},鏍煎瓙锛歿},鐜荤拑id锛歿}", glassInfo.getTemperingLayoutId(), bigStorageCage.getSlot(), glassInfo.getGlassId()); bigStorageDTO = new BigStorageDTO(); bigStorageDTO.setWidth(bigStorageCage.getRemainWidth()); bigStorageDTO.setSlot(bigStorageCage.getSlot()); @@ -387,7 +388,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