物资管理
这里管的是非食材物资(食材归饮食模块)。当前库存全部由 库存流水实时聚合得出,库中没有库存缓存列 —— 所以"网页上的数字" 和"账本里的行"天然是同一个东西。
14物资
4分类
5库位
58库存流水
0采购单(另有 2 张已删除)
15存量建账(不对账)
0
低于最低库存
最近流水
| 时间 | 物资 | 类型 | 数量 | 金额 | 备注 |
|---|---|---|---|---|---|
| 10-28 06:43 | 刮胡刀电池 | 消耗出库 | -1 天 | ¥-0.01 | |
| 10-27 16:01 | 帕利哌酮 | 消耗出库 | -7 片 | ¥-147.40 | |
| 10-27 15:59 | 刮胡刀电池 | 消耗出库 | -1 天 | ¥-0.01 | |
| 10-27 15:58 | 薄抽纸 | 消耗出库 | -100 张 | ¥-1.30 | |
| 10-25 00:00 | 刮胡刀电池 | 存量建账 | +7 天 | ¥0.07 | 存量建账:系统建立前已有的物资,不参与财务对账 |
| 10-25 00:00 | 牙膏 | 存量建账 | +5 桶 | ¥53.50 | 存量建账:系统建立前已有的物资,不参与财务对账 |
| 10-23 08:02 | 卫生纸 | 消耗出库 | -1 卷 | ¥-1.50 | |
| 10-22 00:00 | 厚抽纸 | 存量建账 | +320 张 | ¥3.60 | 存量建账:系统建立前已有的物资,不参与财务对账 |
一致性自检
✓ 全部检查通过(14 个物资,0 差异)
C1 全局库存=各库位之和 · C2 无负库存 · C3 无未过账流水 ·
C4 冲销不孤立不重复 · C5 消耗与流水一一对应 · C6 成本字段自洽。
机器可读版本:GET /materials/api/consistency(异常时返回 409)。
数据库护栏
已启用 共 9 个触发器
库存流水 / 消耗记录 / 审计日志三张表被触发器锁定为只增不改:
任何 UPDATE / DELETE 都会被数据库直接拒绝。
流水页的「编辑」「删除」因此做的是红冲 + 重开,原行永远不动。