const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient() async function fixSupplyQuantity() { try { console.log('🔧 ИСПРАВЛЯЕМ НЕПРАВИЛЬНОЕ КОЛИЧЕСТВО В SUPPLY ЗАПИСИ') console.log('=' .repeat(60)) // Находим проблемную Supply запись const problemSupply = await prisma.supply.findFirst({ where: { article: 'SF-C-285405-970', type: 'FULFILLMENT_CONSUMABLES' } }) if (!problemSupply) { console.log('❌ Supply запись не найдена') return } console.log('📦 НАЙДЕНА ПРОБЛЕМНАЯ SUPPLY ЗАПИСЬ:') console.log(` ID: ${problemSupply.id}`) console.log(` Название: ${problemSupply.name}`) console.log(` Артикул: ${problemSupply.article}`) console.log(` НЕПРАВИЛЬНОЕ quantity: ${problemSupply.quantity}`) console.log(` Текущий остаток: ${problemSupply.currentStock}`) console.log('') // Находим связанный заказ поставки чтобы узнать ПРАВИЛЬНОЕ количество const relatedOrder = await prisma.supplyOrder.findFirst({ where: { status: 'DELIVERED', items: { some: { product: { article: 'SF-C-285405-970' } } } }, include: { items: { include: { product: true } } } }) if (!relatedOrder) { console.log('❌ Связанный заказ поставки не найден') return } const orderItem = relatedOrder.items.find(item => item.product.article === 'SF-C-285405-970') if (!orderItem) { console.log('❌ Товар в заказе не найден') return } const correctQuantity = orderItem.quantity console.log('📋 СВЯЗАННЫЙ ЗАКАЗ ПОСТАВКИ:') console.log(` ID заказа: ${relatedOrder.id}`) console.log(` ПРАВИЛЬНОЕ quantity: ${correctQuantity}`) console.log('') if (problemSupply.quantity === correctQuantity) { console.log('✅ Количество уже корректно, исправление не требуется') return } console.log('🔧 ИСПРАВЛЯЕМ SUPPLY ЗАПИСЬ:') console.log(` БЫЛО: quantity = ${problemSupply.quantity}`) console.log(` СТАЛО: quantity = ${correctQuantity}`) console.log('') // Исправляем quantity const updatedSupply = await prisma.supply.update({ where: { id: problemSupply.id }, data: { quantity: correctQuantity, // Правильное количество из заказа } }) console.log('✅ SUPPLY ЗАПИСЬ ИСПРАВЛЕНА!') console.log(` ID: ${updatedSupply.id}`) console.log(` Quantity: ${updatedSupply.quantity} (исправлено)`) console.log(` CurrentStock: ${updatedSupply.currentStock} (остался без изменений)`) console.log('') console.log('🎯 ОЖИДАЕМЫЙ РЕЗУЛЬТАТ В UI:') console.log(` Заказано: ${correctQuantity} шт`) console.log(` Поставлено: ${correctQuantity} шт`) console.log(` Остаток: ${updatedSupply.currentStock} шт`) console.log(` Отправлено: 0 шт`) console.log('') console.log('=' .repeat(60)) console.log('✅ ИСПРАВЛЕНИЕ ЗАВЕРШЕНО') } catch (error) { console.error('❌ ОШИБКА при исправлении:', error) console.error(' Детали:', error.message) } finally { await prisma.$disconnect() } } fixSupplyQuantity()