KEY_DATE_DEBUT = "debut"
KEY_DATE_FIN = "fin"
-TYPE_REMUN_BSTG = 3
+
+TYPE_REMUN_BSTG = (3,)
+TYPE_REMUN_MAD = (2,)
+TYPE_REMUN_BASE = (1,)
+TYPE_REMUN_FONC_RESP = (7,8)
+TYPE_REMUN_EXPAT = (4,)
+TYPE_REMUN_LOGEMENT = (6,)
+TYPE_REMUN_TRANSP = (9,)
+TYPE_REMUN_13E = (18,)
+TYPE_REMUN_AUTRE_RECURR_NOT = (1,2,3,4,6,7,8,9,18,13,14,15,19)
+TYPE_PAIEMENT_PONCTUEL = u"Ponctuel"
class MasseSalariale():
bstg_remun = None
if bstg_dossier:
for r in bstg_dossier.rh_remunerations.all():
- if r.type == TYPE_REMUN_BSTG:
+ if r.type in TYPE_REMUN_BSTG:
bstg_remun = r
+ salaire_complement = 0.0
+ salaire_base = 0.0
+ indemnites = {
+ 'fonc_resp': 0.0,
+ 'expat': 0.0,
+ 'logement': 0.0,
+ 'transp': 0.0,
+ '13e': 0.0,
+ 'autre_recurr': 0.0,
+ }
+ for r in remuns:
+ montant = float(r.montant)
+ if r.type in TYPE_REMUN_MAD:
+ salaire_complement += montant
+
+ if r.type in TYPE_REMUN_BASE:
+ salaire_base += montant
+
+ if r.type in TYPE_REMUN_FONC_RESP:
+ indemnites['fonc_resp'] += montant
+
+ if r.type in TYPE_REMUN_EXPAT:
+ indemnites['expat'] += montant
+
+ if r.type in TYPE_REMUN_LOGEMENT:
+ indemnites['logement'] += montant
+
+ if r.type in TYPE_REMUN_TRANSP:
+ indemnites['transp'] += montant
+
+ if r.type in TYPE_REMUN_13E:
+ indemnites['13e'] += montant
+
+ if r.type not in TYPE_REMUN_AUTRE_RECURR_NOT \
+ and r.type.type_paiement != TYPE_PAIEMENT_PONCTUEL:
+ indemnites['autre_recurr'] += montant
+
+ total_indemnites = sum(indemnites.values())
+
#Calcul du nombre de jours pour ce dossier.
- try:
- date_delta = dossier.date_fin - dossier.date_debut
- except:
+ if dossier.date_debut and dossier.date_debut > date_debut and \
+ not dossier.date_fin:
+ date_delta = date_fin - dossier.date_fin
+ elif dossier.date_fin and dossier.date_fin < date_fin and \
+ not dossier.date_debut:
+ date_delta = dossier.date_fin - date_debut
+ elif dossier.date_fin and dossier.date_debut:
+ date_delta = dossier.date_fin - date_debut
+ else:
date_delta = rapport_date_delta
item_rapport = {
'date_fin': d_date_fin,
'nb_jours': date_delta.days,
'devise': remuns[0].devise,
- 'organisme_bstg': dossier.organisme_bstg,
'salaire_bstg_annuel': bstg_remun.montant \
if bstg_remun else None,
'salaire_bstg_total':
self.convertir(bstg_remun) \
* regime * date_delta.days \
if bstg_remun else None,
+ 'organisme_bstg': dossier.organisme_bstg,
+ 'salaire_base_brut': \
+ salaire_base * regime * date_delta.days
+ 'salaire_
}
self.rapport.append(item_rapport)