From 1d6ecc5c4d8f9aa242c4ccf5678ceea7ce8c6b40 Mon Sep 17 00:00:00 2001
From: Juliana <juliana@le-filament.com>
Date: Wed, 26 Jan 2022 17:09:13 +0100
Subject: [PATCH] [ADD]Add periodicity invoice calcul

---
 models/acc_operation.py              | 8 ++++++--
 wizard/acc_account_surplus_wizard.py | 4 ++--
 wizard/acc_account_wizard.py         | 9 +++++----
 3 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/models/acc_operation.py b/models/acc_operation.py
index 1f4ffcd..1dad26a 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -91,7 +91,11 @@ class AccOperation(models.Model):
         account_list = []
 
         date_end = date_utils.end_of(date_month, 'month')
-        date_start = date_utils.start_of(date_month, 'month')
+        if account_periodicity == "1":
+            date_start = date_utils.start_of(date_month, 'month')
+        else:
+            date_start = date_end - relativedelta(months=int(account_periodicity)-1)
+            date_start = date_utils.start_of(date_start, 'month')
 
         power_tab_by_prod = self.env['acc.enedis.cdc'].read_group(
             [('acc_operation_id', '=', self.id),
@@ -158,7 +162,7 @@ class AccOperation(models.Model):
         account_list = []
 
         date_end = date_utils.end_of(date_month, 'month')
-        date_start = date_end - relativedelta(days=6)
+        date_start = date_end - relativedelta(months=int(account_periodicity)-1)
         date_start = date_utils.start_of(date_start, 'month')
 
         power_tab_by_prod = self.env['acc.enedis.cdc'].read_group(
diff --git a/wizard/acc_account_surplus_wizard.py b/wizard/acc_account_surplus_wizard.py
index f683c6c..5a9f8a3 100644
--- a/wizard/acc_account_surplus_wizard.py
+++ b/wizard/acc_account_surplus_wizard.py
@@ -13,8 +13,8 @@ class AccAccountSurplusWizard(models.TransientModel):
     # ------------------------------------------------------
     start_date = fields.Date("Date de début")
     account_periodicity = fields.Selection([
-        ("trimestrial", "Trimestrielle"),
-        ("annual", "Annuelle")
+        ("3", "Trimestrielle"),
+        ("12", "Annuelle")
     ], string='Périodicité Facturation', default="trimestrial")
     # ------------------------------------------------------
     # SQL Constraints
diff --git a/wizard/acc_account_wizard.py b/wizard/acc_account_wizard.py
index 927ffe1..8d2fe8c 100644
--- a/wizard/acc_account_wizard.py
+++ b/wizard/acc_account_wizard.py
@@ -13,10 +13,11 @@ class AccAccountWizard(models.TransientModel):
     # ------------------------------------------------------
     start_date = fields.Date("Date de début")
     account_periodicity = fields.Selection([
-        ("mensual", "Mensuelle"),
-        ("trimestrial", "Trimestrielle"),
-        ("annual", "Annuelle")
-    ], string='Périodicité Facturation', default="mensual")
+        ("1", "Mensuelle"),
+        ("3", "Trimestrielle"),
+        ("6", "Semestrielle"),
+        ("12", "Annuelle")
+    ], string='Périodicité Facturation', default="1")
     # ------------------------------------------------------
     # SQL Constraints
     # ------------------------------------------------------
-- 
GitLab