fix: distingue un lot reloué d'un lot sorti de la gestion
La fiche du lot 15 annonçait « dernier loyer connu, arrêté après févr. 26 » alors qu'un locataire y est entré le 8 juillet — et la courbe juste dessous, où la barre de juillet est bien là, la contredisait. Le loyer en vigueur se lit sur les paliers, et un mois facturé au seul prorata n'en ouvre pas : celui d'avant s'arrête donc à la dernière mensualité pleine, quatre mois avant le nouveau bail. Ne rien lire après lui confond deux états que le compte rendu sépare : un lot qui n'est plus loué, et un lot entre deux locataires. La distinction tient à la frontière qui sert déjà à séparer loyer plein et prorata, la période portée par le compte rendu : - un prorata qui finit le dernier jour du mois sans partir du premier facture la fin du mois : quelqu'un est entré, le bail court encore après ; - un prorata qui part du premier sans l'atteindre facture le début : le bail s'arrête là ; - un montant négatif ne fait ni l'un ni l'autre. Un avoir porte parfois la période exacte de la ligne qu'il annule, et le lire comme une entrée inventerait une relocation là où rien n'a été loué. L'entrée l'emporte sur la sortie parce qu'elle vient après : ce lot voit son locataire partir le 10 mars et le suivant arriver le 8 juillet, et c'est le second qui décrit son état. Le montant affiché ne bouge pas — le nouveau bail n'a été facturé qu'au prorata, et en tirer un loyer mensuel l'inventerait. Seul ce qu'on en dit change : « dernier loyer plein · nouveau bail depuis juil. 26 ». Sans relocation, la sortie date enfin la fin de la location au mois où elle a lieu : « arrêté en cours de mars 26 » plutôt qu'« arrêté après févr. 26 », qui l'avançait d'un mois. Sur le parc : 31 lots loués, 1 relouté, 1 réellement arrêté. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -152,6 +152,40 @@ function formatM2(valeur) {
|
||||
return `${valeur.toFixed(2).replace('.', ',')} €/m²`
|
||||
}
|
||||
|
||||
// Ce que la tuile de tête a le droit d'affirmer. Un palier qui s'arrête ne
|
||||
// suffit pas à dire qu'un lot est sorti de la gestion : entre deux baux, le
|
||||
// compte rendu ne porte qu'un prorata, et le lot est bel et bien reloué.
|
||||
const etatDuBail = computed(() => {
|
||||
const vigueur = props.loyer.en_vigueur
|
||||
if (!vigueur) return { libelle: 'Loyer', classe: 'text-gray-500', detail: '' }
|
||||
|
||||
if (vigueur.toujours_loue) {
|
||||
return {
|
||||
libelle: 'Loyer en vigueur',
|
||||
classe: 'text-green-400',
|
||||
detail: `depuis ${formatMoisAnnee(vigueur.depuis)}`
|
||||
}
|
||||
}
|
||||
|
||||
if (vigueur.reloue_depuis) {
|
||||
// Le montant reste celui du bail d'avant : le nouveau n'a encore été
|
||||
// facturé qu'au prorata, et en tirer un loyer mensuel l'inventerait.
|
||||
return {
|
||||
libelle: 'Dernier loyer plein',
|
||||
classe: 'text-gray-400',
|
||||
detail: `nouveau bail depuis ${formatMoisAnnee(vigueur.reloue_depuis)}`
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
libelle: 'Dernier loyer connu',
|
||||
classe: 'text-gray-400',
|
||||
detail: vigueur.sortie_en
|
||||
? `arrêté en cours de ${formatMoisAnnee(vigueur.sortie_en)}`
|
||||
: `arrêté après ${formatMoisAnnee(vigueur.mois)}`
|
||||
}
|
||||
})
|
||||
|
||||
const tuiles = computed(() => {
|
||||
const vigueur = props.loyer.en_vigueur
|
||||
|
||||
@@ -166,14 +200,12 @@ const tuiles = computed(() => {
|
||||
|
||||
return [
|
||||
{
|
||||
libelle: vigueur.toujours_loue ? 'Loyer en vigueur' : 'Dernier loyer connu',
|
||||
libelle: etatDuBail.value.libelle,
|
||||
valeur: formatMontant(vigueur.loyer),
|
||||
classe: vigueur.toujours_loue ? 'text-green-400' : 'text-gray-400',
|
||||
classe: etatDuBail.value.classe,
|
||||
// Un lot sorti de la gestion garde un loyer affiché : sans cette mention,
|
||||
// il se lirait comme une recette courante.
|
||||
detail: vigueur.toujours_loue
|
||||
? `depuis ${formatMoisAnnee(vigueur.depuis)}`
|
||||
: `arrêté après ${formatMoisAnnee(vigueur.mois)}`
|
||||
detail: etatDuBail.value.detail
|
||||
},
|
||||
{
|
||||
libelle: 'Au m²',
|
||||
|
||||
Reference in New Issue
Block a user