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

[UPD]Update function find date

parent 1a4fa5be
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -16,13 +16,14 @@ class AccOperation(models.Model):
_inherit = "acc.operation"
def prepare_values(self):
last_record = self.get_the_last_day()
date_day_start, date_day_end = self.get_last_day("day")
date_day_start, date_day_end = self.get_last_day("day", last_record)
last_day = date_day_start.strftime("%d %B %Y")
date_day_start = date_day_start.strftime("%Y-%m-%d")
date_day_end = date_day_end.strftime("%Y-%m-%d")
date_week_start, date_week_end = self.get_last_day("week")
date_week_start, date_week_end = self.get_last_day("week", last_record)
last_week = (
date_week_start.strftime("%d %B %Y")
+ "-"
......@@ -31,7 +32,7 @@ class AccOperation(models.Model):
date_week_start = date_week_start.strftime("%Y-%m-%d")
date_week_end = date_week_end.strftime("%Y-%m-%d")
date_month_start, date_month_end = self.get_last_day("month")
date_month_start, date_month_end = self.get_last_day("month", last_record)
last_month = (
date_month_start.strftime("%d %B %Y")
+ "-"
......@@ -40,7 +41,7 @@ class AccOperation(models.Model):
date_month_start = date_month_start.strftime("%Y-%m-%d")
date_month_end = date_month_end.strftime("%Y-%m-%d")
date_semestre_start, date_semestre_end = self.get_last_day("semestre")
date_semestre_start, date_semestre_end = self.get_last_day("semestre", last_record)
last_semester = (
date_semestre_start.strftime("%d %B %Y")
+ "-"
......@@ -49,7 +50,7 @@ class AccOperation(models.Model):
date_semestre_start = date_semestre_start.strftime("%Y-%m-%d")
date_semestre_end = date_semestre_end.strftime("%Y-%m-%d")
date_year_start, date_year_end = self.get_last_day("year")
date_year_start, date_year_end = self.get_last_day("year", last_record)
last_year = (
date_year_start.strftime("%d %B %Y")
+ "- "
......@@ -107,7 +108,8 @@ class AccOperation(models.Model):
: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")
last_record = self.get_the_last_day()
date_start, date_end = self.get_last_day("month", last_record)
# Conso Totale
autoconso_ids = self.env["acc.enedis.cdc"].search(
[
......@@ -131,7 +133,8 @@ class AccOperation(models.Model):
la date de début de mois
"""
# Récupère les dates du dernier mois disponible
date_start, date_end = self.get_last_day("month")
last_record = self.get_the_last_day()
date_start, date_end = self.get_last_day("month", last_record)
query = """
SELECT
date_trunc('month', A.date_slot) AS date_slot,
......@@ -176,7 +179,26 @@ class AccOperation(models.Model):
return puiss_tot
def get_last_day(self, scale):
def get_the_last_day(self):
"""
Fonction retournant la date du dernier enregistrement
"""
# Get last date slot recorded
last_record = self.env["acc.enedis.cdc"].search(
[
("acc_operation_id", "in", self.ids),
],
limit=1,
order="date_slot DESC",
)
if not last_record:
raise ValidationError(_("L'opération ne possède pas de données"))
return last_record
def get_last_day(self, scale, last_record):
"""
Fonction retournant une date de début et une date de fin.
Ces dates sont calculées en fonction de l'échelle choisie
......@@ -205,16 +227,16 @@ class AccOperation(models.Model):
"""
# Get last date slot recorded
last_record = self.env["acc.enedis.cdc"].search(
[
("acc_operation_id", "in", self.ids),
],
limit=1,
order="date_slot DESC",
)
if not last_record:
raise ValidationError(_("L'opération ne possède pas de données"))
# last_record = self.env["acc.enedis.cdc"].search(
# [
# ("acc_operation_id", "in", self.ids),
# ],
# limit=1,
# order="date_slot DESC",
# )
#
# if not last_record:
# raise ValidationError(_("L'opération ne possède pas de données"))
# Convert end datetime to timezone
last_day_start = last_record.date_slot.replace(hour=0, minute=0, second=0)
last_day_end = last_day_start + relativedelta(days=1)
......@@ -630,8 +652,8 @@ class AccOperation(models.Model):
chart_data.update(chart_data_prod)
result_graph["chart_data"] = chart_data
date_deb, date_max = self.get_last_day("day")
last_record = self.get_the_last_day()
date_deb, date_max = self.get_last_day("day", last_record)
date_max = date_max.strftime("%d/%m/%Y")
date_min = self.get_first_day()
date_min = date_min.strftime("%d/%m/%Y")
......
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