feat(v2): 实现SQLite对公租赁经验加工与卡片预审轨迹闭环
This commit is contained in:
@@ -35,7 +35,7 @@ def _codes(findings) -> set[str]:
|
||||
def hard_blocks(findings, hard_rule_codes) -> list[dict]:
|
||||
"""命中的硬性阻断项。`hard_rule_codes` 来自冻结方案里 effect=hard 且 on_match=block 的规则。"""
|
||||
wanted = set(hard_rule_codes or ())
|
||||
return [dict(item) for item in findings or () if item.get("code") in wanted]
|
||||
return [dict(item) for item in findings or () if item.get("code") in wanted and item.get("result") == "issue"]
|
||||
|
||||
|
||||
def critical_incomplete(findings, critical_check_ids) -> list[str]:
|
||||
@@ -80,6 +80,10 @@ def decide(findings, missing_inputs=(), degradations=(), judgments=(),
|
||||
reason = ("关键核查未能完成,无法形成结论,请补充材料后重新发起;"
|
||||
"不得据此判定企业高风险。未完成项:" + "、".join(incomplete))
|
||||
missing = sorted(set(missing) | set(incomplete))
|
||||
elif degradations or missing or any(item.get("result") == "error" for item in findings or ()):
|
||||
stage = "critical_incomplete"
|
||||
recommendation = "insufficient_information"
|
||||
reason = "核查存在未完成步骤或缺失材料,请补充并重新核查;不得按已通过处理"
|
||||
elif open_items:
|
||||
stage = "open_findings"
|
||||
recommendation = "supplement"
|
||||
|
||||
Reference in New Issue
Block a user