('nb_jours', u"Nombre de jours", {'columnwidth': '2.82cm'}),
HEADER_SEPARATOR,
('devise', u"Devise", {'columnwidth': '1.46cm'}),
- ('salaire_bstg_annuel', u"Salaire BSTG annuel",
+ ('salaire_bstg_annuel', u"Salaire BSTG ANNUEL",
{'columnwidth': '2.5cm'}),
('salaire_bstg_euro', u"Salaire BSTG EUR",
{'columnwidth': '2.5cm'}),
('organisme_bstg', u"Organisme BSTG",
{'columnwidth': '2.9cm'}),
HEADER_SEPARATOR,
- ('salaire_theorique', u"Salaire théorique annuel",
+ ('salaire_theorique', u"Salaire théorique ANNUEL",
{'columnwidth': '2.5cm', 'background-color': '#ecab44'}),
('salaire_base_brut', u"Salaire de base brut",
{'columnwidth': '2.5cm', 'background-color': '#ecab44'}),
('charges_sous_total', u"Sous-total des charges patronales",
{'columnwidth': '2.5cm', 'background-color': '#fb680f'}),
HEADER_SEPARATOR,
- ('sous_total_traitement_annee', u"Total traitement %s" % \
- self.annee,
+ ('sous_total_traitement_annee', u"Total traitements",
{'background-color': '#ecab44'}),
- ('sous_total_indemnite_annee', u"Total indemnités %s" % \
- self.annee,
+ ('sous_total_indemnite_annee', u"Total indemnités",
{'background-color': '#fff840'}),
- ('sous_total_accessoire_annee', u"Total accessoires %s" % \
- self.annee,
+ ('sous_total_accessoire_annee', u"Total accessoires",
{'background-color': '#d7fb0f'}),
- ('sous_total_charges_annee', u"Total charges %s" % \
- self.annee,
+ ('sous_total_charges_annee', u"Total charges",
{'background-color': '#fb680f'}),
HEADER_SEPARATOR,
- ('masse_salariale', u"Masse salariale annuelle",
+ ('masse_salariale', u"Masse salariale ANNUELLE",
{'columnwidth': '2.5cm', 'background-color': '#e6c6ed'}),
- ('masse_salariale_annee', u"Masse salariale %s" % self.annee,
+ ('masse_salariale_annee', u"Masse salariale",
{'columnwidth': '2.5cm', 'background-color': '#e6c6ed'}),
('masse_salariale_annee_euro', u"Masse salariale %s EUR" % \
self.annee, {
else:
contenu[d.id]['dossiers'].add(d)
+ postes = rh.Poste.objects
+
+ custom_filter = {}
+ for k, v in self.custom_filter.items():
+ custom_filter[k.replace('dossier__poste__', '')] = v
+
+ if custom_filter:
+ postes = postes.filter(**custom_filter)
+
+ postes_vacants = [p for p in postes.filter(q_range).all()
+ if p.is_vacant()]
+ remuneration_base = rh.TypeRemuneration.objects.get(
+ id=TYPE_REMUN_BASE[0])
+ remuneration_indem = rh.TypeRemuneration(
+ nature_remuneration=TYPE_NATURE_INDEMN)
+ remuneration_charge = rh.TypeRemuneration(
+ nature_remuneration=TYPE_NATURE_CHARGES)
+ for p in postes_vacants:
+ d = rh.Dossier()
+ d.employe = rh.Employe()
+ d.statut = rh.Statut()
+ d.poste = p
+ d.classement = p.classement_max
+ d.point = p.valeur_point_max
+ contenu['p_%s' % p.id] = {
+ 'dossiers': set([d]),
+ 'remunerations': [
+ rh.Remuneration(montant=p.salaire_max,
+ devise=p.devise_max, type=remuneration_base),
+ rh.Remuneration(montant=p.indemn_max,
+ devise=p.devise_max, type=remuneration_indem),
+ rh.Remuneration(montant=p.autre_max,
+ devise=p.devise_max, type=remuneration_charge),
+ ]
+ }
+
for item in contenu.values():
dossiers = item['dossiers']
remuns = item['remunerations']
'intitule_de_poste': dossier.poste.nom_feminin
if dossier.employe.genre == "F" else
dossier.poste.nom,
- 'niveau': unicode(dossier.classement),
+ 'niveau': dossier.classement,
'point': coefficient,
'regime_de_travail': "%s %%" % int(regime * 100),
'local_expatrie': statut,