gestion de paiement des      
               employés             



Acceuil        Mode console      Classe main         Mode graphique
  


2009/2010. 4éme Année                         Encadrant EMSI. 
                                                                                    Mr: M.Mansouri.
Ingénieurie Automatismes
et Informatique Industrielle.



 
La classe employe.
public class employer {
            String nom,prenom;
            int date_e[][];
            static int matricule=0;
            int salaire,memo[],abs_ret_t[],jr_hr_t[];
           
            public employer(String n,String p,int jour,int mois,int an,int s)
            {
                        nom=n;prenom=p;
                        salaire=s;
                        memo=new int[2];
                        memo[0]=0;memo[1]=0;
                        abs_ret_t=new int[2];
                        abs_ret_t[0]=0;abs_ret_t[1]=0;
                        jr_hr_t=new int[2];
                        jr_hr_t[0]=0;jr_hr_t[1]=0;
                       
                        matricule++;
                        date_e=new int [1][3];
                        date_e[0][0]=jour;date_e[0][1]=mois;date_e[0][2]=an;                  
            }
            public void payer()
            {
                        System.out.println("Il vas recevoire :"+salaire+"DH");
            }
            public void jours_travail(int jour,int mois,int an){
                        int j=jour-date_e[1][0];
                        int m=mois-date_e[1][1];
                        int a=an-date_e[1][2];
                        int somme=j+(20*m)+(240*a);
                        jr_hr_t[0]=somme-abs_ret_t[0];
                        jr_hr_t[1]=8*(somme-abs_ret_t[1]);
            }
            public void absenses(){          
                        memo[0]++;
                        abs_ret_t[0]++;
            }
            public void retards(int h){
                        memo[1]+=h;
                        abs_ret_t[1]+=h;
            }
            public void check_absensses(){
                        if(memo[0]>=3){
                                   salaire=(int) (salaire-(0.1*salaire));
                                   System.out.println("Avertissement!!  "+memo[0]+" absense(s) !!");
                                   memo[0]=0;
                                   salaire=(int) (salaire+(0.1*salaire));
                        }
                        else System.out.println("Avertissement!!  "+memo[0]+" absense(s)");      
            }
            public void check_retars()
            {
                        if(memo[1]>=5){
                                   salaire=(int) (salaire-(0.05*salaire));
                                   System.out.println("Avertissement!!  "+memo[1]+" retard(s) !!");
                                   memo[1]=0;
                                   salaire=(int) (salaire+(0.05*salaire));
                        }
                        else System.out.println("Avertissement!!  "+memo[1]+" retard(s)");
            }
            public void conge_payer(){
                        if((jr_hr_t[0]>=240)||(jr_hr_t[1]>=1920))
                                   System.out.println("Bon vacance! le montant est :"+0.85*salaire);
                        else System.out.println("Vous n'avez pas le droit de conge payer !!");
            }
            public void promotion(int pro){
                        salaire+=pro;
                        System.out.println("Salaire augmenter !");
            }
            public void prime(){
                        System.out.println("la prime :"+0.5*salaire);
            }
}


Explication et fonctionnalités.
   Dans cette classe les attributs nécessaires pour créer un employé sont : le nom, le prénom, le matricule, la date d’embauche, le salaire, le nombre d’absences et le nombre de retards.
      On définit les méthodes suivantes :  
           Le constructeur : On initialise toutes les variables et les tableaux.
          Void payer() : Afficher  le salaire de l’employé.
          Void jours_travail (int jour,int mois,int an) : On demande à l’utilisateur d’entrer la date actuelle afin de calculer la  somme des jours travaillés par l’employé.
       Void absences() : Incrémenter le nombre d’absences mensuel et annuel pendant chaque appel.
      Void retards(int h)  : Incrémenter le nombre de retards  mensuel et annuel pendant chaque appel.
     Void check_absensses() : Tester, si les absences dépassent 3, on enlève 10% du salaire de l’employé, sinon on lui donne un avertissement et on affiche le nombre d’absence dans les deux cas .
   Void check_retards() : Tester, si les absences dépassent 5, on enlève 5% du salaire de l’employé, sinon on lui donne un avertissement et on affiche le nombre  de retards dans les deux cas .
 Vvoid conge_payer() : Tester si l’employé a travaillé 240 jours  ou 1920 heures par an et lui affecter un montant de 85% de son salaire pendant le congé, sinon pas de congé payé .
  Void promotion(int pro) : Ajouter une somme au salaire de l’employé.
 Void prime(int pri) : Afficher la prime donnée et qui est égale à 5% du salaire.



La classe ingénieur().
class ingenieur extends employer{

           

            public ingenieur(String n,String p,int jour,int mois,int an,int s)

            {

                        super(n,p,jour,mois,an,s);

                        System.out.println("votre ingenieur est ajoute !");                          

            }

            public void affiche_un(int mat){                   

                        System.out.println("N° "+mat);

                        System.out.println();

                        System.out.println("Niveau  : Ingenieur ");

                        System.out.println("NOM :"+nom+"    PRENOM :"+prenom);

                        System.out.println("DATE D'embauche le  :"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);

                        System.out.println("Le salaire  :"+salaire);

                        System.out.println(" L'absence mensuel  :"+memo[0]+"    Retard mensuel  :"+memo[1]);

                        System.out.println("L'absence totale  :"+ abs_ret_t[0]+" Jours     Retard totale  :"+abs_ret_t[1]+" Heurs");

                        System.out.println(" Jour Travaillé  :"+jr_hr_t[0]+" jours    Heurs travailler :"+jr_hr_t[1]+" Heurs");                       

            }                     

            public void payer()

            {

                        System.out.println("Il vas recevoire :"+salaire+"DH");

            }

            public void jours_travail(int jour,int mois,int an){

                        super.jours_travail(jour, mois, an);

            }

            public void absenses(){          

                        super.absenses();

            }

            public void retards(int h){

                        super.retards(h);

            }

            public void check_absensses(){

                        super.check_absensses();

            }

            public void check_retars()

            {

                        super.check_retars();

            }

            public void conge_payer(){

                        super.conge_payer();

            }

            public void promotion(int pro){

                        super.promotion(pro);

            }

            public void prime(){

                        super.prime();

            }

}




Explication et fonctionnalités.

Cette classe ingénieur qui est un type spécifique d’employés hérite les attributs et certaines méthodes de la classe employe

      On définit les méthodes suivantes :  

           Le constructeur : Hérite les attributs de la classe employe, en utilisant le mot super.

       Void affiche_un(int mat) : Afficher le numéro de matricule de l’ingénieur, son nom, son prénom, la date d’embauche, le salaire, les jours travaillés et le nombre d’absences et de retards s’ils existent.

      Void payer(int mat) : Afficher le salaire de l’ingénieur qu’il va recevoir.

      Void jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void check_absensses(), void check_retards(), void conge_payer(), void promotion(int pro),  void prime(int pri) : hériter ses méthodes qui sont déjà prédéfinies dans la classe mère employe.



La classe commercial().
public class commercial extends employer {

            String tab[][];



            public commercial(String n,String p,int jour,int mois,int an,int s)

            {

                        super(n,p,jour,mois,an,s);

                        System.out.println("votre Commercial est ajoute !");

            }

            public void affiche_un(int mat){                   

                        System.out.println("N° "+mat);

                        System.out.println();

                        System.out.println("Niveau  : Commercial ");

                        System.out.println("NOM :"+nom+"    PRENOM :"+prenom);

                        System.out.println("DATE D'embauche le  :"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);

                        System.out.println("Le salaire  :"+salaire);

                        System.out.println(" L'absence mensuel  :"+memo[0]+"Retard mensuel  :"+memo[1]);

                        System.out.println("L'absence totale  :"+ abs_ret_t[0]+" Jours     Retard totale  :"+abs_ret_t[1]+" Heurs");

                        System.out.println(" Jour Travaillé  :"+jr_hr_t[0]+" jours    Heurs travailler :"+jr_hr_t[1]+" Heurs");                       

            }                     

            public void payer()

            {

                        System.out.println("Il vas recevoire :"+salaire+"DH");

            }

            public void jours_travail(int jour,int mois,int an){

                        super.jours_travail(jour, mois, an);

            }

            public void absenses(){          

                        super.absenses();

            }

            public void retards(int h){

                        super.retards(h);

            }

            public void check_absensses(){

                        super.check_absensses();

            }

            public void check_retars()

            {

                        super.check_retars();

            }

            public void conge_payer(){

                        super.conge_payer();

            }

            public void promotion(int pro){

                        super.promotion(pro);

            }

            public void prime(){

                        super.prime();

            }

}



Explication et fonctionnalité.

Cette classe commercial qui est un type spécifique d’employés hérite les attributs et certaines méthodes de la classe employe

      On définit les méthodes suivantes :  

           Le constructeur :Hérite les attributs de la classe employe, en utilisant le mot super.

           Void affiche_un(int mat) : Afficher le numéro de matricule du commerçant, son nom, son prénom, la date d’embauche, le salaire,  les jours travaillés par an et le nombre d’absences, le nombre de retards.

      Void payer(int mat) : Afficher le salaire du commerçant  qu’il va recevoir.

         void jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void check_absensses(), void check_retards(), void conge_payer(), void promotion(int pro),  void prime(int pri) : Hériter ses méthodes qui sont déjà prédéfinies dans la classe mère employe.



La classe technicien().
class technicien extends employer{

            String tab[][];

           

            public technicien(String n,String p,int jour,int mois,int an,int s)

            {

                        super(n,p,jour,mois,an,s);

                        System.out.println("votre technicien est ajoute !");

                                              

            }

            public void affiche_un(int mat){                   

                        System.out.println("N° "+mat);

                        System.out.println();

                        System.out.println("Niveau  : Technicien ");

                        System.out.println("NOM :"+nom+"    PRENOM :"+prenom);

                        System.out.println("DATE D'embauche le  :"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);

                        System.out.println("Le salaire  :"+salaire);

                        System.out.println(" L'absence mensuel  :"+memo[0]+"    Retard mensuel  :"+memo[1]);

                        System.out.println("L'absence totale  :"+ abs_ret_t[0]+" Jours     Retard totale  :"+abs_ret_t[1]+" Heurs");

                        System.out.println(" Jour Travaillé  :"+jr_hr_t[0]+" jours    Heurs travailler :"+jr_hr_t[1]+" Heurs");                       

            }                     

            public void payer()

            {

                        System.out.println("Il vas recevoire :"+salaire+"DH");

            }

            public void jours_travail(int jour,int mois,int an){

                        super.jours_travail(jour, mois, an);

            }

            public void absenses(){          

                        super.absenses();

            }

            public void retards(int h){

                        super.retards(h);

            }

            public void check_absensses(){

                        super.check_absensses();

            }

            public void check_retars()

            {

                        super.check_retars();

            }

            public void conge_payer(){

                        super.conge_payer();

            }

}



Explication et fonctionnalité.

Cette classe technicien qui est un type spécifique d’employés hérite les attributs et certaines méthodes de la classe employe

      On définit les méthodes suivantes :  

         Le constructeur : Hérite les attributs de la classe employe ,en utilisant le mot super.

       Void affiche_un(int mat) : Afficher le numéro de matricule du technicien, son nom, son prenom, la date d’embauche, le salaire,  les jours travaillés, le nombre d’absences et le nombre de retards s’ils existent.

      Void payer(int mat) : Afficher le salaire du technicien  qu’il va recevoir.

      Void jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void check_absensses(), void check_retards(), void conge_payer() : Hériter ses méthodes qui sont déjà définies dans la classe employe.

 
La classe manutentionnaire().
public class manutentionnaire extends employer {

            String tab[][];

           

      public manutentionnaire(String n,String p,int jour,int mois,int an,int s)

            {

                        super(n,p,jour,mois,an,s);

                        System.out.println("votre Manutentionnaire est ajoute !");

                                              

            }

      public void affiche_un(int mat){             

                        System.out.println("N° "+mat);

                        System.out.println();

                        System.out.println("Niveau  : Manutentionnaire ");

                        System.out.println("NOM :"+nom+"    PRENOM :"+prenom);

                        System.out.println("DATE D'embauche le  :"+date_e[0][0]+"/"+date_e[0][1]+"/"+date_e[0][2]);

                        System.out.println("Le salaire  :"+salaire);

                        System.out.println(" L'absence mensuel  :"+memo[0]+"    Retard mensuel  :"+memo[1]);

                        System.out.println("L'absence totale  :"+ abs_ret_t[0]+" Jours     Retard totale  :"+abs_ret_t[1]+" Heurs");

                        System.out.println(" Jour Travaillé  :"+jr_hr_t[0]+" jours    Heurs travailler :"+jr_hr_t[1]+" Heurs");                       

            }                     

            public void jours_travail(int jour,int mois,int an){

                        super.jours_travail(jour, mois, an);

            }

            public void absenses(){          

                        memo[1]+=8;

                        abs_ret_t[0]++;

                        memo[0]++;

            }

            public void retards(int h){

                        memo[1]+=h;

                        abs_ret_t[1]+=h;

            }

            public void payer()

            {

                        int h=160-memo[1];

                        System.out.println("Il vas recevoire :"+h*salaire+"DH");

            }

            public void check_absensses(){

                        if(memo[0]>10){

                                   System.out.println("Out of service  "+memo[0]);

                                   memo[1]=0;

                        }

                        else System.out.println("Avertissement!!  "+memo[0]+" absense(s)");      

            }

            public void check_retars()

            {

                        if(memo[1]>60){

                                   System.out.println("Out of service");

                                   memo[0]=0;

                        }

                        else System.out.println("Avertissement!!  "+memo[1]+" retard(s)");

            }

  }

Explication et fonctionnalités.
Cette classe manutentionnaire qui est un type spécifique d’employés hérite les attributs et certaines méthodes de la classe employe

      On définit les méthodes suivantes :  

       Le constructeur : Hérite les attributs de la classe employe ,en utilisant le mot super.

       Void affiche_un(int mat) : Afficher le numéro de matricule du manutentionnaire, son nom, son prenom, la date d’embauche, les jours travaillés, le salaire, le nombre d’absences et le nombre de retards s’ils existent.

      Void payer(int mat) : Afficher le salaire de l’ouvrier  qu’il va recevoir.
         void jours_travail(int jour,int mois,int an), void absences(),void retards(int h), void check_absensses(), void check_retards(), void: Hériter ses méthodes qui sont déjà définies dans la classe employe.

Pour télécharger le fichier du programme en mode console pour le logiciel eclips 
Clique ICI.
 
;