1. 引言
考勤异常、请假通过、加班审批,值班最怕两件事:系统里过了,当事人没收到;或者补发把昨天的催办原文中午再灌一遍。官方审批、打卡是内部流程。通知到人、拉进说明群、提醒直属,是另一层出站。
2. 流程系统和会话是两段
审批引擎负责状态机:提交、通过、驳回、撤销。企业微信负责把已审短句打到对的人。不要在审批通过的页面线程里既弹窗又发送。
QiWe API 负责把结果送到员工会话或群,审批结论仍以流程系统为准。
| 事件 | 谁收到 | 幂等 |
|---|---|---|
| 请假通过 | 申请人 + 直属 | 单号+通过 |
| 考勤缺卡 | 当事人 | 当天+类型 |
| 驳回 | 申请人 | 单号+驳回次数 |
| 催办 | 当前审批人 | 节点+轮次 |
官方打卡、审批怎么开权限,看官方说明。账号侧怎么通知到人,以 API文档 为准。
3. 定时与时区
「每天九点催未打卡」看对方墙上的钟,不是服务器右下角。错过上午的催办,中午不要把原文再发一遍。号掉线停在存活,不要改系统时区去碰。
python
def on_approved(device, to, order_no, db, enqueue):
key = f"leave:{order_no}:pass"
if db.try_insert(key):
enqueue(device, to, "请假已通过,按已审模板发送。")
出站交给 QiWe API。文案用已审模板,不要让模型改假期天数。
4. 不要用内部群顶替当事人
审批结果打到全员群,当事人以为没批。精准推送按联系人 ID。需要群备案内,另绑群 ID,两套任务不要合并成一条。
通知和通讯录分模块做,不要合成一次搜索。
5. 验收
同一审批单通过只出一条;驳回再通过是另一条业务键;测试单不得进生产负责人会话。
6. 总结
考勤与审批自动化,流程在 OA,通知在会话。企业微信API把结果送到人,不要把审批引擎写进回调函数里。