一句话
订餐系统的关键不是一张申请表,而是把人员、地点、截止规则、菜单和订单分开建,再用成员身份、组合唯一键、取消留痕和净数量统计连成闭环。
| 数据 | 负责什么 | 不该承担什么 |
|---|---|---|
| 人员档案 | 成员身份、部门、办公地点、代办关系 | 不把姓名当唯一身份 |
| 办公地点 | 地点编码、供餐方式 | 不写死每天的菜单 |
| 订餐规则 | 各地点、餐次的截止时间 | 不散落在申请表公式里 |
| 周菜单 / 每日菜单 | 一周安排;拆成日期+餐次+地点+菜单编码 | 不只用菜名识别 |
| 订餐申请 | 谁、哪天、哪里、哪一餐、当前状态 | 不删除取消记录 |
会变的规则放配置表,稳定身份放主数据,业务动作放申请记录。地点改截止时间时只改规则,不用改表单和自动化。
截止规则怎么判断
- 按用餐人的办公地点找到适用规则。
- 按日期和餐次得到截止时点。
- 用统一业务时区,比较服务器当前时间和截止时点。
- 截止后不再允许新增或修改,特殊补录走单独授权的入口。
防重与取消
- 一条订餐由“用餐人+用餐日期+餐次”识别,多地点可选时再加地点。提交前查这个组合是否已有有效订单。
- 普通员工只能给自己订;领导的秘书代订,由人员档案或授权表指定。
- 取消不删原单:要么改状态为已取消,要么记一条 −1,按相同维度算净数。
净备餐量 = 有效订餐数量 − 有效取消数量
常见错误
- 地点和截止时间写死在申请表里。
- 用姓名文本识别员工、领导或代办人。
- 取消时直接删订单,追溯不了。
- 防重只查“有没有记录”,没排除已取消的。
- 备餐量直接数申请行数,把取消的也算进去。
- 用手机或电脑本地时间判断截止。
资料来源:jdy-knowledge《配置表驱动的企业订餐系统》(《企业订餐系统》课程第 1—8 集学员稿提炼)。
笔记配合视频看效果更好,视频在 B 站「AI企业管理研究员」等平台。