From 91acbe8b56194bbd834b1169b5578de8a5ed442c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 14 三月 2026 17:53:10 +0800
Subject: [PATCH] fix: BOM产品查询调整、重命名字段

---
 src/main/resources/mapper/production/ProductBomMapper.xml |   44 +++++++++++++++++++++++++-------------------
 1 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/src/main/resources/mapper/production/ProductBomMapper.xml b/src/main/resources/mapper/production/ProductBomMapper.xml
index ec06cd3..e812b2c 100644
--- a/src/main/resources/mapper/production/ProductBomMapper.xml
+++ b/src/main/resources/mapper/production/ProductBomMapper.xml
@@ -15,34 +15,40 @@
         <result column="update_user" property="updateUser"/>
         <result column="tenant_id" property="tenantId"/>
     </resultMap>
+
     <select id="listPage" resultType="com.ruoyi.production.dto.ProductBomDto">
-        select * from (select pb.*,
-        pm.model productModelName,
-        p.product_name productName
-        from product_bom pb
-        left join product_model pm on pb.product_model_id = pm.id
-        left join product p on pm.product_id = p.id)A
-        where 1=1
-        <if test="c.productModelName != null">
-            and productModelName = #{c.productModelName}
+        SELECT * FROM (
+        SELECT
+        pb.*,
+        pms.model AS productModelName,
+        pm.product_name AS productName
+        FROM product_bom pb
+        LEFT JOIN product_material_sku pms ON pb.product_model_id = pms.id
+        LEFT JOIN product_material pm ON pms.product_id = pm.id
+        ) A
+        WHERE 1=1
+        <if test="c.productModelName != null and c.productModelName != ''">
+            AND productModelName LIKE CONCAT('%', #{c.productModelName}, '%')
         </if>
-        <if test="c.productName != null">
-            and productName = #{c.productName}
+        <if test="c.productName != null and c.productName != ''">
+            AND productName LIKE CONCAT('%', #{c.productName}, '%')
         </if>
-        <if test="c.bomNo != null">
-            and bom_no = #{c.bomNo}
+        <if test="c.bomNo != null and c.bomNo != ''">
+            AND bom_no = #{c.bomNo}
         </if>
-        <if test="c.version != null">
-            and version = #{c.version}
+        <if test="c.version != null and c.version != ''">
+            AND version = #{c.version}
         </if>
     </select>
+
     <select id="getById" resultType="com.ruoyi.production.dto.ProductBomDto">
         select pb.*,
-               pm.model productModelName,
-               p.product_name productName
+               pms.model AS productModelName,
+               pm.product_name   AS productName
         from product_bom pb
-                 left join product_model pm on pb.product_model_id = pm.id
-                 left join product p on pm.product_id = p.id
+                 left join product_material_sku pms on pb.product_model_id = pms.id
+                 left join product_material pm on pms.product_id = pm.id
+        where pb.id = #{id}
     </select>
 
 </mapper>

--
Gitblit v1.9.3