Michael and Claude Sonnet 4.6
bc76237f48
feat: sort analytics by name (fournisseur) or code asc (nomenclature); show code in nomenclature label; remove diag-fournisseurs endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-01 08:42:21 +02:00
Michael
f0a360115f
chore: inspect fouident table for correct supplier names
2026-03-31 17:32:54 +02:00
Michael
67b0c8c74f
chore: inspect v_ca_fournisseur view structure
2026-03-31 13:52:22 +02:00
Michael
072479b30f
chore: fix diag-fournisseurs to inspect real fouadr1 column structure
2026-03-31 13:44:19 +02:00
Michael
09f80b35cb
chore: add diag-fournisseurs endpoint to investigate fouadr1 sit_code and naming
2026-03-31 13:40:08 +02:00
Michael and Claude Sonnet 4.6
cfd3a7e601
chore: remove temporary diag-supplier investigation endpoint
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 12:08:15 +02:00
Michael and Claude Sonnet 4.6
51adac0349
fix: attribute CA to supplier of last stock entry (dernière entrée en stock)
...
Previous approach (artfou1 DISTINCT ON no_id DESC) picked the most recent
artfou1 record, but artfou1 is a commercial reference table that may not
reflect actual current sourcing.
New approach: for each article, find the most recent reception movement
(genremvt IN (1,2)) in mvtart — this is the actual last delivery. Join
artfou1 to get the supplier code (ORDER BY datmvt DESC, af.no_id DESC to
break ties). This correctly attributes CA to whoever last physically
delivered the goods, not to a historical commercial reference.
Articles with no reception history are excluded (no INNER JOIN fallback
needed as all sold articles must have been received at least once).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 12:05:38 +02:00
Michael and Claude Sonnet 4.6
3d77f6b879
chore: add diag-supplier endpoint for artfou1 supplier attribution investigation
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 11:08:23 +02:00
Michael and Claude Sonnet 4.6
7e8b50e143
fix: remove function prop, unused import and useSearchParams in analytics
...
- page.tsx: move formatCA into client component (functions not serializable
across server→client boundary in Next.js — root cause of 500)
- client.tsx: remove unused BarChart2 import
- client.tsx: replace useSearchParams() with direct URL construction to
avoid Suspense boundary requirement
- pg-ff-client: use OR conditions instead of IN() for Drizzle compatibility
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 10:32:21 +02:00
Michael and Claude Sonnet 4.6
740aed3181
feat: add analytics page with CA TTC comparison by supplier/nomenclature
...
- pg-ff-client: add pgGetCaByFournisseur() and pgGetCaByNomenclature()
returning CA TTC per site and month for monthly N vs N-1 comparison
- analytics/page.tsx: server component with pivot logic to reshape raw
query data into store-separated columns (292/579/total) with evolution %
- analytics/client.tsx: client controls (mode dropdown, month selector)
and responsive table with color-coded evolution badges
- sidebar: add "Analytics" link to navigation
Features:
- Switch between "Fournisseur" and "Nomenclature" views
- Select any month for comparison vs same month prior year
- Columns split by store: Frouard/Nancy (292), Houdemont (579), Total
- Each store shows: CA this month, CA N-1, evolution %
- Footer totals row matching sum of detail rows
- FR locale currency formatting (€)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 09:40:31 +02:00
Michael
2eb196861b
feat: Implement initial dashboard page displaying network-level KPIs and individual store statistics.
2026-03-22 10:41:32 +01:00
Michael
38979debb8
feat: implement dashboard page with network KPIs and store statistics.
2026-03-21 19:41:59 +01:00
Michael
33deb033b5
feat: implement dashboard page with network-wide and site-specific KPIs, and top 10 items display.
2026-03-21 19:36:02 +01:00
Michael
46c799bd60
feat: Add dashboard page displaying network KPIs and store statistics, along with a new PostgreSQL data client.
2026-03-21 19:18:41 +01:00
Michael
a705d0043d
feat: Add dashboard page displaying network KPIs, site statistics, and top-selling items.
2026-03-21 18:55:33 +01:00
Michael
6ee0e3294d
feat: Introduce direct PostgreSQL client for FF Nancy data to replace HTTP API calls and add a new dashboard page.
2026-03-21 14:37:02 +01:00
Michael
d1bbe290da
feat: Implement dashboard layout and a new PostgreSQL client for optimized FF Nancy data fetching via bulk SQL queries.
2026-03-21 13:07:59 +01:00
Michael
e3d241a5ff
feat: add PostgreSQL client for FF Nancy to replace per-article HTTP API calls with bulk SQL queries.
2026-03-21 11:59:36 +01:00
Michael
1664aaf4cc
feat: Implement initial dashboard page displaying key performance indicators, site statistics, top items, and monthly evolution.
2026-03-21 08:54:52 +01:00
Michael
1e393753fa
feat: Implement PostgreSQL client for FF Nancy to replace per-article HTTP calls with bulk SQL queries.
2026-03-21 08:37:33 +01:00
Michael
966b13cdf0
feat: implement dashboard page displaying KPIs, site statistics, top items, and monthly evolution using a new PostgreSQL client.
2026-03-21 00:22:14 +01:00
Michael
7cb96966aa
feat: implement PostgreSQL client for FF Nancy data, replacing per-article HTTP calls with bulk SQL queries.
2026-03-20 16:09:22 +01:00
Michael
d5a422e738
feat: Implement dashboard page, its data fetching client, and shared sidebar component.
2026-03-20 14:43:19 +01:00
Michael
41a8b32aff
feat: Add API route to export modified gammes data to an Excel file.
2026-03-19 15:28:16 +01:00
Michael
2b7e7bc1f4
feat: Introduce AI analysis engine with detailed system prompt and user message generation for product recommendations, and add an OpenRouter client.
2026-03-19 09:50:28 +01:00
Michael
d8a9329075
feat: Introduce AI Copilot feature with product analysis engine, state management, and UI components for insights.
2026-03-19 07:53:56 +01:00
Michael
aa02d019bd
feat: Implement AI Copilot for product analysis and add comprehensive product grid data fetching.
2026-03-18 21:25:53 +01:00
Michael
9aca3b8ead
feat: Add virtualized heatmap grid component with dynamic columns, filtering, and row selection.
2026-03-18 20:34:23 +01:00
Michael
ab603e3a6f
feat: Add a diagnostic API route and implement server-side logic for fetching and scoring product grid data.
2026-03-18 19:54:44 +01:00
Michael and Claude Sonnet 4.6
ca467c73f6
chore: probe /api/articles/:no_id/referentiel in diag
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 19:24:09 +01:00
Michael and Claude Sonnet 4.6
06e1b1a238
chore: add ventesProduits diagnostic to diag endpoint
...
Shows row counts, gamme/code3 fill rates, and sample rows
for AUXENCE/A025 to diagnose missing classification data.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 19:17:22 +01:00
Michael and Claude Sonnet 4.6
2d37a134d4
chore: update diag to probe new mensuel, stock/periode, and mouvements/types endpoints
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 16:44:01 +01:00
Michael and Claude Sonnet 4.6
c33e22f7eb
fix: extractList includes API-specific wrapper keys, diag uses real codefou
...
- extractList now explicitly checks "mouvements", "articles", "fournisseurs",
"ventes", "stocks", "commandes" wrapper keys before generic array fallback
- Diag endpoint auto-fetches first real codefou from fournisseurs instead
of hardcoded "AUXENCE" (which was supplier nom, not actual codefou)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:57:49 +01:00
Michael and Claude Sonnet 4.6
9e500b6650
feat: enhance diag endpoint to probe mouvements API with multiple date param variants
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-18 14:50:32 +01:00
Michael
c056750ea7
feat: implement FF Nancy API client including data models and functions for suppliers, articles, movements, and stock.
2026-03-18 14:44:44 +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
38e8fc1eac
feat: implement AI analysis engine for generating retail product recommendation prompts.
2026-03-13 08:55:30 +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
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
c7fa25a5d1
feat: Implement an Apple-inspired design system with dark/light modes and introduce the initial dashboard layout including a heatmap grid component.
2026-03-05 14:08:29 +01:00
Michael
b921f5ad40
fix(ai): implement automatic network retry for OpenRouter 502/503/529 overloads in Bulk Analyzer
2026-02-27 14:57:14 +01:00
Michael
81fbe35e55
feat: Introduce product grid page with server-side data fetching for suppliers, stores, and nomenclature, supporting initial selection.
2026-02-27 13:37:18 +01:00
Michael
02fdd18a52
feat: implement AI product analysis endpoint using OpenRouter with optimized timeout handling and N+1 query prevention.
2026-02-27 10:36:34 +01:00
Michael
51a30b26e4
feat: establish Apple-inspired global design system and add initial AI analysis UI components.
2026-02-27 10:26:09 +01:00
Michael
c95eb0ecb6
feat: Add new settings page with Apple-style UI, OpenRouter AI integration, and Mary v4 analysis.
2026-02-27 10:02:23 +01:00
Michael
ea732bafc4
feat: implement AI analysis engine for product recommendation and justification by generating prompts and processing responses.
2026-02-26 16:15:20 +01:00
Michael
3438d1b35d
feat: add HeatmapCell component and Apple-inspired global design system with dark/light mode support.
2026-02-26 15:54:47 +01:00
Michael
9d8ef0e4db
feat: Implement dashboard layout, shared sidebar, AI copilot analysis and scoring engines, and a grid floating summary bar.
2026-02-26 15:21:16 +01:00
Michael
a092572829
feat: Implement dashboard layout with new sidebar, bulk AI analysis, supplier AI context modal, and floating summary bar.
2026-02-26 15:11:04 +01:00
Michael
1c03403e9a
feat: implement AI Copilot for product analysis, featuring dedicated API, business logic, UI components, and comprehensive documentation.
2026-02-25 10:58:12 +01:00