diff --git a/src/app/api/diag-fournisseurs/route.ts b/src/app/api/diag-fournisseurs/route.ts index 3540aef..ee7e2e3 100644 --- a/src/app/api/diag-fournisseurs/route.ts +++ b/src/app/api/diag-fournisseurs/route.ts @@ -4,46 +4,16 @@ import { sql } from "drizzle-orm"; export async function GET() { try { - // 1. Tous les sit_code distincts dans fouadr1 - const sitCodes = await db.execute(sql` - SELECT sit_code, COUNT(*) AS nb - FROM fouadr1 - GROUP BY sit_code - ORDER BY nb DESC + // 1. Colonnes réelles de fouadr1 + const cols = await db.execute(sql` + SELECT column_name, data_type + FROM information_schema.columns + WHERE table_name = 'fouadr1' + ORDER BY ordinal_position `); - // 2. D005 dans tous les sit_code - const d005 = await db.execute(sql` - SELECT sit_code, code, raisonsociale, ville, pays - FROM fouadr1 - WHERE code = 'D005' - ORDER BY sit_code - `); - - // 3. Liste complète des fournisseurs actifs (avec CA récent) par sit_code - // → comparer la même liste sur sit_code='000' vs le vrai sit_code utilisé - const allSitCodes = (sitCodes.rows as any[]).map(r => r.sit_code); - - // 4. Top fournisseurs dans chaque sit_code pour D005, J009, M0341 - const sample = await db.execute(sql` - SELECT sit_code, code, raisonsociale - FROM fouadr1 - WHERE code IN ('D005','J009','M0341','L0091','S053','B0071','C024','T015') - ORDER BY code, sit_code - `); - - // 5. Liste complète fouadr1 sans filtre sit_code pour avoir tous les noms - const fullList = await db.execute(sql` - SELECT DISTINCT ON (code) code, raisonsociale, sit_code - FROM fouadr1 - WHERE raisonsociale IS NOT NULL - AND raisonsociale != '' - ORDER BY code, sit_code - LIMIT 200 - `); - - // 6. Est-ce qu'il y a une autre table de fournisseurs ? - const otherTables = await db.execute(sql` + // 2. Toutes les tables contenant "fou" + const tables = await db.execute(sql` SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' @@ -51,12 +21,17 @@ export async function GET() { ORDER BY table_name `); + // 3. Sample de fouadr1 (5 lignes brutes) + const sample = await db.execute(sql`SELECT * FROM fouadr1 LIMIT 5`); + + // 4. Sample de fouadr1 pour code D005 + const d005 = await db.execute(sql`SELECT * FROM fouadr1 WHERE code = 'D005' LIMIT 10`); + return NextResponse.json({ - sit_codes_in_fouadr1: sitCodes.rows, - d005_all_sit_codes: d005.rows, - sample_known_suppliers: sample.rows, - full_list_no_filter: fullList.rows, - tables_with_fou: otherTables.rows, + fouadr1_columns: cols.rows, + tables_with_fou: tables.rows, + fouadr1_sample: sample.rows, + fouadr1_d005: d005.rows, }); } catch (e) { return NextResponse.json({ error: String(e) }, { status: 500 });