From 8756203ec3b4edb691f2f3c8de24befc45e7f2f7 Mon Sep 17 00:00:00 2001
From: benjamin <benjamin@le-filament.com>
Date: Mon, 30 Jan 2023 19:51:41 +0100
Subject: [PATCH] [update] VA calculation

---
 models/scop_cotisation_cg.py  |  8 +++++++-
 models/scop_liasse_fiscale.py | 28 ++++++++++++++++++++++++----
 2 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/models/scop_cotisation_cg.py b/models/scop_cotisation_cg.py
index c08bd40..4c72fd3 100644
--- a/models/scop_cotisation_cg.py
+++ b/models/scop_cotisation_cg.py
@@ -818,7 +818,13 @@ class ScopCotisation(models.Model):
         :return:
         """
         liasse.read(["av_lf", "av_cg"])
-        va = liasse.av_lf if liasse.av_lf > 0 else liasse.av_cg
+        if liasse.av_lf > 0:
+            if liasse.av_lf > liasse.av_cg:
+                va = liasse.av_cg
+            else:
+                va = liasse.av_lf
+        else:
+            va = liasse.av_cg
         return va
 
     def get_last_staff_id(self, partner):
diff --git a/models/scop_liasse_fiscale.py b/models/scop_liasse_fiscale.py
index 8fa5dfd..80eed44 100644
--- a/models/scop_liasse_fiscale.py
+++ b/models/scop_liasse_fiscale.py
@@ -58,14 +58,22 @@ class ScopLiasseFiscale(models.Model):
         - 0,3% du CA ou 0,7% de la VA
         - 300 € pour CA compris entre 0 et 100 K€
         - 600 € pour CA compris entre 100 et 200 K€
-        - Max = 375 K€
+        - Max = 320 K€
 
         @return float : cotisation
         """
         for liasse in self:
             # Calcul VA
             liasse.read(["av_lf", "av_cg", "L2052_FL"])
-            va = liasse.av_lf if liasse.av_lf > 0 else liasse.av_cg
+            # Calcul de la VA la plus avantageuse
+            if liasse.av_lf > 0:
+                if liasse.av_lf > liasse.av_cg:
+                    va = liasse.av_cg
+                else:
+                    va = liasse.av_lf
+            else:
+                va = liasse.av_cg
+
             ca = liasse.L2052_FL
             if liasse.dureeExercice and liasse.dureeExercice not in (0, 12):
                 va = va * (12 / liasse.dureeExercice)
@@ -233,7 +241,13 @@ class ScopLiasseFiscale(models.Model):
             liasse.read(["av_lf", "av_cg"])
             if liasse.partner_id.is_federation_com:
                 # Calcul VA
-                va = liasse.av_lf if liasse.av_lf > 0 else liasse.av_cg
+                if liasse.av_lf > 0:
+                    if liasse.av_lf > liasse.av_cg:
+                        va = liasse.av_cg
+                    else:
+                        va = liasse.av_lf
+                else:
+                    va = liasse.av_cg
 
                 # Calcul VA proratisée
                 if liasse.dureeExercice and liasse.dureeExercice not in (
@@ -349,7 +363,13 @@ class ScopLiasseFiscale(models.Model):
     def get_assiette(self):
         # Calcul VA
         self.read(["av_lf", "av_cg", "L2052_FL"])
-        va = self.av_lf if self.av_lf > 0 else self.av_cg
+        if self.av_lf > 0:
+            if self.av_lf > self.av_cg:
+                va = self.av_cg
+            else:
+                va = self.av_lf
+        else:
+            va = self.av_cg
         ca = self.L2052_FL
         if self.dureeExercice and self.dureeExercice not in (0, 12):
             va = va * (12 / self.dureeExercice)
-- 
GitLab