assignment-tracking-invariants.spec.ts
14.3 KB
-
fix(团队负载): 「分到 N 条一条都没动」把主管自己撤回去的也算进去了 · 59378564
实测:姜茜「这 7 天分到 53 条,一条都还没动」,拆开是 20(8/4 17:31 那批,**已撤销**)+ 20 + 13。 头一个 20 是主管自己在撤销窗口里收回去的,她根本没机会碰。 摆在「分到…一条都没动」里,等于拿主管自己的操作去指责客服。 ⇒ assign 统计排掉落了 `auto_release/revoked` 的那些。
⚠ ️ 判据是**逐条 + 同批次**,⛔ 不是"整批 status=revoked 就全扣": · 撤销刻意不收已被客服打开过(view 事件)的单 —— 那些仍在他手上、仍该算他的 · 同一条单可能先在 A 批被撤、后在 B 批正常分给他,B 批那次不能跟着被扣⚠ ️ 到期回池(assignment_expired)**照样算** —— 单子在他手上放到过期, 正是「没动」要表达的东西,⛔ 别一起排掉。 测试机实测(同一条 SQL 直查):李银兰 62→42、张悦 61→41、康慧捧 58→40、 刘艳阳 55→35,各减掉自己在撤销批里的那一份;不在该批的(钱俏虹 397)不动。 回归锁 SQL 文本 —— 口径写在原生查询里,$queryRaw 一 mock 就是"喂什么返什么", 行为测试证明不了任何事。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>luoqi committed