feat: Add PostgreSQL client for FF Nancy data, replacing per-article HTTP calls with bulk SQL queries for improved performance.

This commit is contained in:
Michael committed 2026-03-20 11:30:54 +01:00
1 parent 750017de14
commit d5b518477a
1 file changed
+7 -5
+7 -5
View File
@@ -170,11 +170,13 @@ export async function pgGetMensuelByFournisseur(
a.codein, a.codein,
m.site, m.site,
TO_CHAR(m.datmvt, 'YYYY-MM') AS mois, TO_CHAR(m.datmvt, 'YYYY-MM') AS mois,
SUM(CASE WHEN m.genremvt = 3 THEN ABS(m.qtemvt) ELSE 0 END)::float AS qte_vendue, -- genremvt=3 : vente → qtemvt négatif, retour → qtemvt positif
SUM(CASE WHEN m.genremvt = 3 THEN ABS(m.mntmvtttc) ELSE 0 END)::float AS ca_ht, -- qte_vendue nette = SUM(-qtemvt) : ventes moins retours
SUM(CASE WHEN m.genremvt = 3 THEN m.margemvt ELSE 0 END)::float AS marge, SUM(CASE WHEN m.genremvt = 3 THEN -m.qtemvt ELSE 0 END)::float AS qte_vendue,
MAX(m.qtestock)::float AS stock_fin_mois, SUM(CASE WHEN m.genremvt = 3 THEN m.mntmvtttc ELSE 0 END)::float AS ca_ht,
SUM(CASE WHEN m.genremvt IN (1, 2) THEN ABS(m.qtemvt) ELSE 0 END)::float AS qte_recue SUM(CASE WHEN m.genremvt = 3 THEN m.margemvt ELSE 0 END)::float AS marge,
MAX(m.qtestock)::float AS stock_fin_mois,
SUM(CASE WHEN m.genremvt IN (1, 2) THEN -m.qtemvt ELSE 0 END)::float AS qte_recue
FROM mvtart m FROM mvtart m
JOIN articles a ON a.no_id = m.artnoid JOIN articles a ON a.no_id = m.artnoid
-- Sous-requête dédupliquée : 1 seule ligne par article/fournisseur -- Sous-requête dédupliquée : 1 seule ligne par article/fournisseur