食堂进货查验与留样记录核对(免费版)
完全本地运行:引擎已经打包在本技能里(
scripts/engine/目录)。 核对过程不需要联网、不需要 API Key、没有调用次数上限。
什么时候用
谁会在什么时候用:学校 / 企业 / 机关食堂的食堂管理员、后勤主任在每月食品安全自查时, 以及监管抽查前要把材料理一遍时,必须把这张表核一遍才能签字上报。
为什么必须核:《食品安全法》要求食品经营者建立进货查验记录(供货者、许可证、批次、保质期、数量、票据); 集中用餐单位还要每餐次留样(≥125g、留样 48 小时、记录留样人与时间)并做餐具消毒记录。 要把这些记录和采购台账、菜单对上:数量对不上、留样缺餐次、消毒记录断档都是整改 / 处罚项。 这些记录全是表格 ⇒ 可以逐行机械核对,不需要人工再算一遍。
每条结论都带原文行号与原文内容(含具体数字),可被第三方用同一口径复算; 材料不足时不给结论,会明确列出还缺哪几列。
这个免费版查什么(6 项)
- 进货数量勾稽:逐行按批次复算 入库数量 = 采购数量 − 退货数量,差额不为零即列出并给差额。
- 进货金额勾稽:逐行复算 单价 × 入库数量 + 运费 = 金额,差额不为零即列出并给差额。
- 留样餐次完整性:表中每个日期的 早 / 中 / 晚 三个餐次逐格点名,缺哪个日期加哪个餐次就报哪个。
- 留样量达标:单份留样量须 ≥ 留样下限列登记的下限(如 125g),低于即报并给该行原文。
- 同一供货者 + 同一批次重复登记检测:重复出现即点名两处行号与两处原文。
- 空白 / 占位符 / 认不出格式检测:13 个必需字段逐行点名,数值、日期与时间格式认不出即报; 缺列只报「材料不足」,绝不给结论。
必需列(缺任何一列都只报材料不足):日期、餐次、品名、供货者、采购数量、退货数量、入库数量、 单价、金额、留样量(g)、留样下限(g)、留样时间、留样人。
本版本不执行完整档另外那 5 项(见引擎导出的 CHECKS_WITHHELD),也不会给那 5 项的结论。
怎么用
node scripts/run.mjs --sample # 先看内置样例(干净样例,0 命中)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json # 机器可读输出
入参两种写法:{"text": "(把表头与数据行一起从 Excel 复制成文本,Tab 分隔最稳)"},
或直接把含表头的表格文本存成文件用 --input 传入。
需要完整档时(可选)
本免费版是完整可用的核心产出,本版本不包含下面这些项:
- 留样保存时长核对(留样时间到销毁 / 记录时间须 ≥ 48 小时,不足即报并给两处原文)
- 餐具消毒记录断档检测(按表中日期序列逐日比对,缺哪一天就点名哪一天)
- 供货者证照有效期覆盖(进货日期晚于食品经营许可证到期日即报,给两处原文)
- 保质期与入库日期核对(入库日期晚于保质期到期日即报,给两处原文)
- 分供货者 × 分品类汇总清单(按问题数量从多到少排序,逐组给出可整改动作,并输出 consolidated_actions)
同名工具的完整档是另一个独立商品(条款与条件以它自己的商品页为准);两档的差别就是上面这些,没有别的。
常见错法(食堂台账里最常见的 5 个)
- 退货没冲减:入库数量直接抄采购数量,退货行成了"隐形库存"。
- 留样只留了中餐:早/晚餐次漏留是最常见的整改项,工具会点名到具体日期与餐次。
- 留样量按"份"填:法规看的是单份克数(如 ≥125g),按份填等于没核。
- 同一供货者同一批次重复登记:一次送货分两次录入,金额与数量都会翻倍。
- 只登记留样时间、不登记销毁时间:完整档要判"是否满 48 小时",缺销毁时间就无法证明。
口径说明:工具只核记录表内的数量、金额、餐次与时间勾稽,不代替市场监管部门的现场检查; 材料不足时不给结论。
边界(请务必知道)
本工具不做引擎 CHECKS_OUT_OF_SCOPE 里列的那些判断(食堂实际食品安全状况、留样实物是否存在、
消毒工艺是否达标、证照真伪、读取原件与联网核验);材料不足时不给结论,
也不会输出「未发现问题」。本版本只核这张表按上面写明的口径算不算得对。
