diff --git a/models/acc_operation.py b/models/acc_operation.py index 925a668bc2064220853aa647147ca85aebb087b8..cd89254b3ed80800eebaa51ca2d369a20d16a297 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: