Skip to content
Snippets Groups Projects
Commit 62a9a0c5 authored by emanuel buzey's avatar emanuel buzey
Browse files

[IMP] energy_selfconsumption: add import confirmation message

parent e8071005
No related branches found
No related tags found
1 merge request!342Feature/variable hourly dist table
Pipeline #99149 passed
This commit is part of merge request !342. Comments created here will be created in the context of that merge request.
...@@ -134,14 +134,14 @@ class DistributionTableImportWizard(models.TransientModel): ...@@ -134,14 +134,14 @@ class DistributionTableImportWizard(models.TransientModel):
{"supply_point_assignation_ids": supply_point_assignation_values_list} {"supply_point_assignation_ids": supply_point_assignation_values_list}
) )
def process_variable_schedule(self, data, distribution_table): def process_variable_schedule(self, data, distribution_table_id):
DistributionTableVariable = self.env['energy_selfconsumption.distribution_table_variable'] DistributionTableVariable = self.env['energy_selfconsumption.distribution_table_variable']
DistributionTableVariableCoefficient = self.env['energy_selfconsumption.distribution_table_var_coeff'] DistributionTableVariableCoefficient = self.env['energy_selfconsumption.distribution_table_var_coeff']
cups_ids = data[0][1:] # Get CUPS from header row cups_ids = data[0][1:] # Get CUPS from header row
logger.debug('CUPS IDs found: %s', cups_ids) logger.debug('CUPS IDs found: %s', cups_ids)
# Validate CUPS before to process # Validate CUPS before to process
for cups in cups_ids: for cups in cups_ids:
is_valid, error_message = self.validate_cups_id(cups, distribution_table) is_valid, error_message = self.validate_cups_id(cups, distribution_table_id)
if not is_valid: if not is_valid:
logger.error(error_message) logger.error(error_message)
return return
...@@ -152,7 +152,7 @@ class DistributionTableImportWizard(models.TransientModel): ...@@ -152,7 +152,7 @@ class DistributionTableImportWizard(models.TransientModel):
# Pre-search existing records to avoid repeated searches # Pre-search existing records to avoid repeated searches
existing_variables = DistributionTableVariable.search([ existing_variables = DistributionTableVariable.search([
('cups_id', 'in', cups_ids), ('cups_id', 'in', cups_ids),
('distribution_table_id', '=', distribution_table) ('distribution_table_id', '=', distribution_table_id)
]) ])
existing_cups_map = {var.cups_id: var for var in existing_variables} existing_cups_map = {var.cups_id: var for var in existing_variables}
logger.debug('Preloaded %d existing records from DistributionTableVariable', len(existing_variables)) logger.debug('Preloaded %d existing records from DistributionTableVariable', len(existing_variables))
...@@ -161,7 +161,7 @@ class DistributionTableImportWizard(models.TransientModel): ...@@ -161,7 +161,7 @@ class DistributionTableImportWizard(models.TransientModel):
hour = int(row[0]) hour = int(row[0])
coefficients = list(map(float, row[1:])) # Convert coefficients to float coefficients = list(map(float, row[1:])) # Convert coefficients to float
# Validate that the sum of coefficients is 1 # Validate that the sum of coefficients is 1
is_valid, error_message = self.validate_coefficients(coefficients, hour, distribution_table) is_valid, error_message = self.validate_coefficients(coefficients, hour, distribution_table_id)
if not is_valid: if not is_valid:
logger.error(error_message) logger.error(error_message)
return return
...@@ -172,7 +172,7 @@ class DistributionTableImportWizard(models.TransientModel): ...@@ -172,7 +172,7 @@ class DistributionTableImportWizard(models.TransientModel):
variable_record = existing_cups_map.get(cups_id) variable_record = existing_cups_map.get(cups_id)
if not variable_record: if not variable_record:
variable_record = DistributionTableVariable.create({ variable_record = DistributionTableVariable.create({
'distribution_table_id': distribution_table, 'distribution_table_id': distribution_table_id,
'cups_id': cups_id, 'cups_id': cups_id,
}) })
existing_cups_map[cups_id] = variable_record existing_cups_map[cups_id] = variable_record
...@@ -189,11 +189,17 @@ class DistributionTableImportWizard(models.TransientModel): ...@@ -189,11 +189,17 @@ class DistributionTableImportWizard(models.TransientModel):
logger.debug('Batch processing of %d coefficients for time %d', len(coefficients_batch), hour) logger.debug('Batch processing of %d coefficients for time %d', len(coefficients_batch), hour)
coefficients_batch.clear() coefficients_batch.clear()
if hour == 8760:
distribution_table = self.env['energy_selfconsumption.distribution_table'].browse(distribution_table_id)
distribution_table.message_post(
body=_("The import process has been completed successfully."),
subject=_("Import Completed"),
)
if coefficients_batch: if coefficients_batch:
DistributionTableVariableCoefficient.create(coefficients_batch) DistributionTableVariableCoefficient.create(coefficients_batch)
logger.debug('Processed last batch of %d coefficients', len(coefficients_batch)) logger.debug('Processed last batch of %d coefficients', len(coefficients_batch))
logger.debug('Completing the import process for the Distribution Table with ID: %s', distribution_table) logger.debug('Completing the import process for the Distribution Table with ID: %s', distribution_table_id)
def validate_cups_id(self, cups_id, distribution_table_id): def validate_cups_id(self, cups_id, distribution_table_id):
try: try:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment