package exo2.entreprise;

/**
 * @author ouziri
 * @version 1.0 
 *
 */

public class Personnel {
	
	private int matricule;
	private String nom;
	private TypesPersonnelsEnum type;
	private double salaireEmbauche;
	private Service serviceAffectation;		
	private boolean enConge = false;		// spécifique aux administratifs
	private int nbJoursTravailles = 0;	// spécifique aux techniciens	
	
	public Personnel(int matricule, String nom, TypesPersonnelsEnum type, double salaire, Service service) {	
		this.matricule = matricule;
		this.nom = nom;
		this.type = type;
		this.salaireEmbauche = salaire;
		this.serviceAffectation = service;
	}
	public int getMatricule() {
		return matricule;
	}
	public String getNom() {
		return nom;
	}
	public TypesPersonnelsEnum getType() {
		return type;
	}
	public Service getServiceAffectation() {
		return serviceAffectation;
	}
	
	public boolean isEnConge() {
		return enConge;
	}
	public void setEnConge(boolean enConge) {
		this.enConge = enConge;
	}
	public int getNbHeuresTravaillees() {
		return nbJoursTravailles;
	}
	public void setNbHeuresTravaillees(int nbHeuresTravaillees) {
		this.nbJoursTravailles = nbHeuresTravaillees;
	}
	public double getSalaire() {
		if (this.type == TypesPersonnelsEnum.Administratif)
			return salaireEmbauche * (enConge ? 1 : 1.1);
		else
			return salaireEmbauche * nbJoursTravailles/30;
	}
}
