const { PrismaClient } = require('@prisma/client') const prisma = new PrismaClient() // Тестируем V2 систему фулфилмента после переключения async function testV2Migration() { console.log('🔍 ТЕСТИРОВАНИЕ V2 СИСТЕМЫ ФУЛФИЛМЕНТА...') try { // 1. Проверяем организацию фулфилмента const fulfillmentOrg = await prisma.organization.findFirst({ where: { type: 'FULFILLMENT' }, select: { id: true, name: true, inn: true } }) if (!fulfillmentOrg) { console.log('❌ Организация фулфилмента не найдена') return } console.log(`✅ Фулфилмент: ${fulfillmentOrg.name} (${fulfillmentOrg.id})`) // 2. Проверяем V2 инвентарь console.log('\n📦 ПРОВЕРКА V2 ИНВЕНТАРЯ...') const inventory = await prisma.fulfillmentConsumableInventory.findMany({ where: { fulfillmentCenterId: fulfillmentOrg.id }, include: { product: { select: { name: true, article: true } }, fulfillmentCenter: { select: { name: true } } } }) console.log(`📊 V2 Inventory записей: ${inventory.length}`) inventory.forEach((item, i) => { console.log(` ${i+1}. ${item.product.name} - остаток: ${item.currentStock}`) }) // 3. Проверяем V2 заказы console.log('\n📋 ПРОВЕРКА V2 ЗАКАЗОВ...') const orders = await prisma.fulfillmentConsumableSupplyOrder.findMany({ where: { fulfillmentCenterId: fulfillmentOrg.id }, include: { items: { include: { product: { select: { name: true } } } }, supplier: { select: { name: true } } }, orderBy: { createdAt: 'desc' } }) console.log(`📊 V2 Orders записей: ${orders.length}`) orders.forEach((order, i) => { console.log(` ${i+1}. ${order.supplier.name} - статус: ${order.status} (${order.items.length} позиций)`) }) // 4. Проверяем что V1 Supply НЕ создаются для FULFILLMENT_CONSUMABLES console.log('\n🚫 ПРОВЕРКА ОТСУТСТВИЯ V1 ЗАПИСЕЙ...') const v1Supplies = await prisma.supply.findMany({ where: { organizationId: fulfillmentOrg.id, type: 'FULFILLMENT_CONSUMABLES' } }) console.log(`📊 V1 Supply записей с типом FULFILLMENT_CONSUMABLES: ${v1Supplies.length}`) if (v1Supplies.length === 0) { console.log('✅ V1 система корректно отключена!') } else { console.log('⚠️ Найдены V1 записи - возможна проблема!') v1Supplies.forEach((supply, i) => { console.log(` ${i+1}. ${supply.name} - ${supply.createdAt}`) }) } // 5. Проверяем старые SupplyOrder записи console.log('\n📦 ПРОВЕРКА СТАРЫХ SUPPLYORDER...') const oldSupplyOrders = await prisma.supplyOrder.findMany({ where: { organizationId: fulfillmentOrg.id, consumableType: 'FULFILLMENT_CONSUMABLES' } }) console.log(`📊 Старых SupplyOrder с FULFILLMENT_CONSUMABLES: ${oldSupplyOrders.length}`) console.log('\n🎯 РЕЗУЛЬТАТ ТЕСТИРОВАНИЯ:') console.log(` V2 Inventory: ${inventory.length} записей ✅`) console.log(` V2 Orders: ${orders.length} записей ✅`) console.log(` V1 Supplies: ${v1Supplies.length} записей ${v1Supplies.length === 0 ? '✅' : '⚠️'}`) console.log(` Старые SupplyOrder: ${oldSupplyOrders.length} записей`) if (inventory.length > 0 && v1Supplies.length === 0) { console.log('\n🎉 V2 СИСТЕМА ФУЛФИЛМЕНТА РАБОТАЕТ КОРРЕКТНО!') } else { console.log('\n⚠️ Обнаружены проблемы в V2 системе') } } catch (error) { console.error('❌ ОШИБКА при тестировании:', error) } finally { await prisma.$disconnect() } } testV2Migration()