电梯维保与年检记录核对(免费版)
完全本地运行:引擎已经打包在本技能里(
engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
什么时候用
谁会在什么时候用:写字楼 / 商场 / 医院 / 住宅小区的电梯管理员、物业设备主管、物业安全员, 在每半月的维保到场、每月一次的维保台账自查、每年定期检验前的资料清点这几个固定节点上, 必须把这张《电梯维保与年检记录台账》核一遍才能往下走。
为什么非核不可:电梯是法定周期设备 —— 必须由有资质的维保单位每 15 天维保一次, 每年由检验机构定期检验一次;物业要保存维保记录、故障与困人救援记录、检验报告。 「维保记录缺失 / 间隔超 15 天」「年检过期仍在用」「困人救援超 30 分钟」都是监管直接处罚项, 也是物业在投诉与索赔里最容易被抓住的地方:
- 台账上两次维保隔了 46 天,写的还是"正常" ⇒ 监管查到就是未按周期维保;
- 「定期检验有效期至」已经过去,维保还在继续做、梯还在载客 ⇒ 年检过期仍在用;
- 困人救援到场 45 分钟 ⇒ 这条记录本身就是证据。
这张表(电梯维保与年检记录台账)会逐项核对什么:台账的逐行算术与勾稽 —— 维保间隔、年检有效期、维保次数、重复登记、合计行、关键字段与状态值。
每条结论都带原文行号与原文行内容,可被第三方用同一口径复算; 材料不足时不给结论,会明确列出还缺什么。
这个免费版查什么(六项)
- 维保间隔超期 —— 同一电梯相邻两次维保日期间隔 ≤ 15 天;超期逐梯逐次给出超期天数。
- 年检超期 —— 本次维保/检查日期(即维保日期)≤「定期检验有效期至」;超期给出超期天数。
- 维保次数不足 —— 按 15 天周期由首末维保日期推算应有次数,与实际维保次数逐梯勾稽,给出缺次。
- 维保记录重复登记 —— 同一电梯同一维保日期出现两次及以上即点名(让"次数虚高"藏不住真正的漏保)。
- 合计行不符 —— 合计行的数量类列(维保项目数 / 应有项目数 / 救援到达时间)必须等于明细行同列之和。
- 关键字段缺失与非法值 —— 空白/占位符、日期格式(只认 2026-03-05 这类写法)、 状态值(只认 正常 / 故障 / 停用 / 检修)、数量为负或看不懂(不会悄悄当成 0)。
跑 --sample 会打印实际执行了哪些检查项。
怎么用
node scripts/run.mjs --sample # 先看内置样例(一张干净台账,应报 0 条问题)
node scripts/run.mjs --input 你的台账.json # 跑自己的台账
node scripts/run.mjs --input 你的台账.json --json
入参两种写法:
{"text": "(把表头和数据行一起贴进来,Tab 分隔最稳)"}- 直接把台账(含表头)从 Excel 复制成文本存成文件,用
--input指过去
必需列(缺任何一列都只报"材料不足",绝不给结论): 电梯编号、使用登记证号、安装位置、维保单位、维保日期、维保项目数、应有项目数、 定期检验有效期至、状态、故障日期、救援到达时间(分钟)、故障恢复日期。
可选列:楼栋、维保单位资质到期日、备注(这三列不填不影响免费档的六项核对)。
退出码:0 已执行检查 / 1 缺少入参 / 3 材料不足(不给结论)/ 4 入参读不到或无法解析 / 9 未预期错误。
出参
--json 输出一份 JSON:
status——success表示检查已执行;insufficient_input表示材料不足,此时没有结论,missing逐条列出还缺什么result.findings[]—— 每条含level(P0/P1/P2)、category、line(原文行号)、lift(电梯编号)、message(带天数/日期等数字)、evidence(原文行内容)、diff(超期天数或差额)、adviceresult.summary—— 明细行数、电梯台数、维保记录条数、问题条数、P0/P1/P2 计数与数量类列合计result.checks_executed—— 本次真的执行了哪些检查result.checks_not_run—— 本次没执行哪些检查(如实列出,不会用默认值假装做过)result.checks_out_of_scope—— 本工具根本不做的判断result.note—— 零发现时出现,说明"通过"只覆盖上面写明的口径
常见错法(本产品专属)
- 维保日期写成"2026年3月"或"3月5号" —— 日期必须能解析成具体某一天(如 2026-03-05), 否则维保间隔直接算不出来,本工具会报「日期格式非法」而不是替你猜一个日子。
- 两次半月保都记在月末 —— 为了"看起来一个月一次",把两次维保都写成 3 月 31 日: 真实间隔从台账上消失了,而且同一天两行会被判「维保记录重复登记」。补做要写实际到场日期。
- 「定期检验有效期至」留空或填成旧日期,维保照做 —— 只要维保日期晚于它,就报「年检超期」; 年检过期期间继续载客是监管直接处罚项。空着不填则报「关键字段缺失」,本工具不会当你年检有效。
- 合计行手填、删行后没改 —— 合计行(维保项目数 / 应有项目数 / 救援到达时间)必须等于明细行之和; 删掉一台梯的行而合计没动,就会报「合计行不符」,而且该行不计入任何逐梯核对。
- 状态写"已修复""OK""好了" —— 状态只认 正常 / 故障 / 停用 / 检修; 自由文本会被判「状态值非法」,而且"故障"相关的那几项从此没法判(状态说故障就必须有故障日期)。
不包含什么
本免费版不执行下面这几类检查,也不会用默认值假装产出:
- 困人救援超时(救援到达时间 > 30 分钟,逐台点名电梯与超时分钟数,按超时降序)
- 维保项目不齐(维保项目数 < 应有项目数,逐台点名并给出缺项数)
- 故障闭环(故障日期 → 故障恢复日期是否在规定时限内;未闭环按已停机天数排序)
- 维保单位资质有效期覆盖(维保日期 ≤ 资质到期日,超期点名到维保单位)
- 分维保单位 × 分楼栋汇总清单(按超期与故障数排序,给出可整改动作与 consolidated_actions)
checks_not_run 里会如实列出这些未执行项。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 困人救援超时(救援到达时间 > 30 分钟,逐台点名电梯与超时分钟数,按超时降序)
- 维保项目不齐(维保项目数 < 应有项目数,逐台点名并给出缺项数)
- 故障闭环(故障日期 → 故障恢复日期是否在规定时限内;未闭环按已停机天数排序)
- 维保单位资质有效期覆盖(维保日期 ≤ 资质到期日,超期点名到维保单位)
- 分维保单位 × 分楼栋汇总清单(按超期与故障数排序,给出可整改动作与 consolidated_actions)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
边界(请务必知道)
- 本工具不做引擎
CHECKS_OUT_OF_SCOPE里列的那些判断:不判定电梯是否"真的做过"维保、 不判定维保作业质量、不替代检验机构的定期检验结论、不判定困人救援过程是否合规处置、 不读 .xlsx/.pdf 原件、核对过程不联网核验维保单位资质证书真伪。 - 本工具只核台账的字面记录:记录写得对不等于现场做得对。
- 材料不足时不给结论,也不会输出「未发现问题」。
- 核对全部在本机用 Node 标准库完成,你的台账不出本机。
