feat: 交叉评查后端优化 — 评查地区、文档评查统计、currentScore、错误提示

- GetUserTasks: 新增 task_regions CTE,从任务成员 sso_users.area 去重收集 evaluationRegion
- GetTaskDocuments: 新增 es LATERAL 子查询聚合 leaudit_rule_results 的 pass_count/warning_count/error_count/score_percent;path/uploadTime 改为从 leaudit_document_files 获取;新增 fileExt
- ReviewPointResultVO: 新增 currentScore 字段
- _loadReviewPointResults: SQL 新增 approved_delta LATERAL 子查询,currentScore = base_score + SUM(approved_deltas)
- CrossReviewTaskItemVO: 新增 evaluationRegion
- CrossReviewTaskDocumentVO: 新增 18 个评查统计字段 + path/uploadTime/fileExt
- 文档更新:交叉评查核心模块业务逻辑文档补充评查地区、评查统计、版本号本地化等章节
This commit is contained in:
wren
2026-05-15 14:15:29 +08:00
parent 397cbb111a
commit adc1e0b8dc
7 changed files with 393 additions and 11 deletions
@@ -2366,10 +2366,19 @@ class DocumentServiceImpl(IDocumentService):
a.id AS audit_id,
a.edit_audit_status,
a.override_result,
a.message AS audit_message
a.message AS audit_message,
COALESCE(ad.approved_delta, 0) AS approved_delta
FROM leaudit_rule_results rr
LEFT JOIN leaudit_review_point_audits a
ON a.rule_result_id = rr.id
LEFT JOIN LATERAL (
SELECT COALESCE(SUM(proposed_score_delta), 0) AS approved_delta
FROM leaudit_cross_review_proposals
WHERE rule_result_id = rr.id
AND document_id = :document_id
AND status = 'approved'
AND delete_time IS NULL
) ad ON TRUE
WHERE rr.run_id = :run_id
AND rr.document_id = :document_id
ORDER BY id ASC
@@ -2429,6 +2438,10 @@ class DocumentServiceImpl(IDocumentService):
score=score,
finalScore=score if resultFlag is True else (0.0 if resultFlag is False else None),
machineScore=score,
currentScore=(
(score if resultFlag is True else 0.0)
+ float(row["approved_delta"] or 0)
),
result=resultFlag,
failMessage=str(row["fail_message"] or ""),
passMessage=str(row["pass_message"] or ""),