From af6a3d470b55ed4b3d8b206e5e5ac57f794949ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Mon, 24 Mar 2025 12:04:19 +0100
Subject: [PATCH] [REF] use curve_mixin functions
---
wizard/acc_operation_import_wizard.py | 58 ++++++---------------------
1 file changed, 12 insertions(+), 46 deletions(-)
diff --git a/wizard/acc_operation_import_wizard.py b/wizard/acc_operation_import_wizard.py
index 2c356a0..85faabf 100644
--- a/wizard/acc_operation_import_wizard.py
+++ b/wizard/acc_operation_import_wizard.py
@@ -9,10 +9,8 @@ from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
from odoo import fields, models
-from odoo.osv import expression
from odoo.addons.api_connector.tools.date_utils import local_to_utc
-from odoo.addons.oacc.models.acc_enedis_cdc_day import COMP_DATA_TYPE_MAP
_logger = logging.getLogger(__name__)
@@ -71,60 +69,26 @@ class AccOperationImportWizard(models.TransientModel):
days=1
)
- # Vérification si des données existent déjà
- # pour cet intervalle de date
- start_datetime = local_to_utc(date_begin_obj, "Europe/Paris")
- end_datetime = local_to_utc(date_end_obj, "Europe/Paris")
-
computed_data_type = data_filename[3].lower()
if computed_data_type == "conso":
computed_data_type = "cons"
elif computed_data_type == "autoconso":
computed_data_type = "autocons"
- domain_all = [
- ("acc_operation_id", "=", self.operation_id.id),
- ("acc_counter_id", "=", counter_id),
- ]
- domain_cdc = expression.AND(
- [
- domain_all,
- [
- ("date_slot", ">=", start_datetime),
- ("date_slot", "<", end_datetime),
- ("comp_data_type", "=", computed_data_type),
- ],
- ]
- )
- domain_cdc_day = expression.AND(
- [
- domain_all,
- [
- ("date_slot", ">=", date_begin_obj.date()),
- ("date_slot", "<", date_end_obj.date()),
- ("comp_data_type", "=", COMP_DATA_TYPE_MAP[computed_data_type]),
- ],
- ]
+ # Vérification si des données existent déjà pour cet intervalle de date
+ rec_ids = self.env[self.model].search(
+ self._get_read_group_domain(
+ acc_operation_id=self.operation_id.id,
+ start_date=date_begin_obj,
+ end_date=date_end_obj,
+ values_type=[computed_data_type],
+ exclude_empty_partner=False,
+ )
)
- rec_ids = self.env[self.model].search(domain_cdc)
if rec_ids:
message += "Suppression des enregistrements existants de courbes ... <br/>"
rec_ids.unlink()
message += "Suppression des enregistrements existants de courbes OK <br/>"
-
- if self.model == "acc.enedis.cdc":
- day_rec_ids = self.env["acc.enedis.cdc.day"].search(domain_cdc_day)
- if day_rec_ids:
- message += (
- "Suppression des enregistrements existants de courbes "
- "agrégées au jour ... <br/>"
- )
- day_rec_ids.unlink()
- message += (
- "Suppression des enregistrements existants de courbes "
- "agrégées au jour OK <br/>"
- )
-
return message
def create_curve(self, curve_data):
@@ -240,7 +204,9 @@ class AccOperationImportWizard(models.TransientModel):
self.create_curve(curves_to_create)
if self.model == "acc.enedis.cdc":
- _logger.debug(f"Processing file {file.name} - Update partner_id on curves")
+ _logger.debug(
+ f"Processing file {file.name} - Update partner_id on curves"
+ )
message += "Mise à jour du contact associé aux courbes<br/>"
self._update_partner_id(data_filename, counter_id)
--
GitLab