From 346d463346701e8714b3a3a3ebb21e21960b5484 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 20 三月 2026 15:06:47 +0800
Subject: [PATCH] feat: 查看生产订单对应的生产计划来源
---
src/main/resources/mapper/production/ProductOrderMapper.xml | 40 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index 7c18400..ed6c187 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,
@@ -40,7 +53,11 @@
FROM product_order po
LEFT JOIN process_route pr ON po.route_id = pr.id
LEFT JOIN product_bom pb ON pr.bom_id = pb.id
- LEFT JOIN product_order_plan pop ON po.id = pop.product_order_id
+ LEFT JOIN (
+ 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
LEFT JOIN product_material pm ON pm.id = pms.product_id
@@ -104,4 +121,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