import { prisma } from '../src/config/database.js'; async function main() { // Buscar tenant HTS240708LJA const tenant = await prisma.tenant.findUnique({ where: { rfc: 'HTS240708LJA' }, select: { id: true, nombre: true, rfc: true }, }); if (!tenant) { console.log('Tenant HTS240708LJA no encontrado'); return; } console.log(`Tenant: ${tenant.nombre} (${tenant.id})\n`); // Jobs a nivel tenant const tenantJobs = await prisma.satSyncJob.findMany({ where: { tenantId: tenant.id }, orderBy: { createdAt: 'desc' }, take: 10, select: { id: true, type: true, status: true, contribuyenteId: true, createdAt: true, completedAt: true, cfdisDownloaded: true, }, }); console.log('=== Jobs a nivel tenant ==='); if (tenantJobs.length === 0) { console.log('Sin jobs'); } else { tenantJobs.forEach((j) => { console.log(` ${j.id} | type=${j.type} | status=${j.status} | contrib=${j.contribuyenteId || 'N/A'} | descargados=${j.cfdisDownloaded} | completed=${j.completedAt?.toISOString() || 'N/A'}`); }); } // Buscar contribuyentes del tenant const db = await import('../src/config/database.js'); const pool = await db.tenantDb.getPool(tenant.id, `horux_${tenant.rfc.toLowerCase()}`); const { rows } = await pool.query('SELECT entidad_id, rfc, razon_social FROM contribuyentes'); console.log('\n=== Contribuyentes ==='); for (const c of rows) { console.log(` ${c.entidad_id} | ${c.rfc} | ${c.nombre}`); } // Jobs por contribuyente for (const c of rows) { const jobs = await prisma.satSyncJob.findMany({ where: { tenantId: tenant.id, contribuyenteId: c.entidad_id }, orderBy: { createdAt: 'desc' }, take: 5, select: { id: true, type: true, status: true, createdAt: true, completedAt: true, cfdisDownloaded: true, }, }); console.log(`\n=== Jobs para ${c.rfc} ===`); if (jobs.length === 0) { console.log(' Sin jobs'); } else { jobs.forEach((j) => { console.log(` ${j.id} | type=${j.type} | status=${j.status} | descargados=${j.cfdisDownloaded} | completed=${j.completedAt?.toISOString() || 'N/A'}`); }); } } await prisma.$disconnect(); } main().catch((e) => { console.error(e); process.exit(1); });