Package modele.chauffeur

Source Code of modele.chauffeur.Chauffeur

package modele.chauffeur;


import gui.PrjException;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Set;

import javax.swing.JOptionPane;


/**
* Classe Chauffeur
* @author Kasandra
*
*/
public class Chauffeur implements IChauffeur {
 
  private final Integer id;
  private String nom;
  private String prenom;
  private String rue;
  private String numRue;
 
  private Localite localite;
  private int cp;
  private String commune;
 
 
  private Ville ville;
 
  private Date  dtNais;
  //private String age;
  private String numNat;
 
  private String sexe;
  private String etCiv;         
  private String nbPers;
 
  private String tel;
  private String gsm;
  private String mail;         
  private String numCpte;
 
  private String typePermis;
  private Date datePermis;
  private Date dateEcheaPermis;
 
  private String etat;
  private Date dtVisitMed;
  private String certifBVM;
 
 
 
  private Set<PeriodeDeTravail> periodesDeTravailExistantes = null;
 
  private Set<Avertissement> avertissements = null;
 
  private Date current = new Date(new GregorianCalendar().getTime().getTime());
 
  /**
   * Constructeur
   */
  public Chauffeur(){
    this.id=null;
  }
 
  /**
   * Constructeur
   * @param id
   */
  public Chauffeur(int id){
    this.id=id;
  }
 
 
 

  public String getNom() {
    return nom;
  }

   
  public void setNom(String nom) {
    this.nom = nom.toUpperCase();
  }



  public String getPrenom() {
    return prenom;
  }

 
 
  public void setPrenom(String prenom) {
    this.prenom = Character.toUpperCase(prenom.charAt(0)) + prenom.substring(1).toLowerCase();
  }



  public String getRue() {
    return rue;
  }

  public void setRue(String rue) {
    this.rue = rue;
  }

  public String getNumRue() {
    return numRue;
  }

  public void setNumRue(String numRue) {
    this.numRue = numRue;
  }

  public Localite getLocalite() {
    return localite;
  }

  public void setLocalite(Localite localite) {
    this.localite = localite;
  }

  public Ville getVille() {
    return ville;
  }

  public void setVille(Ville ville) {
    this.ville = ville;
  }

 
/*
  public String getAge() {
    return age;
  }

  public void setAge(String age) {
    this.age = age;
  }
*/
  public String getNumNat() {
    return numNat;
  }

  public void setNumNat(String numNat) {
    this.numNat = numNat;
  }

  public String getSexe() {
    return sexe;
  }

  public void setSexe(String sexe) {
    this.sexe = sexe;
  }

  public String getEtCiv() {
    return etCiv;
  }

  public void setEtCiv(String etCiv) {
    this.etCiv = etCiv;
  }

  public String getNbPers() {
    return nbPers;
  }

  public void setNbPers(String nbPers) {
    this.nbPers = nbPers;
  }

  public String getTel() {
    return tel;
  }
 
 

  public int getCp() {
    return cp;
  }

  public void setCp(int cp) {
    this.cp = cp;
  }

  public String getCommune() {
    return commune;
  }

  public void setCommune(String commune) {
    this.commune = commune;
  }

  public Date getDtNais() {
    return dtNais;
  }

  public void setDtNais(Date dtNais) {
    this.dtNais = dtNais;
  }

  public Date getDatePermis() {
    return datePermis;
  }

  public void setDatePermis(Date datePermis) {
    this.datePermis = datePermis;
  }

  public Date getDateEcheaPermis() {
    return dateEcheaPermis;
  }

  public void setDateEcheaPermis(Date dateEcheaPermis) {
    this.dateEcheaPermis = dateEcheaPermis;
  }

  public Date getDtVisitMed() {
    return dtVisitMed;
  }

  public void setDtVisitMed(Date dtVisitMed) {
    this.dtVisitMed = dtVisitMed;
  }

  public void setTel(String tel) {
    this.tel = tel;
  }

  public String getGsm() {
    return gsm;
  }

  public void setGsm(String gsm) {
    this.gsm = gsm;
  }

  public String getMail() {
    return mail;
  }

  public void setMail(String mail) {
    this.mail = mail;
  }

  public String getNumCpte() {
    return numCpte;
  }

  public void setNumCpte(String numCpte) {
    this.numCpte = numCpte;
  }

  public String getTypePermis() {
    return typePermis;
  }

  public void setTypePermis(String typePermis) {
    this.typePermis = typePermis;
  }

 
  public String getEtat() {
    return etat;
  }

  public void setEtat(String etat) {
    this.etat = etat;
  }

 
  public String getCertifBVM() {
    return certifBVM;
  }

  public void setCertifBVM(String certifBVM) {
    this.certifBVM = certifBVM;
  }

  public Set<PeriodeDeTravail> getPeriodesDeTravailExistantes() {
    return periodesDeTravailExistantes;
  }

  public void setPeriodesDeTravailExistantes(
      Set<PeriodeDeTravail> periodesDeTravailExistantes) {
    this.periodesDeTravailExistantes = periodesDeTravailExistantes;
  }

  public Set<Avertissement> getAvertissements() {
    return avertissements;
  }

  public void setAvertissements(Set<Avertissement> avertissements) {
    this.avertissements = avertissements;
  }

  public Date getCurrent() {
    return current;
  }

  public void setCurrent(Date current) {
    this.current = current;
  }

  public Integer getId() {
    return id;
  }

  public void ajoutePeriodeDeTravail(PeriodeDeTravail nouvellePeriodeDeTravail) throws PrjException {
    if (!periodesDeTravailInitialisees()) {
      throw new IllegalStateException("La liste des p�riodes de travail doit �tre initialis�e avant de pouvoir ajouter un contrat.");
    }
    for (PeriodeDeTravail periodeExistante : periodesDeTravailExistantes) {
      if (nouvellePeriodeDeTravail.getPeriode().couvre(periodeExistante.getPeriode())) {
        throw new PrjException("Un contrat couvre enti�rement ou partiellement la m�me p�riode que le nouveau contrat");
      }
    }
    periodesDeTravailExistantes.add(nouvellePeriodeDeTravail);
  }
 
  public void initializePeriodesDeTravail(Set<PeriodeDeTravail> periodesDeTravail) {
    this.periodesDeTravailExistantes = periodesDeTravail;
  }
 
  public boolean periodesDeTravailInitialisees() {
    return periodesDeTravailExistantes != null;
  }
 
  // Ceci ne peut �tre appel� que depuis la base de donn�es.
  public void initialiseAvertissements(Set<Avertissement> avertissements) {
    this.avertissements = avertissements;
  }
 
  public void ajouteAvertissement(Avertissement nouveauAvertissement) {
   
  }
 
  public void supprimeAvertissement(Avertissement avertissement) {
   
  }
 
  public Avertissement getAvertissement(int idAvertissement) {
    return null;
  }

  /**
   * Change String en Date
   * @param sDate
   * @return
   * @throws Exception
   */
  Date transformeStringToDate(String sDate) throws Exception {
       
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
        return sdf.parse(sDate);
    }
 
 
  /**
   * Calcule l'�ge de quelqu'un
   * @param dateACalculerE
   * @param dateJour
   * @return
   */
  public int calculeDate(Date dateACalculerE, Date dateJour) {
     
    Calendar dtAcalcluler = new GregorianCalendar();
      Calendar cToday = new GregorianCalendar();
      dtAcalcluler.setTime(dateACalculerE);
      cToday.setTime(dateJour);
  
      int yearDiff = cToday.get(Calendar.YEAR) - dtAcalcluler.get(Calendar.YEAR);          
      dtAcalcluler.set(Calendar.YEAR, cToday.get(Calendar.YEAR));
     
      if (dtAcalcluler.before(cToday)){
         
        return yearDiff; 
      }
      else {
          return Math.max(0, yearDiff-1);
      }
  }
 
  /**
   * Calcule l'�ge du chauffeur
   * @param anNais
   * @param anSys
   * @return
   * @throws Exception
   */
  public int calculeAge(String anNais, String anSys) throws Exception{
   
    int age=0;
    Date dtNais;
       
    try {
     
      dtNais = transformeStringToDate(anNais);     
      age=calculeDate(dtNais, current);
         
      return age;
    }
    catch(PrjException e) {
               
      throw new PrjException(e.RetourMessage());
       
  }
 
 
  /**
   * Teste l'�ge du chauffeur
   */
  public boolean testeAgeChauffeur(int age){
    if(age < 21){
       JOptionPane.showMessageDialog(null,"N'a pas l'�ge de rouler","Attention !",JOptionPane.ERROR_MESSAGE);
       return false;
    }
    else
      return true;
  }
 
  /**
   * Teste dur�e permis
   * si elle est  < 5 elle retoune false
   * @param duree
   * @return
   */
  public boolean testeDur�eChauffeur(int duree){
    if(duree < 5){
      JOptionPane.showMessageDialog(null,"Ce permis n'est pas valable dur�e < 5 ans ","Attention !",JOptionPane.ERROR_MESSAGE);
            return false;
    }
    else
      return true;
  }

}
TOP

Related Classes of modele.chauffeur.Chauffeur

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.