fix(regulatory): 缺失问题标题显示章节序号
This commit is contained in:
@@ -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']}"
|
||||
|
||||
@@ -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']}"
|
||||
|
||||
Reference in New Issue
Block a user