From 993095c3d36d62e52aaa6cb229c309231205f343 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期一, 19 十月 2026 17:11:52 +0800
Subject: [PATCH] feat(qualityMonitor): 实现质量监控检验任务完整流程 - 新增年度质量监控计划创建、提交审核及按年度查询接口 - 新增质量监控检验任务下发、查询及取消接口 - 新增质量监控检验评价提交与批准/退回流程 - 在检验订单中增加任务来源和质量监控明细ID字段 - 增加质控任务认领、原始记录填写、提交、复核等环节的权限校验 - 质控任务复核通过后发送评价通知给指定评价人 - 质控任务不生成检验报告,由评价环节完成归档 - 新增从已复核质控原始记录读取检测数据和上下文信息的方法 - 增加标准方法验证中实时查看所选设备校准证书的功能 - 补充质量监控计划明细的模板ID规范化及字段校验逻辑 - 在样品查询SQL中关联质控明细表返回任务来源和评价状态
---
cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml | 22 +++++++++++++++-------
1 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
index aa500be..0bf5862 100644
--- a/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
+++ b/cnas-process/src/main/resources/mapper/QualityMonitorDetailsMapper.xml
@@ -4,12 +4,21 @@
<select id="pageQualityMonitorDetail" resultType="com.ruoyi.process.dto.QualityMonitorDetailsDto">
select * from (
SELECT cqmd.*,
+ ru.name responsible_name,
+ eu.name evaluator_name,
+ qot.id inspection_task_id,
+ qot.entrust_code inspection_task_code,
+ qot.ins_state inspection_task_state,
+ qot.state inspection_task_order_state,
+ qmp.ratify_status plan_ratify_status,
+ qmp.ratify_user_id plan_ratify_user_id,
CASE
WHEN cqmder.is_finish = 1 THEN 3
WHEN cqmder.is_finish = 0 THEN 2
WHEN cqmder.quality_monitor_details_id IS NOT NULL THEN 1
ELSE 0 END details_ratify_status,
CASE
+ WHEN cqmd.item_kind = 'INSPECTION' THEN -1
WHEN cqmd.ratify_status = 1 THEN 3
WHEN cqmd.ratify_status = 0 THEN 2
WHEN cqmd.finish_report_url IS NOT NULL THEN 1
@@ -18,8 +27,13 @@
WHEN cqmde.is_finish = 1 THEN 3
WHEN cqmde.ratify_user_id IS NOT NULL THEN 2
WHEN cqmde.implement_user_id IS NOT NULL and cqmde.details_evaluate_id is not null THEN 1
+ WHEN qot.ins_state = 5 THEN 1
ELSE 0 END evaluate_status
FROM cnas_quality_monitor_details cqmd
+ LEFT JOIN user ru ON ru.id = cqmd.responsible_user_id
+ LEFT JOIN user eu ON eu.id = cqmd.evaluator_user_id
+ LEFT JOIN cnas_quality_monitor qmp ON qmp.quality_monitor_id = cqmd.quality_monitor_id
+ LEFT JOIN ins_order qot ON qot.quality_monitor_details_id = cqmd.quality_monitor_details_id
LEFT JOIN cnas_quality_monitor_details_evaluate cqmde
ON cqmd.quality_monitor_details_id = cqmde.quality_monitor_details_id
LEFT JOIN cnas_quality_monitor_details_ratify cqmder
@@ -29,12 +43,6 @@
<if test="ew.customSqlSegment != null and ew.customSqlSegment != ''">
${ew.customSqlSegment}
</if>
- order by quality_monitor_id, monitor_purpose, -- 鎻愬彇骞翠唤
- CAST(SUBSTRING(planned_time, 1, 4) AS SIGNED) ASC,
- -- 鎻愬彇鏈堜唤
- CASE
- WHEN planned_time LIKE '% - %' THEN 1
- ELSE CAST(SUBSTRING_INDEX(SUBSTRING(planned_time, 6), '鏈�', 1) AS SIGNED)
- END ASC
+ order by quality_monitor_id, COALESCE(sort_no, 2147483647), quality_monitor_details_id
</select>
</mapper>
--
Gitblit v1.9.3