mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Merge pull request #493 from R0m1k3/1.1
Update invoice reconciliation to fix display issues
This commit is contained in:
3 files changed
+33
-2
No files matched your search
@@ -156,25 +156,46 @@ export default function BLReconciliation() {
|
|||||||
|
|
||||||
// Auto-remplissage si facture trouvée (référence facture OU numéro BL)
|
// Auto-remplissage si facture trouvée (référence facture OU numéro BL)
|
||||||
if (result.exists) {
|
if (result.exists) {
|
||||||
|
console.log('🔍 DEBUG - Résultat complet de vérification:', {
|
||||||
|
deliveryId: variables.deliveryId,
|
||||||
|
exists: result.exists,
|
||||||
|
matchType: result.matchType,
|
||||||
|
invoiceReference: result.invoiceReference,
|
||||||
|
invoiceAmount: result.invoiceAmount,
|
||||||
|
dueDate: result.dueDate,
|
||||||
|
hasInvoiceRef: !!result.invoiceReference,
|
||||||
|
hasAmount: result.invoiceAmount !== undefined && result.invoiceAmount !== null,
|
||||||
|
hasDueDate: !!result.dueDate
|
||||||
|
});
|
||||||
|
|
||||||
// Auto-remplir les champs dans la livraison via API
|
// Auto-remplir les champs dans la livraison via API
|
||||||
const updateData: any = {};
|
const updateData: any = {};
|
||||||
|
|
||||||
// Ajouter la référence de facture SEULEMENT si trouvée via BL (pas déjà renseignée)
|
// Ajouter la référence de facture SEULEMENT si trouvée via BL (pas déjà renseignée)
|
||||||
if (result.invoiceReference && result.matchType === 'bl_number') {
|
if (result.invoiceReference && result.matchType === 'bl_number') {
|
||||||
updateData.invoiceReference = result.invoiceReference;
|
updateData.invoiceReference = result.invoiceReference;
|
||||||
|
console.log('✅ Ajout invoiceReference:', result.invoiceReference);
|
||||||
|
} else {
|
||||||
|
console.log('⚠️ Pas d\'ajout invoiceReference:', { hasRef: !!result.invoiceReference, matchType: result.matchType });
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOUJOURS mettre à jour le montant si disponible (peu importe le matchType)
|
// TOUJOURS mettre à jour le montant si disponible (peu importe le matchType)
|
||||||
if (result.invoiceAmount !== undefined && result.invoiceAmount !== null) {
|
if (result.invoiceAmount !== undefined && result.invoiceAmount !== null) {
|
||||||
updateData.invoiceAmount = result.invoiceAmount;
|
updateData.invoiceAmount = result.invoiceAmount;
|
||||||
|
console.log('✅ Ajout invoiceAmount:', result.invoiceAmount);
|
||||||
|
} else {
|
||||||
|
console.log('⚠️ Pas d\'ajout invoiceAmount:', { amount: result.invoiceAmount });
|
||||||
}
|
}
|
||||||
|
|
||||||
// TOUJOURS mettre à jour la date d'échéance si disponible (peu importe le matchType)
|
// TOUJOURS mettre à jour la date d'échéance si disponible (peu importe le matchType)
|
||||||
if (result.dueDate) {
|
if (result.dueDate) {
|
||||||
updateData.dueDate = result.dueDate;
|
updateData.dueDate = result.dueDate;
|
||||||
|
console.log('✅ Ajout dueDate:', result.dueDate);
|
||||||
|
} else {
|
||||||
|
console.log('⚠️ Pas d\'ajout dueDate:', { dueDate: result.dueDate });
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('📝 Données à sauvegarder:', { deliveryId: variables.deliveryId, updateData, matchType: result.matchType });
|
console.log('📝 Données finales à sauvegarder:', { deliveryId: variables.deliveryId, updateData, matchType: result.matchType });
|
||||||
|
|
||||||
// Ne faire l'appel que si on a des données à mettre à jour
|
// Ne faire l'appel que si on a des données à mettre à jour
|
||||||
if (Object.keys(updateData).length > 0) {
|
if (Object.keys(updateData).length > 0) {
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ export class InvoiceVerificationService {
|
|||||||
console.log('🛡️ [CACHE] PERMANENT - Facture validée avec coche verte, AUCUNE vérification:', {
|
console.log('🛡️ [CACHE] PERMANENT - Facture validée avec coche verte, AUCUNE vérification:', {
|
||||||
invoiceReference,
|
invoiceReference,
|
||||||
groupId,
|
groupId,
|
||||||
exists: cached.exists
|
exists: cached.exists,
|
||||||
|
invoiceAmount: cached.invoiceAmount,
|
||||||
|
dueDate: cached.dueDate
|
||||||
});
|
});
|
||||||
return {
|
return {
|
||||||
exists: cached.exists,
|
exists: cached.exists,
|
||||||
@@ -43,6 +45,8 @@ export class InvoiceVerificationService {
|
|||||||
errorMessage: cached.errorMessage,
|
errorMessage: cached.errorMessage,
|
||||||
invoiceReference: cached.invoiceReference,
|
invoiceReference: cached.invoiceReference,
|
||||||
supplierName: cached.supplierName,
|
supplierName: cached.supplierName,
|
||||||
|
invoiceAmount: cached.invoiceAmount ? parseFloat(cached.invoiceAmount) : undefined,
|
||||||
|
dueDate: cached.dueDate ? new Date(cached.dueDate).toISOString() : null,
|
||||||
fromCache: true,
|
fromCache: true,
|
||||||
permanent: true
|
permanent: true
|
||||||
};
|
};
|
||||||
@@ -57,6 +61,8 @@ export class InvoiceVerificationService {
|
|||||||
errorMessage: cached.errorMessage,
|
errorMessage: cached.errorMessage,
|
||||||
invoiceReference: cached.invoiceReference,
|
invoiceReference: cached.invoiceReference,
|
||||||
supplierName: cached.supplierName,
|
supplierName: cached.supplierName,
|
||||||
|
invoiceAmount: cached.invoiceAmount ? parseFloat(cached.invoiceAmount) : undefined,
|
||||||
|
dueDate: cached.dueDate ? new Date(cached.dueDate).toISOString() : null,
|
||||||
fromCache: true,
|
fromCache: true,
|
||||||
permanent: false
|
permanent: false
|
||||||
};
|
};
|
||||||
@@ -115,6 +121,8 @@ export class InvoiceVerificationService {
|
|||||||
groupId,
|
groupId,
|
||||||
invoiceReference,
|
invoiceReference,
|
||||||
supplierName: supplierName || null,
|
supplierName: supplierName || null,
|
||||||
|
invoiceAmount: result.invoiceAmount || null,
|
||||||
|
dueDate: result.dueDate ? new Date(result.dueDate) : null,
|
||||||
exists: result.exists,
|
exists: result.exists,
|
||||||
matchType: result.matchType,
|
matchType: result.matchType,
|
||||||
errorMessage: result.errorMessage || null,
|
errorMessage: result.errorMessage || null,
|
||||||
|
|||||||
@@ -173,6 +173,8 @@ export const invoiceVerificationCache = pgTable("invoice_verification_cache", {
|
|||||||
groupId: integer("group_id").notNull(),
|
groupId: integer("group_id").notNull(),
|
||||||
invoiceReference: varchar("invoice_reference", { length: 255 }).notNull(),
|
invoiceReference: varchar("invoice_reference", { length: 255 }).notNull(),
|
||||||
supplierName: varchar("supplier_name", { length: 255 }),
|
supplierName: varchar("supplier_name", { length: 255 }),
|
||||||
|
invoiceAmount: decimal("invoice_amount", { precision: 10, scale: 2 }), // Montant de la facture
|
||||||
|
dueDate: timestamp("due_date"), // Date d'échéance
|
||||||
exists: boolean("exists").notNull(),
|
exists: boolean("exists").notNull(),
|
||||||
matchType: varchar("match_type", { length: 50 }).notNull(),
|
matchType: varchar("match_type", { length: 50 }).notNull(),
|
||||||
errorMessage: text("error_message"),
|
errorMessage: text("error_message"),
|
||||||
|
|||||||
Reference in new issue
Block a user