From 5ac4f450b6b4bd726cefb57a626a46c56dbbc42e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期四, 02 四月 2026 16:01:12 +0800
Subject: [PATCH] fix: BOM导入去除单层限制
---
src/main/resources/mapper/production/ProductOrderMapper.xml | 52 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 42 insertions(+), 10 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index b9193a0..a66c81f 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -52,11 +52,14 @@
pms.material_code AS materialCode,
pms.id AS productId
FROM product_order po
- LEFT JOIN process_route pr ON po.route_id = pr.id
+ LEFT JOIN production_order_route pr ON po.route_id = pr.id
LEFT JOIN product_bom pb ON pr.bom_id = pb.id
LEFT JOIN product_material_sku pms ON pms.id = po.product_material_sku_id
LEFT JOIN product_material pm ON pm.id = pms.product_id
<where>
+ <if test="c.id != null">
+ AND po.id = #{c.id}
+ </if>
<if test="c.npsNo != null and c.npsNo != ''">
AND po.nps_no LIKE CONCAT('%', #{c.npsNo}, '%')
</if>
@@ -210,25 +213,54 @@
sku.material_code,
pm.product_name,
sku.model,
- pprip.unit,
+ ppi.unit,
pos.unit_quantity,
- sum(pprip.product_value) actualInputQuantity,
+ sum(ppi.quantity) actualInputQuantity,
sum(ppo.quantity+ppo.scrap_qty) actualOutputQuantity
- from production_product_route_item_param pprip
- left join production_product_route_item ppri on ppri.id=pprip.production_product_route_item_id
- left join production_product_main ppm on ppm.id=ppri.product_main_id
+ from production_product_input ppi
+ left join production_product_main ppm on ppm.id=ppi.product_main_id
left join production_product_output ppo on ppm.id=ppo.product_main_id
- left join product_material_sku sku ON pprip.product_id = sku.id
+ left join product_material_sku sku ON ppi.product_id = sku.id
left join product_material pm ON sku.product_id = pm.id
- left join production_order_structure pos ON pos.product_model_id = pprip.product_id
+ left join production_order_structure pos ON pos.product_model_id = ppi.product_id
where ppm.product_order_id = #{productOrderId}
and pos.order_id = #{productOrderId}
- and pprip.order_item_param_id is null
group by sku.material_code,
pm.product_name,
sku.model,
pos.unit_quantity,
- pprip.unit)A
+ ppi.unit)A
</select>
+ <select id="getProductOrderDto" resultType="com.ruoyi.production.dto.ProductOrderDto">
+ SELECT
+ po.id,
+ po.nps_no,
+ po.tenant_id,
+ po.create_time,
+ po.update_time,
+ po.route_id,
+ po.quantity,
+ po.complete_quantity,
+ po.start_time,
+ po.end_time,
+ po.plan_complete_time,
+ po.status,
+ pm.product_name,
+ po.strength AS strength,
+ pr.process_route_code AS processRouteCode,
+ pr.description,
+ pb.id AS bomId,
+ pb.bom_no AS bomNo,
+ ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
+ pms.model,
+ pms.material_code AS materialCode,
+ pms.id AS productId
+ FROM product_order po
+ LEFT JOIN production_order_route pr ON po.route_id = pr.id
+ LEFT JOIN product_bom pb ON pr.bom_id = pb.id
+ LEFT JOIN product_material_sku pms ON pms.id = po.product_material_sku_id
+ LEFT JOIN product_material pm ON pm.id = pms.product_id
+ WHERE po.id = #{productOrderId}
+ </select>
</mapper>
--
Gitblit v1.9.3