Skip to content
Extraits de code Groupes Projets
Valider 91c13c90 rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[UPD] get_last_day function to include en date

parent 10bca774
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -44,7 +44,7 @@ class AccOperation(models.Model):
la date de début de mois
"""
# Get last date slot recorded
last_record = self.get_the_last_day()
last_record = self.get_last_cdc_record()
date_start, date_end = self.get_last_day("month", last_record)
query = """
SELECT
......@@ -78,11 +78,10 @@ class AccOperation(models.Model):
raw_data = self.env.cr.fetchall()
return raw_data[0][1], raw_data[0][2], raw_data[0][3], date_start
def get_the_last_day(self):
def get_last_cdc_record(self):
"""
Fonction retournant la date du dernier enregistrement
@returns: last acc.enedis.cdc record in operations
"""
# Get last date slot recorded
last_record = (
self.env["acc.enedis.cdc"]
......@@ -125,23 +124,16 @@ class AccOperation(models.Model):
avec un enreisgtrement pour l'opération donnée moins 1 an
la date de fin est égale à la dernière date
avec un enreisgtrement pour l'opération donnée
:param scale: type d'affichage des graphes
:param str scale: type d'affichage des graphes
(day/week/month/semestre/year)
last_record: Dernier enregistrement dans la base
:return: une date de début et une date de fin
:param object last_record: Dernier enregistrement dans la base
@returns: une date de début et une date de fin
"""
# 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)
# Get end time slot for previous month with timezone
# Manage if date is the last day of the month
if fields.Date.to_date(last_day_start) == fields.Date.to_date(
date_utils.end_of(last_record.date_slot, "month")
):
end_month = last_day_end.replace(day=1)
else:
end_month = last_day_start.replace(day=1)
last_day_start = date_utils.start_of(last_record.date_slot, "day")
last_day_end = date_utils.end_of(last_record.date_slot, "day")
end_month = date_utils.end_of(last_record.date_slot, "month")
if scale == "semestre":
date_end = end_month
......@@ -157,7 +149,7 @@ class AccOperation(models.Model):
date_end = last_day_end
# month by default
else:
date_start = end_month - relativedelta(months=1)
date_start = date_utils.start_of(end_month, "month")
date_end = end_month
return date_start, date_end
......@@ -514,7 +506,7 @@ class AccOperation(models.Model):
chart_data.update(chart_data_prod)
result_graph["chart_data"] = chart_data
last_record = self.get_the_last_day()
last_record = self.get_last_cdc_record()
date_deb, date_max = self.get_last_day("day", last_record)
date_max = date_max.strftime("%d/%m/%Y")
date_min = self.date_start_contract
......
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