From 356d67aa167ea4a9cf2c7cbf12ada6912991c3b6 Mon Sep 17 00:00:00 2001 From: fomichev Date: Tue, 25 Nov 2025 13:42:41 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?utf8?q?=D0=B0=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=D0=B0?= =?utf8?q?=D1=86=D0=B8=D1=8F=20=D0=B4=D0=BB=D1=8F=20=D0=BA=D0=BE=D0=BD?= =?utf8?q?=D1=82=D1=80=D0=BE=D0=BB=D0=BB=D0=B5=D1=80=D0=BE=D0=B2=20ERP24,?= =?utf8?q?=20=D0=B2=D0=BA=D0=BB=D1=8E=D1=87=D0=B0=D1=8F=20=D0=BE=D0=B1?= =?utf8?q?=D0=B7=D0=BE=D1=80,=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B8=D1=84?= =?utf8?q?=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D1=8E=20=D0=B8=20=D0=B4=D0=B5?= =?utf8?q?=D1=82=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B5=20=D0=BE=D0=BF=D0=B8?= =?utf8?q?=D1=81=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=81=D1=82=D0=B0=D0=BD=D0=B4?= =?utf8?q?=D0=B0=D1=80=D1=82=D0=BD=D1=8B=D1=85=20=D0=B8=20=D0=BD=D0=B5?= =?utf8?q?=D1=81=D1=82=D0=B0=D0=BD=D0=B4=D0=B0=D1=80=D1=82=D0=BD=D1=8B?= =?utf8?q?=D1=85=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D0=BB=D0=B5?= =?utf8?q?=D1=80=D0=BE=D0=B2.=20=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D1=8B?= =?utf8?q?=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20README.md=20=D0=B8=20CATALOG?= =?utf8?q?.md=20=D0=B4=D0=BB=D1=8F=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82?= =?utf8?q?=D1=83=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?utf8?q?=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=86=D0=B8=D0=B8=20?= =?utf8?q?=D0=BE=20=D0=BA=D0=BE=D0=BD=D1=82=D1=80=D0=BE=D0=BB=D0=BB=D0=B5?= =?utf8?q?=D1=80=D0=B0=D1=85=20=D0=B8=20=D0=B8=D1=85=20=D1=84=D1=83=D0=BD?= =?utf8?q?=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE?= =?utf8?q?=D1=81=D1=82=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/docs/controllers/README.md | 404 ++++++ erp24/docs/controllers/standard/CATALOG.md | 1436 ++++++++++++++++++++ 2 files changed, 1840 insertions(+) create mode 100644 erp24/docs/controllers/README.md create mode 100644 erp24/docs/controllers/standard/CATALOG.md diff --git a/erp24/docs/controllers/README.md b/erp24/docs/controllers/README.md new file mode 100644 index 00000000..c67b558b --- /dev/null +++ b/erp24/docs/controllers/README.md @@ -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[Очень крупные
3 шт. >1000 строк] + A2[Крупные
9 шт. 500-1000 строк] + A3[Средние с интеграциями
17 шт. 300-500 строк] + A4[Средние со сложной логикой
10 шт. 200-300 строк] + A5[Малые с особыми признаками
8 шт. <200 строк] + end + + subgraph "Стандартные (114)" + B1[CRUD Gii
66 шт.] + B2[Делегирующие Actions
25 шт.] + B3[Минималистичные
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 index 00000000..cdf2acc9 --- /dev/null +++ b/erp24/docs/controllers/standard/CATALOG.md @@ -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) -- 2.39.5