From 9b3f76e38ea10241625cee9ea6e9fa69e792d38b Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 24 七月 2024 15:46:18 +0800 Subject: [PATCH] 下片任务:fixbug 解决被禁用情况下仍有玻璃走禁用的线路 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 55 +++++++++++++++++++++++++++---------------------------- 1 files changed, 27 insertions(+), 28 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java index 13d4b6e..88d6363 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java @@ -375,7 +375,7 @@ List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList()); if (CollectionUtils.isEmpty(downGlassFlowList)) { //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖 - tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId); + tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId, workList); isBind = Boolean.TRUE; break loop; } @@ -388,7 +388,7 @@ // .isNull(DownWorkstation::getFlowCardId)); if (isEmptyShelf) { //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖 - tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId); + tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId, workList); isBind = Boolean.TRUE; break loop; } @@ -455,44 +455,24 @@ return Boolean.FALSE; } else { //鎸夌収鍑虹墖鐨勭幓鐠僫d鏇存柊绗煎唴鐨勭幓鐠冪姸鎬佷负宸插嚭鐗� - return generateDownGlassOutTask(tempGlassId, Const.GLASS_CACHE_TYPE_OUT, isBind, cageDetails); + return generateDownGlassOutTask(tempGlassId, Const.GLASS_CACHE_TYPE_OUT, isBind, cageDetails, workList); } } public Boolean generateDownGlassOutTask(String glassId, Integer taskType, Boolean - isBind, DownStorageCageDetails cageDetails) { + isBind, DownStorageCageDetails cageDetails, List<Integer> workList) { //鎸夌幓鐠僫d鑾峰彇鐜荤拑淇℃伅 DownStorageCageDetails downStorageCageDetails = null; if (glassId.equals(cageDetails.getGlassId())) { downStorageCageDetails = cageDetails; taskType = 3; + //灏嗕笅鐗囩幓鐠冨瓨鍏ョ瀛愯鎯呬俊鎭〃涓� + //灏嗕换鍔℃彃鍏ョ悊鐗囩璇︽儏琛� + downStorageCageDetails.setState(Const.GLASS_STATE_OUT); + downStorageCageDetailsService.save(downStorageCageDetails); } else { downStorageCageDetails = downStorageCageDetailsService.getOne(new LambdaQueryWrapper<DownStorageCageDetails>() .eq(DownStorageCageDetails::getGlassId, glassId).eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)); - } - - Integer endCell = null; - if (isBind) { - //鑾峰彇绌烘灦瀛愪俊鎭紝灏嗙┖鏋跺瓙淇℃伅缁戝畾娴佺▼鍗� - DownWorkstation emptyDownWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>() - .isNull(DownWorkstation::getFlowCardId).orderByDesc(DownWorkstation::getWorkstationId).last("limit 1")); - if (null != emptyDownWorkstation) { - log.info("鑾峰彇鍒扮┖鏋跺瓙淇℃伅锛岀粦瀹氭祦绋嬪崱"); - downWorkstationService.updateFlowCardIdAndCount(downStorageCageDetails.getFlowCardId(), emptyDownWorkstation.getWorkstationId(), downStorageCageDetails.getLayer()); - endCell = emptyDownWorkstation.getWorkstationId(); - //灏嗕笅鐗囩幓鐠冨瓨鍏ョ瀛愯鎯呬俊鎭〃涓� - //灏嗕换鍔℃彃鍏ョ悊鐗囩璇︽儏琛� - downStorageCageDetails.setState(Const.GLASS_STATE_OUT); - downStorageCageDetailsService.save(downStorageCageDetails); - } else { - log.info("娌℃湁绌烘灦瀛愪俊鎭紝鏃犳硶缁戝畾娴佺▼鍗�"); - return Boolean.FALSE; - } - } else { - DownWorkstation workstation = downWorkstationService.getOne(new LambdaUpdateWrapper<DownWorkstation>() - .eq(DownWorkstation::getFlowCardId, downStorageCageDetails.getFlowCardId()).eq(DownWorkstation::getLayer, downStorageCageDetails.getLayer())); - endCell = workstation.getWorkstationId(); - if (downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>() .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT).eq(DownStorageCageDetails::getGlassId, glassId))) { log.info("鏇存柊璇︽儏琛ㄥ唴鐨勭姸鎬佹垚鍔�"); @@ -502,6 +482,25 @@ return Boolean.FALSE; } } + + Integer endCell = null; + if (isBind) { + //鑾峰彇绌烘灦瀛愪俊鎭紝灏嗙┖鏋跺瓙淇℃伅缁戝畾娴佺▼鍗� + DownWorkstation emptyDownWorkstation = downWorkstationService.getOne(new LambdaQueryWrapper<DownWorkstation>() + .isNull(DownWorkstation::getFlowCardId).in(DownWorkstation::getWorkstationId, workList).orderByDesc(DownWorkstation::getWorkstationId).last("limit 1")); + if (null != emptyDownWorkstation) { + log.info("鑾峰彇鍒扮┖鏋跺瓙淇℃伅锛岀粦瀹氭祦绋嬪崱"); + downWorkstationService.updateFlowCardIdAndCount(downStorageCageDetails.getFlowCardId(), emptyDownWorkstation.getWorkstationId(), downStorageCageDetails.getLayer()); + endCell = emptyDownWorkstation.getWorkstationId(); + } else { + log.info("娌℃湁绌烘灦瀛愪俊鎭紝鏃犳硶缁戝畾娴佺▼鍗�"); + return Boolean.FALSE; + } + } else { + DownWorkstation workstation = downWorkstationService.getOne(new LambdaUpdateWrapper<DownWorkstation>() + .eq(DownWorkstation::getFlowCardId, downStorageCageDetails.getFlowCardId()).eq(DownWorkstation::getLayer, downStorageCageDetails.getLayer())); + endCell = workstation.getWorkstationId(); + } //鏇存柊钀芥灦鐜荤拑鏁伴噺 if (endCell == 7) { downWorkstationService.update(new UpdateWrapper<DownWorkstation>().eq("flow_card_id", downStorageCageDetails.getFlowCardId()) -- Gitblit v1.8.0