const { PrismaClient } = require('@prisma/client')

const prisma = new PrismaClient()

async function checkData() {
  console.log('🔍 Проверяем текущие данные фулфилмента...')

  try {
    // Найдем организацию фулфилмента
    const fulfillmentOrg = await prisma.organization.findFirst({
      where: { type: 'FULFILLMENT' },
      select: { id: true, name: true }
    })

    if (!fulfillmentOrg) {
      console.log('❌ Организация фулфилмента не найдена')
      return
    }

    console.log(`🏢 Организация фулфилмента: ${fulfillmentOrg.name} (${fulfillmentOrg.id})`)

    // Проверяем Supply записи
    const supplies = await prisma.supply.findMany({
      where: {
        OR: [
          { organizationId: fulfillmentOrg.id },
          { type: 'FULFILLMENT_CONSUMABLES' }
        ]
      },
      select: {
        id: true,
        name: true,
        type: true,
        currentStock: true,
        quantity: true,
        status: true,
        organizationId: true,
        sellerOwnerId: true,
        createdAt: true,
        updatedAt: true
      },
      orderBy: { createdAt: 'desc' }
    })

    console.log(`\n📦 Supply записи (${supplies.length}):`)
    supplies.forEach((supply, index) => {
      console.log(`  ${index + 1}. ${supply.name}`)
      console.log(`     ID: ${supply.id}`)
      console.log(`     Тип: ${supply.type}`)
      console.log(`     Текущий остаток: ${supply.currentStock}`)
      console.log(`     Общее количество: ${supply.quantity}`)
      console.log(`     Статус: ${supply.status}`)
      console.log(`     Организация: ${supply.organizationId}`)
      console.log(`     Владелец селлер: ${supply.sellerOwnerId}`)
      console.log(`     Создан: ${supply.createdAt}`)
      console.log(`     Обновлен: ${supply.updatedAt}`)
      console.log(`     ---`)
    })

    // Проверяем SupplyOrder записи
    const supplyOrders = await prisma.supplyOrder.findMany({
      where: {
        OR: [
          { fulfillmentCenterId: fulfillmentOrg.id },
          { organizationId: fulfillmentOrg.id }
        ]
      },
      select: {
        id: true,
        status: true,
        totalAmount: true,
        totalItems: true,
        consumableType: true,
        organizationId: true,
        fulfillmentCenterId: true,
        createdAt: true,
        updatedAt: true,
        items: {
          select: {
            id: true,
            quantity: true,
            product: {
              select: { name: true }
            }
          }
        }
      },
      orderBy: { createdAt: 'desc' }
    })

    console.log(`\n📋 SupplyOrder записи (${supplyOrders.length}):`)
    supplyOrders.forEach((order, index) => {
      console.log(`  ${index + 1}. Заказ ${order.id}`)
      console.log(`     Статус: ${order.status}`)
      console.log(`     Тип расходников: ${order.consumableType}`)
      console.log(`     Организация: ${order.organizationId}`)
      console.log(`     Фулфилмент центр: ${order.fulfillmentCenterId}`)
      console.log(`     Создан: ${order.createdAt}`)
      console.log(`     Обновлен: ${order.updatedAt}`)
      console.log(`     Товары:`)
      order.items.forEach(item => {
        console.log(`       - ${item.product.name} x${item.quantity}`)
      })
      console.log(`     ---`)
    })

  } catch (error) {
    console.error('❌ Ошибка:', error)
  } finally {
    await prisma.$disconnect()
  }
}

checkData()