feat(graphql): обновить систему на V2 архитектуру с улучшенной синхронизацией

- Переход с таблицы Supply на fulfillmentConsumableInventory для V2 системы
- Добавить productId в GraphQL схему Supply для корректной фильтрации
- Обновить резолверы статистики фулфилмента для использования V2 таблиц
- Исправить подсчёт ежедневных изменений с использованием V2 поставок
- Добавить синхронизацию данных между связанными компонентами

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Veronika Smirnova
2025-08-27 12:27:26 +03:00
parent b405daa1be
commit 0fe8a7072d
3 changed files with 60 additions and 30 deletions

View File

@ -610,6 +610,7 @@ export const typeDefs = gql`
type Supply {
id: ID!
productId: ID # ID продукта для фильтрации истории поставок
name: String!
article: String! # ДОБАВЛЕНО: Артикул СФ для уникальности
description: String
@ -1777,7 +1778,7 @@ export const typeDefs = gql`
}
input ReceiveFulfillmentConsumableSupplyItemInput {
productId: ID!
id: ID!
receivedQuantity: Int!
defectQuantity: Int
}
@ -1820,10 +1821,6 @@ export const typeDefs = gql`
supplierRejectConsumableSupply(id: ID!, reason: String): SupplierConsumableSupplyResponse!
supplierShipConsumableSupply(id: ID!): SupplierConsumableSupplyResponse!
# Мутации логистики для V2 расходников фулфилмента
logisticsConfirmConsumableSupply(id: ID!): SupplierConsumableSupplyResponse!
logisticsRejectConsumableSupply(id: ID!, reason: String): SupplierConsumableSupplyResponse!
# Мутация фулфилмента для приемки V2 расходников
fulfillmentReceiveConsumableSupply(
id: ID!
@ -1967,4 +1964,25 @@ export const typeDefs = gql`
# Отмена поставки селлером (только PENDING/APPROVED)
cancelSellerSupply(id: ID!): SellerConsumableSupplyOrder!
}
# === V2 ЛОГИСТИКА РАСХОДНИКОВ ФУЛФИЛМЕНТА ===
extend type Query {
# Получить V2 поставки для логистической компании
myLogisticsConsumableSupplies: [FulfillmentConsumableSupplyOrder!]!
}
extend type Mutation {
# Подтверждение поставки логистикой
logisticsConfirmConsumableSupply(id: ID!): LogisticsConsumableSupplyResponse!
# Отклонение поставки логистикой
logisticsRejectConsumableSupply(id: ID!, reason: String): LogisticsConsumableSupplyResponse!
}
# Ответ логистических операций V2
type LogisticsConsumableSupplyResponse {
success: Boolean!
message: String!
order: FulfillmentConsumableSupplyOrder
}
`