Skip to content
Extraits de code Groupes Projets
Valider 83898785 rédigé par Juliana's avatar Juliana
Parcourir les fichiers

[ADD]Add calcul conso/prod tot

parent a3fba026
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -103,10 +103,28 @@ class EnercoopOperation(models.Model):
# ------------------------------------------------------
# Business methods
# ------------------------------------------------------
def get_auto_power_tot(self):
"""
Fonction retournant l autoconsommation totale du dernier mois.
:return: la somme de l'autoconso totale de tous les consommateurs
"""
# Récupère les dates du dernier mois disponible
date_start, date_end = self.get_last_day('month')
# Conso Totale
autoconso_ids = self.env['enercoop.enedis.cdc'].search([
('enercoop_operation_id', '=', self.id),
('comp_data_type', '=', 'autocons'),
('date_slot', '>=', date_start),
('date_slot', '<', date_end)])
autoconso_tot = (sum(autoconso_ids.mapped('power')) / 1000) / 2
return autoconso_tot
def get_power_tot(self):
"""
Fonction retournant la consommation totale et la production totale du dernier mois.
Fonction retournant la consommation totale, l'autoconsommation totale et la production totale du dernier mois.
:return: la somme de la conso totale de tous les consommateurs,
la somme de l autoconso totale de tous les consommateurs,
la sommme de la prod totale de tous les producteurs
"""
# Récupère les dates du dernier mois disponible
......@@ -117,7 +135,7 @@ class EnercoopOperation(models.Model):
('comp_data_type', '=', 'cons'),
('date_slot', '>=', date_start),
('date_slot', '<', date_end)])
conso_tot = sum(conso_ids.mapped('power'))
conso_tot = (sum(conso_ids.mapped('power')) / 1000) / 2
# Prod Totale
prod_ids = self.env['enercoop.enedis.cdc'].search([
......@@ -125,8 +143,16 @@ class EnercoopOperation(models.Model):
('comp_data_type', '=', 'prod'),
('date_slot', '>=', date_start),
('date_slot', '<', date_end)])
prod_tot = sum(prod_ids.mapped('power'))
return conso_tot, prod_tot
prod_tot = (sum(prod_ids.mapped('power')) / 1000) / 2
# Auto cons Totale
autoconso_ids = self.env['enercoop.enedis.cdc'].search([
('enercoop_operation_id', '=', self.id),
('comp_data_type', '=', 'autocons'),
('date_slot', '>=', date_start),
('date_slot', '<', date_end)])
autoconso_tot = (sum(autoconso_ids.mapped('power')) / 1000) / 2
return conso_tot, prod_tot, autoconso_tot
def get_power_install_tot(self):
"""
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter