yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/mps/MesProMpsServiceImpl.java
@@ -73,6 +73,8 @@
    @Resource
    private MesProWorkOrderService workOrderService;
    @Resource
    private cn.iocoder.yudao.module.mes.service.pro.cost.MesProWorkOrderCostService workOrderCostService;
    @Resource
    private MesMdItemService itemService;
    @Resource
    private MesMdAutoCodeRecordService autoCodeRecordService;
@@ -540,8 +542,9 @@
        }
        Long routeId = routeProduct.getRouteId();
        // 2. 校验工艺路线是否有工序
        List<MesProRouteProcessDO> routeProcesses = routeProcessService.getRouteProcessListByRouteId(routeId);
        // 2. 校验工艺路线是否有工序(按产品过滤其它产品的产出物料)
        List<MesProRouteProcessDO> routeProcesses = routeProcessService
                .getRouteProcessListByProductId(mps.getProductId());
        if (CollUtil.isEmpty(routeProcesses)) {
            throw exception(PRO_ROUTE_ENABLE_NO_PROCESS);
        }
@@ -581,6 +584,10 @@
                        .map(Long::valueOf).collect(Collectors.toList()));
            }
            process.setColorCode(rp.getColorCode());
            // 带入工艺路线产品配置的报工仓库
            process.setWarehouseId(routeProduct.getWarehouseId());
            process.setLocationId(routeProduct.getLocationId());
            process.setAreaId(routeProduct.getAreaId());
            // 带入工序投料BOM
            List<MesProRouteProductBomDO> routeBomItems = bomMap != null ? bomMap.get(rp.getProcessId()) : null;
            if (CollUtil.isNotEmpty(routeBomItems)) {
@@ -598,6 +605,9 @@
        }
        workOrderProcessService.batchSaveWorkOrderProcess(processList);
        // 5.1 工序投料 BOM 生成后重算标准物料成本(路线 BOM 与产品 BOM 可能存在差异)
        workOrderCostService.recalculateWorkOrderCost(workOrderId);
        // 6. 工单直接确认为已确认状态
        workOrderService.confirmWorkOrder(workOrderId);