用户提供 Excel 点检表文件后,执行以下步骤:
有效 Sheet 名称特征(满足其一即可):
无效 Sheet 特征(排除):
当 Sheet 名称无法判断时,检查其内容是否含有"严重度"列,有则视为有效。
在每个有效 Sheet 中,通过表头关键词定位以下列(列名不固定,按关键词模糊匹配):
| 逻辑列 | 匹配关键词(优先顺序) |
|---|---|
| -------- | ---------------------- |
| 编号 | "编号"、"序号"、"编码" |
| 领域 | "领域"、"方向"、"分类" |
| 对象 | "对象"、"检查对象" |
| 类别 | "类别"、"检查类别" |
| 模块 | "模块" |
| 子模块 | "子模块" |
| 阶段 | "阶段"、"开发阶段" |
| 检查要素 | "检查要素"、"检查项"、"检查内容" |
| 要求 | "要求"、"标准"、"规范" |
| 备注与说明 | "备注"、"说明" |
| 图示 | "图示"、"图片"、"截图" |
| 依据 | "依据"、"参考" |
| 严重度 | "严重度"、"严重性"、"级别" |
| 责任角色 | "责任角色"、"责任人"、"负责人" |
| 检查人 | "检查人"、"填写人" |
| 检查结果 | "检查结果"、"点检结果"、"结果"、"项目成员" |
| 问题描述 | "问题描述"、"问题说明" |
| 问题截图 | "问题截图" |
| 复核人 | "复核人"、"审核人"、"专家" |
| 核对结果 | "核对结果"、"复核结果"、"审核结果" |
| 风险等级 | "风险等级"、"风险级别"、"等级" |
| 风险描述 | "风险描述"、"风险说明" |
表头行通常在第1~10行,选取包含"严重度"关键词的行作为表头行。
【规则1违规】必须项检查结果为空)运行脚本:
python scripts/generate_report.py <input_file.xlsx> [output_file.xlsx]
若未指定输出文件名,默认在同目录生成 点检完善度报告_<原文件名>.xlsx。
脚本需要的依赖:
pip install openpyxl
输出 Excel 包含 3个 Sheet,格式与标准模版一致:
点检完善度统计点检结论
"必须"项是否都有结论 | 违规/合规
不满足项专家是否复核 | 合规/违规
指标 | 数量
严重度=必须
点检项总数 | N
检查结果:满足 | N
检查结果:不满足| N
检查结果:不涉及| N
检查结果:空白 ⚠| N
严重度=建议
点检项总数 | N
检查结果:满足 | N
检查结果:不满足| N
检查结果:不涉及| N
检查结果:空白 | N
不满足项汇总
不满足总数 | N
已有完整专家复核(4项均填写) | N
专家复核不完整 ⚠ | N
问题明细26列完整数据,按标准模版列顺序输出:
| 来源Sheet | 原始行号 | 编号 | 领域 | 对象 | 类别 | 模块 | 子模块 | 阶段 | 检查要素 | 要求 | 备注与说明 | 图示 | 依据 | 严重度 | 责任角色 | 检查人 | 检查结果 | 问题描述 | 问题截图 | 复核人 | 核对结果 | 风险等级 | 风险描述 | 违规类型 | 缺失字段 |
|---|
风险清单从专家复核完整的不满足项中提取风险信息:
| 序列 | 模块 | 风险点及失效模式描述 | 提出人 | 改进措施 | 责任人 | 责任部门 | 风险等级 | PR0 | PR1 | PR2 | PIR | 状态 | 问题关闭时间 |
|---|
None、空字符串、纯空格均视为空白共 1 个版本