From a383e7dbc619cdb468979d4863349c43550a9af2 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 16 四月 2026 11:33:13 +0800
Subject: [PATCH] feat(production): 扩展生产工艺路线支持多产品绑定及工单权限控制
---
src/main/resources/mapper/production/ProductOrderMapper.xml | 35 ++++++++++++++++++-----------------
1 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductOrderMapper.xml b/src/main/resources/mapper/production/ProductOrderMapper.xml
index 4837e64..d72b7e5 100644
--- a/src/main/resources/mapper/production/ProductOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -17,8 +17,9 @@
select po.*,
sl.sales_contract_no,
sl.customer_name,
- slp.product_category,
- slp.specification_model,
+ p.product_name as product_category,
+ pm.model as specification_model,
+ pm.unit,
ppr.process_route_code,
pb.bom_no,
ROUND(po.complete_quantity / po.quantity * 100, 2) AS completionStatus,
@@ -38,7 +39,9 @@
FROM shipping_info
GROUP BY sales_ledger_id
) shipping_status_counts ON sl.id = shipping_status_counts.sales_ledger_id
- left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id
+ left join product_model pm on po.product_model_id = pm.id
+ left join product p on pm.product_id = p.id
+ left join sales_ledger_product slp on po.sale_ledger_product_id = slp.id and slp.type = 1
left join product_process_route ppr on po.id = ppr.product_order_id
left join product_bom pb on pb.id = ppr.bom_id
<where>
@@ -60,25 +63,23 @@
<if test="c.startTime != null and c.endTime != null">
and po.create_time between #{c.startTime} and #{c.endTime}
</if>
+ <if test="isAdmin == false">
+ and exists (
+ select 1
+ from product_work_order pwo_auth
+ where pwo_auth.product_order_id = po.id
+ and find_in_set(#{userId}, pwo_auth.report_user_ids)
+ )
+ </if>
</where>
- </select>
- <select id="productMainByOrderId" resultType="com.ruoyi.production.dto.ProductOrderDto">
- select po.*,
- pwo.work_order_no,
- pwo.report_work,
- pwo.status,
- pwo.quantity,
- pwo.plan_quantity
- from product_order po
- left join product_work_order pwo on po.id = pwo.product_order_id
- where po.id = #{c.id}
</select>
<select id="listProcessRoute" resultType="com.ruoyi.production.pojo.ProcessRoute">
select pr.*
from process_route pr
- left join product_model pm on pr.product_model_id = pm.id
- left join sales_ledger_product slp on pm.id = slp.product_model_id
- where slp.id = #{productModelId}
+ where (
+ find_in_set(#{productModelId}, pr.product_model_ids) > 0
+ or pr.product_model_id = #{productModelId}
+ )
</select>
<select id="listProcessBom" resultType="com.ruoyi.production.dto.ProductStructureDto">
select ps.id,
--
Gitblit v1.9.3