| | |
| | | private final ProductionOrderRoutingMapper productionOrderRoutingMapper; |
| | | private final ProductionOrderBomMapper productionOrderBomMapper; |
| | | private final ProductionBomStructureMapper productionBomStructureMapper; |
| | | private final TechnologyRoutingOperationMapper technologyRoutingOperationMapper; |
| | | |
| | | @Override |
| | | public R addRouteItem(ProductionOrderRoutingOperation productionOrderRoutingOperation) { |
| | |
| | | Map<String, BigDecimal> operationDemandedQuantityMap = |
| | | TaskPlanQuantityUtil.buildOperationDemandedQuantityMap(orderBomStructureList, rootProductModelId); |
| | | |
| | | // 获取工艺路线工序(用于计算计划数量) |
| | | TechnologyRoutingOperation sourceOperation = technologyRoutingOperationMapper.selectById( |
| | | updatedOperation.getTechnologyRoutingOperationId()); |
| | | // 将原来的私有方法替换为调用工具类 |
| | | // 按订单工艺路线快照的产出规格读取对应 BOM 需求量。 |
| | | BigDecimal planQuantity = TaskPlanQuantityUtil.resolveTaskPlanQuantity( |
| | | sourceOperation, |
| | | updatedOperation, |
| | | operationDemandedQuantityMap, |
| | | productionOrder, |
| | | productionOrder.getQuantity(), |
| | | rootProductModelId); |
| | | task.setPlanQuantity(planQuantity); |
| | | task.setCompleteQuantity(BigDecimal.ZERO); |