From 6ad5c2cdc193cf7bb02884961b7434cd7f607a0d Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 16 四月 2026 10:48:09 +0800
Subject: [PATCH] feat(production): 扩展生产工艺路线支持多产品绑定及工单权限控制
---
src/main/resources/mapper/production/ProductWorkOrderMapper.xml | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
index 14b883e..b026862 100644
--- a/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
+++ b/src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -21,11 +21,18 @@
<select id="pageProductWorkOrder" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
SELECT
pwo.*,
+ pwo.report_user_ids,
pp.NAME as processName,
pm.model,
pm.unit,
p.product_name AS productName,
po.nps_no AS productOrderNpsNo,
+ (
+ SELECT GROUP_CONCAT(COALESCE(NULLIF(su.nick_name, ''), su.user_name)
+ ORDER BY FIND_IN_SET(su.user_id, pwo.report_user_ids) SEPARATOR ',')
+ FROM sys_user su
+ WHERE FIND_IN_SET(su.user_id, pwo.report_user_ids)
+ ) AS reportUserNames,
ROUND(pwo.complete_quantity / pwo.plan_quantity * 100, 2) AS completionStatus,
CASE
WHEN pwo.work_order_no LIKE 'FG%' THEN '杩斿伐杩斾慨'
@@ -48,6 +55,15 @@
<if test="c.productOrderId != null and c.productOrderId != ''">
and pwo.product_order_id = #{c.productOrderId}
</if>
+ <if test="isAdmin == false">
+ and find_in_set(#{userId}, pwo.report_user_ids)
+ </if>
+ </select>
+ <select id="checkUserCanAccess" resultType="java.lang.Integer">
+ SELECT COUNT(1)
+ FROM product_work_order pwo
+ WHERE pwo.id = #{workOrderId}
+ AND find_in_set(#{userId}, pwo.report_user_ids)
</select>
<select id="getProductWorkOrderFlowCard" resultType="com.ruoyi.production.dto.ProductWorkOrderDto">
SELECT
--
Gitblit v1.9.3