chore: fix diag-fournisseurs to inspect real fouadr1 column structure

This commit is contained in:
Michael committed 2026-03-31 13:44:19 +02:00
1 parent 09f80b35cb
commit 072479b30f
1 file changed
+18 -43
+18 -43
View File
@@ -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 });