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
This commit is contained in:
michaelschal committed 2025-08-12 12:20:03 +00:00
1 parent b625077cae
commit 836152024a
1 file changed
+2 -36
+2 -36
View File
@@ -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