fix(regulatory): 缺失问题标题显示章节序号

This commit is contained in:
2026-06-07 11:12:19 +08:00
parent 462d3ec5f5
commit f46d9c5be6
4 changed files with 21 additions and 5 deletions

View File

@@ -27,8 +27,8 @@ def run_completeness_check(batch: FileSummaryBatch, rule_set: dict) -> list[Find
rule_code=requirement["code"],
category=requirement.get("category", "completeness"),
severity=requirement.get("severity", "medium"),
title=f"缺少{requirement['title']}",
detail=f"当前文件汇总批次未发现{requirement['title']}",
title=f"缺少{_numbered_title(requirement)}",
detail=f"当前文件汇总批次未发现{_numbered_title(requirement)}",
suggestion=requirement.get("suggestion", ""),
evidence={
"requirement_type": requirement.get("type"),
@@ -44,3 +44,10 @@ def run_completeness_check(batch: FileSummaryBatch, rule_set: dict) -> list[Find
def _matches_item(file_name: str, relative_path: str, directory_level: str, keywords: list[str]) -> bool:
haystack = f"{file_name} {relative_path} {directory_level}".lower()
return any(str(keyword).lower() in haystack for keyword in keywords)
def _numbered_title(requirement: dict) -> str:
attachment4_code = requirement.get("attachment4_code")
if not attachment4_code:
return requirement["title"]
return f"{attachment4_code}{requirement['title']}"

View File

@@ -16,8 +16,8 @@ def run_structure_check(document_texts: dict[str, str], rule_set: dict) -> list[
rule_code=requirement["code"],
category="structure",
severity=requirement.get("severity", "medium"),
title=f"申报资料目录缺少{requirement['title']}章节",
detail=f"未在申报资料目录或章节标题候选中发现{requirement['title']}",
title=f"申报资料目录缺少{_numbered_title(requirement)}章节",
detail=f"未在申报资料目录或章节标题候选中发现{_numbered_title(requirement)}",
suggestion=requirement.get("suggestion", ""),
evidence={
"attachment4_code": requirement.get("attachment4_code"),
@@ -68,3 +68,10 @@ def _contains_any(text: str, needles: list[str]) -> bool:
def _normalize_title(value: str) -> str:
return "".join(str(value).lower().replace("/", "").replace("", "").split())
def _numbered_title(requirement: dict) -> str:
attachment4_code = requirement.get("attachment4_code")
if not attachment4_code:
return requirement["title"]
return f"{attachment4_code}{requirement['title']}"