From 40bfddca7ce650a636b016e8690db9623649b200 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期四, 25 七月 2024 14:30:42 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 67 +++++++++++++++++---------------- 1 files changed, 34 insertions(+), 33 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..841570f 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 @@ -303,6 +303,8 @@ workList.addAll(Const.G06_WORK_STATION); } } + List<Integer> workStationAll = Arrays.asList(1, 2, 3, 4, 5, 6); + List<Integer> offWorkStationList = workStationAll.stream().filter(e -> !workList.contains(e)).collect(Collectors.toList()); List<DownStorageCageDetails> list = new ArrayList(); Boolean isEmptyShelf = Boolean.FALSE; //瀵圭鍐呯幓鐠冭繘琛岃繃婊わ紝浠呭嚭绗﹀悎閫昏緫鐨勭幓鐠� @@ -329,8 +331,7 @@ } else { log.info("瀛樺湪鏈粦瀹氭祦绋嬪崱鏋跺瓙锛岀洿鎺ヨ幏鍙栫鍐呮墍鏈夌幓鐠�,涓旀湭缁戝畾鏋跺瓙鐨勭幓鐠冧俊鎭�"); //鑾峰彇绂佺敤鏋跺瓙鐨勬祦绋嬪彿锛屽皢绗煎唴缁戝畾鏋跺瓙涓旀灦瀛愯绂佺敤鐨勬祦绋嬪崱淇℃伅 - List<Integer> workStationAll = Arrays.asList(1, 2, 3, 4, 5, 6); - List<Integer> offWorkStationList = workStationAll.stream().filter(e -> !workList.contains(e)).collect(Collectors.toList()); + List<DownWorkstation> downWorkstationOffList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>() .and(i -> i.in(DownWorkstation::getWorkstationId, offWorkStationList).or().eq(DownWorkstation::getEnableState, Const.SLOT_OFF))); //鑾峰彇琚鐢ㄧ殑娴佺▼鍗′俊鎭� @@ -369,13 +370,14 @@ } } loop: - if (tempGlassId == null) { + if (StringUtils.isBlank(tempGlassId)) { //鑾峰彇姝e湪钀芥灦鐨勭粦瀹氭祦绋嬪崱鐨勪俊鎭�(娴佺▼鍗°�佸眰鏁般�佽惤鏋舵暟閲�) List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE); 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, offWorkStationList); + isBind = Boolean.TRUE; break loop; } @@ -388,7 +390,7 @@ // .isNull(DownWorkstation::getFlowCardId)); if (isEmptyShelf) { //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃� 鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖 - tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId); + tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId, offWorkStationList); isBind = Boolean.TRUE; break loop; } @@ -436,7 +438,7 @@ Map<String, List<DownStorageCageDetails>> singleLayerMap = list.stream().filter(item -> item.getTotalLayer() == 1) .collect(Collectors.groupingBy(item -> item.getFlowCardId() + item.getLayer(), Collectors.toList())); - if (tempGlassId == null) { + if (StringUtils.isBlank(tempGlassId)) { if (CollectionUtils.isNotEmpty(singleLayerMap)) { //鑾峰彇宸茶惤鏋舵祦绋嬪崱淇℃伅锛屾寜钀芥灦鏁伴噺鎺掑簭 for (DownGlassInfoDTO e : downGlassInfoDTOList) { @@ -450,49 +452,29 @@ } } } - if (tempGlassId == null) { + if (StringUtils.isBlank(tempGlassId)) { log.info("娌℃湁鎵惧埌鍙互涓嬬墖鐨勭殑鐜荤拑锛岀粨鏉熶换鍔�"); 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 +484,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