From a0c2c050bfde573bc748d7bbdf732cc50e004be8 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 12 三月 2026 17:23:21 +0800
Subject: [PATCH] fix: 生产计划查询未携带申请单编号

---
 src/main/resources/mapper/productionPlan/ProductionPlanMapper.xml |   76 ++++++++++++++++++++-----------------
 1 files changed, 41 insertions(+), 35 deletions(-)

diff --git a/src/main/resources/mapper/productionPlan/ProductionPlanMapper.xml b/src/main/resources/mapper/productionPlan/ProductionPlanMapper.xml
index 88ec8fb..a7c1b84 100644
--- a/src/main/resources/mapper/productionPlan/ProductionPlanMapper.xml
+++ b/src/main/resources/mapper/productionPlan/ProductionPlanMapper.xml
@@ -11,10 +11,7 @@
         <result property="serialNo" column="serial_no"/>
         <result property="applyNo" column="apply_no"/>
         <result property="customerName" column="customer_name"/>
-        <result property="materialCode" column="material_code"/>
-        <result property="productMaterialId" column="product_material_id"/>
-        <result property="productName" column="product_name"/>
-        <result property="productSpec" column="product_spec"/>
+        <result property="productMaterialSkuId" column="product_material_sku_id"/>
         <result property="length" column="length"/>
         <result property="width" column="width"/>
         <result property="height" column="height"/>
@@ -38,28 +35,32 @@
         <result property="totalCount" column="total_count"/>
     </resultMap>
 
-
     <select id="listPage" resultType="com.ruoyi.productionPlan.dto.ProductionPlanDto">
         SELECT
         pp.*,
-        pm.product_name,
-        pm.specification,
-        pm.material_code,
+        pms.material_code AS materialCode,
+        pms.specification AS specification,
+        pms.material_id AS productMaterialId,
+        pm.material_name AS productName,
         pm.base_unit
         FROM production_plan pp
-        left join product_material pm on pp.product_material_id = pm.id
+        left join product_material_sku pms on pp.product_material_sku_id = pms.id
+        left join product_material pm on pms.material_id = pm.id
         WHERE 1 = 1
         <if test="c.customerName != null and c.customerName != '' ">
             AND pp.customer_name LIKE CONCAT('%',#{c.customerName},'%')
         </if>
         <if test="c.productName != null and c.productName != '' ">
-            AND pm.product_name LIKE CONCAT('%',#{c.productName},'%')
-        </if>
-        <if test="c.specification != null and c.specification != '' ">
-            AND pm.specification LIKE CONCAT('%',#{c.specification},'%')
+            AND pm.material_name LIKE CONCAT('%',#{c.productName},'%')
         </if>
         <if test="c.materialCode != null and c.materialCode != '' ">
-            AND pm.material_code LIKE CONCAT('%',#{c.materialCode},'%')
+            AND pms.material_code LIKE CONCAT('%',#{c.materialCode},'%')
+        </if>
+        <if test="c.specification != null and c.specification != '' ">
+            AND pms.specification LIKE CONCAT('%',#{c.specification},'%')
+        </if>
+        <if test="c.applyNo != null and c.applyNo != '' ">
+            AND pp.apply_no LIKE CONCAT('%',#{c.applyNo},'%')
         </if>
         <if test="c.startDate != null">
             AND pp.start_date &gt;= DATE_FORMAT(#{c.startDate},'%Y-%m-%d')
@@ -71,42 +72,47 @@
 
     <select id="selectSummaryByProductType" resultType="com.ruoyi.productionPlan.dto.ProductionPlanSummaryDto">
         SELECT
-        material_code,
-        product_name,
-        product_spec,
-        length,
-        width,
-        height,
-        COALESCE(SUM(quantity),0) AS quantity,
-        COALESCE(SUM(volume),0) AS volume
-        FROM production_plan
+        sku.material_code,
+        pm.material_name AS product_name,
+        sku.specification AS product_spec,
+        pp.length,
+        pp.width,
+        pp.height,
+        COALESCE(SUM(pp.quantity),0) AS quantity,
+        COALESCE(SUM(pp.volume),0) AS volume
+        FROM production_plan pp
+        LEFT JOIN product_material_sku sku
+        ON pp.product_material_sku_id = sku.id
+        LEFT JOIN product_material pm
+        ON sku.material_id = pm.id
         <where>
             <if test="materialCode != null and materialCode != ''">
-                AND material_code LIKE CONCAT('%', #{materialCode}, '%')
+                AND sku.material_code LIKE CONCAT('%', #{materialCode}, '%')
             </if>
 
             <if test="productName != null and productName != ''">
-                AND product_name LIKE CONCAT('%', #{productName}, '%')
+                AND pm.material_name LIKE CONCAT('%', #{productName}, '%')
             </if>
         </where>
         GROUP BY
-        material_code,
-        product_name,
-        product_spec,
-        length,
-        width,
-        height
+        sku.material_code,
+        pm.material_name,
+        sku.specification,
+        pp.length,
+        pp.width,
+        pp.height
     </select>
 
     <select id="selectWithMaterialByIds" resultType="com.ruoyi.productionPlan.dto.ProductionPlanDto">
         SELECT
         pp.*,
-        pm.product_name,
-        pm.specification,
-        pm.material_code,
+        pms.material_code AS materialCode,
+        pms.specification AS specification,
+        pm.material_name AS productName,
         pm.base_unit
         FROM production_plan pp
-        LEFT JOIN product_material pm ON pp.product_material_id = pm.id
+        LEFT JOIN product_material_sku pms ON pp.product_material_sku_id = pms.id
+        LEFT JOIN product_material pm ON pms.material_id = pm.id
         WHERE pp.id IN
         <foreach collection="ids" item="id" open="(" separator="," close=")">
             #{id}

--
Gitblit v1.9.3