From 06eb1285355b80287b7012c2854161ab576a9dff Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期四, 15 一月 2026 13:18:25 +0800
Subject: [PATCH] 工艺路线修改

---
 src/main/java/com/ruoyi/production/dto/ProcessRouteDto.java             |    2 ++
 src/main/resources/mapper/production/ProcessRouteMapper.xml             |    3 ++-
 src/main/java/com/ruoyi/production/pojo/ProductStructure.java           |    2 ++
 src/main/resources/mapper/production/ProductStructureMapper.xml         |   15 +++++++++++++++
 src/main/java/com/ruoyi/production/pojo/ProcessRouteItem.java           |    2 ++
 src/main/java/com/ruoyi/production/pojo/ProductProcess.java             |    2 ++
 src/main/java/com/ruoyi/production/controller/ProductBomController.java |   18 ++++++++++++++++++
 src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java   |    2 ++
 src/main/java/com/ruoyi/production/pojo/ProcessRoute.java               |    5 +++++
 9 files changed, 50 insertions(+), 1 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..b8d9416 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductBomController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductBomController.java
@@ -1,14 +1,17 @@
 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.ProcessRoute;
 import com.ruoyi.production.pojo.ProductBom;
 import com.ruoyi.production.pojo.ProductProcess;
+import com.ruoyi.production.service.ProcessRouteService;
 import com.ruoyi.production.service.ProductBomService;
 import com.ruoyi.production.service.ProductProcessService;
 import io.swagger.annotations.ApiModelProperty;
@@ -33,6 +36,9 @@
 
     @Autowired
     private ProductBomService productBomService;
+
+    @Autowired
+    private ProcessRouteService processRouteService;
 
     @GetMapping("/listPage")
     @Log(title = "BOM-鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -60,10 +66,22 @@
     @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));
+        if (list.size()>0){
+            return AjaxResult.error("璇OM宸茬粡瀛樺湪瀵瑰簲鐨勫伐鑹鸿矾绾�,鏃犳硶杩涜鍒犻櫎");
+        }
         if(CollectionUtils.isEmpty(ids)){
             return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
         }
         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);
+    }
+
 }
diff --git a/src/main/java/com/ruoyi/production/dto/ProcessRouteDto.java b/src/main/java/com/ruoyi/production/dto/ProcessRouteDto.java
index 5689dae..232a00c 100644
--- a/src/main/java/com/ruoyi/production/dto/ProcessRouteDto.java
+++ b/src/main/java/com/ruoyi/production/dto/ProcessRouteDto.java
@@ -13,4 +13,6 @@
 
     @ApiModelProperty("瑙勬牸")
     private String model;
+
+    private String bomNo;
 }
diff --git a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
index 66a13aa..9ab7ba7 100644
--- a/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
+++ b/src/main/java/com/ruoyi/production/mapper/ProductStructureMapper.java
@@ -14,4 +14,6 @@
 public interface ProductStructureMapper  extends BaseMapper<ProductStructure> {
 
     List<ProductStructureDto> listBybomId(@Param("bomId") Long bomId);
+
+    List<ProductStructureDto> listByproductModelId(@Param("productModelId") Long productModelId);
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProcessRoute.java b/src/main/java/com/ruoyi/production/pojo/ProcessRoute.java
index 88034cb..d55a17d 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProcessRoute.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProcessRoute.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -10,6 +11,7 @@
 
 @TableName("process_route")
 @Data
+@ApiModel(value = "processRoute", description = "宸ヨ壓璺嚎涓昏〃")
 public class ProcessRoute {
 
     @ApiModelProperty(value = "搴忓彿")
@@ -35,4 +37,7 @@
 
     @ApiModelProperty(value = "宸ヨ壓璺嚎缂栫爜")
     private String processRouteCode;
+
+    @ApiModelProperty(value = "BOM鐨処D")
+    private Long bomId;
 }
diff --git a/src/main/java/com/ruoyi/production/pojo/ProcessRouteItem.java b/src/main/java/com/ruoyi/production/pojo/ProcessRouteItem.java
index 66cbfdd..ffd1ee4 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProcessRouteItem.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProcessRouteItem.java
@@ -1,6 +1,7 @@
 package com.ruoyi.production.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
@@ -8,6 +9,7 @@
 
 @Data
 @TableName("process_route_item")
+@ApiModel(value = "processRouteItem", description = "宸ヨ壓璺嚎瀛愯〃")
 public class ProcessRouteItem {
 
     @TableId(type = IdType.AUTO)
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
index af7b343..d25f9cf 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductProcess.java
@@ -4,6 +4,7 @@
 import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
@@ -14,6 +15,7 @@
 @TableName("product_process")
 @Data
 @ExcelIgnoreUnannotated
+@ApiModel(value = "productProcess", description = "宸ュ簭琛�")
 public class ProductProcess implements Serializable {
 
     private static final long serialVersionUID = 1L;
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductStructure.java b/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
index f3b4014..de0d605 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductStructure.java
@@ -1,12 +1,14 @@
 package com.ruoyi.production.pojo;
 
 import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
 import lombok.Data;
 
 import java.math.BigDecimal;
 
 @TableName("product_structure")
 @Data
+@ApiModel(value = "ProductStructure", description = "BOM瀛愯〃")
 public class ProductStructure {
 
     private static final long serialVersionUID = 1L;
diff --git a/src/main/resources/mapper/production/ProcessRouteMapper.xml b/src/main/resources/mapper/production/ProcessRouteMapper.xml
index c5e09fc..51c11b4 100644
--- a/src/main/resources/mapper/production/ProcessRouteMapper.xml
+++ b/src/main/resources/mapper/production/ProcessRouteMapper.xml
@@ -13,8 +13,9 @@
     </resultMap>
 
     <select id="pageProcessRouteDto" resultType="com.ruoyi.production.dto.ProcessRouteDto">
-        select ps.*, p.product_name,pm.product_id,pm.model
+        select ps.*, p.product_name,pm.product_id,pm.model,pb.bom_no
         from process_route ps
+        left join product_bom pb on ps.bom_id = pb.id
         left join product_model pm on ps.product_model_id = pm.id
         left join product p on pm.product_id = p.id
         <where>
diff --git a/src/main/resources/mapper/production/ProductStructureMapper.xml b/src/main/resources/mapper/production/ProductStructureMapper.xml
index f9faded..1833487 100644
--- a/src/main/resources/mapper/production/ProductStructureMapper.xml
+++ b/src/main/resources/mapper/production/ProductStructureMapper.xml
@@ -25,4 +25,19 @@
         where ps.bom_id = #{bomId}
         order by ps.id
     </select>
+    <select id="listByproductModelId" resultType="com.ruoyi.production.dto.ProductStructureDto">
+        select ps.*,
+               p.product_name,
+               pp.name as  process_name,
+               pm.product_id,
+               pm.model
+        from
+            product_structure ps
+                left join product_bom pb on ps.bom_id = pb.id
+                left join product_model pm on ps.product_model_id = pm.id
+                left join product p on pm.product_id = p.id
+                left join product_process pp on ps.process_id = pp.id
+        where pb.product_model_id = #{productModelId}
+        order by ps.id
+    </select>
 </mapper>

--
Gitblit v1.9.3