feat(claim): 重构报销审批流并收敛风险标记
- 直属领导兼任部门 P8 预算审批人时合并预算审批,直接流转至财务审批 - 预算超过警戒值时强制要求预算管理者填写审批意见 - 新增风险标记去重工具,消除各审核阶段重复风险卡片 - 新增工作流修复 Mixin,纠正重复预算审批阶段的历史数据 - 收紧单据删除权限至 admin,放宽预算分析可见范围至当前审核人 - 提交校验放宽已上传票据条目的 OCR 字段缺失并忽略尾部占位条目
This commit is contained in:
@@ -23,6 +23,7 @@ from app.services.expense_rule_runtime import (
|
||||
RuntimeTravelPolicy,
|
||||
)
|
||||
from app.services.expense_type_keywords import resolve_expense_type_code_from_text
|
||||
from app.services.expense_claim_risk_flags import dedupe_claim_risk_flags
|
||||
from app.services.expense_claim_platform_route_risk import resolve_multi_city_related_item_ids
|
||||
from app.services.expense_claim_platform_risk_flag import build_platform_risk_flag
|
||||
from app.services.expense_claim_platform_text_risk import (
|
||||
@@ -79,6 +80,13 @@ class ExpenseClaimPlatformRiskMixin:
|
||||
continue
|
||||
|
||||
flags.append(flag)
|
||||
|
||||
flags = [
|
||||
flag
|
||||
for flag in dedupe_claim_risk_flags(flags)
|
||||
if isinstance(flag, dict)
|
||||
]
|
||||
for flag in flags:
|
||||
severity = str(flag.get("severity") or "").strip().lower()
|
||||
action = str(flag.get("action") or "").strip().lower()
|
||||
if severity in {"high", "critical"} or action == "block":
|
||||
|
||||
Reference in New Issue
Block a user