From 2ef419e88857b2b61477d8aa3dc7672781cbb1eb Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 26 一月 2026 14:22:36 +0800
Subject: [PATCH] feat: BOM导入模板下载接口
---
src/main/java/com/ruoyi/production/controller/ProductBomController.java | 46 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 38 insertions(+), 8 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductBomController.java b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
index 7279862..41f3220 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductBomController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -3,25 +3,27 @@
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.dto.ProductProcessDto;
-import com.ruoyi.production.pojo.ProcessRoute;
-import com.ruoyi.production.pojo.ProductBom;
-import com.ruoyi.production.pojo.ProductProcess;
-import com.ruoyi.production.pojo.ProductProcessRoute;
-import com.ruoyi.production.service.ProcessRouteService;
-import com.ruoyi.production.service.ProductBomService;
-import com.ruoyi.production.service.ProductProcessRouteService;
-import com.ruoyi.production.service.ProductProcessService;
+import com.ruoyi.production.pojo.*;
+import com.ruoyi.production.service.*;
+import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
+import org.apache.commons.compress.utils.IOUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import javax.servlet.http.HttpServletResponse;
+import java.io.InputStream;
+import java.net.URLEncoder;
import java.util.List;
/**
@@ -34,6 +36,7 @@
*/
@RestController
@RequestMapping("/productBom")
+@Api(tags = "BOM")
public class ProductBomController {
@Autowired
@@ -44,6 +47,9 @@
@Autowired
private ProductProcessRouteService productProcessRouteService;
+
+ @Autowired
+ private ProductStructureService productStructureService;
@GetMapping("/listPage")
@Log(title = "BOM-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -79,6 +85,8 @@
if(CollectionUtils.isEmpty(ids)){
return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
}
+ //鍒犻櫎bom瀛愯〃
+ productStructureService.remove(Wrappers.<ProductStructure>lambdaQuery().in(ProductStructure::getBomId,ids));
return AjaxResult.success(productBomService.removeBatchByIds(ids));
}
@@ -90,4 +98,26 @@
return AjaxResult.success(productBoms);
}
+ @PostMapping("uploadBom")
+ @Log(title = "鏍规嵁Excel瀵煎叆BOM", businessType = BusinessType.IMPORT)
+ @ApiOperation("鏍规嵁Excel瀵煎叆BOM")
+ public AjaxResult uploadBom(@RequestParam("file") MultipartFile file) {
+ return productBomService.uploadBom(file);
+ }
+
+ @PostMapping("exportBom")
+ @Log(title = "瀵煎嚭BOM鏂囦欢", businessType = BusinessType.EXPORT)
+ @ApiOperation("瀵煎嚭BOM鏂囦欢")
+ 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瀵煎叆妯℃澘");
+ }
+
}
--
Gitblit v1.9.3