👨💼 Руководство администратора¶
🎯 Обзор¶
Руководство администратора системы охраны труда содержит подробные инструкции по управлению системой, пользователями, организациями и мониторингу работы платформы.
🔐 Аутентификация администратора¶
Вход в систему¶
Администраторы системы имеют специальные права доступа ко всем функциям платформы.
URL: /api/admin/auth/login
Метод: POST
Параметры:
Ответ:
Использование токена¶
Все последующие запросы должны содержать заголовок авторизации:
📊 Административная панель¶
Дашборд администратора¶
Главная страница администратора предоставляет обзор состояния системы.
URL: /api/admin/dashboard
Метод: GET
Ответ:
{
"user_stats": {
"total": 1250,
"active": 1180,
"new_this_month": 45,
"inactive": 70
},
"document_stats": {
"total": 3400,
"templates": 150,
"active": 3200,
"new_this_month": 120
},
"form_stats": {
"total": 5600,
"pending": 45,
"approved": 5200,
"drafts": 355
},
"recent_activities": [
{
"type": "form",
"action": "submitted",
"user": "Иванов И.И.",
"item": "Форма #1234",
"timestamp": "2024-01-15T10:30:00Z"
}
]
}
Общая статистика системы¶
Детальная статистика по всем аспектам работы системы.
URL: /api/admin/statistics
Метод: GET
Ответ:
{
"total_users": 1250,
"total_documents": 3400,
"total_forms": 5600,
"pending_forms": 45,
"expired_trainings": 12,
"total_organizations": 85,
"total_organization_members": 1250,
"total_document_downloads": 15600,
"total_support_tickets": 234
}
👥 Управление пользователями¶
Просмотр пользователей¶
Получение списка всех пользователей системы с возможностью фильтрации.
URL: /api/users/
Метод: GET
Параметры запроса: - skip (int): количество записей для пропуска (по умолчанию: 0) - limit (int): максимальное количество записей (по умолчанию: 100) - department (string): фильтр по отделу - role (string): фильтр по роли - is_active (boolean): фильтр по активности
Пример запроса:
Ответ:
[
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"full_name": "Администратор Системы",
"role": "admin",
"department": "IT",
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
]
Получение информации о пользователе¶
Детальная информация о конкретном пользователе.
URL: /api/users/{user_id}
Метод: GET
Ответ:
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"full_name": "Администратор Системы",
"employee_number": "EMP001",
"position": "Системный администратор",
"department": "IT",
"role": "admin",
"is_active": true,
"hire_date": "2024-01-01T00:00:00Z",
"password_set": true,
"first_login_completed": true,
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
🏢 Управление организациями¶
Просмотр организаций¶
Получение списка всех зарегистрированных организаций.
URL: /api/organizations/
Метод: GET
Ответ:
[
{
"id": 1,
"type": "ЮЛ",
"inn": "7736207543",
"ogrn": "1027739850962",
"full_name": "ООО \"Компания\"",
"short_name": "Компания",
"status": "Действующее",
"registration_date": "2020-01-15T00:00:00Z",
"full_address": "г. Москва, ул. Примерная, д. 1",
"main_activity_text": "Разработка ПО",
"created_at": "2024-01-01T00:00:00Z"
}
]
Импорт организации из ФНС¶
Автоматическое получение и обновление данных организации из API ФНС.
URL: /api/organizations/fns/import/{inn}
Метод: POST
Параметры: - inn (string): ИНН организации (10 цифр для ЮЛ, 12 для ИП) - force_update (boolean): принудительное обновление существующих данных
Пример запроса:
Ответ:
{
"id": 1,
"type": "ЮЛ",
"inn": "7736207543",
"ogrn": "1027739850962",
"full_name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"КОМПАНИЯ\"",
"status": "Действующее",
"registration_date": "2002-12-26T00:00:00Z",
"full_address": "г. Москва, ул. Примерная, д. 1",
"main_activity_text": "Разработка компьютерного программного обеспечения",
"created_at": "2024-01-01T00:00:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
📈 Отчеты и аналитика¶
Отчет об активности пользователей¶
Анализ активности пользователей за указанный период.
URL: /api/admin/reports/user-activity
Метод: GET
Параметры: - days (int): период в днях (по умолчанию: 30)
Ответ:
{
"period_days": 30,
"user_activity": [
{
"user_id": 1,
"full_name": "Иванов И.И.",
"department": "Безопасность",
"forms_created": 15
},
{
"user_id": 2,
"full_name": "Петров П.П.",
"department": "HR",
"forms_created": 8
}
]
}
Отчет об использовании документов¶
Статистика использования документов в системе.
URL: /api/admin/reports/document-usage
Метод: GET
Ответ:
{
"document_usage": [
{
"document_id": 1,
"name": "Инструкция по охране труда",
"type": "instruction",
"category": "general_safety",
"usage_count": 156
},
{
"document_id": 2,
"name": "Форма допуска к работе",
"type": "form",
"category": "work_permit",
"usage_count": 89
}
]
}
Статистика по отделам¶
Анализ активности по отделам организации.
URL: /api/admin/reports/department-stats
Метод: GET
Ответ:
{
"department_stats": [
{
"department": "Безопасность",
"user_count": 15,
"form_count": 234
},
{
"department": "HR",
"user_count": 8,
"form_count": 156
}
]
}
🧹 Системное администрирование¶
Очистка старых черновиков¶
Удаление устаревших черновиков форм для освобождения места.
URL: /api/admin/cleanup/old-drafts
Метод: POST
Параметры: - days_old (int): возраст черновиков в днях (по умолчанию: 30)
Ответ:
Массовая отправка уведомлений¶
Отправка уведомлений группе пользователей или всем пользователям.
URL: /api/admin/notifications/send-bulk
Метод: POST
Параметры: - title (string): заголовок уведомления - message (string): текст уведомления - user_ids (array): список ID пользователей (опционально) - department (string): отдел для отправки (опционально)
Пример запроса:
{
"title": "Обновление системы",
"message": "Система будет обновлена завтра с 02:00 до 04:00",
"department": "IT"
}
Ответ:
Информация о системе¶
Получение информации о состоянии системы и ресурсах.
URL: /api/admin/system-info
Метод: GET
Ответ:
{
"disk": {
"total": 1073741824000,
"used": 536870912000,
"free": 536870912000,
"percent": 50.0
},
"memory": {
"total": 8589934592,
"used": 4294967296,
"free": 4294967296,
"percent": 50.0
},
"uploads_size": 1048576000,
"database_tables": {
"users": 1250,
"documents": 3400,
"forms": 5600,
"access_permissions": 8900
}
}
🔧 Управление доступом¶
Система ролей¶
Система использует иерархическую модель ролей:
- admin - администратор системы (полный доступ)
- owner - владелец организации (полный доступ к организации)
- manager - менеджер организации (управление процессами)
- specialist - специалист (базовый доступ)
Права доступа¶
Каждая роль имеет определенный набор прав:
graph TD
A[admin] --> B[Все права системы]
C[owner] --> D[Управление организацией]
C --> E[Управление пользователями]
C --> F[Управление документами]
G[manager] --> H[Управление процессами]
G --> I[Просмотр отчетов]
J[specialist] --> K[Заполнение форм]
J --> L[Просмотр документов] 📊 Мониторинг и логирование¶
Логи системы¶
Все действия администратора логируются для аудита:
- Вход в систему
- Управление пользователями
- Изменение настроек
- Массовые операции
Метрики производительности¶
Система отслеживает ключевые метрики:
- Время отклика API
- Использование ресурсов
- Количество активных пользователей
- Ошибки и исключения
🚨 Устранение неполадок¶
Частые проблемы¶
Проблема: Пользователь не может войти в систему¶
Решение: 1. Проверить статус пользователя (активен/неактивен) 2. Проверить правильность пароля 3. Проверить срок действия токена 4. Проверить логи системы на наличие ошибок
Проблема: Организация не импортируется из ФНС¶
Решение: 1. Проверить корректность ИНН 2. Проверить доступность API ФНС 3. Проверить настройки интеграции 4. Проверить логи API запросов
Проблема: Медленная работа системы¶
Решение: 1. Проверить использование ресурсов сервера 2. Проверить производительность базы данных 3. Проверить сетевые соединения 4. Оптимизировать запросы к БД
Контакты поддержки¶
При возникновении критических проблем: - Email: admin-support@example.com - Телефон: +7 (495) 123-45-67 - Система поддержки: /api/support/
Руководство администратора регулярно обновляется в соответствии с изменениями в системе.