From 836152024a32136173e00d84940cfe2337595c6d Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Tue, 12 Aug 2025 12:20:03 +0000 Subject: [PATCH] Simplify reconciliation by filtering only suppliers with auto-reconciliation enabled. Refactor BL reconciliation logic in `BLReconciliation.tsx` to only filter deliveries where `supplier.isAutoReconciliation` is explicitly true, simplifying the manual reconciliation filter. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/HZmju0j --- client/src/pages/BLReconciliation.tsx | 38 ++------------------------- 1 file changed, 2 insertions(+), 36 deletions(-) diff --git a/client/src/pages/BLReconciliation.tsx b/client/src/pages/BLReconciliation.tsx index de31cde..d375abd 100644 --- a/client/src/pages/BLReconciliation.tsx +++ b/client/src/pages/BLReconciliation.tsx @@ -81,46 +81,12 @@ export default function BLReconciliation() { // Séparer les livraisons par mode de rapprochement const manualReconciliationDeliveries = deliveriesWithBL.filter((delivery: any) => { const supplier = suppliers.find(s => s.id === delivery.supplierId); - - // Logique améliorée pour détecter le mode manuel : - // 1. Si le fournisseur a isAutoReconciliation explicitement à false - // 2. Si le fournisseur n'a pas la propriété isAutoReconciliation (défaut manuel) - // 3. Si pas de fournisseur trouvé (défaut manuel pour compatibilité) - const isManual = !supplier?.isAutoReconciliation; - - console.log('Manual filter - Delivery:', delivery.id, 'Supplier:', supplier?.name, 'isAutoReconciliation:', supplier?.isAutoReconciliation, 'isManual:', isManual); - return isManual; + return supplier?.isAutoReconciliation !== true; }); const automaticReconciliationDeliveries = deliveriesWithBL.filter((delivery: any) => { const supplier = suppliers.find(s => s.id === delivery.supplierId); - - // Logique améliorée pour détecter le mode automatique : - // 1. Si le fournisseur a isAutoReconciliation explicitement à true - // 2. OU si la livraison est déjà validée automatiquement (reconciled=true avec BL) - const isAutoBySupplier = supplier?.isAutoReconciliation === true; - const isAutoByStatus = delivery.reconciled === true && delivery.blNumber && !delivery.invoiceReference; - - const isAutomatic = isAutoBySupplier || isAutoByStatus; - - console.log('Auto filter - Delivery:', delivery.id, 'Supplier:', supplier?.name, 'isAutoReconciliation:', supplier?.isAutoReconciliation, 'reconciled:', delivery.reconciled, 'hasBlNumber:', !!delivery.blNumber, 'hasInvoiceRef:', !!delivery.invoiceReference, 'isAutomatic:', isAutomatic); - return isAutomatic; - }); - - console.log('🔍 Reconciliation Debug:', { - totalDeliveries: deliveriesWithBL.length, - totalSuppliers: suppliers.length, - manualCount: manualReconciliationDeliveries.length, - autoCount: automaticReconciliationDeliveries.length, - deliveriesData: deliveriesWithBL.map(d => ({ - id: d.id, - supplierId: d.supplierId, - supplier: d.supplier?.name, - reconciled: d.reconciled, - blNumber: d.blNumber, - invoiceReference: d.invoiceReference - })), - suppliersData: suppliers.map(s => ({id: s.id, name: s.name, isAutoReconciliation: s.isAutoReconciliation})) + return supplier?.isAutoReconciliation === true; }); // Fonctions de gestion