From 6a638df1ab13732b05ed0c737e58b6a63d0532ee Mon Sep 17 00:00:00 2001 From: Bertrand Benjamin Date: Fri, 31 Jul 2026 08:12:43 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20rend=20la=20situation=20des=20locataire?= =?UTF-8?q?s=20v=C3=A9rifiable=20colonne=20par=20colonne?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La carte d'un lot n'affichait que quatre des huit colonnes du compte rendu, la colonne Total absente, et le bandeau replié montrait un total figé : corriger un règlement ne le changeait pas. Pire, les quatre agrégats modifiables ne sont jamais enregistrés — seules les lignes partent en base (`service.py`) — pendant que les colonnes réellement écrites, dont Regles et Impayé, n'étaient éditables nulle part. On corrigeait donc un champ sans effet, et pas celui qu'il fallait. Le détail des lignes reprend maintenant le tableau du compte rendu, colonne pour colonne, la ligne « Totaux » comprise en pied. Les dix champs d'une ligne et les huit de la ligne Totaux sont modifiables, sans exception : cette page sert à vérifier une extraction avant de l'enregistrer, l'utilisateur y a le dernier mot. Rien n'est plus recalculé à l'affichage ni reporté d'un champ sur un autre. Corriger une colonne ne déclenche que ce qui a été demandé — un total réécrit d'office effacerait sans le dire ce que le compte rendu porte. Un seul contrôle subsiste, en signalement pur : chaque colonne de la ligne « Totaux » est confrontée à la somme de cette même colonne sur les lignes. Le recoupement est celui que fait l'œil sur le tableau. Déduire le total des autres colonnes laissait passer le cas le plus parlant — une colonne Total qui ne somme visiblement pas, faute d'avoir extrait la valeur d'une ligne. Sur les 388 lots des documents extraits, ce contrôle signale quatre lots, tous de vraies extractions incomplètes : un règlement de 707,29 € qu'aucune ligne ne porte, un « divers » de 308,76 € sauté à un changement de page, deux lots réglés sans ligne. La colonne fautive passe en surbrillance et affiche la valeur calculée sous le montant extrait, sans jamais s'y substituer. Le solde antérieur quitte la colonne Loyers pour la colonne Période, où le compte rendu l'imprime. Compté à part sans être affiché à part, il donnait une colonne Loyers qui semblait ne pas sommer. Co-Authored-By: Claude Opus 5 --- frontend/src/components/LocataireCard.vue | 410 ++++++++++++++-------- frontend/src/utils/totauxLocataire.js | 112 ++++++ frontend/tests/locataireCard.test.js | 145 ++++++++ frontend/tests/totauxLocataire.test.js | 176 ++++++++++ 4 files changed, 694 insertions(+), 149 deletions(-) create mode 100644 frontend/src/utils/totauxLocataire.js create mode 100644 frontend/tests/locataireCard.test.js create mode 100644 frontend/tests/totauxLocataire.test.js diff --git a/frontend/src/components/LocataireCard.vue b/frontend/src/components/LocataireCard.vue index 9f3e7ae..c5426bd 100644 --- a/frontend/src/components/LocataireCard.vue +++ b/frontend/src/components/LocataireCard.vue @@ -43,18 +43,31 @@ />
+ + + A verifier + Modifié -
+ +
{{ formatCurrency(locataire.totaux?.total) }}
-
- Impayes: {{ formatCurrency(locataire.totaux?.impayes) }} +
+ {{ locataire.totaux.impayes > 0 ? 'Impayes' : 'Trop-percu' }}: + {{ formatCurrency(Math.abs(locataire.totaux.impayes)) }}
@@ -69,156 +82,206 @@
- - + +
- -
-
-
Loyers
- -
-
-
Taxes
- -
-
-
Provisions
- -
-
-
Regles
- -
-
- - -
-
- Detail des lignes - -
-
-
-
- - - - -
- - - - -
- - - -
- -
- - - - - - -
-
-
-
- - -
+
+ Detail des lignes
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TypePeriodeLoyersTaxesProvisionsDiversTotalReglesImpaye
+ + +
+ Solde Anterieur + +
+
+ + - + +
+
+
+ +
+
+
+ + + +
+
+
+ +
+
+ +
+ Aucune ligne extraite pour ce lot +
Totaux +
+ Solde ant. + +
+
+
+ + + + calculé : {{ formatCurrency(ecarts[champ]) }} + +
+
+
+ +

+ Colonne(s) en surbrillance : le montant du compte rendu ne correspond pas a ce que + totalisent les lignes ci-dessus (« calculé : … »), signe qu'une valeur n'a pas ete + extraite. Seuls les champs soulignes sont modifiables, et eux seuls partent en base. +

@@ -226,6 +289,7 @@