refactor: подготовка к стандартизации Transfer моделей

Текущее состояние перед рефакторингом Transfer → TransferDocument.
Все изменения с последнего коммита по улучшению системы поступлений.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-26 19:55:50 +03:00
parent 0da2995a74
commit c534e27c41
14 changed files with 198 additions and 313 deletions

View File

@@ -56,11 +56,11 @@ def get_queryset(self):
## 🟡 Средний приоритет
### 4. Рефакторинг модельной избыточности
**Проблема:** IncomingDocument → IncomingBatch → Incoming создает 3 уровня данных
**Решение:** Долгосрочная миграция к упрощенной структуре
### 4. Рефакторинг модельной избыточности (ВЫПОЛНЕНО)
**Проблема:** IncomingDocument → IncomingBatch → Incoming создавало 3 уровня данных
**Решение:** Миграция к упрощенной структуре завершена
**Архитектура будущего:**
**Текущая архитектура:**
```
IncomingDocument (документ)
@@ -69,12 +69,14 @@ IncomingDocumentItem (позиции документа)
StockBatch (напрямую создается из items при подтверждении)
```
**Преимущества:**
- Убрать промежуточные Incoming/IncomingBatch
- Упростить код сигналов
- Меньше JOIN'ов в запросах
**Достигнутые результаты:**
- ✅ Удалены промежуточные модели Incoming/IncomingBatch
- Упрощен код сигналов (удалены create_stock_batch_on_incoming и update_stock_batch_on_incoming_edit)
- ✅ Упрощен IncomingDocumentService.confirm_document() - напрямую создает StockBatch
- ✅ Меньше JOIN'ов в запросах
- ✅ Применены миграции БД для удаления таблиц
**Миграция:** Постепенная, требует переписывания signals и services
**Дата выполнения:** 2025-12-26
---
@@ -135,7 +137,7 @@ def add_items_bulk(document, items_data):
1.**Неделя 1:** Безопасность (права доступ, п.1)
2.**Неделя 2:** Тесты (критические пути, п.2)
3.**Неделя 3:** Производительность (N+1, п.3)
4. 📅 **Квартал 2:** Рефакторинг моделей (п.4)
4. **26.12.2025:** Рефакторинг моделей (п.4) - избавились от лишних сущностей
5. 📅 **По необходимости:** Bulk операции (п.5), документация (п.6)
---