Michael
518838c01e
feat: introduce getProductRows API to fetch, process, and score product data from multiple sources.
2026-03-18 18:11:08 +01:00
Michael and Claude Sonnet 4.6
47e617afd3
feat: restore reference, gtin, gamme initiale and nomenclature
...
api-ff-client.ts:
- FfArticle: add reference (ref_fou_principale) and gtin fields
- getArticlesByFournisseur: map ref_fou_principale → reference, gtin → gtin
get-product-rows.ts:
- ProductRow seeded with reference and gtin from API articles
- Phase 6: read codeGamme, codeGammeInit, code3, libelle3 from ventesProduits
(read-only, DISTINCT ON codein ordered by updated_at DESC)
- Phase 7 snapshot still overrides DB gammes when a snapshot exists
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 18:08:21 +01:00
Michael and Claude Sonnet 4.6
58f17152a1
feat: switch to /articles/:no_id/mensuel endpoint for sales & stock data
...
Replaces bulk mouvements pagination + per-article stock N+1 with a single
batched call to the new mensuel endpoint (confirmed working via diag).
api-ff-client.ts:
- Remove getStockByFournisseur (no longer needed)
- Add FfMensuelEntry/Ventes/Receptions interfaces
- Add getMensuelByArticles(articles, dateDebut, dateFin, batchSize=20)
→ Map<codein, FfMensuelEntry[]> using no_id as API identifier
get-product-rows.ts:
- Phase 2: getMensuelByArticles + getCommandesByFournisseur in parallel
- Phase 5: aggregate mois×site entries → sales12m, stock12m, workingStores
- qte_vendue / ca_ht are negative → Math.abs()
- stock carry-forward for months with no data
- pa from prmp_fin_mois
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 18:00:55 +01:00
Michael
1035489db1
feat: Add FF Nancy API client and status endpoint, implement grid product fetching and draft change saving, and introduce AI Copilot core logic.
2026-03-18 14:31:29 +01:00
Michael
12809b9924
Merge branch 'main' of https://github.com/R0m1k3/CollectFlow
2026-03-11 14:45:49 +01:00
Michael
6529b2fe15
feat: Add saveDraftChanges API endpoint to update product drafts and correctly set codeGammeInit using COALESCE.
2026-03-11 14:45:47 +01:00
Michael
8237cf2d9f
fix: snapshot deletion, restore grid logic and add diagnostic API
2026-03-10 16:07:24 +01:00
Michael
5eb3f6732e
feat: Add Drizzle ORM database setup, product data fetching and processing with scoring, and a diagnostic API endpoint.
2026-03-10 16:04:55 +01:00
Michael
1e5bb74344
feat: implement getProductRows API to fetch, filter, and aggregate product sales data for the grid, including schema initialization and scoring.
2026-03-10 15:59:44 +01:00
Michael
10cea8c528
feat: Implement product grid with a new API for fetching and processing product sales data, including schema initialization and score computation, and a dashboard page for display.
2026-03-10 15:52:29 +01:00
Michael
5009bd7612
feat: Implement getProductRows API to fetch, aggregate, and score product sales data, including a self-healing schema initialization for code_gamme_init.
2026-03-10 15:30:43 +01:00
Michael
1b09994087
feat: implement product grid data fetching with schema self-healing and add a database verification script.
2026-03-10 13:53:33 +01:00
Michael
b408de4c9c
feat: Implement API to fetch and process product sales data for grid display, including schema initialization, sales aggregation, and score calculation.
2026-03-10 12:47:13 +01:00
Michael
3ce22defa7
feat: Introduce product scoring based on weighted sales metrics and store participation, integrated into the product grid API, and add a performance test script.
2026-03-10 11:29:39 +01:00
Michael
d75454dd56
feat: Implement virtualized product heatmap grid with data fetching and client integration.
2026-03-06 15:03:25 +01:00
Michael
b7caf552a2
feat: Implement initial product data fetching API and establish the Product Requirements Document.
2026-02-23 11:27:14 +01:00
Michael
9493a39d12
feat(grid): preserve initial gamme reference and add modification icon
2026-02-21 18:30:48 +01:00
Michael
8567361107
feat(grid): refine nomenclature to 6-digits, single dropdown filter, and distinct store colors
2026-02-21 18:07:36 +01:00
Michael
93e01a475a
fix(db): remove non-existent columns from schema and fix aggregation logic
2026-02-21 17:34:04 +01:00
Michael
33615bb1bd
feat(grid): implement hierarchical nomenclature filter (Secteur > Rayon > Famille)
2026-02-21 17:27:33 +01:00
Michael
de7aa1560e
feat(grid): improve draft persistence and fix global save in national view
2026-02-21 15:49:52 +01:00
Michael
cb7cbf873f
feat(grid): add store participation icons in designation column
2026-02-21 15:44:53 +01:00
Michael
86240f4b46
chore(cleanup): remove unused imports, variables and fix missing hook dependencies
2026-02-21 15:15:22 +01:00
Michael
c1bd0ae097
feat(grid): exclude current month from grid and scoring calculations
2026-02-21 15:13:29 +01:00
Michael
3544c0c898
feat(grid): ajout algorithme score produit avec parametrage dynamique et page d'aide
2026-02-21 04:00:51 +01:00