# coding: utf-8
+from datetime import datetime
from decimal import Decimal
from django.contrib.auth.models import User
from django.core.management.base import BaseCommand
from django.db import connection
-from django.db.models import Q
+from django.db.models import Q, Max
from project.legacy import models as legacy
from project.rh import models as rh
cursor.execute('TRUNCATE rh_employe')
cursor.execute('TRUNCATE rh_employecommentaire')
odette = User.objects.get(username='odette.tremblay')
- for fiche in legacy.Fiches.objects.all():
+ for fiche in legacy.Fiches.objects.extra():
employe = rh.Employe.objects.create(
id=fiche.no_employe,
nom=fiche.nom,
for taux in legacy.TauxChangeAnnuel.objects.exclude(taux_annuel=None):
# Créer la devise
- try:
- devise, created = rh.Devise.objects.get_or_create(code=taux.code_devise)
- except:
- import pdb; pdb.set_trace()
+ devise, created = rh.Devise.objects.get_or_create(code=taux.code_devise)
if created:
devise.nom=taux.nom_devise
devise.save()
nom_long='Inconnu',
actif=False
)
- for dossier in legacy.Dossiers.objects.all():
+ dossiers = legacy.Dossiers.objects.annotate(timestamp_modif=Max('historique__stamp'))
+ for dossier in dossiers:
+ date_modification = datetime.fromtimestamp(dossier.timestamp_modif) \
+ if dossier.timestamp_modif else None
dossier1 = rh.Dossier.objects.create(
employe_id=dossier.employe_id,
poste_id=dossier.poste_1,
regime_travail=dossier.regime_travail,
date_debut=clean_date(dossier.date_debut_mandat),
date_fin=clean_date(dossier.date_fin_mandat),
+ date_modification=date_modification,
remplacement=False,
actif=True,
supprime=False
actif=True,
supprime=False
)
- if dossier.remarque:
- rh.DossierCommentaire.objects.create(
+ if dossier.remarque:
+ rh.DossierCommentaire.objects.create(
+ dossier=dossier2,
+ texte=dossier.remarque,
+ owner=odette
+ )
+ rh.Contrat.objects.create(
dossier=dossier2,
- texte=dossier.remarque,
- owner=odette
+ type_contrat_id=dossier.id_type_contrat or type_contrat_inconnu.id,
+ date_debut=clean_date(dossier.date_debut_contrat),
+ date_fin=clean_date(dossier.date_fin_contrat),
+ actif=True,
+ supprime=False
)
- rh.Contrat.objects.create(
- dossier=dossier2,
- type_contrat_id=dossier.id_type_contrat or type_contrat_inconnu.id,
- date_debut=clean_date(dossier.date_debut_contrat),
- date_fin=clean_date(dossier.date_fin_contrat),
- actif=True,
- supprime=False
- )
def sync_ayantdroit():
connection.cursor().execute('TRUNCATE rh_ayantdroit')
class Dossiers(models.Model):
id_dossier = models.IntegerField(primary_key=True)
- no_dossier = models.CharField(max_length=10)
+ no_dossier = models.CharField(max_length=10, unique=True)
employe = models.ForeignKey(Fiches, related_name='dossiers', db_column='no_employe')
id_implantation_1 = models.SmallIntegerField()
poste_1 = models.SmallIntegerField()
db_table = u'histo_remuneration'
managed = False
+class HistoFiches(models.Model):
+ id_histo = models.IntegerField(primary_key=True)
+ fiche = models.ForeignKey(Fiches, db_column='no_employe', related_name='historique')
+ nom = models.CharField(max_length=128)
+ prenom = models.CharField(max_length=128)
+ date_ouverture = models.CharField(max_length=10)
+ situation_famille = models.CharField(max_length=2)
+ nationalite = models.CharField(max_length=2)
+ tel_domicile = models.CharField(max_length=20)
+ tel_cellulaire = models.CharField(max_length=20)
+ no_rue = models.CharField(max_length=128)
+ ville = models.CharField(max_length=128)
+ etat_province = models.CharField(max_length=128)
+ code_postal_cedex = models.CharField(max_length=64)
+ pays_iso2 = models.CharField(max_length=2)
+ sexe = models.CharField(max_length=1)
+ date_entree = models.CharField(max_length=10)
+ remarque = models.TextField()
+ date_maj = models.CharField(max_length=10)
+ date_naissance = models.CharField(max_length=10)
+ stamp = models.IntegerField()
+ ip = models.CharField(max_length=15)
+ usager = models.IntegerField()
+ action = models.CharField(max_length=1)
+ requete = models.TextField()
+ class Meta:
+ db_table = u'histo_fiches'
+ managed = False
+
+class HistoDossiers(models.Model):
+ id_histo = models.IntegerField(primary_key=True)
+ dossier = models.ForeignKey(Dossiers, db_column='no_dossier',
+ related_name='historique',
+ to_field='no_dossier')
+ no_employe = models.IntegerField()
+ id_implantation_1 = models.SmallIntegerField()
+ poste_1 = models.SmallIntegerField()
+ complement_1 = models.CharField(max_length=128)
+ id_implantation_2 = models.SmallIntegerField()
+ poste_2 = models.SmallIntegerField()
+ complement_2 = models.CharField(max_length=128)
+ ids_direction_service = models.CharField(max_length=128)
+ remplacement_de = models.IntegerField()
+ responsable = models.IntegerField()
+ id_local_expatrie = models.IntegerField()
+ date_debut_mandat = models.CharField(max_length=10)
+ date_fin_mandat = models.CharField(max_length=10)
+ id_statut = models.IntegerField()
+ id_bstg = models.IntegerField()
+ id_classement = models.IntegerField()
+ id_type_contrat = models.IntegerField()
+ regime_travail = models.SmallIntegerField()
+ date_debut_contrat = models.CharField(max_length=10)
+ date_fin_contrat = models.CharField(max_length=10)
+ remarque = models.TextField()
+ stamp = models.IntegerField()
+ ip = models.CharField(max_length=15)
+ usager = models.IntegerField()
+ action = models.CharField(max_length=1)
+ requete = models.TextField()
+ responsable_implantation_1 = models.IntegerField()
+ responsable_implantation_2 = models.IntegerField()
+ class Meta:
+ db_table = u'histo_dossiers'
+ managed = False
+
class FamilleEmploi(models.Model):
id_famille_emploi = models.SmallIntegerField(primary_key=True)
famille_emploi = models.CharField(max_length=64)