From e151687866615a4a5fb69226b763ef0217ba5559 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Mon, 23 Dec 2024 11:24:33 +0100 Subject: [PATCH] [FIX] fix generation when new counter in middle of period --- models/acc_operation.py | 1 - models/acc_priority_group.py | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/models/acc_operation.py b/models/acc_operation.py index 6496a27..abe04d0 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -120,7 +120,6 @@ class AccOperation(models.Model): raise ValidationError( _("Pas de données brute pour le mois précedent présente") ) - # todo : ajouter la verification de coherence des données for slot in data: affect = data.get(slot).get("affect") diff --git a/models/acc_priority_group.py b/models/acc_priority_group.py index c793b96..6b1b996 100644 --- a/models/acc_priority_group.py +++ b/models/acc_priority_group.py @@ -169,13 +169,17 @@ class AccPriorityGroup(models.Model): data[slot]["affect"] = {} for counter in self.acc_priority_group_counter_ids.acc_counter_id: - if prod == 0 or priority_counters_conso_sum == 0: + conso_k = data.get(slot).get("conso").get(counter.name) + # si le compteur rentre en cours de periode il figure dans le + # groupe de repartition mais pas dans les données brutes conso_k = None + # dans ce cas on affecte 0 + if prod == 0 or priority_counters_conso_sum == 0 or conso_k is None: part_a_affecter = 0.0 else: - conso_k = data.get(slot).get("conso").get(counter.name) part_a_affecter = min( conso_k, prod * (conso_k / priority_counters_conso_sum) ) + data[slot]["affect"][counter] = part_a_affecter total_affecte += part_a_affecter -- GitLab