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