feat(risk): 申请单阶段风险可见性细化与规则表更新
- 申请单阶段将 policy/trip/amount 类风险对申请人可见、可自行修正,画像/审批流程类仍走领导可见 - 平台风险标记与语义推断统一采用该策略,更新对应单元测试 - 风险规则中 city_mismatch 等城市匹配规则移除 expense_application 阶段,仅保留 reimbursement - 同步更新交通/通信/差旅/出差等财务规则表
This commit is contained in:
@@ -60,20 +60,20 @@ def build_platform_risk_flag(
|
||||
default=default_business_stage,
|
||||
)
|
||||
risk_domain = infer_risk_domain(manifest)
|
||||
default_visibility_scope = (
|
||||
"budget_manager"
|
||||
if risk_domain == "budget"
|
||||
else "leader"
|
||||
if business_stage == "expense_application"
|
||||
else "submitter"
|
||||
)
|
||||
default_actionability = (
|
||||
"budget_governance"
|
||||
if risk_domain == "budget"
|
||||
else "review_decision"
|
||||
if business_stage == "expense_application"
|
||||
else "fixable_by_submitter"
|
||||
)
|
||||
# 申请单阶段:信息完整性/差旅/金额类风险申请人可自行补充修正,对申请人可见;
|
||||
# 预算走预算审批人;其余(画像/审批流程)仍走领导可见。
|
||||
if risk_domain == "budget":
|
||||
default_visibility_scope = "budget_manager"
|
||||
default_actionability = "budget_governance"
|
||||
elif business_stage == "expense_application" and risk_domain in {"policy", "trip", "amount"}:
|
||||
default_visibility_scope = "submitter"
|
||||
default_actionability = "fixable_by_submitter"
|
||||
elif business_stage == "expense_application":
|
||||
default_visibility_scope = "leader"
|
||||
default_actionability = "review_decision"
|
||||
else:
|
||||
default_visibility_scope = "submitter"
|
||||
default_actionability = "fixable_by_submitter"
|
||||
visibility_scope = normalize_risk_visibility_scope(
|
||||
metadata.get("visibility_scope") or manifest.get("visibility_scope"),
|
||||
default_visibility_scope,
|
||||
|
||||
@@ -178,6 +178,10 @@ def infer_risk_semantics(
|
||||
return risk_domain, "submitter", "fixable_by_submitter"
|
||||
return risk_domain, "finance", "finance_check"
|
||||
if business_stage == EXPENSE_APPLICATION_BUSINESS_STAGE:
|
||||
# 申请单阶段:信息完整性/差旅/金额类风险申请人可自行补充修正,
|
||||
# 对申请人可见;其余(如画像、审批流程)仍走领导可见。
|
||||
if risk_domain in {"policy", "trip", "amount"}:
|
||||
return risk_domain, "submitter", "fixable_by_submitter"
|
||||
return risk_domain, "leader", "review_decision"
|
||||
return risk_domain, "leader", "review_decision"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user