feat: 本体字段治理与风险规则模板执行器重构

- 新增本体字段注册表与字段治理审计脚本
- 重构风险规则模板执行器、DSL 验证与清单分类器
- 完善票据夹服务与差旅请求详情页交互
- 优化趋势图表与总览页数据展示
- 增强报销平台风险分级与模拟公司筛选
- 补充本体字段、风险规则生成与票据夹服务测试覆盖
This commit is contained in:
caoxiaozhu
2026-06-03 15:46:56 +08:00
parent e12b140508
commit 34457f9c3e
81 changed files with 4858 additions and 1073 deletions

View File

@@ -155,9 +155,9 @@
"action": "continue"
},
"fail": {
"severity": "high",
"severity": "medium",
"action": "manual_review",
"risk_score": 84
"risk_score": 60
}
},
"metadata": {
@@ -166,8 +166,8 @@
"source_ref": "费用管控 Demo 风险规则库",
"created_at": "2026-05-31T00:10:41.785760+00:00",
"created_by": "system",
"risk_score": 84,
"risk_level": "high",
"risk_score": 60,
"risk_level": "medium",
"rule_title": "项目预算与部门不匹配",
"finance_rule_code": "budget.execution.policy",
"finance_rule_sheet": "预算执行规则",
@@ -179,9 +179,82 @@
"expense_types": [
"all"
],
"budget_required": true
"budget_required": true,
"risk_level_label": "中风险",
"risk_score_model": "risk_score_v3",
"risk_score_detail": {
"score": 60,
"level": "medium",
"level_label": "中风险",
"model": "risk_score_v3",
"weights": {
"impact": 0.35,
"certainty": 0.25,
"evidence": 0.15,
"exception": 0.1,
"action": 0.1,
"sensitivity": 0.05
},
"components": {
"impact": 78,
"certainty": 58,
"evidence": 62,
"exception": 35,
"action": 35,
"sensitivity": 45
},
"calibration": {
"raw_score": 60,
"rules": []
},
"ai_evidence": {},
"basis": {
"template_key": "keyword_match_v1",
"field_count": 12,
"condition_count": 0,
"expense_category": null,
"expense_category_label": "预算管控",
"requires_attachment": false
}
}
},
"severity": "high",
"risk_score": 84,
"risk_level": "high"
"severity": "medium",
"risk_score": 60,
"risk_level": "medium",
"risk_level_label": "中风险",
"risk_score_detail": {
"score": 60,
"level": "medium",
"level_label": "中风险",
"model": "risk_score_v3",
"weights": {
"impact": 0.35,
"certainty": 0.25,
"evidence": 0.15,
"exception": 0.1,
"action": 0.1,
"sensitivity": 0.05
},
"components": {
"impact": 78,
"certainty": 58,
"evidence": 62,
"exception": 35,
"action": 35,
"sensitivity": 45
},
"calibration": {
"raw_score": 60,
"rules": []
},
"ai_evidence": {},
"basis": {
"template_key": "keyword_match_v1",
"field_count": 12,
"condition_count": 0,
"expense_category": null,
"expense_category_label": "预算管控",
"requires_attachment": false
}
}
}

View File

@@ -45,12 +45,6 @@
"type": "text",
"source": "item"
},
{
"key": "employee.location",
"label": "员工常驻地",
"type": "text",
"source": "employee"
},
{
"key": "attachment.route_cities",
"label": "交通票行程城市",
@@ -83,7 +77,6 @@
"field_keys": [
"claim.location",
"item.item_location",
"employee.location",
"attachment.route_cities",
"attachment.hotel_city",
"claim.reason",
@@ -97,9 +90,7 @@
"attachment.route_cities",
"attachment.hotel_city"
],
"home_city_fields": [
"employee.location"
],
"home_city_fields": [],
"exception_fields": [
"claim.reason",
"item.item_reason"
@@ -113,7 +104,7 @@
"客户拜访",
"项目现场"
],
"condition_summary": "票据城市未覆盖申报目的地,或路线出现常驻地/目的地以外城市且无合理说明。",
"condition_summary": "票据城市未覆盖申报目的地,或路线出现无法由本次票据起终点和申报目的地解释的额外城市且无合理说明。",
"message_template": "差旅票据城市与申报目的地不一致,请补充多地出差、改签或异地住宿说明。"
},
"outcomes": {

View File

@@ -2,7 +2,7 @@
"schema_version": "2.0",
"rule_code": "risk.travel.low.vague_ticket_content",
"name": "差旅票据服务内容笼统低风险",
"description": "票据商品或服务名称过于笼统,例如仅写服务费、其他、详见清单等,提醒补充明细。",
"description": "票据商品或服务名称过于笼统,例如仅写服务费、其他、详见清单等,提醒补充明细;已明确识别为火车、机票、酒店、出租车等差旅票据时不按 OCR 全文关键词误判。",
"enabled": true,
"requires_attachment": true,
"risk_dimension": "travel_reimbursement_control",
@@ -41,14 +41,14 @@
},
{
"key": "attachment.ocr_text",
"label": "票据 OCR 全文",
"label": "未识别明确票据类型时的 OCR 兜底文本",
"type": "text",
"source": "attachment"
}
]
},
"params": {
"condition_summary": "票据商品或服务名称过于笼统,无法直接对应差旅事项。",
"condition_summary": "票据未识别为明确的酒店、交通等差旅票据,且商品或服务名称过于笼统,无法直接对应差旅事项。",
"message_template": "差旅票据服务内容较笼统,请补充明细清单或业务说明。"
},
"outcomes": {