buhuazhen
2026-06-01 facbfd2b1a0eb1ea971b699def8c85a43c5fa7fa
src/main/java/com/ruoyi/production/service/impl/ProductionProductMainServiceImpl.java
@@ -115,7 +115,7 @@
        //工艺路线中当前工序对应的产出规格型号
        ProductModel productModel = productModelMapper.selectById(productProcessRouteItem.getProductModelId());
        //查询该生产订单对应的bom
        ProductProcessRoute productProcessRoute = productProcessRouteMapper.selectById(productProcessRouteItem.getProductRouteId());
        ProductProcessRoute productProcessRoute = Optional.ofNullable(productProcessRouteMapper.selectById(productProcessRouteItem.getProductRouteId())).orElse(new ProductProcessRoute());
        /*新增报工主表*/
        //查询最大报工编号
        String datePrefix = "BG" + LocalDate.now().format(DateTimeFormatter.ofPattern("yyMMdd"));
@@ -177,7 +177,7 @@
        productionProductMainMapper.insert(productionProductMain);
        /*新增报工投入表*/
        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(productProcessRoute.getBomId(), productProcess.getId());
        List<ProductStructureDto> productStructureDtos = productStructureMapper.listBybomAndProcess(Optional.ofNullable(productProcessRoute.getBomId()).orElse(0), productProcess.getId());
        if (productStructureDtos.isEmpty()) {
            //如果该工序没有产品结构的投入品,那这个投入品和产出品是同一个
            ProductStructureDto productStructureDto = new ProductStructureDto();
@@ -337,7 +337,7 @@
                //对应的过程检或者出厂检
                int inspectType = 1;
                String process = productProcess.getName();//工序
                if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
                if (productProcessRouteItem.getDragSort() == (productProcessRouteItems.size()-1)) {
                    //最后一道工序生成出厂检
                    inspectType = 2;
                    process = null;
@@ -371,7 +371,7 @@
                }
            } else {
                //直接入库
                if (productProcessRouteItem.getDragSort() == productProcessRouteItems.size()) {
                if (productProcessRouteItem.getDragSort() == (productProcessRouteItems.size()-1)) {
                    //最后一道工序才会入库
                    stockUtils.addStock(productProcessRouteItem.getProductModelId(), productQty, StockInQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_IN.getCode(), productionProductMain.getId(), "-", "-", "-");
                }