From 5f1edfec21b921ec885b40b0a86c7ffe4aa5a7de Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期一, 15 九月 2025 11:52:06 +0800 Subject: [PATCH] 齐套性检查排除已检查过且齐套的物料 --- src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java index d41417c..62f19b8 100644 --- a/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java +++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesProductionWorkOrderServiceImpl.java @@ -29,6 +29,7 @@ import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck; import org.jeecg.modules.mes.entity.MesProductionOrder; import org.jeecg.modules.mes.enums.ProductionOrderStatus; +import org.jeecg.modules.mes.service.IMesKittingCompletenessCheckService; import org.jeecg.modules.mes.service.IMesProductionOrderService; import org.jeecg.modules.mes.service.IMesProductionWorkOrderService; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; @@ -76,6 +77,8 @@ private ILswMaterialInventoryService lswMaterialInventoryService; @Autowired private ILineSideWarehouseService lineSideWarehouseService; + @Autowired + private IMesKittingCompletenessCheckService mesKittingCompletenessCheckService; @Override public List<MesProductionWorkOrder> schedule(MesProductionWorkScheduleRequest request) { @@ -237,11 +240,22 @@ .selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, lineSideWarehouse.getId(), null).stream() .collect(Collectors.toMap(LswMaterialInventoryVo::getMaterialNumber, v1 -> v1, (v1, v2) -> v1)); List<MesKittingCompletenessCheck> completenessCheckResultList = CollectionUtil.newArrayList(); + //鏌ヨ鏄惁鏈夐綈濂楁鏌ヨ褰曪紙宸查綈澶囩殑锛� + List<String> checkedMaterialNumberList = mesKittingCompletenessCheckService.list(new LambdaQueryWrapper<MesKittingCompletenessCheck>() + .eq(MesKittingCompletenessCheck::getWorkOrderId, workOrder.getId()) + .in(MesKittingCompletenessCheck::getMaterialNumber, bomMaterialNumberList) + .eq(MesKittingCompletenessCheck::getCheckFlag, CommonConstant.DEFAULT_1)) + .stream().map(MesKittingCompletenessCheck::getMaterialNumber).collect(Collectors.toList()); //鏍规嵁璁㈠崟BOM鏄庣粏鍒楀嚭榻愬妫�鏌ョ粨鏋� for (PmsProcessBillMaterialsDetail processBillMaterialsDetail : processBillMaterialsDetails) { - LswMaterialInventoryVo materialInventoryVo = lswMaterialInventoryMap.get(processBillMaterialsDetail.getMaterialNumber()); + String materialNumber = processBillMaterialsDetail.getMaterialNumber(); + if (checkedMaterialNumberList.contains(materialNumber)) { + //濡傛灉宸茬粡鍋氳繃榻愬鎬ф鏌ワ紝骞朵笖榻愬锛屽氨蹇界暐鎺� + continue; + } + LswMaterialInventoryVo materialInventoryVo = lswMaterialInventoryMap.get(materialNumber); MesKittingCompletenessCheck completenessCheckItem = new MesKittingCompletenessCheck() - .setMaterialNumber(processBillMaterialsDetail.getMaterialNumber()) + .setMaterialNumber(materialNumber) .setMaterialName(processBillMaterialsDetail.getMaterialName()) //闇�姹傛暟閲� = (bom鏄庣粏鐨勯渶姹傛暟閲� / bom璁㈠崟鐨勬暟閲�) * 鎺掍骇宸ュ崟璁″垝鐢熶骇鏁伴噺 .setRequiredQuantity(processBillMaterialsDetail.getUsageQuantity() @@ -288,4 +302,9 @@ .setCheckFlag(materialInventoryVo.getStockQuantity().compareTo(workOrder.getPlanQuantity()) > 0 ? CommonConstant.DEFAULT_1 : CommonConstant.DEFAULT_0); return Collections.singletonList(completenessCheck); } + + @Override + public IPage<MesProductionWorkOrder> queryWorkOrderByTransfer(Page<MesProductionWorkOrder> page) { + return this.getBaseMapper().queryWorkOrderByTransfer(page); + } } -- Gitblit v1.9.3