feat(workforce): add department comparison layer

This commit is contained in:
igor04091968
2026-06-03 11:42:24 +03:00
parent 233524049e
commit c1119b460b
3 changed files with 228 additions and 1 deletions
+23
View File
@@ -23,6 +23,9 @@ Forensics усиливают продукт, но не должны перетя
- индекс активности: proxy `активное время / плановое рабочее время`;
- взвешенная активность: только при настроенной role/application policy;
- сравнение подразделений за текущий день;
- сравнение ответственных/владельцев процессов за текущий день;
- статус тренда: `daily_only`, `weekly_ready` или `monthly_ready`;
- активное время;
- простой;
- число рабочих сессий;
@@ -67,6 +70,26 @@ sudo systemctl restart detmir-portal.service
`Индекс активности`. `Взвешенная активность` появляется только после настройки
role/application policy.
### Сравнение подразделений и тренды
Портал использует validated management snapshot из Worktime API и показывает:
- подразделения: coverage, активные пользователи, суммарное активное время;
- ответственных/владельцев процессов: coverage, активные пользователи,
суммарное активное время;
- статус тренда по числу накопленных daily points.
Правило честной интерпретации:
- `daily_only` - есть только оперативный дневной срез, месячные выводы делать
нельзя;
- `weekly_ready` - накоплено достаточно точек для недельного сравнения;
- `monthly_ready` - накоплено достаточно точек для месячного отчета владельцу.
Месячный отчет должен строиться только после накопления daily history. Если
история содержит один день, интерфейс обязан показывать дневной срез, а не
выдавать его за тренд месяца.
Корректная формулировка для продажи:
> DetMir помогает руководителю видеть загрузку сотрудников и бизнес-процессов
+7
View File
@@ -35,6 +35,13 @@ baseline и раздела `Phase 8: Post-MVP Enhancements`.
- отчет поддерживает `Взвешенную активность` при наличии
`/etc/detmir-portal-workforce-policy.json`; публичный пример лежит в
`configs/detmir-workforce-policy.example.json`;
- отчет использует Worktime management snapshot и показывает сравнение
подразделений/ответственных за текущий день;
- JSON отчета содержит `workforce.department_comparison`,
`workforce.owner_comparison`, `workforce.trend` и `workforce.trend_status`;
- `trend_status=daily_only` означает, что месячный тренд еще нельзя
интерпретировать как полноценный отчет; для `monthly_ready` нужна накопленная
daily history;
- Ansible устанавливает initial workforce policy только если runtime-файл
отсутствует, чтобы не перетирать клиентские веса ролей;
- отчет содержит Markdown export для передачи руководителю или заказчику;