2026-04-16 a383e7dbc619cdb468979d4863349c43550a9af2
src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -3,9 +3,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.production.dto.BomImportDto;
import com.ruoyi.production.dto.ProductBomDto;
import com.ruoyi.production.pojo.ProcessRoute;
import com.ruoyi.production.pojo.ProductBom;
@@ -19,6 +21,7 @@
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -98,8 +101,18 @@
        return AjaxResult.success(productBoms);
    }
    @PostMapping("/getByModelList")
    @Log(title = "BOM-根据选择的规格型号ids查询存在的bom", businessType = BusinessType.OTHER)
    @ApiOperation("BOM-根据选择的规格型号id查询存在的bom")
    public AjaxResult getByModelList(@RequestBody List<Long> productModelId) {
        if (CollectionUtils.isEmpty(productModelId)) return AjaxResult.error("请选择要查询的规格型号");
        List<ProductBom> productBoms = productBomService.list(Wrappers.<ProductBom>lambdaQuery().in(ProductBom::getProductModelId, productModelId));
        return AjaxResult.success(productBoms);
    }
    @PostMapping("uploadBom")
    @PreAuthorize("@ss.hasPermi('product:bom:import')")
    @Log(title = "根据Excel导入BOM", businessType = BusinessType.IMPORT)
    @ApiOperation("根据Excel导入BOM")
    public AjaxResult uploadBom(@RequestParam("file") MultipartFile file) {
@@ -107,9 +120,18 @@
    }
    @PostMapping("exportBom")
    @Log(title = "导出BOM文件", businessType = BusinessType.EXPORT)
    @PreAuthorize("@ss.hasPermi('product:bom:export')")
    @ApiOperation("导出BOM文件")
    @Log(title = "导出BOM文件", businessType = BusinessType.EXPORT)
    public void exportBom(HttpServletResponse response, @RequestParam Integer bomId) {
        productBomService.exportBom(response, bomId);
    }
    @GetMapping("/downloadTemplate")
    @Log(title = "下载BOM导入模板", businessType = BusinessType.EXPORT)
    @ApiOperation("下载BOM导入模板")
    public void importTemplate(HttpServletResponse response) {
        ExcelUtil<BomImportDto> excelUtil = new ExcelUtil<>(BomImportDto.class);
        excelUtil.importTemplateExcel(response, "BOM导入模板");
    }
}