mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-11 17:26:32 +02:00
chore: fix diag-fournisseurs to inspect real fouadr1 column structure
This commit is contained in:
1 parent
09f80b35cb
commit
072479b30f
1 file changed
+18
-43
@@ -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 });
|
||||
|
||||
Reference in new issue
Block a user