Модуль company_structure
Путь: app/company_structure/
Django app: app.company_structure
Назначение
Управляет организационной структурой компании: отделами, должностями, сотрудниками и HR-процессами.
Модели
Department
python
class Department(MPTTModel):
"""Отдел / подразделение (иерархия)"""
name = CharField()
parent = TreeForeignKey('self', null=True)
head = FK(User, null=True) # руководитель
organization = FK(Organization)
is_active = BooleanField()Position
python
class Position(Model):
"""Должность"""
name = CharField()
department = FK(Department)
salary_grade = IntegerField() # грейд
is_active = BooleanField()Сервисный слой
app/company_structure/services/:
| Сервис | Назначение |
|---|---|
financial_service.py | Расчёт зарплат, финансовые показатели |
employee_service.py | Операции с сотрудниками |
department_service.py | Работа с отделами и иерархией |
analytics_service.py | HR-аналитика (текучесть, штатное расписание) |
API
| Endpoint | Описание |
|---|---|
GET /api/v2/company-structure/departments/ | Дерево отделов |
GET /api/v2/company-structure/positions/ | Должности |
GET /api/v2/company-structure/employees/ | Сотрудники |
Тесты
Один из наиболее покрытых тестами модулей:
tests/test_views.py— тесты APItests/test_services.py— тесты сервисного слояtests/test_models.py— тесты моделей
Связи
app.users— пользователи системыapp.manufacture— производственные сменыapp.tasks— задачи по отделамapp.lms— обучение сотрудниковapp.ats— подбор персонала