duxingchen
44ca09ae22
feat: 新增个人效能统计接口 /dashboard/my-stats(支持自选时段)
移动端「个人中心 → 工作统计」的数据源。现有接口拿不到这份数据:
/dashboard/people-history 支持 assignee_id 但只返回 WIP/PENDING/COMPLETED,
不含 REJECTED;/dashboard/rejected-tasks 则根本没有 assignee_id 参数 ——
「今日被驳回数」按现有接口无论如何都过滤不到个人。故补一个薄桥接端点。
服务端 get_my_stats(db, assignee_id, since, until) 返回两组指标:
生产战绩(按 Task.assignee_id 归因)
- tasks_completed / tasks_rejected:status 判定 + completed_at 落在区间,
与 get_dashboard_stats 的 t_done_q 同一口径,只多了 assignee_id 过滤
- products_touched:按 product_id 去重,同一台设备做多道工序只算一台
操作统计(与 PC /dashboard/user-operations 严格同口径)
- receive/transfer:task_logs 的 receive / complete,按 operator_id 归因
- record:task_records 按 Task.assignee_id 归因,排除 '[' 开头的系统自动备注
- 前两项归因 operator_id、第三项归因 assignee_id 是 PC 端既有口径,
此处刻意保持一致,便于工人自查的数与主管看到的面板对得上
端点侧新增 _parse_bound():裸时间字符串(无时区偏移)按北京时间解释,
否则会被当作服务器本地时间,边界整体偏 8 小时,出现「选了今日却统计到
昨天下午」。since/until 缺省为「本月 1 日 ~ 此刻」。
2026-09-15 15:51:34 +08:00
..
2026-08-04 17:09:47 +08:00
2026-09-02 10:38:53 +08:00
2026-08-07 12:35:00 +08:00
2026-08-07 11:44:04 +08:00
2026-09-15 15:51:34 +08:00
2026-09-01 13:53:24 +08:00
2026-08-28 15:08:05 +08:00
2026-08-12 12:03:12 +08:00
2026-08-12 12:03:12 +08:00
2026-08-12 12:04:40 +08:00
2026-08-12 12:04:40 +08:00
2026-09-07 13:43:06 +08:00
2026-08-12 12:04:40 +08:00
2026-09-15 10:57:46 +08:00
2026-08-12 17:19:56 +08:00
2026-08-05 14:00:43 +08:00
2026-08-06 10:08:18 +08:00
2026-09-01 17:25:22 +08:00