From 0a73b4d40662ea554bdf80b22966901da1abb424 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 26 一月 2026 13:45:13 +0800
Subject: [PATCH] 生产工单流转卡

---
 src/main/java/com/ruoyi/production/controller/ProductBomController.java |   31 +++++++++++++++++++++++--------
 1 files changed, 23 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 874568b..3d1a872 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductBomController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -8,21 +8,17 @@
 import com.ruoyi.framework.web.domain.AjaxResult;
 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.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.util.List;
 
 /**
@@ -46,6 +42,9 @@
 
     @Autowired
     private ProductProcessRouteService productProcessRouteService;
+
+    @Autowired
+    private ProductStructureService productStructureService;
 
     @GetMapping("/listPage")
     @Log(title = "BOM-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -81,6 +80,8 @@
         if(CollectionUtils.isEmpty(ids)){
             return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         }
+        //鍒犻櫎bom瀛愯〃
+        productStructureService.remove(Wrappers.<ProductStructure>lambdaQuery().in(ProductStructure::getBomId,ids));
         return AjaxResult.success(productBomService.removeBatchByIds(ids));
     }
 
@@ -92,4 +93,18 @@
         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);
+    }
+
 }

--
Gitblit v1.9.3