diff --git a/models/acc_enedis_cdc.py b/models/acc_enedis_cdc.py index 19acebb765390a0afb81b51d7e805998a52c2b9b..9c2eb91ac47320d900a6823300e54d2662a7ace5 100644 --- a/models/acc_enedis_cdc.py +++ b/models/acc_enedis_cdc.py @@ -22,106 +22,6 @@ class AccEnedisCdc(models.Model): # ------------------------------------------------------ # Business methods # ------------------------------------------------------ - @api.model - def _get_last_month_power_tot(self, operation_id): - """ - 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 - la date de début de mois - """ - # Get last date slot recorded - last_record = self._get_last_cdc_record(operation_id) - start_date, end_date = self._get_interval("month", last_record) - end_date_month = end_date + relativedelta(days=1) - query = ( - self._select_clause( - date_slot="month", curve_types=["cons", "prod", "autocons"] - ) - + self._from_clause() - + self._where_clause( - operation_id=operation_id, - start_date=start_date, - end_date=end_date_month, - ) - + self._group_clause(date_slot="month") - + self._order_clause() - ) - self.env.cr.execute(query) - raw_data = self.env.cr.fetchone() - return raw_data[1], raw_data[2], raw_data[3], start_date - - @api.model - def _get_last_cdc_record(self, operation_id, partner_id=None): - """ - @param: int operation_id identifiant de l'opération - int partner_id identifiant du contact - @returns: last acc.enedis.cdc record in operations - """ - domain = [("acc_operation_id", "=", operation_id)] - - if partner_id: - domain = expression.AND([domain, [("partner_id", "=", partner_id)]]) - # Get last date slot recorded - last_record = self.sudo().search( - domain, - 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 - - @api.model - def _get_interval(self, scale, cdc_record): - """ - Fonction retournant une date de début et une date de fin. - Ces dates sont calculées en fonction de l'échelle choisie et du dernier - élément enregistré - - day: la date de début et la date de fin = dernier jour de données - - week: date de fin = fin du jour du dernier jour de données - date de début = date de fin moins 7 jours - - month: date de fin = fin du mois du dernier jour de données - date de début = début du mois du dernier jour de données - - year: date de fin = fin du mois du dernier jour de données - date de début = début de l'année du dernier jour de données - :param str scale: type d'affichage des graphes - (day/week/month/year) - :param object cdc_record: courbe de charge (table acc.enedis.cdc) - @returns: une date de début et une date de fin - """ - - # Convert end datetime to timezone - cdc_datetime = fields.Datetime.context_timestamp(self, cdc_record.date_slot) - start_month, end_month = date_utils.get_month(cdc_datetime) - - if scale == "year": - end_date = end_month - start_date = start_month.replace(month=1) - elif scale == "month": - end_date = end_month - start_date = start_month - elif scale == "week": - end_date = cdc_datetime.date() - start_date = cdc_datetime.date() - relativedelta(days=6) - elif scale == "day": - end_date = cdc_datetime.date() - start_date = cdc_datetime.date() - else: - raise ValueError( - _( - "La période d'affichage est incorrecte : %s, " - "valeurs attendues : day/week/month/year" - ) - % scale - ) - - return start_date, end_date - @api.model def _get_step_from_date(self, start_date, end_date): """