diff --git a/attached_assets/Pasted--PREMIERS-RESULTATS-1-N-2501-Blanc-2-N-2502-Moins-de-1-2--1757358448951_1757358448951.txt b/attached_assets/Pasted--PREMIERS-RESULTATS-1-N-2501-Blanc-2-N-2502-Moins-de-1-2--1757358448951_1757358448951.txt new file mode 100644 index 0000000..2a27935 --- /dev/null +++ b/attached_assets/Pasted--PREMIERS-RESULTATS-1-N-2501-Blanc-2-N-2502-Moins-de-1-2--1757358448951_1757358448951.txt @@ -0,0 +1,203 @@ + + + + +🔍 PREMIERS RESULTATS: [ + + '1. N°2501 - Blanc', + + '2. N°2502 - Moins de 1€ 2€ 3€ 4€ 5€', + + '3. N°2503 - Imbattables' + +] + +📢 [SERVER] User found: { username: 'admin', role: 'admin' } + +🎯 [PRODUCTION] Using PostgreSQL DASHBOARD_MESSAGES table + +GET /api/user 304 in 89ms + +📋 PUBLICITIES RETURNED: { count: 29 } + +GET /api/publicities 304 in 71ms + +🔍 [PRODUCTION] Raw messages from DB: 2 items: [ + + { + + id: 16, + + title: 'Mise à jour Prix', + + content: 'Merci de mettre vos prix a jour tous les matins, certain magasin ne le font pas.', + + type: 'success', + + storeId: null, + + createdBy: 'admin', + + createdAt: 2025-08-18T10:45:08.585Z + + }, + + { + + id: 8, + + title: 'Bon de Livraison', + + content: 'Lorsque vous rentrez un numéro de bon de livraison, faite le a l identique, même les majuscules. Pour My candy Shop, prendre le numéro de commande.', + + type: 'info', + + storeId: null, + + createdBy: 'admin_local', + + createdAt: 2025-08-07T11:04:38.123Z + + } + +] + +🔍 [PRODUCTION] Looking for user with username: admin + +🔍 [PRODUCTION] Looking for user with username: admin_local + +🔍 [PRODUCTION] User search result: Found + +❌ [PRODUCTION] User not found with username: admin_local + +🔍 [PRODUCTION] User search result: Not found + +🎯 [PRODUCTION] Found announcements: 2 + +GET /api/announcements 304 in 80ms + +GET /api/user 304 in 7ms + +Orders API called with: { + + startDate: undefined, + + endDate: undefined, + + storeId: '1', + + userRole: 'admin' + +} + +🔍 Admin orders filtering by store: { storeId: '1', groupIds: [ 1 ], role: 'admin' } + +Fetching all orders + +Deliveries API called with: { + + startDate: undefined, + + endDate: undefined, + + storeId: '1', + + withBL: undefined, + + userRole: 'admin' + +} + +🔍 Admin deliveries filtering by store: { storeId: '1', groupIds: [ 1 ], role: 'admin' } + +Fetching all deliveries + +📢 [SERVER] Fetching announcements for user: admin_local environment: production + +🔗 PRODUCTION: getOrders() récupéré 64 commandes avec relations + +Orders returned: 64 items + +GET /api/orders 304 in 115ms + +Customer Orders API called with: { groupIds: [ 1 ], userRole: 'admin' } + +📢 [SERVER] User found: { username: 'admin', role: 'admin' } + +🎯 [PRODUCTION] Using PostgreSQL DASHBOARD_MESSAGES table + +🔍 [PRODUCTION] Raw messages from DB: 2 items: [ + + { + + id: 16, + + title: 'Mise à jour Prix', + + content: 'Merci de mettre vos prix a jour tous les matins, certain magasin ne le font pas.', + + type: 'success', + + storeId: null, + + createdBy: 'admin', + + createdAt: 2025-08-18T10:45:08.585Z + + }, + + { + + id: 8, + + title: 'Bon de Livraison', + + content: 'Lorsque vous rentrez un numéro de bon de livraison, faite le a l identique, même les majuscules. Pour My candy Shop, prendre le numéro de commande.', + + type: 'info', + + storeId: null, + + createdBy: 'admin_local', + + createdAt: 2025-08-07T11:04:38.123Z + + } + +] + +🔍 [PRODUCTION] Looking for user with username: admin + +🔍 [PRODUCTION] Looking for user with username: admin_local + +Customer Orders returned: 11 items + +GET /api/customer-orders 304 in 147ms + +GET /api/groups 304 in 125ms + +🔍 [PRODUCTION] User search result: Found + +GET /api/user 304 in 28ms + +🔍 [PRODUCTION] User search result: Not found + +❌ [PRODUCTION] User not found with username: admin_local + +🎯 [PRODUCTION] Found announcements: 2 + +🔗 PRODUCTION: getDeliveries() récupéré 82 livraisons avec relations + +Deliveries returned: 82 items + +GET /api/announcements 304 in 199ms + +GET /api/deliveries 304 in 202ms + +GET /api/suppliers 304 in 5ms + +🔍 Avoirs API called with: { groupIds: [ 1 ], userRole: 'admin' } + +📋 Avoirs returned: 1 items + +GET /api/avoirs 304 in 12ms \ No newline at end of file diff --git a/attached_assets/image_1757358438200.png b/attached_assets/image_1757358438200.png new file mode 100644 index 0000000..08c94c6 Binary files /dev/null and b/attached_assets/image_1757358438200.png differ diff --git a/client/src/pages/Avoirs.tsx b/client/src/pages/Avoirs.tsx index 7a82c64..2ce59b9 100644 --- a/client/src/pages/Avoirs.tsx +++ b/client/src/pages/Avoirs.tsx @@ -441,13 +441,29 @@ export default function Avoirs() { [variables.avoirId]: result })); - // DÉSACTIVÉ TEMPORAIREMENT : Auto-remplissage pour debug - // TODO: Réactiver une fois le problème identifié - console.log('✅ Vérification terminée sans auto-remplissage:', { - exists: result?.exists, - invoiceAmount: result?.invoiceAmount, - avoirId: variables.avoirId - }); + // Auto-remplissage sécurisé si facture trouvée et montant disponible + if (result?.exists === true && result?.invoiceAmount !== undefined && result?.invoiceAmount !== null) { + const avoir = avoirs?.find(a => a?.id === variables.avoirId); + if (avoir && avoir.supplierId && avoir.groupId) { + try { + console.log('🔄 Auto-remplissage montant:', { avoirId: variables.avoirId, amount: result.invoiceAmount }); + editAvoirMutation.mutate({ + id: variables.avoirId, + data: { + supplierId: avoir.supplierId, + groupId: avoir.groupId, + invoiceReference: avoir.invoiceReference || "", + amount: result.invoiceAmount, + comment: avoir.comment || "", + commercialProcessed: avoir.commercialProcessed || false, + status: avoir.status as "En attente de demande" | "Demandé" | "Reçu", + } + }); + } catch (autoFillError) { + console.error('❌ Erreur auto-remplissage:', autoFillError); + } + } + } setVerifyingAvoirs(prev => { const newSet = new Set(prev); @@ -1136,12 +1152,10 @@ export default function Avoirs() {