mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-23 06:58:10 +02:00
feat: Add PostgreSQL client for FF Nancy data, replacing HTTP API calls with efficient bulk SQL queries.
This commit is contained in:
1 parent
b4f583415b
commit
6827257f95
1 file changed
+11
-14
+11
-14
@@ -67,24 +67,21 @@ export interface PgRankingRow {
|
|||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retourne la liste de tous les fournisseurs depuis fouadr1.
|
* Retourne la liste des fournisseurs actifs et non suspendus depuis fouident.
|
||||||
* 1 requête SQL — remplace getFournisseursFromApi().
|
* 1 requête SQL — remplace getFournisseursFromApi().
|
||||||
*/
|
*/
|
||||||
export async function pgGetFournisseurs(search?: string): Promise<{ code: string; nom: string }[]> {
|
export async function pgGetFournisseurs(search?: string): Promise<{ code: string; nom: string }[]> {
|
||||||
// Jointure avec artfou1 pour ne retourner QUE les fournisseurs ayant des articles
|
|
||||||
const result = await db.execute(sql`
|
const result = await db.execute(sql`
|
||||||
SELECT DISTINCT
|
SELECT
|
||||||
fa.code,
|
fi.code,
|
||||||
fa.raisonsociale AS nom
|
fi.nom
|
||||||
FROM fouadr1 fa
|
FROM fouident fi
|
||||||
INNER JOIN artfou1 af ON af.code = fa.code
|
WHERE fi.actif = true
|
||||||
WHERE fa.sit_code = '000'
|
AND fi.suspendu = false
|
||||||
AND fa.raisonsociale IS NOT NULL
|
AND fi.code IS NOT NULL
|
||||||
AND fa.code IS NOT NULL
|
AND fi.nom IS NOT NULL
|
||||||
-- Exclure les raisonsociales qui commencent par un chiffre (adresses postales)
|
${search ? sql`AND (fi.nom ILIKE ${'%' + search + '%'} OR fi.code ILIKE ${'%' + search + '%'})` : sql``}
|
||||||
AND fa.raisonsociale !~ '^\s*\d'
|
ORDER BY fi.nom
|
||||||
${search ? sql`AND (fa.raisonsociale ILIKE ${'%' + search + '%'} OR fa.code ILIKE ${'%' + search + '%'})` : sql``}
|
|
||||||
ORDER BY fa.raisonsociale
|
|
||||||
`);
|
`);
|
||||||
|
|
||||||
return (result.rows as unknown as { code: string; nom: string }[])
|
return (result.rows as unknown as { code: string; nom: string }[])
|
||||||
|
|||||||
Reference in new issue
Block a user