From df9b777560f0215b77c9013a6a3336a044b9c941 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 23 三月 2026 16:52:49 +0800
Subject: [PATCH] bom的产品结构添加单价
---
src/main/resources/mapper/production/ProductOrderMapper.xml | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 52 insertions(+), 4 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index 1862e33..f18e454 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -14,6 +14,19 @@
<result property="status" column="status"/>
</resultMap>
+ <resultMap id="ProductOrderSourceMap" type="com.ruoyi.production.dto.ProductOrderSourceDto">
+ <id property="applyNo" column="apply_no"/>
+ <result property="applyNo" column="apply_no"/>
+ <collection property="productPlans" ofType="com.ruoyi.productionPlan.dto.ProductionPlanDto" autoMapping="true">
+ <id property="id" column="plan_id"/>
+ <result property="materialCode" column="material_code"/>
+ <result property="productName" column="product_name"/>
+ <result property="model" column="model"/>
+ <result property="unit" column="unit"/>
+ <result property="totalAssignedQuantity" column="total_assigned_quantity"/>
+ </collection>
+ </resultMap>
+
<select id="pageProductOrder" resultType="com.ruoyi.production.dto.ProductOrderDto">
SELECT
po.id,
@@ -41,9 +54,9 @@
LEFT JOIN process_route pr ON po.route_id = pr.id
LEFT JOIN product_bom pb ON pr.bom_id = pb.id
LEFT JOIN (
- SELECT product_order_id, MIN(production_plan_id) AS production_plan_id
- FROM product_order_plan
- GROUP BY product_order_id
+ SELECT product_order_id, MIN(production_plan_id) AS production_plan_id
+ FROM product_order_plan
+ GROUP BY product_order_id
) pop ON po.id = pop.product_order_id
LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id
LEFT JOIN product_material_sku pms ON pms.id = pp.product_material_sku_id
@@ -55,9 +68,23 @@
<if test="c.startTime != null and c.endTime != null">
AND po.create_time BETWEEN #{c.startTime} AND #{c.endTime}
</if>
+ <if test="c.status != null">
+ AND po.status = #{c.status}
+ </if>
+ <if test="c.productName != null and c.productName != ''">
+ AND pm.product_name LIKE CONCAT('%', #{c.productName}, '%')
+ </if>
+ <if test="c.materialCode != null and c.materialCode != ''">
+ AND pms.material_code LIKE CONCAT('%', #{c.materialCode}, '%')
+ </if>
+ <if test="c.model != null and c.model != ''">
+ AND pms.model LIKE CONCAT('%', #{c.model}, '%')
+ </if>
+ <if test="c.strength != null and c.strength != ''">
+ AND po.strength = #{c.strength}
+ </if>
</where>
</select>
-
<select id="listProcessRoute" resultType="com.ruoyi.production.pojo.ProcessRoute">
select pr.*
from process_route pr
@@ -108,4 +135,25 @@
AND create_time <= #{endDate}
AND complete_quantity < quantity
</select>
+
+ <select id="productOrderSource" resultMap="ProductOrderSourceMap"
+ parameterType="java.lang.Long">
+ SELECT pp.id AS plan_id,
+ pp.apply_no,
+ pp.*,
+ pop.assigned_quantity AS total_assigned_quantity,
+ sku.material_code,
+ sku.model,
+ pm.product_name,
+ pm.unit
+
+ FROM product_order_plan pop
+ LEFT JOIN production_plan pp ON pop.production_plan_id = pp.id
+ LEFT JOIN product_material_sku sku ON pp.product_material_sku_id = sku.id
+ LEFT JOIN product_material pm ON sku.product_id = pm.id
+
+ WHERE pop.product_order_id = #{orderId}
+ ORDER BY pp.apply_no
+
+ </select>
</mapper>
--
Gitblit v1.9.3