From dee56ed8d52f1d8ee1f89b369561c49e9b3b7c2d Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期五, 23 一月 2026 17:56:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New' into dev_New

---
 src/main/java/com/ruoyi/production/controller/ProductBomController.java |   33 +++++++++++++++++++++++++++++----
 1 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/ruoyi/production/controller/ProductBomController.java b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
index 502dbf1..b225685 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductBomController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -1,16 +1,16 @@
 package com.ruoyi.production.controller;
 
 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.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.ProductBomDto;
 import com.ruoyi.production.dto.ProductProcessDto;
-import com.ruoyi.production.pojo.ProductBom;
-import com.ruoyi.production.pojo.ProductProcess;
-import com.ruoyi.production.service.ProductBomService;
-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;
@@ -29,10 +29,20 @@
  */
 @RestController
 @RequestMapping("/productBom")
+@Api(tags = "BOM")
 public class ProductBomController {
 
     @Autowired
     private ProductBomService productBomService;
+
+    @Autowired
+    private ProcessRouteService processRouteService;
+
+    @Autowired
+    private ProductProcessRouteService productProcessRouteService;
+
+    @Autowired
+    private ProductStructureService productStructureService;
 
     @GetMapping("/listPage")
     @Log(title = "BOM-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -60,10 +70,25 @@
     @DeleteMapping("/batchDelete")
     @Log(title = "鍒犻櫎", businessType = BusinessType.DELETE)
     public AjaxResult batchDelete(@RequestBody List<Integer> ids) {
+        List<ProcessRoute> list = processRouteService.list(Wrappers.<ProcessRoute>lambdaQuery().in(ProcessRoute::getBomId, ids));
+        List<ProductProcessRoute> list2 = productProcessRouteService.list(Wrappers.<ProductProcessRoute>lambdaQuery().in(ProductProcessRoute::getBomId, ids));
+        if (list.size()>0 || list2.size()>0){
+            return AjaxResult.error("璇OM宸茬粡瀛樺湪瀵瑰簲鐨勫伐鑹鸿矾绾�,鏃犳硶杩涜鍒犻櫎");
+        }
         if(CollectionUtils.isEmpty(ids)){
             return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         }
+        //鍒犻櫎bom瀛愯〃
+        productStructureService.remove(Wrappers.<ProductStructure>lambdaQuery().in(ProductStructure::getBomId,ids));
         return AjaxResult.success(productBomService.removeBatchByIds(ids));
     }
 
+    @GetMapping("/getByModel")
+    @Log(title = "BOM-鏍规嵁閫夋嫨鐨勮鏍煎瀷鍙穒d鏌ヨ瀛樺湪鐨刡om", businessType = BusinessType.OTHER)
+    @ApiOperation("BOM-鏍规嵁閫夋嫨鐨勮鏍煎瀷鍙穒d鏌ヨ瀛樺湪鐨刡om")
+    public AjaxResult getByModel(Long productModelId) {
+        List<ProductBom> productBoms = productBomService.list(Wrappers.<ProductBom>lambdaQuery().eq(ProductBom::getProductModelId, productModelId));
+        return AjaxResult.success(productBoms);
+    }
+
 }

--
Gitblit v1.9.3