{ "schema_version": "2.0", "rule_code": "risk.expense.travel.generated_20260526101912249313", "name": "差旅基础字段缺失提醒", "description": "检查差旅报销的报销事由、申报目的地、明细发生地点和明细事由是否填写完整,确保能说明出差目的、发生城市和费用内容。缺少这些字段但无其他风险迹象时标记为中风险,提示补齐。", "enabled": true, "requires_attachment": false, "risk_dimension": "natural_language_rule", "risk_category": "差旅费", "ontology_signal": "natural_language_risk", "evaluator": "template_rule", "template_key": "field_required_v1", "semantic_type": "travel_info_completeness", "applies_to": { "domains": [ "expense" ], "expense_categories": [ "travel" ] }, "inputs": { "fields": [ { "key": "claim.location", "label": "申报地点", "type": "text", "source": "claim" }, { "key": "claim.reason", "label": "报销事由", "type": "text", "source": "claim" }, { "key": "item.item_location", "label": "明细地点", "type": "text", "source": "item" }, { "key": "item.item_reason", "label": "明细事由", "type": "text", "source": "item" } ] }, "params": { "template_key": "field_required_v1", "field_keys": [ "claim.location", "claim.reason", "item.item_location", "item.item_reason" ], "condition_summary": "检查申报地点、报销事由、明细地点是否满足必填和完整性要求", "natural_language": "差旅费报销提交时,先读取报销事由、申报目的地、费用类型、明细发生地点和明细事由;再判断这些字段是否能完整说明出差目的、发生城市和费用内容。若缺少申报目的地、明细地点或明细事由,但暂未发现票据城市冲突、金额异常或重复报销迹象,则标记为低风险,提示经办人补齐基础差旅信息后继续提交。", "semantic_type": "travel_info_completeness", "required_fields": [ "claim.location", "claim.reason", "item.item_location", "item.item_reason" ] }, "outcomes": { "pass": { "severity": "none", "action": "continue" }, "fail": { "severity": "low", "action": "manual_review", "risk_score": 30 } }, "metadata": { "owner": "admin", "stability": "generated_draft", "source_ref": "自然语言风险规则", "created_at": "2026-05-26T10:19:12.249313+08:00", "created_by": "admin", "requires_attachment": false, "risk_score": 30, "risk_level": "low", "risk_level_label": "低风险", "risk_score_model": "risk_score_v3", "risk_score_detail": { "score": 30, "level": "low", "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": 48, "certainty": 86, "evidence": 62, "exception": 35, "action": 35, "sensitivity": 70 }, "calibration": { "raw_score": 58, "rules": [ { "name": "explicit_low_control_cap", "score_before": 58, "score_after": 30, "reason": "规则语义明确为低风险,且控制动作仅为提醒、提示、补齐或补充说明。" } ] }, "ai_evidence": {}, "basis": { "template_key": "field_required_v1", "field_count": 4, "condition_count": 0, "expense_category": "travel", "expense_category_label": "差旅费", "requires_attachment": false } }, "rule_title": "差旅基础字段缺失提醒", "expense_category": "travel", "expense_category_label": "差旅费", "natural_language": "差旅费报销提交时,先读取报销事由、申报目的地、费用类型、明细发生地点和明细事由;再判断这些字段是否能完整说明出差目的、发生城市和费用内容。若缺少申报目的地、明细地点或明细事由,但暂未发现票据城市冲突、金额异常或重复报销迹象,则标记为低风险,提示经办人补齐基础差旅信息后继续提交。", "business_explanation": "检查差旅报销的报销事由、申报目的地、明细发生地点和明细事由是否填写完整,确保能说明出差目的、发生城市和费用内容。缺少这些字段但无其他风险迹象时标记为中风险,提示补齐。", "condition_summary": "检查申报地点、报销事由、明细地点是否满足必填和完整性要求", "rule_ir": { "facts": [ "A = claim.reason (报销事由)", "B = claim.location (申报目的地)", "C = item.item_location (明细发生地点)", "D = item.item_reason (明细事由)" ], "conditions": [ { "id": "missing_travel_info", "operator": "not_exists_any", "fields": [ "B", "C", "D" ] } ], "hit_logic": "missing_travel_info AND (A exists) → 低风险,提示补齐申报目的地、明细地点或明细事由" }, "flow": { "start": "提交差旅报销单", "evidence": "读取申报地点、报销事由、明细地点", "decision": "检查申报地点、报销事由、明细地点是否满足必填和完整性要求", "pass": "所有基础差旅信息完整,无风险提示", "fail": "缺少申报目的地/明细发生地点/明细事三者之一,标记为中风险,提示经办人补齐后继续提交" } }, "flow_diagram_svg": "\n 差旅基础字段缺失提醒流程说明\n 风险规则只读流程图,展示字段事实、集合交集、日期范围、例外说明和命中路径。\n \n \n \n \n \n \n \n \n \n \n RULE FLOW\n \n \n \n 业务输入\n 提交差旅报销单\n \n \n \n 字段事实\n A=申报地点[claim.location]\n B=报销事由[claim.reason]\n C=明细地点[item.item_location]\n D=明细事由[item.item_reason]\n \n \n \n 判断条件\n 检查申报地点、报销事由、明细地点是否满足必填和完整性要求\n \n \n \n 命中逻辑\n 检查申报地点、报\n 销事由、明细地…\n \n \n \n \n 继续流转\n 所有基础差旅信息完…\n \n \n \n \n 进入复核\n 缺少申报目的地/明…\n \n \n \n \n \n \n \n \n \n", "severity": "low", "risk_score": 30, "risk_level": "low", "risk_level_label": "低风险", "risk_score_detail": { "score": 30, "level": "low", "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": 48, "certainty": 86, "evidence": 62, "exception": 35, "action": 35, "sensitivity": 70 }, "calibration": { "raw_score": 58, "rules": [ { "name": "explicit_low_control_cap", "score_before": 58, "score_after": 30, "reason": "规则语义明确为低风险,且控制动作仅为提醒、提示、补齐或补充说明。" } ] }, "ai_evidence": {}, "basis": { "template_key": "field_required_v1", "field_count": 4, "condition_count": 0, "expense_category": "travel", "expense_category_label": "差旅费", "requires_attachment": false } } }