From 552d0db7738876d487c9e814df209d842d1003e8 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Larchev=C3=AAque?= Date: Thu, 29 Mar 2012 15:51:58 -0400 Subject: [PATCH] totaux locaux --- .../templates/dae/embauche-remun-consulter.html | 28 ++++--- project/rh/models.py | 87 +++++++++++++++++--- 2 files changed, 92 insertions(+), 23 deletions(-) diff --git a/project/dae/templates/dae/embauche-remun-consulter.html b/project/dae/templates/dae/embauche-remun-consulter.html index ac1d120..a887f4a 100644 --- a/project/dae/templates/dae/embauche-remun-consulter.html +++ b/project/dae/templates/dae/embauche-remun-consulter.html @@ -1,3 +1,4 @@ +{% with dossier.poste.get_devise.code as code_devise_locale %} Type Devise locale @@ -26,8 +27,9 @@ {% endfor %} - Salaire brut - {{ dossier.get_salaire_brut|floatformat:0 }}€ + Salaire brut + {{ dossier.get_local_salaire_brut|floatformat:0 }} {{code_devise_locale }} + {{ dossier.get_salaire_brut|floatformat:0 }}€ @@ -44,14 +46,16 @@ {% endfor %} - Charges salariales - {{ dossier.get_total_charges_salariales|floatformat:0 }}€ + Charges salariales + {{ dossier.get_total_local_charges_salariales|floatformat:0 }} {{code_devise_locale }} + {{ dossier.get_total_charges_salariales|floatformat:0 }}€ - Salaire net - {{ dossier.get_salaire_net|floatformat:0 }}€ + Salaire net + {{ dossier.get_local_salaire_net|floatformat:0 }} {{code_devise_locale }} + {{ dossier.get_salaire_net|floatformat:0 }}€ @@ -66,15 +70,17 @@ {% endfor %} - Charges patronales - {{ dossier.get_total_charges_patronales|floatformat:0 }}€ + Charges patronales + {{ dossier.get_total_local_charges_patronales|floatformat:0 }} {{code_devise_locale }} + {{ dossier.get_total_charges_patronales|floatformat:0 }}€ - Côuts AUF - {{ dossier.get_couts_auf|floatformat:0 }}€ + Côuts AUF + {{ dossier.get_local_couts_auf|floatformat:0 }} {{code_devise_locale }} + {{ dossier.get_couts_auf|floatformat:0 }}€ @@ -97,4 +103,4 @@ {{ remun.precision }} {% endfor %} - +{% endwith %} diff --git a/project/rh/models.py b/project/rh/models.py index a5527b5..15a8ad7 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -247,6 +247,8 @@ class Poste_(AUFMetadata): def get_regions(self): return [self.implantation.region] + def get_devise(self): + return ValeurPoint.objects.filter(implantation=self.implantation).order_by('annee')[0].devise class Poste(Poste_): __doc__ = Poste_.__doc__ @@ -708,12 +710,6 @@ class Dossier_(AUFMetadata, DevisableMixin): ids = [20, ] return [r for r in self.remunerations_en_cours().all() if r.type_id in ids] - def get_total_charges_salariales(self): - total = 0.0 - for r in self.get_charges_salariales(): - total += r.montant_euros() - return total - def get_charges_patronales(self): """ 17 Charges patronales @@ -721,6 +717,79 @@ class Dossier_(AUFMetadata, DevisableMixin): ids = [17, ] return [r for r in self.remunerations_en_cours().all() if r.type_id in ids] + def get_remunerations_tierces(self): + """ + 2 Salaire MAD + """ + return [r for r in self.remunerations_en_cours().all() if r.type_id in (2, )] + + # DEVISE LOCALE + + def get_total_local_charges_salariales(self): + total = 0.0 + for r in self.get_charges_salariales(): + total += r.montant + return total + + def get_total_local_charges_patronales(self): + total = 0.0 + for r in self.get_charges_patronales(): + total += float(r.montant) + return total + + def get_local_salaire_brut(self): + """ + somme des rémuérations brutes + """ + devise = self.poste.get_devise() + total = 0.0 + for r in self.get_remunerations_brutes(): + if r.devise != devise: + return None + total += float(r.montant) + return total + + def get_local_salaire_net(self): + """ + salaire brut - charges salariales + """ + devise = self.poste.get_devise() + total_charges = 0.0 + for r in self.get_charges_salariales(): + if r.devise != devise: + return None + total_charges += float(r.montant) + return self.get_local_salaire_brut() - total_charges + + def get_local_couts_auf(self): + """ + salaire net + charges patronales + """ + devise = self.poste.get_devise() + total_charges = 0.0 + for r in self.get_charges_patronales(): + if r.devise != devise: + return None + total_charges += float(r.montant) + return self.get_local_salaire_net() + total_charges + + def get_total_local_remunerations_tierces(self): + devise = self.poste.get_devise() + total = 0.0 + for r in self.get_remunerations_tierces(): + if r.devise != devise: + return None + total += float(r.montant) + return total + + # DEVISE EURO + + def get_total_charges_salariales(self): + total = 0.0 + for r in self.get_charges_salariales(): + total += r.montant_euros() + return total + def get_total_charges_patronales(self): total = 0.0 for r in self.get_charges_patronales(): @@ -754,12 +823,6 @@ class Dossier_(AUFMetadata, DevisableMixin): total_charges += r.montant_euros() return self.get_salaire_net() + total_charges - def get_remunerations_tierces(self): - """ - 2 Salaire MAD - """ - return [r for r in self.remunerations_en_cours().all() if r.type_id in (2, )] - def get_total_remunerations_tierces(self): total = 0.0 for r in self.get_remunerations_tierces(): -- 1.7.10.4