From a06944cc2b7d4c0c4ecb3ececdb405d130b34bf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com> Date: Wed, 27 Dec 2023 18:03:31 +0100 Subject: [PATCH] [FIX] Get correct prm type --- models/acc_operation.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/models/acc_operation.py b/models/acc_operation.py index 925a668..cd89254 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -202,7 +202,7 @@ class AccOperation(models.Model): curves = curves_data.get("curves") if curves: - name = usage_point_id.name + "_" + str(start_end) + "_" + str(end_date) + name = usage_point_id.name + "_" + str(start_date) + "_" + str(end_date) for curve in curves: type_curve = curve["type"] @@ -280,7 +280,9 @@ class AccOperation(models.Model): list_injection = [] list_soutirage = [] - for usage_point in sorted(usage_points, key=lambda p: date.fromisoformat(p["start"])): + for usage_point in sorted( + usage_points, key=lambda p: date.fromisoformat(p["start"]) + ): usage_point_start = date.fromisoformat(usage_point["start"]) usage_point_end = ( date.fromisoformat(usage_point["end"]) @@ -294,6 +296,8 @@ class AccOperation(models.Model): usage_point_prm_type = "injection" message += ( "<br/>PRM " + + usage_point["type"] + + " : " + usage_point["usage_point_id"] + " - Dates Enedis : " + usage_point["start"] @@ -308,7 +312,9 @@ class AccOperation(models.Model): ) if counter_id and len(counter_id) == 1: message += "PRM existe dans Odoo<br/>" - counter_period_ids = counter_id.period_ids + counter_period_ids = counter_id.period_ids.filtered( + lambda p: p.prm_type == usage_point_prm_type + ) if counter_period_ids.filtered( lambda p: p.start_date == usage_point_start and p.end_date == usage_point_end @@ -342,8 +348,10 @@ class AccOperation(models.Model): ) except ValidationError as e: message += ( - "<strong>erreur lors de la tentative de création d'une nouvelle période, à vérifier manuellement :</strong><br/>" - + str(e) + "<br/>" + "<strong>erreur lors de la tentative de création d'une " + "nouvelle période, à vérifier manuellement :</strong><br/>" + + str(e) + + "<br/>" ) elif len(counter_id) > 1: @@ -377,8 +385,10 @@ class AccOperation(models.Model): message += "Fin de la création du PRM<br/>" except ValidationError as e: message += ( - "<strong>erreur lors de la tentative de création d'un PRM et/ou " - "d'une nouvelle période, à vérifier manuellement :<strong><br/>" + str(e) + "<br/>" + "<strong>erreur lors de la tentative de création du PRM et/ou " + "de la nouvelle période, à vérifier manuellement :<strong><br/>" + + str(e) + + "<br/>" ) if usage_point_prm_type == "injection": if usage_point["usage_point_id"] not in list_injection: -- GitLab