From b613bdd5240b2730a6b4b71e0420436ca094ec05 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Tue, 18 Mar 2025 16:12:46 +0100 Subject: [PATCH] [ADD] generate agg data when import cdc --- wizard/acc_operation_import_wizard.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/wizard/acc_operation_import_wizard.py b/wizard/acc_operation_import_wizard.py index dfa2e28..b4a753f 100644 --- a/wizard/acc_operation_import_wizard.py +++ b/wizard/acc_operation_import_wizard.py @@ -126,6 +126,10 @@ class AccOperationImportWizard(models.TransientModel): + self.model + "</h1>" ) + + start_dates = [] + end_dates = [] + for file in self.attachment_ids: message += ( "<p><strong>Fichier " @@ -133,7 +137,10 @@ class AccOperationImportWizard(models.TransientModel): + "</strong><br/>Début Import ... <br/>" ) data_filename = file.name.split("_") + date_format = "%d%m%Y" id_pdm = data_filename[0] + start_dates.append(datetime.strptime(data_filename[1], date_format)) + end_dates.append(datetime.strptime(data_filename[2], date_format)) counter_id = self.env["acc.counter"].search([("name", "=", id_pdm)]) data_filename[3] = data_filename[3].lower() @@ -188,6 +195,24 @@ class AccOperationImportWizard(models.TransientModel): ) self.update_partner_id(data_filename, counter_id) + message += "Génération des données agrégées<br/>" + domain = [ + ("acc_operation_id", "=", self.operation_id.id), + ("date_slot", ">=", min(start_dates)), + ("date_slot", "<", max(end_dates)), + ] + + # Vérification si des données existent déjà + # pour cet intervalle de date + rec_ids = self.env["acc.enedis.cdc.agg"].search(domain) + if rec_ids: + rec_ids.unlink() + + self.env["acc.enedis.cdc.agg"].generate( + acc_operation_id=self.operation_id.id, + start_date=min(start_dates), + end_date=max(end_dates), + ) message += "Fin de l'import des données OK<br/>" # Suppression du fichier après création des enregistrements -- GitLab