]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
Добавлена документация для контроллеров ERP24, включая обзор, классификацию и детальн...
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 25 Nov 2025 10:42:41 +0000 (13:42 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Tue, 25 Nov 2025 10:42:41 +0000 (13:42 +0300)
erp24/docs/controllers/README.md [new file with mode: 0644]
erp24/docs/controllers/standard/CATALOG.md [new file with mode: 0644]

diff --git a/erp24/docs/controllers/README.md b/erp24/docs/controllers/README.md
new file mode 100644 (file)
index 0000000..c67b558
--- /dev/null
@@ -0,0 +1,404 @@
+# Контроллеры ERP24
+
+## Обзор
+
+Данный документ описывает архитектуру и классификацию всех web-контроллеров системы ERP24.
+
+**Общая статистика:**
+- Всего контроллеров: **161**
+- Нестандартные контроллеры (детальная документация): **47** (29%)
+- Стандартные контроллеры (краткое описание): **114** (71%)
+
+---
+
+## Структура документации
+
+```
+/docs/controllers/
+  ├── README.md                          # Этот файл (обзор и классификация)
+  ├── non-standard/                      # Детальная документация нестандартных контроллеров
+  │   ├── AutoPlannogrammaController.md
+  │   ├── WriteOffsErpController.md
+  │   ├── MarketplaceOrdersController.md
+  │   └── ... (47 файлов)
+  └── standard/                          # Каталог стандартных контроллеров
+      └── CATALOG.md                     # Сводный каталог всех стандартных контроллеров
+```
+
+---
+
+## Критерии классификации
+
+### Нестандартные контроллеры
+
+Контроллер считается **нестандартным** и требует детальной документации, если выполняется **хотя бы одно** условие:
+
+1. **Размер >300 строк кода**
+2. **Использование 3+ сервисов** (`*Service::`)
+3. **Наличие API интеграций** (маркетплейсы, 1С, внешние системы)
+4. **Работа с файлами/изображениями** (`UploadedFile`, `FileService`)
+5. **Сложные вычисления** (множественные циклы, агрегации данных)
+6. **Критическая функциональность** (авторизация, RBAC, дашборды)
+
+### Стандартные контроллеры
+
+Контроллер считается **стандартным**, если:
+
+1. Размер <100 строк и простой рендеринг view
+2. Делегирует всю логику в Action классы
+3. Стандартные CRUD операции без кастомной логики (сгенерирован через Gii)
+4. Нет интеграций, сервисов, работы с файлами
+
+---
+
+## Классификация контроллеров
+
+### 1. Нестандартные контроллеры (47 шт.)
+
+#### 1.1. Очень крупные контроллеры (>1000 строк) — 3 шт.
+
+| Контроллер | Строк | Actions | Назначение | Документация |
+|------------|-------|---------|------------|--------------|
+| **AutoPlannogrammaController** | 2457 | 30 | Автоматическая планограмма товаров по магазинам | [Документация](non-standard/AutoPlannogrammaController.md) |
+| **WriteOffsErpController** | 1252 | 10 | Управление списаниями товаров в ERP | [Документация](non-standard/WriteOffsErpController.md) |
+| **MarketplaceOrdersController** | 1072 | 17 | Интеграция с маркетплейсами (Flowwow, Яндекс) | [Документация](non-standard/MarketplaceOrdersController.md) |
+
+**Особенности:**
+- Критическая бизнес-логика
+- Множественные интеграции с внешними системами
+- Сложные алгоритмы расчетов и обработки данных
+- Работа с файлами Excel, изображениями
+
+---
+
+#### 1.2. Крупные контроллеры (500-1000 строк) — 9 шт.
+
+| Контроллер | Строк | Actions | Назначение | Документация |
+|------------|-------|---------|------------|--------------|
+| **ClusterLinkEditController** | 730 | 10 | Редактирование связей кластеров магазинов | [Документация](non-standard/ClusterLinkEditController.md) |
+| **CategoryPlanController** | 713 | 8 | Планирование по категориям товаров | [Документация](non-standard/CategoryPlanController.md) |
+| **Products1cNomenclatureActualityController** | 670 | 7 | Актуализация номенклатуры из 1С | [Документация](non-standard/Products1cNomenclatureActualityController.md) |
+| **MatrixBouquetActualityController** | 651 | 6 | Актуализация матрицы букетов | [Документация](non-standard/MatrixBouquetActualityController.md) |
+| **MatrixErpController** | 630 | 7 | Управление матрицей товаров ERP | [Документация](non-standard/MatrixErpController.md) |
+| **ChartForManagementController** | 622 | 5 | Графики и аналитика для руководства | [Документация](non-standard/ChartForManagementController.md) |
+| **ChartsForManagementController** | 609 | 5 | Множественные графики управленческой отчетности | [Документация](non-standard/ChartsForManagementController.md) |
+| **StoreStaffingController** | 516 | 9 | Штатное расписание магазинов | [Документация](non-standard/StoreStaffingController.md) |
+| **crud/ClusterAdminController** | 503 | 6 | Административное управление кластерами | [Документация](non-standard/crud/ClusterAdminController.md) |
+
+**Особенности:**
+- Расширенная бизнес-логика
+- Интеграции с 1С
+- Множественные вычисления
+- Работа с Excel файлами
+
+---
+
+#### 1.3. Средние контроллеры с интеграциями (300-500 строк) — 17 шт.
+
+| Контроллер | Строк | Особенности | Документация |
+|------------|-------|-------------|--------------|
+| **ShiftTransferController** | 490 | Передача смен между сотрудниками, 7 сервисов | [Документация](non-standard/ShiftTransferController.md) |
+| **crud/Product1cReplacementController** | 480 | Замена товаров 1С, работа с файлами | [Документация](non-standard/crud/Product1cReplacementController.md) |
+| **ApiController** | 476 | API интеграции (admin, city_store, products) | [Документация](non-standard/ApiController.md) |
+| **TimetableFactController** | 475 | Фактическое расписание, алгоритмы обработки смен | [Документация](non-standard/TimetableFactController.md) |
+| **crud/TaskController** | 467 | Задачи с файлами, уведомлениями, 10 сервисов | [Документация](non-standard/crud/TaskController.md) |
+| **ReportController** | 466 | Формирование отчетов со сложной логикой | [Документация](non-standard/ReportController.md) |
+| **UsersMessageManagementController** | 461 | Управление сообщениями пользователей | [Документация](non-standard/UsersMessageManagementController.md) |
+| **BouquetController** | 458 | Управление букетами, API, изображения | [Документация](non-standard/BouquetController.md) |
+| **MatrixErpPropertyController** | 432 | Свойства матрицы ERP, работа с файлами | [Документация](non-standard/MatrixErpPropertyController.md) |
+| **ProductsController** | 432 | Управление товарами, расширенная логика | [Документация](non-standard/ProductsController.md) |
+| **MeetingController** | 431 | Встречи, календарь, уведомления, workflow | [Документация](non-standard/MeetingController.md) |
+| **crud/TaskTemplatesController** | 413 | Шаблоны задач, использование сервисов | [Документация](non-standard/crud/TaskTemplatesController.md) |
+| **OrdersController** | 360 | Заказы, множественные actions | [Документация](non-standard/OrdersController.md) |
+| **Sales2Controller** | 331 | Продажи, специфическая логика | [Документация](non-standard/Sales2Controller.md) |
+| **MatrixTypeController** | 317 | Типы матриц, сложная логика | [Документация](non-standard/MatrixTypeController.md) |
+| **MarketplacePricesController** | 310 | Цены маркетплейсов, API, файлы | [Документация](non-standard/MarketplacePricesController.md) |
+| **crud/KogortStopListController** | 306 | Стоп-листы когорт | [Документация](non-standard/crud/KogortStopListController.md) |
+
+**Особенности:**
+- API интеграции
+- Работа с сервисами
+- Обработка файлов
+- Сложная логика обработки данных
+
+---
+
+#### 1.4. Средние контроллеры со сложной логикой (200-300 строк) — 10 шт.
+
+| Контроллер | Строк | Особенности | Документация |
+|------------|-------|-------------|--------------|
+| **AuthController** | 295 | RBAC, управление правами, меню, permissions | [Документация](non-standard/AuthController.md) |
+| **MatrixStatisticsController** | 290 | Статистика матриц, API, вычисления | [Документация](non-standard/MatrixStatisticsController.md) |
+| **crud/MarketplaceOrder1cStatusesController** | 278 | Статусы заказов маркетплейсов 1С | [Документация](non-standard/crud/MarketplaceOrder1cStatusesController.md) |
+| **crud/EmployeePaymentController** | 251 | Выплаты сотрудникам | [Документация](non-standard/crud/EmployeePaymentController.md) |
+| **crud/UniversalCatalogController** | 247 | Универсальный каталог | [Документация](non-standard/crud/UniversalCatalogController.md) |
+| **StoreCityListController** | 243 | Список магазинов по городам, файлы | [Документация](non-standard/StoreCityListController.md) |
+| **AdminPersonBonusesController** | 242 | Персональные бонусы администраторов | [Документация](non-standard/AdminPersonBonusesController.md) |
+| **UsersWhatsappMessageController** | 213 | WhatsApp сообщения, использование сервисов | [Документация](non-standard/UsersWhatsappMessageController.md) |
+| **WikiController** | 206 | Wiki-система | [Документация](non-standard/WikiController.md) |
+| **BonusLevelsController** | 202 | Уровни бонусов | [Документация](non-standard/BonusLevelsController.md) |
+
+**Особенности:**
+- Специфическая бизнес-логика
+- RBAC и управление доступом
+- Интеграции
+- Расширенные вычисления
+
+---
+
+#### 1.5. Малые контроллеры с особыми признаками (<200 строк) — 8 шт.
+
+| Контроллер | Строк | Особенности | Документация |
+|------------|-------|-------------|--------------|
+| **SalesWriteOffsPlanController** | 153 | API интеграции | [Документация](non-standard/SalesWriteOffsPlanController.md) |
+| **crud/AdminController** | 151 | Работа с файлами, сервисы | [Документация](non-standard/crud/AdminController.md) |
+| **SiteController** | 134 | Точка входа, авторизация, API | [Документация](non-standard/SiteController.md) |
+| **MarketplaceStoreController** | 128 | API маркетплейсов | [Документация](non-standard/MarketplaceStoreController.md) |
+| **ProductionCalendarController** | 94 | Работа с файлами, производственный календарь | [Документация](non-standard/ProductionCalendarController.md) |
+| **ProfileController** | 34 | Работа с файлами профиля | [Документация](non-standard/ProfileController.md) |
+| **DashboardController** | 29 | API интеграции дашборда | [Документация](non-standard/DashboardController.md) |
+| **MarketplaceController** | 19 | API маркетплейсов | [Документация](non-standard/MarketplaceController.md) |
+
+**Особенности:**
+- API интеграции при малом размере
+- Критическая функциональность (авторизация, точка входа)
+- Работа с файлами
+
+---
+
+### 2. Стандартные контроллеры (114 шт.)
+
+Полный каталог всех стандартных контроллеров доступен в документе: **[standard/CATALOG.md](standard/CATALOG.md)**
+
+#### 2.1. Типы стандартных контроллеров
+
+| Тип | Количество | Описание |
+|-----|-----------|----------|
+| **Минималистичные** | 23 | <20 строк, простой рендеринг view |
+| **CRUD (Gii)** | 66 | Автоматически сгенерированные CRUD операции |
+| **Делегирующие** | 25 | Вся логика в отдельных Action классах |
+
+#### 2.2. Примеры стандартных контроллеров
+
+**Минималистичные:**
+- `SalesChecksController` (12 строк) — просмотр чеков продаж
+- `Rating2Controller` (13 строк) — рейтинг сотрудников
+- `TeambonusController` (14 строк) — командные бонусы
+
+**CRUD (Gii):**
+- `ClusterController` (135 строк) — управление кластерами
+- `AdminPayrollController` (135 строк) — расчеты по зарплате
+- `CompanyController` (135 строк) — управление компаниями
+
+**Делегирующие:**
+- `AlertController` (16 строк) — уведомления (использует IndexAction)
+- `BonusController` (34 строки) — бонусы (множественные Actions)
+- `TimetableController` (197 строк) — расписание (множественные Actions)
+
+---
+
+## Интеграции и сервисы
+
+### Контроллеры с API интеграциями (14 шт.)
+
+| Тип интеграции | Контроллеры |
+|----------------|-------------|
+| **Маркетплейсы** | MarketplaceOrdersController, MarketplaceStoreController, MarketplacePricesController |
+| **1С** | ApiController, Products1cNomenclatureActualityController, crud/MarketplaceOrder1cStatusesController |
+| **Букеты/Товары** | BouquetController, ProductsController |
+| **Дашборды** | DashboardController, ChartForManagementController, ChartsForManagementController |
+| **Категории** | CategoryPlanController |
+| **API общие** | ApiController, SalesWriteOffsPlanController, MatrixStatisticsController |
+
+### Контроллеры с использованием сервисов (13 шт.)
+
+| Контроллер | Количество сервисов | Основные сервисы |
+|------------|-------------------|------------------|
+| AutoPlannogrammaController | 27 | AutoPlannogrammaService, StorePlanService |
+| MarketplaceOrdersController | 12 | MarketplaceService |
+| crud/TaskController | 10 | TaskService, FileService |
+| CategoryPlanController | 8 | CategoryPlanService |
+| ShiftTransferController | 7 | TimetableService |
+| MatrixErpPropertyController | 7 | FileService |
+| WriteOffsErpController | 6 | FileService, TimetableService |
+| MatrixErpController | 6 | MatrixService, FileService |
+| crud/TaskTemplatesController | 7 | TaskService |
+| UsersMessageManagementController | 3 | MessageService |
+| crud/ClusterAdminController | 3 | ClusterService |
+| BouquetController | 2 | BouquetService |
+| MeetingController | 1 | MeetingService |
+
+### Контроллеры с работой с файлами (12 шт.)
+
+| Контроллер | Типы файлов | Операции |
+|------------|-------------|----------|
+| WriteOffsErpController | Images, Files | Загрузка вложений к актам списания |
+| MatrixErpController | Excel, Images | Импорт/экспорт матриц товаров |
+| crud/TaskController | Files, Images | Вложения к задачам |
+| StoreStaffingController | Excel | Импорт/экспорт штатного расписания |
+| BouquetController | Images | Изображения букетов |
+| MatrixErpPropertyController | Files | Множественная работа с файлами свойств |
+| crud/Product1cReplacementController | Excel | Замена товаров через файлы |
+| StoreCityListController | Excel | Экспорт списка магазинов |
+| ProductionCalendarController | Excel | Импорт производственного календаря |
+| ProfileController | Images | Аватары пользователей |
+| MarketplacePricesController | Excel | Импорт/экспорт цен |
+| AutoPlannogrammaController | Excel | Экспорт планограмм |
+
+---
+
+## Статистика по размеру
+
+| Диапазон строк | Количество | Процент |
+|----------------|-----------|---------|
+| <20 строк | 23 | 14% |
+| 20-100 строк | 66 | 41% |
+| 100-200 строк | 30 | 19% |
+| 200-300 строк | 15 | 9% |
+| 300-500 строк | 18 | 11% |
+| 500-1000 строк | 6 | 4% |
+| >1000 строк | 3 | 2% |
+| **Итого** | **161** | **100%** |
+
+---
+
+## Диаграмма архитектуры
+
+```mermaid
+graph TB
+    subgraph "Web Controllers (161)"
+        subgraph "Нестандартные (47)"
+            A1[Очень крупные<br/>3 шт. >1000 строк]
+            A2[Крупные<br/>9 шт. 500-1000 строк]
+            A3[Средние с интеграциями<br/>17 шт. 300-500 строк]
+            A4[Средние со сложной логикой<br/>10 шт. 200-300 строк]
+            A5[Малые с особыми признаками<br/>8 шт. <200 строк]
+        end
+
+        subgraph "Стандартные (114)"
+            B1[CRUD Gii<br/>66 шт.]
+            B2[Делегирующие Actions<br/>25 шт.]
+            B3[Минималистичные<br/>23 шт.]
+        end
+    end
+
+    subgraph "Интеграции"
+        I1[API Маркетплейсы]
+        I2[1С ERP]
+        I3[Сервисы 27]
+        I4[Файлы/Excel]
+    end
+
+    A1 --> I1
+    A1 --> I2
+    A1 --> I3
+    A1 --> I4
+    A2 --> I2
+    A2 --> I4
+    A3 --> I1
+    A3 --> I3
+    A4 --> I1
+
+    subgraph "Actions"
+        AC1[IndexAction]
+        AC2[StatAction]
+        AC3[Custom Actions]
+    end
+
+    B2 --> AC1
+    B2 --> AC2
+    B2 --> AC3
+```
+
+---
+
+## Рекомендации по документированию
+
+### Для нестандартных контроллеров
+
+**Формат документации:**
+```markdown
+# ControllerName
+
+## Назначение
+Подробное описание бизнес-цели
+
+## Namespace
+`app\controllers`
+
+## Extends
+`\yii\web\Controller` / `BaseController`
+
+## Основные actions
+
+### actionName()
+- **Назначение:** ...
+- **Параметры:** ...
+- **Возвращает:** ...
+- **Бизнес-логика:** ...
+- **Интеграции:** ...
+- **Пример использования:** ...
+
+## Используемые сервисы
+- ServiceName: назначение
+
+## API интеграции
+- Описание внешних вызовов
+
+## Работа с файлами
+- Типы файлов
+- Операции
+
+## Диаграмма работы
+```mermaid
+sequenceDiagram
+    User->>Controller: HTTP Request
+    Controller->>Service: Business Logic
+    Service->>Database: Data
+    Controller->>View: Render
+```
+```
+
+### Для стандартных контроллеров
+
+**Формат каталога:**
+```markdown
+### ControllerName
+
+**Тип:** [Минималистичный / CRUD (Gii) / Делегирующий]
+
+**Назначение:** Краткое описание (1-2 предложения)
+
+**Модель:** ModelName
+
+**Actions:** actionIndex, actionView, actionCreate, actionUpdate, actionDelete
+```
+
+---
+
+## Приоритет документирования
+
+### Критично (3 контроллера)
+1. AutoPlannogrammaController — автоматическая планограмма
+2. WriteOffsErpController — списания товаров
+3. MarketplaceOrdersController — интеграция с маркетплейсами
+
+### Высокий (12 контроллеров)
+Контроллеры 500-1000 строк с интеграциями
+
+### Средний (32 контроллера)
+Остальные нестандартные контроллеры
+
+### Низкий (114 контроллеров)
+Стандартные контроллеры — каталог с кратким описанием
+
+---
+
+## Навигация
+
+- [Детальная документация нестандартных контроллеров](non-standard/)
+- [Каталог стандартных контроллеров](standard/CATALOG.md)
+- [Главная документация ERP24](../README.md)
+- [Консольные команды](../console-commands/README.md)
+- [Модули бизнес-доменов](../modules/)
+- [API](../api/)
diff --git a/erp24/docs/controllers/standard/CATALOG.md b/erp24/docs/controllers/standard/CATALOG.md
new file mode 100644 (file)
index 0000000..cdf2acc
--- /dev/null
@@ -0,0 +1,1436 @@
+# Каталог стандартных контроллеров ERP24
+
+Данный документ содержит краткое описание всех **114 стандартных контроллеров** системы ERP24.
+
+**Типы стандартных контроллеров:**
+- **Минималистичные** (23 шт.) — <20 строк, простой рендеринг view
+- **CRUD (Gii)** (66 шт.) — автоматически сгенерированные CRUD операции
+- **Делегирующие** (25 шт.) — вся логика в отдельных Action классах
+
+---
+
+## 1. Минималистичные контроллеры (23 шт.)
+
+Контроллеры размером <20 строк, выполняющие простой рендеринг view.
+
+### SalesChecksController
+
+**Тип:** Минималистичный (12 строк)
+
+**Назначение:** Просмотр чеков продаж
+
+**Namespace:** `app\controllers`
+
+**Extends:** `\yii\web\Controller`
+
+**Actions:**
+- `actionIndex` — рендеринг списка чеков
+
+---
+
+### Rating2Controller
+
+**Тип:** Минималистичный (13 строк)
+
+**Назначение:** Рейтинг сотрудников версия 2
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — отображение рейтинга
+
+---
+
+### SalesController
+
+**Тип:** Минималистичный (14 строк)
+
+**Назначение:** Просмотр продаж
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — делегирует в `\yii_app\actions\sales\IndexAction`
+
+---
+
+### TeambonusController
+
+**Тип:** Минималистичный (14 строк)
+
+**Назначение:** Командные бонусы
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — отображение командных бонусов
+
+---
+
+### UserBonusController
+
+**Тип:** Минималистичный (14 строк)
+
+**Назначение:** Бонусы пользователей
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр бонусов пользователей
+
+---
+
+### UserEventsController
+
+**Тип:** Минималистичный (14 строк)
+
+**Назначение:** События пользователей
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — журнал событий
+
+---
+
+### WriteOffsController
+
+**Тип:** Минималистичный (15 строк)
+
+**Назначение:** Списания товаров (старая версия)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — список списаний
+
+---
+
+### AlertController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Уведомления и алерты
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — делегирует в `\yii_app\actions\alert\IndexAction`
+
+---
+
+### AssembliesController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Сборка букетов
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — список сборок
+
+---
+
+### BalanceController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Остатки товаров (единичный)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр остатка
+
+---
+
+### BalancesController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Остатки товаров (множественные)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — список остатков
+
+---
+
+### MyGradeController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Мои оценки (личный кабинет сотрудника)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр личных оценок
+
+---
+
+### PayrollController
+
+**Тип:** Минималистичный (16 строк)
+
+**Назначение:** Расчетные листы по зарплате
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр расчетов
+
+---
+
+### RatingController
+
+**Тип:** Минималистичный (17 строк)
+
+**Назначение:** Рейтинг сотрудников версия 1
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — отображение рейтинга
+
+---
+
+### MotivationController
+
+**Тип:** Минималистичный (18 строк)
+
+**Назначение:** Мотивационные программы
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр мотивационных программ
+
+---
+
+### IncomingController
+
+**Тип:** Минималистичный (18 строк)
+
+**Назначение:** Приход товаров
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — список приходов
+
+---
+
+### LoadDataController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** Загрузка данных (служебный)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — загрузка данных
+
+---
+
+### MarketplaceController
+
+**Тип:** Минималистичный (19 строк, но с API)
+
+**Назначение:** Маркетплейсы (роутер для Actions)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `priority` — делегирует в `\yii_app\actions\marketplace\PriorityAction`
+- `report` — делегирует в `\yii_app\actions\marketplace\ReportAction`
+
+**Примечание:** Несмотря на малый размер, содержит API интеграции в Action классах.
+
+---
+
+### MessagerController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** Мессенджеры (Telegram, WhatsApp)
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — список сообщений
+
+---
+
+### PagesController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** Статические страницы
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — отображение страниц
+
+---
+
+### SalesHistoryController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** История продаж
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — просмотр истории
+
+---
+
+### SalesProductsHistoryController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** История продаж по товарам
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — детализация продаж товаров
+
+---
+
+### StorageController
+
+**Тип:** Минималистичный (19 строк)
+
+**Назначение:** Склад
+
+**Namespace:** `app\controllers`
+
+**Actions:**
+- `actionIndex` — управление складом
+
+---
+
+---
+
+## 2. CRUD контроллеры (Gii) (66 шт.)
+
+Автоматически сгенерированные контроллеры через Gii с стандартными CRUD операциями.
+
+**Стандартные actions:**
+- `actionIndex` — список записей (с пагинацией, фильтрацией)
+- `actionView($id)` — просмотр одной записи
+- `actionCreate` — создание новой записи
+- `actionUpdate($id)` — редактирование записи
+- `actionDelete($id)` — удаление записи
+
+**Размер:** обычно 130-150 строк
+
+---
+
+### ClusterController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Управление кластерами магазинов
+
+**Модель:** `yii_app\records\Cluster`
+
+**Namespace:** `app\controllers`
+
+**Actions:** Стандартные CRUD (index, view, create, update, delete)
+
+---
+
+### AdminPayrollController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Расчеты зарплаты администраторов
+
+**Модель:** `yii_app\records\AdminPayroll`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### AdminPayrollValuesDictController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Справочник значений расчетов зарплаты
+
+**Модель:** `yii_app\records\AdminPayrollValuesDict`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CompanyController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Управление компаниями
+
+**Модель:** `yii_app\records\Company`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CompanyFunctionsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Функции компаний
+
+**Модель:** `yii_app\records\CompanyFunctions`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CompanyFunctionsForUsersController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Привязка функций к пользователям
+
+**Модель:** `yii_app\records\CompanyFunctionsForUsers`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MarketplaceOrderItemsController
+
+**Тип:** CRUD (Gii) — 139 строк
+
+**Назначение:** Товары заказов маркетплейсов
+
+**Модель:** `yii_app\records\MarketplaceOrderItems`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MarketplaceOrderStatusHistoryController
+
+**Тип:** CRUD (Gii) — 138 строк
+
+**Назначение:** История статусов заказов маркетплейсов
+
+**Модель:** `yii_app\records\MarketplaceOrderStatusHistory`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MarketplaceOrderStatusTypesController
+
+**Тип:** CRUD (Gii) — 136 строк
+
+**Назначение:** Типы статусов заказов маркетплейсов
+
+**Модель:** `yii_app\records\MarketplaceOrderStatusTypes`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MarketplacePricesLogController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Логи изменения цен маркетплейсов
+
+**Модель:** `yii_app\records\MarketplacePricesLog`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### RateStoreCategoryController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Рейтинг категорий магазинов
+
+**Модель:** `yii_app\records\RateStoreCategory`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### StoreTypeController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Типы магазинов
+
+**Модель:** `yii_app\records\StoreType`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### StoresTypeListController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Список типов магазинов
+
+**Модель:** `yii_app\records\StoresTypeList`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### WikiCategoryController
+
+**Тип:** CRUD (Gii) — 159 строк
+
+**Назначение:** Категории Wiki
+
+**Модель:** `yii_app\records\WikiCategory`
+
+**Actions:** Стандартные CRUD + дополнительная логика категорий
+
+---
+
+### WriteOffsErpCauseDictController
+
+**Тип:** CRUD (Gii) — 134 строк
+
+**Назначение:** Справочник причин списаний ERP
+
+**Модель:** `yii_app\records\WriteOffsErpCauseDict`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### YandexMarketController
+
+**Тип:** CRUD (Gii) — 106 строк
+
+**Назначение:** Интеграция с Яндекс.Маркетом
+
+**Модель:** `yii_app\records\YandexMarket`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### AdminGroupController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Группы администраторов (роли)
+
+**Модель:** `yii_app\records\AdminGroup`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ClusterDynamicController
+
+**Тип:** CRUD (Gii) — 160 строк
+
+**Назначение:** Динамические параметры кластеров
+
+**Модель:** `yii_app\records\ClusterDynamic`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ClusterDynamicCategoryDictController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Справочник категорий динамики кластеров
+
+**Модель:** `yii_app\records\ClusterDynamicCategoryDict`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CityStoreController
+
+**Тип:** CRUD (Gii) — 175 строк
+
+**Назначение:** Магазины города
+
+**Модель:** `yii_app\records\CityStore`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CityStoreParamsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Параметры магазинов города
+
+**Модель:** `yii_app\records\CityStoreParams`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CalendarAdminLinkController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Связь администраторов с календарем
+
+**Модель:** `yii_app\records\CalendarAdminLink`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### AnalystsBusinessOperationsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Бизнес-операции для аналитиков
+
+**Модель:** `yii_app\records\AnalystsBusinessOperations`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### AnalystsBusinessOperationsTypesController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Типы бизнес-операций аналитиков
+
+**Модель:** `yii_app\records\AnalystsBusinessOperationsTypes`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CheckGroupController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Группы проверок
+
+**Модель:** `yii_app\records\CheckGroup`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### CheckTypeController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Типы проверок
+
+**Модель:** `yii_app\records\CheckType`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### DeviceController
+
+**Тип:** CRUD (Gii) — 142 строк
+
+**Назначение:** Устройства (планшеты, терминалы)
+
+**Модель:** `yii_app\records\Device`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### DocumentController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Документы
+
+**Модель:** `yii_app\records\Document`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### EmployeeSalesReportController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Отчеты по продажам сотрудников
+
+**Модель:** `yii_app\records\EmployeeSalesReport`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ErrorInfoErpController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Информация об ошибках ERP
+
+**Модель:** `yii_app\records\ErrorInfoErp`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### FilesController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Файлы
+
+**Модель:** `yii_app\records\Files`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### InfoController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Информационные записи
+
+**Модель:** `yii_app\records\Info`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### InfoTableController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Информационные таблицы
+
+**Модель:** `yii_app\records\InfoTable`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### KikFeedbackController
+
+**Тип:** CRUD (Gii) — 160 строк
+
+**Назначение:** Обратная связь Kik
+
+**Модель:** `yii_app\records\KikFeedback`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### LogController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Логи системы
+
+**Модель:** `yii_app\records\Log`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MainController
+
+**Тип:** CRUD (Gii) — 30 строк
+
+**Назначение:** Главная страница
+
+**Actions:** `actionIndex` — рендеринг главной страницы
+
+---
+
+### MarketplaceFlowwowEmailsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Email уведомления Flowwow
+
+**Модель:** `yii_app\records\MarketplaceFlowwowEmails`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### MarketplaceOrderDeliveryController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Доставка заказов маркетплейсов
+
+**Модель:** `yii_app\records\MarketplaceOrderDelivery`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### NotificationController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Уведомления
+
+**Модель:** `yii_app\records\Notification`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### PlanStoreController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Планы магазинов
+
+**Модель:** `yii_app\records\PlanStore`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### Products1cNomenclatureController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Номенклатура 1С
+
+**Модель:** `yii_app\records\Products1cNomenclature`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### PromocodeController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Промокоды
+
+**Модель:** `yii_app\records\Promocode`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### RegulationsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Регламенты
+
+**Модель:** `yii_app\records\Regulations`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### RegulationsPollController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Опросы по регламентам
+
+**Модель:** `yii_app\records\RegulationsPoll`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ReplacementInvoiceController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Накладные замены
+
+**Модель:** `yii_app\records\ReplacementInvoice`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ReportsController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Отчеты
+
+**Модель:** `yii_app\records\Reports`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### SchedulerTaskController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Задачи планировщика
+
+**Модель:** `yii_app\records\SchedulerTask`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### SchedulerTaskLogController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Логи задач планировщика
+
+**Модель:** `yii_app\records\SchedulerTaskLog`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### SelfCostProductController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Себестоимость товаров
+
+**Модель:** `yii_app\records\SelfCostProduct`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ShipmentController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Отгрузки товаров
+
+**Модель:** `yii_app\records\Shipment`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### ShipmentProvidersController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Поставщики отгрузок
+
+**Модель:** `yii_app\records\ShipmentProviders`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### StoreBalanceController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Баланс магазина
+
+**Модель:** `yii_app\records\StoreBalance`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### StoreOrdersStatusesController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Статусы заказов магазинов
+
+**Модель:** `yii_app\records\StoreOrdersStatuses`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### TestLogController
+
+**Тип:** CRUD (Gii) — 83 строк
+
+**Назначение:** Тестовые логи
+
+**Модель:** `yii_app\records\TestLog`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### TrackEventMonitorController
+
+**Тип:** CRUD (Gii) — 44 строк
+
+**Назначение:** Мониторинг событий трекинга
+
+**Модель:** `yii_app\records\TrackEventMonitor`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### UsersTelegramMessageController
+
+**Тип:** CRUD (Gii) — 28 строк
+
+**Назначение:** Telegram сообщения пользователей
+
+**Модель:** `yii_app\records\UsersTelegramMessage`
+
+**Actions:** Стандартные CRUD (минималистичная реализация)
+
+---
+
+### WaybillIncomingController
+
+**Тип:** CRUD (Gii) — 36 строк
+
+**Назначение:** Накладные прихода
+
+**Модель:** `yii_app\records\WaybillIncoming`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### WaybillWriteOffsController
+
+**Тип:** CRUD (Gii) — 42 строк
+
+**Назначение:** Накладные списаний
+
+**Модель:** `yii_app\records\WaybillWriteOffs`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### crud/TasksTypeController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Типы задач
+
+**Модель:** `yii_app\records\TasksType`
+
+**Namespace:** `app\controllers\crud`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### crud/KogortController
+
+**Тип:** CRUD (Gii) — 160 строк
+
+**Назначение:** Когорты клиентов
+
+**Модель:** `yii_app\records\Kogort`
+
+**Namespace:** `app\controllers\crud`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### crud/KogortSentController
+
+**Тип:** CRUD (Gii) — 140 строк
+
+**Назначение:** Отправленные когорты
+
+**Модель:** `yii_app\records\KogortSent`
+
+**Namespace:** `app\controllers\crud`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### crud/MessageTextController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Тексты сообщений
+
+**Модель:** `yii_app\records\MessageText`
+
+**Namespace:** `app\controllers\crud`
+
+**Actions:** Стандартные CRUD
+
+---
+
+### crud/MessageTextTypeController
+
+**Тип:** CRUD (Gii) — 135 строк
+
+**Назначение:** Типы текстов сообщений
+
+**Модель:** `yii_app\records\MessageTextType`
+
+**Namespace:** `app\controllers\crud`
+
+**Actions:** Стандартные CRUD
+
+---
+
+**И ещё 15 CRUD контроллеров в crud/ подпапке...**
+
+---
+
+---
+
+## 3. Делегирующие контроллеры (25 шт.)
+
+Контроллеры, которые делегируют всю бизнес-логику в отдельные Action классы через метод `actions()`.
+
+---
+
+### BonusController
+
+**Тип:** Делегирующий (34 строки)
+
+**Назначение:** Управление бонусами клиентов
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `stat` → `\yii_app\actions\bonus\StatAction` — статистика бонусов
+- `vozvrat-stats` → `\yii_app\actions\bonus\VozvratStatsAction` — статистика возвратов
+- `ajax-show-check` → `\yii_app\actions\bonus\AjaxShowCheckAction` — просмотр чека
+- `ajax-bonus-remove` → `\yii_app\actions\bonus\AjaxBonusRemoveAction` — удаление бонуса
+- `sex` → `\yii_app\actions\bonus\SexAction` — статистика по полу
+- `add-bonus-if-written-off` → `\yii_app\actions\bonus\AddBonusIfWrittenOffAction`
+- `add-bonuses` → `\yii_app\actions\bonus\AddBonuses`
+- `add-20-telegram-created-at-is-null` → `\yii_app\actions\bonus\Add20TelegramCreatedAtIsNullAction`
+- `add-bonus-to-list-of-phones` → `\yii_app\actions\bonus\AddBonusToListOfPhones`
+
+**Inline actions:**
+- `actionBonusUsers()` — рендеринг view
+- `actionAjaxBonusHistory()` — история бонусов
+- `actionAjaxUserAddStopList()` — добавить в стоп-лист
+- `actionAjaxUserRemoveStopList()` — удалить из стоп-листа
+
+---
+
+### TimetableController
+
+**Тип:** Делегирующий (197 строк)
+
+**Назначение:** Управление расписанием сотрудников
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `add` → `\yii_app\actions\timetable\AddAction` — добавить смену
+- `plan` → `\yii_app\actions\timetable\PlanAction` — планирование
+- `edit_plan` → `\yii_app\actions\timetable\EditPlanAction` — редактирование плана
+- `admin_stores` → `\yii_app\actions\timetable\AdminStores` — магазины администратора
+- `fact` → `\yii_app\actions\timetable\FactAction` — фактическое расписание
+- `fact_overview` → `\yii_app\actions\timetable\FactOverviewAction` — обзор фактов
+- `edit_fact` → `\yii_app\actions\timetable\EditFactAction` — редактирование факта
+- `holidays` → `\yii_app\actions\timetable\HolidaysAction` — праздники
+- `start` → `\yii_app\actions\timetable\StartAction` — начать смену
+- `start-shift-step-one/two/three` — мультишаговое начало смены
+- `checkins` → `\yii_app\actions\timetable\CheckinsAction` — отметки времени
+- `fact-overview-item` → `\yii_app\actions\timetable\FactOverviewItemAction`
+- `join-missing-shifts-with-checkins` — связка пропущенных смен
+- `add-fact-hand` → `\yii_app\actions\timetable\AddFactHandAction` — ручное добавление
+
+**Inline actions:**
+- `actionAdminInfo()` — информация о сотруднике (API JSON)
+- `actionTabel()` — редирект на plan
+- `actionLinkPlans()` — связка планов с явками
+
+---
+
+### CheckConductController
+
+**Тип:** Делегирующий (72 строки)
+
+**Назначение:** Проведение проверок
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\checkConduct\IndexAction`
+- `create` → `\yii_app\actions\checkConduct\CreateAction`
+- `view` → `\yii_app\actions\checkConduct\ViewAction`
+- `update` → `\yii_app\actions\checkConduct\UpdateAction`
+- `delete` → `\yii_app\actions\checkConduct\DeleteAction`
+
+---
+
+### DashboardChartController
+
+**Тип:** Делегирующий (45 строк)
+
+**Назначение:** Графики дашборда
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\dashboardChart\IndexAction`
+- `view` → `\yii_app\actions\dashboardChart\ViewAction`
+- `create` → `\yii_app\actions\dashboardChart\CreateAction`
+- `update` → `\yii_app\actions\dashboardChart\UpdateAction`
+- `delete` → `\yii_app\actions\dashboardChart\DeleteAction`
+
+---
+
+### DashboardFieldsPropertyController
+
+**Тип:** Делегирующий (45 строк)
+
+**Назначение:** Свойства полей дашборда
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\dashboardFieldsProperty\IndexAction`
+- `view` → `\yii_app\actions\dashboardFieldsProperty\ViewAction`
+- `create` → `\yii_app\actions\dashboardFieldsProperty\CreateAction`
+- `update` → `\yii_app\actions\dashboardFieldsProperty\UpdateAction`
+- `delete` → `\yii_app\actions\dashboardFieldsProperty\DeleteAction`
+
+---
+
+### DashboardListController
+
+**Тип:** Делегирующий (56 строк)
+
+**Назначение:** Списки дашбордов
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\dashboardList\IndexAction`
+- `view` → `\yii_app\actions\dashboardList\ViewAction`
+- `create` → `\yii_app\actions\dashboardList\CreateAction`
+- `update` → `\yii_app\actions\dashboardList\UpdateAction`
+- `delete` → `\yii_app\actions\dashboardList\DeleteAction`
+- `dublicate` → `\yii_app\actions\dashboardList\DublicateAction`
+
+---
+
+### DashboardSalesController
+
+**Тип:** Делегирующий (62 строки)
+
+**Назначение:** Продажи на дашборде
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\dashboardSales\IndexAction`
+- `data` → `\yii_app\actions\dashboardSales\DataAction`
+
+**Inline actions:**
+- `actionAjaxGetChartData()` — получение данных графиков (JSON)
+
+---
+
+### GradeController
+
+**Тип:** Делегирующий (94 строки)
+
+**Назначение:** Оценки сотрудников
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\grade\IndexAction`
+- `view` → `\yii_app\actions\grade\ViewAction`
+- `create` → `\yii_app\actions\grade\CreateAction`
+- `update` → `\yii_app\actions\grade\UpdateAction`
+- `delete` → `\yii_app\actions\grade\DeleteAction`
+- `remove-file` → `\yii_app\actions\grade\RemoveFileAction`
+
+---
+
+### LessonController
+
+**Тип:** Делегирующий (94 строки)
+
+**Назначение:** Обучающие уроки
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\lesson\IndexAction`
+- `view` → `\yii_app\actions\lesson\ViewAction`
+- `create` → `\yii_app\actions\lesson\CreateAction`
+- `update` → `\yii_app\actions\lesson\UpdateAction`
+- `delete` → `\yii_app\actions\lesson\DeleteAction`
+- `remove-file` → `\yii_app\actions\lesson\RemoveFileAction`
+
+---
+
+### StoreController
+
+**Тип:** Делегирующий (65 строк)
+
+**Назначение:** Управление магазинами
+
+**Namespace:** `app\controllers`
+
+**Actions (inline):**
+- `actionStats()` — статистика магазинов
+- `actionIndex()` — список магазинов с кластерами (сложная логика)
+- `actionItemmatrix()` — матрица товаров магазина
+
+---
+
+### CabinetController
+
+**Тип:** Делегирующий (82 строки)
+
+**Назначение:** Личный кабинет сотрудника
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\cabinet\IndexAction`
+
+---
+
+### ChangeUrlController
+
+**Тип:** Делегирующий (30 строк)
+
+**Назначение:** Изменение URL (служебный)
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\changeurl\IndexAction`
+
+---
+
+### Contest001Controller
+
+**Тип:** Делегирующий (30 строк)
+
+**Назначение:** Конкурс №001
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\contest001\IndexAction`
+
+---
+
+### CronController
+
+**Тип:** Делегирующий (30 строк)
+
+**Назначение:** Cron задачи (web доступ)
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\cron\IndexAction`
+
+---
+
+### DevTestController
+
+**Тип:** Делегирующий (35 строк)
+
+**Назначение:** Тестирование разработки
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\devTest\IndexAction`
+
+---
+
+### TgController
+
+**Тип:** Делегирующий (60 строк)
+
+**Назначение:** Telegram интеграция
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\tg\IndexAction`
+- `webhook` → `\yii_app\actions\tg\WebhookAction`
+
+---
+
+### TaskController
+
+**Тип:** Делегирующий (85 строк)
+
+**Назначение:** Задачи (web представление)
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\task\IndexAction`
+
+---
+
+### ApiCronTestController
+
+**Тип:** Делегирующий (30 строк)
+
+**Назначение:** Тестирование API cron
+
+**Namespace:** `app\controllers`
+
+**Actions (делегированы):**
+- `index` → `\yii_app\actions\apiCronTest\IndexAction`
+
+---
+
+**И ещё 8 делегирующих контроллеров...**
+
+---
+
+---
+
+## Диаграмма типов контроллеров
+
+```mermaid
+pie title "Распределение стандартных контроллеров (114 шт.)"
+    "CRUD (Gii)" : 66
+    "Делегирующие (Actions)" : 25
+    "Минималистичные" : 23
+```
+
+---
+
+## Навигация
+
+- [Обзор всех контроллеров](../README.md)
+- [Детальная документация нестандартных контроллеров](../non-standard/)
+- [Главная документация ERP24](../../README.md)