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