| | |
| | | List<String> bomMaterialNumberList = processBillMaterialsDetails.stream() |
| | | .map(PmsProcessBillMaterialsDetail::getMaterialNumber).collect(Collectors.toList()); |
| | | Map<String, LswMaterialInventoryVo> lswMaterialInventoryMap = lswMaterialInventoryService |
| | | .selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, lineSideWarehouse.getId()).stream() |
| | | .selectLineSideMaterialInventoryByMaterialNumber(bomMaterialNumberList, lineSideWarehouse.getId(), null).stream() |
| | | .collect(Collectors.toMap(LswMaterialInventoryVo::getMaterialNumber, v1 -> v1, (v1, v2) -> v1)); |
| | | List<MesKittingCompletenessCheck> completenessCheckResultList = CollectionUtil.newArrayList(); |
| | | //根据订单BOM明细列出齐套检查结果 |
| | |
| | | }); |
| | | return completenessCheckResultList; |
| | | } |
| | | |
| | | @Override |
| | | public List<MesKittingCompletenessCheck> workOrderCompletenessCheckOnHeatTreatment(MesProductionWorkOrder workOrder) { |
| | | //查询工单所属产线对应的线边仓 |
| | | LineSideWarehouse lineSideWarehouse = lineSideWarehouseService.list(new LambdaQueryWrapper<LineSideWarehouse>() |
| | | .eq(LineSideWarehouse::getFactoryId, workOrder.getFactoryId()) |
| | | .eq(LineSideWarehouse::getDelFlag, CommonConstant.DEL_FLAG_0) |
| | | .eq(LineSideWarehouse::getWarehouseStatus, CommonConstant.DEFAULT_1)) |
| | | .stream().findFirst().orElse(null); |
| | | if (lineSideWarehouse == null) { |
| | | throw new JeecgBootException("该产线未配置线边仓!"); |
| | | } |
| | | //查询工单热处理物料对应毛坯在线边仓的库存 |
| | | LswMaterialInventoryVo materialInventoryVo = lswMaterialInventoryService.selectLineSideMaterialInventoryByMaterialNumber(Collections |
| | | .singletonList(workOrder.getMaterialNumber()), lineSideWarehouse.getId(), CommonConstant.DEFAULT_0) |
| | | .stream().findFirst().orElse(null); |
| | | if (materialInventoryVo == null) { |
| | | throw new JeecgBootException("线边库物料不存在!"); |
| | | } |
| | | MesKittingCompletenessCheck completenessCheck = new MesKittingCompletenessCheck() |
| | | .setMaterialNumber(materialInventoryVo.getMaterialNumber()) |
| | | .setMaterialName(materialInventoryVo.getMaterialName()) |
| | | .setRequiredQuantity(workOrder.getPlanQuantity()) |
| | | .setActualQuantity(materialInventoryVo.getStockQuantity()) |
| | | .setProductionUnit("PC") |
| | | .setCheckFlag(materialInventoryVo.getStockQuantity().compareTo(workOrder.getPlanQuantity()) > 0 ? CommonConstant.DEFAULT_1 : CommonConstant.DEFAULT_0); |
| | | return Collections.singletonList(completenessCheck); |
| | | } |
| | | } |