Masse salariale HTML
[auf_rh_dae.git] / project / rh / masse_salariale.py
index b07b5ca..ea5039f 100644 (file)
@@ -80,12 +80,64 @@ class MasseSalariale():
 
         self.rapport = []
 
-        pays_list = ref.Pays.objects.all()
+        pays_list = {}
+        for pays in ref.Pays.objects.all():
+            pays_list[pays.id] = pays
+
         valeurs_point_par_imp = \
                 dict(
                     (v.implantation.id, v) for v in \
                     rh.ValeurPoint.objects.filter(annee=self.annee).all()
                 )
+
+        self.headers = (
+                ('bureau', u"Bureau"),
+                ('pays', u"Pays"),
+                ('implantation', u"Implantation"),
+                ('valeur_point', u"Valeur du point"),
+                ('numero_employe', u"Numéro d'employé"),
+                ('nom', u"Nom"),
+                ('prenom', u"Prénom"),
+                ('type_de_poste', u"Type de poste"),
+                ('intitule_de_poste', u"Intitulé du poste"),
+                ('niveau', u"Niveau"),
+                ('point', u"Point"),
+                ('regime_de_travail', u"Régime de travail"),
+                ('local_expatrie', u"Local / Expatrié"),
+                ('statut', u"Statut"),
+                ('date_fin_contrat', u"Date de fin de contrat"),
+                ('date_debut', u"Date de début"),
+                ('date_fin', u"Date de fin"),
+                ('nb_jours', u"Nombre de jours"),
+                ('devise', u"Devise"),
+                ('salaire_bstg_annuel', u"Salaire annuel BSTG"),
+                ('salaire_bstg_total', u"Salaire total BSTG"),
+                ('organisme_bstg', u"Organisme BSTG"),
+                ('salaire_theorique', u"Salaire théorique"),
+                ('salaire_base_brut', u"Salaire de base brut"),
+                ('salaire_complementaire', u"Salaire complémentaire"),
+                ('indemnite_fonctions', u"Indemnités de fonctions"),
+                ('indemnite_expat', u"Indemnités d'expatriation"),
+                ('indemnite_logement', u"Indemnités de logement"),
+                ('indemnite_transp', u"Indemnités de transport"),
+                ('indemnite_13e', u"Indemnités 13e mois"),
+                ('indemnite_autre', u"Autre indemnités"),
+                ('total_brut', u"Total brut"),
+                ('prime_interim', u"Prime d'intérim"),
+                ('prime_installation', u"Prime d'installation"),
+                ('prime_demenagement', u"Prime de déménagement"),
+                ('prime_avion', u"Prime d'avion"),
+                ('prime_autre', u"Autre prime"),
+                ('prime_total', u"Total des primes"),
+                ('charges_patronales', u"Charges patronales"),
+                ('charges_patronales_annee', u"Charge patronale %s" % \
+                        self.annee),
+                ('masse_salariale', u"Masse salariale"),
+                ('masse_salariale_annee', u"Masse salariale %s" % self.annee),
+                ('masse_salariale_annee_euro', u"Masse salariale euro %s" % \
+                        self.annee),
+        )
+
         for item in self.employes.values():
             dossiers = item['dossiers']
             remuns = item['remunerations']
@@ -244,91 +296,91 @@ class MasseSalariale():
                     round(valeur_point.valeur * int(coefficient) * regime, 2) \
                     if valeur_point and coefficient and regime else "")
 
-            item_rapport = (
-                    ('bureau', dossier.poste.implantation.region.code),
-                    ('pays', unicode(pays)),
-                    ('implantation', dossier.poste.implantation.nom_court),
-                    ('type_implantation', dossier.poste.implantation.type),
-                    #'imputation', None),
-                    ('valeur_point', valeur_point),
-                    ('numero_employe', dossier.employe_id),
-                    ('nom', dossier.employe.nom.upper()),
-                    ('prenom', dossier.employe.prenom),
-                    ('type_de_poste', dossier.poste.type_poste.nom),
-                    ('intitule_de_poste', dossier.poste.nom),
-                    ('niveau', unicode(dossier.classement)),
-                    ('point', coefficient),
-                    ('regime_de_travail', "%s %%" % int(regime * 100)),
-                    ('local_expatrie', statut),
-                    ('statut', dossier.statut.code),
-                    ('date_fin_contrat', dossier.date_fin or ""),
-                    ('date_debut', d_date_debut or ""),
-                    ('date_fin', d_date_fin or ""),
-                    ('nb_jours', date_delta.days),
-                    ('devise', remuns[0].devise),
-                    ('salaire_bstg_annuel', bstg_remun.montant \
-                            if bstg_remun else ""),
-                    ('salaire_bstg_total', bstg_remun_euro.montant \
-                            if bstg_remun else ""),
-                    ('organisme_bstg', dossier.organisme_bstg or ""),
-                    ('salaire_theorique', salaire_theorique),
-                    ('salaire_base_brut', \
+            item_rapport = {
+                    'bureau': dossier.poste.implantation.region.code,
+                    'pays': unicode(pays),
+                    'implantation': dossier.poste.implantation.nom_court,
+                    'type_implantation': dossier.poste.implantation.type,
+                    #'imputation': None,
+                    'valeur_point': valeur_point,
+                    'numero_employe': dossier.employe_id,
+                    'nom': dossier.employe.nom.upper(),
+                    'prenom': dossier.employe.prenom,
+                    'type_de_poste': dossier.poste.type_poste.nom,
+                    'intitule_de_poste': dossier.poste.nom,
+                    'niveau': unicode(dossier.classement),
+                    'point': coefficient,
+                    'regime_de_travail': "%s %%" % int(regime * 100),
+                    'local_expatrie': statut,
+                    'statut': dossier.statut.code,
+                    'date_fin_contrat': dossier.date_fin or "",
+                    'date_debut': d_date_debut or "",
+                    'date_fin': d_date_fin or "",
+                    'nb_jours': date_delta.days,
+                    'devise': remuns[0].devise,
+                    'salaire_bstg_annuel': bstg_remun.montant \
+                            if bstg_remun else "",
+                    'salaire_bstg_total': bstg_remun_euro.montant \
+                            if bstg_remun else "",
+                    'organisme_bstg': dossier.organisme_bstg or "",
+                    'salaire_theorique': salaire_theorique,
+                    'salaire_base_brut': \
                             salaire_base * regime * (
                                 date_delta.days / rapport_date_delta.days
-                            )),
-                    ('salaire_complementaire', \
+                            ),
+                    'salaire_complementaire': \
                             salaire_complement * regime * (
                                 date_delta.days / rapport_date_delta.days
-                            )),
-                    #'salaire_total', None
-                    ('indemnite_fonctions', indemnites['fonc_resp'] * \
+                            ),
+                    #'salaire_total': None
+                    'indemnite_fonctions': indemnites['fonc_resp'] * \
                             regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnite_expat', indemnites['expat'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnite_logement', indemnites['logement'] * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_expat': indemnites['expat'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_logement': indemnites['logement'] * \
                             regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnites_transp', indemnites['transp'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnites_13e', indemnites['13e'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnites_autre', indemnites['autre_recurr'] * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_transp': indemnites['transp'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_13e': indemnites['13e'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_autre': indemnites['autre_recurr'] * \
                             regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('indemnites_total', total_indemnites * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('total_brut', (
+                            (date_delta.days / rapport_date_delta.days),
+                    'indemnite_total': total_indemnites * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'total_brut': (
                                 total_indemnites + salaire_base +
                                 salaire_complement
                             ) * regime * (
                                 date_delta.days / rapport_date_delta.days
-                            )),
-                    ('prime_interim', primes['interim'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('prime_installation', primes['installation'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('prime_demenagement', primes['demenagement'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('prime_avion', primes['avion'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('prime_autre', primes['autre'] * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('prime_total', sum(primes.values()) * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('charges_patronales', charges),
-                    ('charges_patronales_%s' % self.annee, charges * regime * \
-                            (date_delta.days / rapport_date_delta.days)),
-                    ('masse_salariale', masse_salariale),
-                    ('masse_salariale_%s' % self.annee, masse_salariale * \
+                            ),
+                    'prime_interim': primes['interim'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'prime_installation': primes['installation'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'prime_demenagement': primes['demenagement'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'prime_avion': primes['avion'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'prime_autre': primes['autre'] * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'prime_total': sum(primes.values()) * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'charges_patronales': charges,
+                    'charges_patronales_annee': charges * regime * \
+                            (date_delta.days / rapport_date_delta.days),
+                    'masse_salariale': masse_salariale,
+                    'masse_salariale_annee': masse_salariale * \
                             regime * (
                                     date_delta.days / rapport_date_delta.days
-                             )),
-                     ('masse_salariale__euro_%s' % self.annee, \
+                             ),
+                     'masse_salariale_annee_euro': \
                             masse_salariale_euro.montant * regime * (
                                     date_delta.days / rapport_date_delta.days
-                            )),
-            )
+                            ),
+            }
 
             self.rapport.append(item_rapport)