Automatically verify invoices upon page load for improved efficiency

Introduces automatic invoice verification on page load using useEffect hook, refactors invoice verification service to fetch active NocoDB configuration, and updates routes to accept invoice reference and group ID.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/CltQiuj
This commit is contained in:
michaelschal committed 2025-08-13 11:37:57 +00:00
1 parent 88d2c4a4c8
commit 4cf7a5c602
5 files changed
+126 -119

No files matched your search

+20 -1
View File
@@ -1,4 +1,4 @@
import React, { useState } from "react";
import React, { useState, useEffect } from "react";
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { safeFormat } from "@/lib/dateUtils";
import { Button } from "@/components/ui/button";
@@ -190,6 +190,25 @@ export default function BLReconciliation() {
enabled: !!user
});
// VÉRIFICATION AUTOMATIQUE AU CHARGEMENT
useEffect(() => {
if (!deliveriesWithBL.length || !suppliers.length) return;
console.log('🔄 Déclenchement vérifications automatiques...');
deliveriesWithBL.forEach((delivery: any) => {
// Vérifier seulement si on a une référence de facture et pas déjà de résultat
if (delivery.invoiceReference && !verificationResults[delivery.id] && !verifyingDeliveries.has(delivery.id)) {
console.log(`🔍 Vérification auto pour livraison ${delivery.id}:`, delivery.invoiceReference);
// Délai pour éviter de surcharger le serveur
setTimeout(() => {
handleVerifyInvoice(delivery);
}, Math.random() * 2000); // Délai aléatoire entre 0 et 2 secondes
}
});
}, [deliveriesWithBL, suppliers, verificationResults, verifyingDeliveries]);
// Séparer les livraisons par mode de rapprochement
const manualReconciliationDeliveries = deliveriesWithBL.filter((delivery: any) => {
const supplier = suppliers.find(s => s.id === delivery.supplierId);