Package gui.chauffeur.fichePaie

Source Code of gui.chauffeur.fichePaie.FichePaieEditionFenetre

package gui.chauffeur.fichePaie;

import static gui.MotsCleProjet.*;

import static gui.util.TaxiGuiUtil.FabricationButton;
import static gui.util.TaxiGuiUtil.MessageBox;
import gui.*;
import gui.chauffeur.gestionchauffeur.ChauffeurAffichable;
import gui.commun.etat.EtatAffichable;
import gui.util.ErreurDeValidation;
import gui.util.TaxiGuiUtil;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.Vector;

import javax.swing.*;

import modele.chauffeur.Chauffeur;
import modele.chauffeur.FichePaie;
import modele.chauffeur.IChauffeur;
import modele.commun.Etat;
import dao.GestionnaireDeStockage;
import dao.IDao;

/**
* class FichePaieEditionFenetre
* Cr�e l'interface graphique pour effectuer des ajouts et des modifications.
* @author Kasandra
*
*/
public class FichePaieEditionFenetre implements ActionListener {

  private JDialog aDialog;// R�f�rence � la boite de dialogue.
  ImageIcon ani;
  private JTextControlKey  textNbJrPreste, textNbHrPreste, textRecSalBrut, textBrutOnss, textPreCpteProf, textIndemi, textCotisSecu, textChrgPatronal, textReducBasRevenu, textSalNet, textAvanceSal, textMontApayer;

  private JComboBox cmbIdChauf, cmbIdEtatContr;

  private JLabel textDatePaie, labNbJrPreste, titres, labDatePaie, labNbHrPreste, labRecSalBrut, labBrutOnss, labPreCpteProf, labIndemi, labCotisSecu, labChrgPatronal, labReducBasRevenu, labSalNet, labAvanceSal, labMontApayer, labIdChauf, labIdEtat;

  private JPanel titre;

  static Font titreFont = new Font("Tahoma", 1, 12);

  private JComboBox cmbEtats, cmbChauffeur;



  private FichePaie fichePaie = new FichePaie();

  /**
   * Constructeur
   */
  public FichePaieEditionFenetre() {
    aDialog = new JDialog(MainWindow.cadrePrincipal(), "  Fiche paie chauffeur...", true);


    ani = new ImageIcon(getClass().getClassLoader().getResource("images/logoCalender.jpg"));
    textDatePaie = new JLabel();
    textDatePaie.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(66, 79, 120), 2));
    textDatePaie.setIcon(ani);
    textDatePaie.setFont(titreFont);
    textDatePaie.setForeground(new java.awt.Color(66, 79, 120));
    // textDtAverti.setText(format.format(new Date()).toString());

    textDatePaie.addMouseListener(new MouseListener() {
      public void mouseClicked(MouseEvent e) {
        DateCalendar fen = new DateCalendar(MainWindow.cadrePrincipal(), 0, DateCalendar.Mode.DATE_SEULEMENT);
        fen.affiche();

        if (fen.okFlag) {
          Date strDate = fen.retourDate();
          if (strDate.after(new Date())) {
              textDatePaie.setText(DATE_ERREUR_TEXTE);
              MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
          } else {
            textDatePaie.setText(new SimpleDateFormat(DATE_FORMAT).format(strDate));
          }
        } else {
          textDatePaie.setText(DATE_ERREUR_TEXTE);
          MessageBox(MainWindow.desktop(), "DATE INVALIDE...");
        }
      }

      public void mouseEntered(MouseEvent e) {}
      public void mouseExited(MouseEvent e) {}
      public void mousePressed(MouseEvent e) {}
      public void mouseReleased(MouseEvent e) {}
    });
    textNbJrPreste = new JTextControlKey("", 5, IsNum);
    textNbHrPreste = new JTextControlKey("", 5, IsDecimal);
    textRecSalBrut = new JTextControlKey("", 10, IsDecimal);
    textBrutOnss = new JTextControlKey("", 10, IsDecimal);
    textPreCpteProf = new JTextControlKey("", 10, IsDecimal);
    textIndemi = new JTextControlKey("", 10, IsDecimal);
    textCotisSecu = new JTextControlKey("", 10, IsDecimal);
    textChrgPatronal = new JTextControlKey("", 10, IsDecimal);
    textReducBasRevenu = new JTextControlKey("", 10, IsDecimal);
    textSalNet = new JTextControlKey("", 10, IsDecimal);
    textAvanceSal = new JTextControlKey("", 10, IsDecimal);
    textMontApayer = new JTextControlKey("", 10, IsDecimal);

    cmbIdChauf = new JComboBox();
    cmbIdChauf.setFont(titreFont);
    cmbIdChauf.setForeground(new java.awt.Color(66, 79, 120));



      cmbEtats = new JComboBox(getListeEtats());
    cmbChauffeur = new JComboBox(getListeChauffeur());

      okFlag = false;
  }

 

  /**
   * Initaialise les donn�es
   * @param fichePaie
   */
  public void initializeDonnee(FichePaie fichePaie) {
    this.fichePaie = fichePaie;
    textDatePaie.setText(new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).format(fichePaie.getDatePaie()));
   
    textNbJrPreste.ChampsTxt.setText(fichePaie.getNbrJourTravailPreste()+"");
    textNbHrPreste.ChampsTxt.setText(fichePaie.getNbrJourTravailPreste()+"");
    textRecSalBrut.ChampsTxt.setText(fichePaie.getRecetteSalaireBrut()+"");
    textBrutOnss.ChampsTxt.setText(fichePaie.getBrutOnss()+"");
    textPreCpteProf.ChampsTxt.setText(fichePaie.getPrecompteProfessionel()+"");
    textIndemi.ChampsTxt.setText(fichePaie.getIndemnite()+"");
    textCotisSecu.ChampsTxt.setText(fichePaie.getCotisationSecu()+"");
    textChrgPatronal.ChampsTxt.setText(fichePaie.getChargePatronal()+"");
    textReducBasRevenu.ChampsTxt.setText(fichePaie.getReductionBasRevenu()+"");
    textSalNet.ChampsTxt.setText(fichePaie.getSalaireNet()+"");
    textAvanceSal.ChampsTxt.setText(fichePaie.getAvanceSalaire()+"");
    textMontApayer.ChampsTxt.setText(fichePaie.getMontantAPayer()+"");

    selectionneChauffeur(fichePaie.getChauffeur());
    selectionneEtat(fichePaie.getEtat());
  }

  /**
   * Selectionne  chauffeur
   * @param chauffeur
   */
  private void selectionneChauffeur(Chauffeur chauffeur) {
    int nbChauffeur = cmbChauffeur.getItemCount();
    for (int i = 0; i<nbChauffeur; i++) {
      if (((ChauffeurAffichable<?>)cmbChauffeur.getItemAt(i)).getChauffeur().getId().equals(chauffeur.getId())) {
        cmbChauffeur.setSelectedIndex(i);
        break;
      }
    }
  }

  /**
   * Selectionne Etat
   * @param etat
   */
  private void selectionneEtat(Etat etat) {
    int nbEtats = cmbEtats.getItemCount();
    for (int i = 0; i<nbEtats; i++) {
      if (((EtatAffichable)cmbEtats.getItemAt(i)).getEtat().getCdeEtat().equals(etat.getCdeEtat())) {
        cmbEtats.setSelectedIndex(i);
        break;
      }
    }
  }


  /**
   *
   * @return fichePaie
   */
  public FichePaie renvoiFichePaie() {
    return fichePaie;
  }


  /**
   * Cr�e panel date paiement
   * @return JPanel date paiement salaire
   */
  private JPanel datePaiePane() {
    JPanel parameterPane = new JPanel(false);

    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labDatePaie = new JLabel("     Date paie : *");
    labDatePaie.setFont(titreFont);
    labDatePaie.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labDatePaie);
    parameterPane.add(textDatePaie);

    return parameterPane;
  }

  /**
   * Cr�e panel nombre jour prest�
   * @return JPanel nombre de jours prest�
   */
  private JPanel nbJourPrestePane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labNbJrPreste = new JLabel("     Nombre jour  :");
    labNbJrPreste.setFont(titreFont);
    labNbJrPreste.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labNbJrPreste);
    parameterPane.add(textNbJrPreste.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel nombre heure prest�
   * @return JPanel nombre heure prest�
   */
  private JPanel nbHeurePrestePane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labNbHrPreste = new JLabel("     Nombre heure  :");
    labNbHrPreste.setFont(titreFont);
    labNbHrPreste.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labNbHrPreste);
    parameterPane.add(textNbHrPreste.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel recette salaire brut
   * @return JPanel saliaire brut
   */
  private JPanel recetteSalaireBrutPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labRecSalBrut = new JLabel("     Recette salaire brut :");
    labRecSalBrut.setFont(titreFont);
    labRecSalBrut.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labRecSalBrut);
    parameterPane.add(textRecSalBrut.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel brut onss
   * @return Jpanel brut ONSS
   */
  private JPanel brutOnssPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labBrutOnss = new JLabel("     Brut onss :");
    labBrutOnss.setFont(titreFont);
    labBrutOnss.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labBrutOnss);
    parameterPane.add(textBrutOnss.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel pr�compte professionnel
   * @return JPanel pr�compte professionnel
   */
  private JPanel precompteProfessionnelPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labPreCpteProf = new JLabel("     Pr�compte professionnel :*");
    labPreCpteProf.setFont(titreFont);
    labPreCpteProf.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labPreCpteProf);
    parameterPane.add(textPreCpteProf.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel indemnit�
   * @return JPanel indemnit�
   */
  private JPanel indemnitePane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labIndemi = new JLabel("     Indemnit� :");
    labIndemi.setFont(titreFont);
    labIndemi.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labIndemi);
    parameterPane.add(textIndemi.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel cotisation s�curit� social
   * @return JPanel cotisation sociale
   */
  private JPanel cotisationSecuSocialPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labCotisSecu = new JLabel("     Cotisation s�curit� sociale :*");
    labCotisSecu.setFont(titreFont);
    labCotisSecu.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labCotisSecu);
    parameterPane.add(textCotisSecu.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel charge patronal
   * @return JPanel charge patronale
   */
  private JPanel chargePatronalPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labChrgPatronal = new JLabel("     Charge patronale :*");
    labChrgPatronal.setFont(titreFont);
    labChrgPatronal.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labChrgPatronal);
    parameterPane.add(textChrgPatronal.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel reduction bas revenu
   * @return JPanel reduction bas revenu
   */
  private JPanel reductionBasRevenuPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labReducBasRevenu = new JLabel("     R�duction bas revenu :");
    labReducBasRevenu.setFont(titreFont);
    labReducBasRevenu.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labReducBasRevenu);
    parameterPane.add(textReducBasRevenu.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel salaire net
   * @return JPanel salaire net
   */
  private JPanel salaireNetPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labSalNet = new JLabel("     Salaire net :");
    labSalNet.setFont(titreFont);
    labSalNet.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labSalNet);
    parameterPane.add(textSalNet.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel avance salaire
   * @return JPanel avance salaire
   */
  private JPanel avanceSalairePane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labAvanceSal = new JLabel("     Avance salaire :");
    labAvanceSal.setFont(titreFont);
    labAvanceSal.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labAvanceSal);
    parameterPane.add(textAvanceSal.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel montant � payer: salaire
   * @return JPanel montPaie
   */
  private JPanel montApayerPane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labMontApayer = new JLabel("     Montant � payer :");
    labMontApayer.setFont(titreFont);
    labMontApayer.setForeground(new java.awt.Color(66, 79, 120));
   
    parameterPane.add(labMontApayer);
    parameterPane.add(textMontApayer.ChampsTxt);

    return parameterPane;
  }

  /**
   * Cr�e panel  chauffeur
   * @return JPanel chauffeur
   */
  private JPanel creeChauffeurPane() {
    JPanel parameterPane = new JPanel(false);

    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labIdChauf = new JLabel("     Chauffeur :");
    labIdChauf.setFont(titreFont);
    labIdChauf.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labIdChauf);

    parameterPane.add(cmbChauffeur);

    return parameterPane;
  }

  /**
   * Cr�e panel �tat fiche salaire
   * @return
   */
  private JPanel creeEtatFicheSalairePane() {
    JPanel parameterPane = new JPanel(false);
    parameterPane.setLayout(new GridLayout());
    parameterPane.setPreferredSize(new Dimension(500, 25));

    labIdEtat = new JLabel("     Etat fiche salaire :");
    labIdEtat.setFont(titreFont);
    labIdEtat.setForeground(new java.awt.Color(66, 79, 120));
    parameterPane.add(labIdEtat);

    parameterPane.add(cmbEtats);

    return parameterPane;
  }






  /**
   *
   * @return titre  du formulaire
   */
  private JPanel getTitre() {
    if (titre == null) {
      GridBagConstraints gridBagTitre = new GridBagConstraints();
      gridBagTitre.gridx = 0;
      gridBagTitre.gridy = 0;
      titres = new JLabel();
      titres.setText("  Fiche salaire");
      titres.setFont(new java.awt.Font("Comic Sans MS", 1, 20));
      titres.setForeground(new Color(255, 255, 255));
      titre = new JPanel();
      titre.setLayout(new GridBagLayout());
      titre.setPreferredSize(new Dimension(50, 45));
      titre.setBackground(new Color(66, 79, 120));
      titre.add(titres, gridBagTitre);
    }

    return titre;
  }

  /**
   * D�finit la fen�tre et ses composants
   */
  public void affiche() throws PrjException {
    try {
      JToolBar toolBar = new JToolBar("Outils...");

      JPanel parameterPane = new JPanel(false);
      //parameterPane.setBackground(new Color(170, 207, 249));

      parameterPane.setLayout(new FlowLayout());

      parameterPane.setPreferredSize(new Dimension(1000, 500));
      // parameterPane.setBorder(BorderFactory.createTitledBorder(" Localit�"));

      parameterPane.add(datePaiePane());
      parameterPane.add(nbJourPrestePane());
      parameterPane.add(nbHeurePrestePane());
      parameterPane.add(recetteSalaireBrutPane());
      parameterPane.add(brutOnssPane());
      parameterPane.add(precompteProfessionnelPane());
      parameterPane.add(indemnitePane());
      parameterPane.add(cotisationSecuSocialPane());
      parameterPane.add(chargePatronalPane());
      parameterPane.add(reductionBasRevenuPane());
      parameterPane.add(salaireNetPane());
      parameterPane.add(avanceSalairePane());
      parameterPane.add(montApayerPane());

      parameterPane.add(creeChauffeurPane());
      parameterPane.add(creeEtatFicheSalairePane());

      aDialog.getContentPane().add(getTitre(), BorderLayout.NORTH);
      aDialog.getContentPane().add(parameterPane, BorderLayout.CENTER);
      aDialog.getContentPane().add(toolBar, BorderLayout.PAGE_END);

      toolBar.setBackground(new Color(66, 79, 120));
      toolBar.add(FabricationButton("OK", CMD_OK, "OK...", this));
      toolBar.add(FabricationButton("ANNULER", CMD_CANCEL, "Annuler...", this));

      Point p = MainWindow.cadrePrincipal().getLocation();
      aDialog.setLocation((p.x + 250), (p.y + 200));

      aDialog.pack();
      aDialog.setVisible(true);
    } catch (NullPointerException exc) {
      throw new PrjException(exc.getMessage());
    }
  }

  /**
   * Gestionnaire des �v�nements
   */
  public void actionPerformed(ActionEvent e) {
   
    try {
      // Restaure la couleur de fonds par d�faut.
      for (JComponent composant : Arrays.asList(textDatePaie, textNbJrPreste.ChampsTxt, textNbHrPreste.ChampsTxt, textRecSalBrut.ChampsTxt,
          textBrutOnss.ChampsTxt, textPreCpteProf.ChampsTxt, textIndemi.ChampsTxt, textCotisSecu.ChampsTxt, textChrgPatronal.ChampsTxt,
          textReducBasRevenu.ChampsTxt)) {
        composant.setBackground(Color.WHITE);
        composant.setToolTipText("");
      }
    String cmd = e.getActionCommand();
    if (CMD_OK.equals(cmd)) {
     
      Vector<ErreurDeValidation> erreursDeValidation = new Vector<ErreurDeValidation>();
     
      Date dateFichePaie;
      try {
        dateFichePaie = new SimpleDateFormat(gui.MotsCleProjet.DATE_FORMAT).parse(textDatePaie.getText());
        fichePaie.setDatePaie(dateFichePaie);
      } catch (ParseException e1) {
       
        erreursDeValidation.add(new ErreurDeValidation(textDatePaie, "le format date est invalide' "+ gui.MotsCleProjet.DATE_FORMAT));
       
        //TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Le format de date est invalide : attendu " + gui.MotsCleProjet.DATE_FORMAT, "Erreur");
      }
     
      if (textNbJrPreste.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textNbJrPreste.ChampsTxt, "nombre de jour  est obligatoire"));
      }
      try {
        Integer.parseInt(textNbJrPreste.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textNbJrPreste.ChampsTxt, "nombre de jour  n'est pas un nombre"));
      }
     
      if (textNbHrPreste.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textNbHrPreste.ChampsTxt, "nombre heure  est obligatoire"));
      }
     
     
      if (textRecSalBrut.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textRecSalBrut.ChampsTxt, "la recette chauffeur est obligatoire"));
      }
      try {
        new BigDecimal(textRecSalBrut.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textRecSalBrut.ChampsTxt, "la recette n'est pas un nombre"));
      }
     
     
      if (textBrutOnss.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textBrutOnss.ChampsTxt, "Brut ONSS est obligatoire"));
      }
      try {
        new BigDecimal(textBrutOnss.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textBrutOnss.ChampsTxt, "Brut ONSS n'est pas un nombre"));
      }
     
      if (textPreCpteProf.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textPreCpteProf.ChampsTxt, "Pr�compte professionnel est obligatoire"));
      }
      try {
        new BigDecimal(textPreCpteProf.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textPreCpteProf.ChampsTxt, "Pr�compte professionnel n'est pas un nombre"));
      }
     
      if (textIndemi.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textIndemi.ChampsTxt, "Idemnit� est obligatoire"));
      }
      try {
        new BigDecimal(textIndemi.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textIndemi.ChampsTxt, "indemni n'est pas un nombre"));
      }
     
      if (textCotisSecu.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textCotisSecu.ChampsTxt, "cotisation s�cu est obligatoire"));
      }
      try {
        new BigDecimal(textCotisSecu.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textCotisSecu.ChampsTxt, "Cotisation s�cu n'est pas un nombre"));
      }

     
      if (textChrgPatronal.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textChrgPatronal.ChampsTxt, "charge patronal est obligatoire"));
      }
      try {
        new BigDecimal(textChrgPatronal.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textChrgPatronal.ChampsTxt, "charge patronal n'est pas un nombre"));
      }
     
      if (textReducBasRevenu.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textReducBasRevenu.ChampsTxt, "reduction bas revenu est obligatoire"));
      }
      try {
        new BigDecimal(textReducBasRevenu.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textReducBasRevenu.ChampsTxt, "reduction bas revenu n'est pas un nombre"));
      }
     
      if (textReducBasRevenu.ChampsTxt.getText().trim().equals("")) {
        erreursDeValidation.add(new ErreurDeValidation(textReducBasRevenu.ChampsTxt, "reduction bas revenu est obligatoire"));
      }
      try {
        new BigDecimal(textReducBasRevenu.ChampsTxt.getText());
      } catch (NumberFormatException ex) {
        erreursDeValidation.add(new ErreurDeValidation(textReducBasRevenu.ChampsTxt, "reduction bas revenu n'est pas un nombre"));
      }
     
      if (!erreursDeValidation.isEmpty()) {
        StringBuffer erreurAffichee = new StringBuffer();
        for (ErreurDeValidation erreurDeValidation : erreursDeValidation) {
          erreurAffichee.append(erreurDeValidation.getMessageErreur());
          erreurAffichee.append("\n");
          erreurDeValidation.getComposant().setBackground(Color.RED);
          erreurDeValidation.getComposant().setToolTipText(erreurDeValidation.getMessageErreur());
        }
        TaxiGuiUtil.MessageBox(MainWindow.desktop(), erreurAffichee.toString(), "ERREUR");
       
        return;
     
      else{

      fichePaie.setNbrJourTravailPreste(Integer.parseInt(textNbJrPreste.ChampsTxt.getText()));
      fichePaie.setNbrHrTravailPreste(Double.parseDouble(textNbHrPreste.ChampsTxt.getText()));
      fichePaie.setRecetteSalaireVrut(Double.parseDouble(textRecSalBrut.ChampsTxt.getText()));
      fichePaie.setBrutOnss(Double.parseDouble(textBrutOnss.ChampsTxt.getText()));
      fichePaie.setPrecompteProfessionel(Double.parseDouble(textPreCpteProf.ChampsTxt.getText()));
      fichePaie.setIndemnite(Double.parseDouble(textIndemi.ChampsTxt.getText()));
      fichePaie.setCotisationSecu(Double.parseDouble(textCotisSecu.ChampsTxt.getText()));
      fichePaie.setChargePatronal(Double.parseDouble(textChrgPatronal.ChampsTxt.getText()));
      fichePaie.setReductionBasRevenu(Double.parseDouble(textReducBasRevenu.ChampsTxt.getText()));
      fichePaie.setSalaireNet(Double.parseDouble(textSalNet.ChampsTxt.getText()));
      fichePaie.setAvanceSalaire(Double.parseDouble(textAvanceSal.ChampsTxt.getText()));
      fichePaie.setMontantAPayer(Double.parseDouble(textMontApayer.ChampsTxt.getText()));

      fichePaie.setChauffeur(getChauffeurSelectionne());
      fichePaie.setEtat(getEtatSelectionne());

      okFlag = true;
      aDialog.setVisible(false);
    } }else if (CMD_CANCEL.equals(cmd)) {
      okFlag = false;
      aDialog.setVisible(false);
    }
    }catch(Exception ex) {
      TaxiGuiUtil.MessageBox(MainWindow.desktop(), "Erreur syst�me : " + ex.getMessage(), "Erreur syst�me");
    }
  }

  private boolean okFlag;
 
  boolean OK_Button() {
    return okFlag;
  }
 
  /**
   * S�lectionne Etat
   * @return �tat
   */
  private Etat getEtatSelectionne() {
    return ((EtatAffichable)cmbEtats.getSelectedItem()).getEtat();
  }


  /**
   *
   * @return
   */
  private Chauffeur getChauffeurSelectionne() {
    return ((ChauffeurAffichable<Chauffeur>)cmbChauffeur.getSelectedItem()).getChauffeur();
  }

  /**
   *
   * @return etatsAffichables
   */
  private Vector<EtatAffichable> getListeEtats() {
    Vector<EtatAffichable> etatsAffichables = new Vector<EtatAffichable>();
    ArrayList<Etat> etats = getEtatDao().findAll();
    for (Etat etat : etats) {
      etatsAffichables.add(new EtatAffichable(etat));
    }
    return etatsAffichables;
  }

  /**
   *
   * @return  chauffeurAffichable
   */
  private Vector<ChauffeurAffichable<? extends IChauffeur>> getListeChauffeur() {
    Vector<ChauffeurAffichable<? extends IChauffeur>> chauffeurAffichable = new Vector<ChauffeurAffichable<? extends IChauffeur>>();
    ArrayList<Chauffeur> chauffeur = getChauffeurDao().findAll();
    for (Chauffeur echauffeur : chauffeur) {
      chauffeurAffichable.add(new ChauffeurAffichable<IChauffeur>(echauffeur));
    }
    return chauffeurAffichable;
  }
 
  /**
   * retourne l'instance de la classe MysqlChauffeurDao pour pouvoir
   *  utiliser les m�thodes de l'interface IDao
   * @return IDao<Chauffeur>
   */
  private IDao<Chauffeur> getChauffeurDao() {
    try {
      return GestionnaireDeStockage.getInstance().getChauffeurDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }

  /**
   * retourne l'instance de la classe MysqlEtatDao pour pouvoir
   *  utiliser les m�thodes de l'interface IDao
   * @return IDao<Etat>
   */  private IDao<Etat> getEtatDao() {
    try {
      return GestionnaireDeStockage.getInstance().getEtatDao();
    } catch (ClassNotFoundException e) {
      throw new RuntimeException(e);
    } catch (InstantiationException e) {
      throw new RuntimeException(e);
    } catch (IllegalAccessException e) {
      throw new RuntimeException(e);
    }
  }

}
TOP

Related Classes of gui.chauffeur.fichePaie.FichePaieEditionFenetre

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.