feat: завершить полную миграцию V1→V2 с модульной архитектурой и документацией

- Завершить миграцию фулфилмента на 100% V2 (удалить legacy компонент)
- Создать полную V2 систему для расходников селлера (SellerConsumableInventory)
- Автоматическое пополнение инвентаря при статусе DELIVERED
- Удалить весь код создания V1 Supply для расходников
- Исправить фильтрацию: расходники селлера только на странице consumables
- Исправить Organization.inn null ошибку с fallback значениями
- Создать документацию V2 систем и отчет о миграции
- Обновить import порядок для ESLint совместимости

BREAKING CHANGES: V1 система поставок расходников полностью удалена
This commit is contained in:
Veronika Smirnova
2025-09-01 00:11:48 +03:00
parent 3f0cc933fc
commit be891f5354
18 changed files with 1347 additions and 1520 deletions

View File

@ -1985,4 +1985,48 @@ export const typeDefs = gql`
message: String!
order: FulfillmentConsumableSupplyOrder
}
# === V2 SELLER CONSUMABLE INVENTORY SYSTEM ===
# Типы для складского учета расходников селлера на складе фулфилмента
type SellerConsumableInventory {
id: ID!
# Связи
sellerId: ID!
seller: Organization!
fulfillmentCenterId: ID!
fulfillmentCenter: Organization!
productId: ID!
product: Product!
# Складские данные
currentStock: Int!
minStock: Int!
maxStock: Int
reservedStock: Int!
totalReceived: Int!
totalUsed: Int!
# Цены
averageCost: Float!
usagePrice: Float
# Метаданные
lastSupplyDate: DateTime
lastUsageDate: DateTime
notes: String
createdAt: DateTime!
updatedAt: DateTime!
}
# Расширяем Query для складских остатков селлера
extend type Query {
# Мои расходники на складе фулфилмента (для селлера)
mySellerConsumableInventory: [Supply!]! # Возвращаем в формате Supply для совместимости
# Все расходники селлеров на складе (для фулфилмента)
allSellerConsumableInventory: [Supply!]! # Для таблицы "Детализация по магазинам"
}
`