feat(worktime): add management report layer

This commit is contained in:
igor04091968
2026-05-23 11:56:36 +03:00
parent 71b614125f
commit 0d56ab20d6
10 changed files with 1471 additions and 8 deletions
+12
View File
@@ -62,6 +62,18 @@ Live endpoint:
- `http://aw-local-server:5610/reports/worktime/today?format=html&date=2026-05-15`
Дополнительно в management-only контуре есть отдельный управленческий отчёт:
- `http://aw-local-server:5610/reports/worktime/management?format=html&day=today`
Он показывает не только roster, но и:
- `Что делать сегодня`;
- покрытие рабочего окна против календарной активности;
- очередь действий руководителя;
- trend;
- свежесть источников данных.
## 7. AW-rus: DLP review, rules и события
Экран AW-rus по bucket `aw-dlp-endpoint-signals_*`: здесь видны живые DLP-события, review-вердикты, правила, case-management и нижняя лента событий. Это прямое доказательство, что данные реально приходят на сервер до агрегации в InfluxDB/Grafana.
+1 -2
View File
@@ -264,7 +264,7 @@ Deployment/tooling:
| ActivityWatch API | `5600` | основной API buckets/events/settings |
| Policy Engine | `5601` | централизованная политика DLP |
| Case Management | `5602` | кейсы расследования |
| Worktime API | `5610` | отчёты worktime CSV/JSON |
| Worktime API | `5610` | отчёты worktime CSV/JSON/HTML и management view `/reports/worktime/management` |
### 6.2 Systemd units
@@ -608,4 +608,3 @@ python3 scripts/dlp-admin-cli.py cases list --limit 50
- `docs/windows/validation.md`
- `docs/runbook.md`
- `docs/worktime_aql_detmir.md`
+36
View File
@@ -80,6 +80,42 @@ ls -l /opt/activitywatch/webui-ru/js/
Playbook вычисляет `durationDefault` автоматически (включая смены через полночь) и выставляет:
`/api/0/settings/startOfDay` и `/api/0/settings/durationDefault`.
### Management report API
На `:5610` сейчас есть два server-side отчёта:
- классический `RDP worktime`:
- `/reports/worktime/today`
- форматы: `json`, `csv`, `html`
- управленческий `management`:
- `/reports/worktime/management`
- форматы: `json`, `csv`, `html`
Управленческий отчёт дополнительно показывает:
- рабочее окно отдельно от календарной активности;
- очередь действий руководителя;
- тренд за несколько дней;
- свежесть источников данных;
- executive summary `Что делать сегодня`.
Практические проверки:
```sh
curl -fsS 'http://127.0.0.1:5610/reports/worktime/today?day=today' | jq '.[:5]'
curl -fsS 'http://127.0.0.1:5610/reports/worktime/management?day=today' | jq '.summary,.executive'
curl -fsS 'http://127.0.0.1:5610/reports/worktime/management?format=html&day=today' | head
```
Важно:
- первый `management`-запрос после очистки cache может быть тяжёлым, потому что
API пересчитывает trend и source freshness;
- повторные запросы должны быть быстрыми за счёт cache в
`/var/lib/activitywatch/worktime-cache`;
- alias-файл для нормализации сотрудников по умолчанию:
`/etc/activitywatch/worktime-manager-aliases.json`.
## Типовые инциденты
### Hayabusa: операторский сценарий по умолчанию