From 488ede5c98354c5abe6b0629db0618620e0f7613 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Tue, 28 Jan 2025 10:35:01 +0100 Subject: [PATCH 1/3] [ADD] change prorata compute in moves --- models/acc_operation.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/models/acc_operation.py b/models/acc_operation.py index 7647c30..9754829 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -162,11 +162,19 @@ class AccOperation(models.Model): months=int(account_move_periodicity) - 1 ) - # Récupération des données agrégées par jour pour cette opération + # si pluesieurs compteurs d injection on calcule le prorata de consommation par + # horodate, sinon par jours + if len(self.acc_injection_period_ids) == 1: + groupby_date_slot = "day" + else: + groupby_date_slot = "minute" + + # Récupération des données agrégées par horodatage pour cette opération energy_dict = self.env["acc.enedis.cdc"]._get_group_by_energy( acc_operation_id=self.id, start_date=start_date, end_date=end_date, + groupby_date_slot=groupby_date_slot, filter_date=True, ) -- GitLab From e03c253d983125d485ebc06ce19be15c35476924 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Tue, 28 Jan 2025 11:21:42 +0100 Subject: [PATCH 2/3] [UPD] improve inj counter count by period --- models/acc_operation.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/models/acc_operation.py b/models/acc_operation.py index 9754829..46566db 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -164,7 +164,8 @@ class AccOperation(models.Model): # si pluesieurs compteurs d injection on calcule le prorata de consommation par # horodate, sinon par jours - if len(self.acc_injection_period_ids) == 1: + operation_inj_counters = self._get_inj_counter_by_period(start_date=start_date, end_date=end_date) + if len(operation_inj_counters) == 1: groupby_date_slot = "day" else: groupby_date_slot = "minute" @@ -205,6 +206,17 @@ class AccOperation(models.Model): return self.action_view_account_move() + def _get_inj_counter_by_period(self, start_date, end_date): + return self.env["acc.counter.period"]._get_periods_from_interval( + [ + ("prm_type", "=", "injection"), + ("acc_operation_id", "=", self.id), + ], + start_date, + end_date, + ).mapped("acc_counter_id") + + def _open_x2m_matrix(self, view_xmlid): """ Fonction qui appelle le wizard matrix 2D pour la défintion des prix -- GitLab From c91d63da13634745bdcdc3143071dcfd9cd7df11 Mon Sep 17 00:00:00 2001 From: Julien Ortet <julien@le-filament.com> Date: Tue, 28 Jan 2025 15:10:44 +0100 Subject: [PATCH 3/3] [UPD] cancel payment order with super ID --- models/account_payment_order.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/models/account_payment_order.py b/models/account_payment_order.py index 81d4a19..09a8a2d 100644 --- a/models/account_payment_order.py +++ b/models/account_payment_order.py @@ -12,3 +12,6 @@ class AccountPaymentOrder(models.Model): Re-generate the account payments. """ return super(AccountPaymentOrder, self.with_user(SUPERUSER_ID)).draft2open() + + def action_cancel(self): + return super(AccountPaymentOrder, self.with_user(SUPERUSER_ID)).action_cancel() -- GitLab