canteen-inspection-record-check-freelisted
Install: claude install-skill chenqg618/compliance-skills
# 食堂进货查验与留样记录核对(免费版)
> **完全本地运行**:引擎已经打包在本技能里(`scripts/engine/` 目录)。
> 核对过程不需要联网、不需要 API Key、**没有调用次数上限**。
## 什么时候用
**谁会在什么时候用**:学校 / 企业 / 机关食堂的食堂管理员、后勤主任在**每月食品安全自查**时,
以及监管抽查前要把材料理一遍时,必须把这张表核一遍才能签字上报。
**为什么必须核**:《食品安全法》要求食品经营者建立**进货查验记录**(供货者、许可证、批次、保质期、数量、票据);
集中用餐单位还要**每餐次留样**(≥125g、留样 48 小时、记录留样人与时间)并做**餐具消毒记录**。
要把这些记录和采购台账、菜单对上:数量对不上、留样缺餐次、消毒记录断档都是**整改 / 处罚项**。
这些记录全是表格 ⇒ 可以逐行机械核对,不需要人工再算一遍。
每条结论都带**原文行号与原文内容**(含具体数字),可被第三方用同一口径复算;
材料不足时**不给结论**,会明确列出还缺哪几列。
## 这个免费版查什么(6 项)
1. **进货数量勾稽**:逐行按批次复算 入库数量 = 采购数量 − 退货数量,差额不为零即列出并给差额。
2. **进货金额勾稽**:逐行复算 单价 × 入库数量 + 运费 = 金额,差额不为零即列出并给差额。
3. **留样餐次完整性**:表中每个日期的 早 / 中 / 晚 三个餐次逐格点名,缺哪个日期加哪个餐次就报哪个。
4. **留样量达标**:单份留样量须 ≥ 留样下限列登记的下限(如 125g),低于即报并给该行原文。
5. **同一供货者 + 同一批次重复登记检测**:重复出现即点名两处行号与两处原文。
6. **空白 / 占位符 / 认不出格式检测**:13 个必需字段逐行点名,数值、日期与时间格式认不出即报;
**缺列只报「材料不足」,绝不给结论**。
必需列(缺任何一列都只报材料不足):日期、餐次、品名、供货者、采购数量、退货数量、入库数量、
单价、金额、留样量(g)、留样下限(g)、留样时间、留样人。
本版本**不执行**完整档另外那 5 项(见引擎导出的 `CHECKS_WITHHELD`),也不会给那 5 项的结论。
## 怎么用
```bash
node scripts/run.mjs --sample # 先看内置样例(干净样例,0 命中)
node scripts/run.mjs --input 你的材料.json # 跑自己的材料
node scripts/run.mjs --input 你的材料.json --json # 机器可读输出
```
入参两种写法:`{"text": "(把表头与数据行一起从 Excel 复制成文本,Tab 分隔最稳)"}`,
或直接把含表头的表格文本存成文件用 `--input` 传入。
## 使用次数与完整档
本免费版会在**本包目录**里记一个使用次数(`scripts/.hint-count`,一个整数,不含任何机器或用户信息)。
· 前 3 次:**完全离线**(不发生任何网络请求),输出与现在完全一样;
· 第 4 次起:服务端会返回一段**完整档说明**(完整档是另一个独立商品,条款与价格以它自己的商品页为准),届时才会打印这一行;
· 第 4 次起才会向服务端问一次(只发包标识与次数),拿回完整档说明;
·