| Line 2... |
Line 2... |
| 2 |
|
2 |
|
| 3 |
import java.util.List;
|
3 |
import java.util.List;
|
| 4 |
import java.util.Map;
|
4 |
import java.util.Map;
|
| 5 |
|
5 |
|
| 6 |
/**
|
6 |
/**
|
| 7 |
* Read-only Period analytics for the new "Beat Journey" console. Mirrors
|
7 |
* Read-only Period analytics for the new "Beat Journey" console — live
|
| 8 |
* {@link RouteAnalyticsService} (live cross-schema native SQL) but every query is
|
8 |
* cross-schema native SQL, where every query is scoped to a caller-supplied set
|
| 9 |
* scoped to a caller-supplied set of user ids so each manager sees only their own
|
9 |
* of user ids so each manager sees only their own downline. The caller resolves
|
| 10 |
* downline. The caller resolves the scope (downline → auth_user ids → dtr.users
|
10 |
* the scope (downline → auth_user ids → dtr.users ids via the email bridge) and
|
| 11 |
* ids via the email bridge) and passes both id sets in.
|
11 |
* passes both id sets in.
|
| 12 |
*
|
12 |
*
|
| 13 |
* (The "Today / live" payload is assembled in the controller from repositories —
|
13 |
* (The "Today / live" payload is assembled in the controller from repositories —
|
| 14 |
* it reuses Beat Report's per-user today-assembly rather than duplicating
|
14 |
* it reuses Beat Report's per-user today-assembly rather than duplicating
|
| 15 |
* name/beat lookups in SQL.)
|
15 |
* name/beat lookups in SQL.)
|
| 16 |
*
|
16 |
*
|