diff --git a/src/features/grid/api/get-product-rows.ts b/src/features/grid/api/get-product-rows.ts index feb3fd7..7db38b6 100644 --- a/src/features/grid/api/get-product-rows.ts +++ b/src/features/grid/api/get-product-rows.ts @@ -121,12 +121,10 @@ export async function getProductRows(input: GetProductRowsInput): Promise 0) { if (!storeMonthsByCodein.has(row.codein)) storeMonthsByCodein.set(row.codein, new Map()); - const storeMonths = storeMonthsByCodein.get(row.codein)!; - if (!storeMonths.has(row.site)) storeMonths.set(row.site, new Set()); - storeMonths.get(row.site)!.add(periode); + storeMonthsByCodein.get(row.codein)!.set(row.site, new Set()); // on garde juste le site } } @@ -155,13 +153,10 @@ export async function getProductRows(input: GetProductRowsInput): Promise 0 ? (product.totalMarge / product.totalCa) * 100 : 0; - // workingStores : sites avec ventes sur ≥ 3 mois distincts + // workingStores : sites avec au moins 1 vente sur les 12 derniers mois const storeMonths = storeMonthsByCodein.get(codein); if (storeMonths) { - product.workingStores = [...storeMonths.entries()] - .filter(([, periods]) => periods.size >= 3) - .map(([site]) => site) - .sort(); + product.workingStores = [...storeMonths.keys()].sort(); } // Commandes en cours diff --git a/src/lib/pg-ff-client.ts b/src/lib/pg-ff-client.ts index 2110816..dcdb23b 100644 --- a/src/lib/pg-ff-client.ts +++ b/src/lib/pg-ff-client.ts @@ -172,9 +172,9 @@ export async function pgGetMensuelByFournisseur( TO_CHAR(m.datmvt, 'YYYY-MM') AS mois, -- genremvt=3 : vente → qtemvt négatif, retour → qtemvt positif -- qte_vendue nette = SUM(-qtemvt) : ventes moins retours - SUM(CASE WHEN m.genremvt = 3 THEN -m.qtemvt ELSE 0 END)::float AS qte_vendue, - SUM(CASE WHEN m.genremvt = 3 THEN m.mntmvtttc ELSE 0 END)::float AS ca_ht, - 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, + SUM(CASE WHEN m.genremvt = 3 THEN -m.mntmvtttc ELSE 0 END)::float AS ca_ht, + 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