Package dao.implementation.mysql.chauffeur

Source Code of dao.implementation.mysql.chauffeur.MySqlFichePaieDao

package dao.implementation.mysql.chauffeur;


import gui.MainWindow;
import gui.util.TaxiGuiUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Date;

import modele.chauffeur.Chauffeur;
import modele.chauffeur.FichePaie;
import modele.commun.Etat;
import dao.IDao;
import dao.implementation.mysql.AccessMySql;

/**
* Class MySqlFichePaieDao
* @author Kasandra
*
*/
public class MySqlFichePaieDao implements IDao<FichePaie>{
 
  private static final String INSERT_FICHEPAIE = "insert into tfichesalairechauffeur ( datePaieSalChauf,nbreJrTravPresteChauf,nbrHrTravPresteChauf, recetteSalBrutChauf, brutOnssChauf, precompteProfChauf, indemniteRgptChauf,cotisationSecuChauf, chargePatronalChauf,reductionBasRevenuChauf, salaireNetChauf, avanceSalChauf, montantAPayer, idChauf, idEtat) values (?,?,?, ?,?,?,?,?,?, ?,?,?,?,?,?)";
  private static final String UPDATE_FICHEPAIE  = "update tfichesalairechauffeur set  datePaieSalChauf = ? ,nbreJrTravPresteChauf = ? ,nbrHrTravPresteChauf = ? , recetteSalBrutChauf = ?, brutOnssChauf = ?, precompteProfChauf = ? , indemniteRgptChauf = ?,cotisationSecuChauf = ?, chargePatronalChauf = ? ,reductionBasRevenuChauf = ? , salaireNetChauf = ? , avanceSalChauf = ?, montantAPayer = ? , idChauf = ? , idEtat = ?  where idFicheSalChauf = ?";
  private static final String DELETE_FICHEPAIE = "delete from tfichesalairechauffeur where idFicheSalChauf = ?";
  private static final String GET_ALL_FICHEPAIE  = "select idFicheSalChauf,datePaieSalChauf,nbreJrTravPresteChauf,nbrHrTravPresteChauf, recetteSalBrutChauf, brutOnssChauf, precompteProfChauf, indemniteRgptChauf,cotisationSecuChauf, chargePatronalChauf,reductionBasRevenuChauf, salaireNetChauf, avanceSalChauf, montantAPayer, tchauffeurs.idChauf, tchauffeurs.nomChauf, TEtat.idEtat,TEtat.descripEtat from tfichesalairechauffeur, tchauffeurs, TEtat where tchauffeurs.idChauf = tfichesalairechauffeur.idChauf and tfichesalairechauffeur.idEtat = TEtat.idEtat";
  private static final String GET_FICHEPAIE_BY_ID = GET_ALL_FICHEPAIE  + " and idFicheSalChauf = ?";

  public void delete(final FichePaie fichePaie) {
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          try {
            smt = connection.prepareStatement(DELETE_FICHEPAIE);
            smt.setInt(1, fichePaie.getId());
            smt.executeUpdate();
          } finally {
            if (smt != null) {
              smt.close();
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
  }

  public FichePaie find(final int id) {
    final FichePaie[] result = new FichePaie[1];
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
          try {
            smt = connection.prepareStatement(GET_FICHEPAIE_BY_ID);
            smt.setInt(1, id);
            res = smt.executeQuery();
            if (res.next()) {
              result[0] = new FichePaie(res.getInt(1));
             
              Date datePaiement =  new Date(res.getDate(2).getTime());             
              result[0].setDatePaie(datePaiement);
             
              result[0].setNbrJourTravailPreste(res.getInt(3));
              result[0].setNbrHrTravailPreste(res.getDouble(4));
              result[0].setRecetteSalaireVrut(res.getDouble(5));
              result[0].setBrutOnss(res.getDouble(6));
              result[0].setPrecompteProfessionel(res.getDouble(7));
              result[0].setIndemnite(res.getDouble(8));
              result[0].setCotisationSecu(res.getDouble(9));
              result[0].setChargePatronal(res.getDouble(10));
              result[0].setReductionBasRevenu(res.getDouble(11));
              result[0].setSalaireNet(res.getDouble(12));
              result[0].setAvanceSalaire(res.getDouble(13));
              result[0].setMontantAPayer(res.getDouble(14));

              Chauffeur chauffeur = new Chauffeur(res.getInt(15));
              chauffeur.setNom(res.getString(16));
              result[0].setChauffeur(chauffeur);

              Etat etat = new Etat(res.getInt(17));
              etat.setDescrip(res.getString(18));
              result[0].setEtat(etat);
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return result[0];
  }

  public ArrayList<FichePaie> findAll() {
    final ArrayList<FichePaie> listeFichePaie = new ArrayList<FichePaie>();
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
          try {
            smt = connection.prepareStatement(GET_ALL_FICHEPAIE);
            res = smt.executeQuery();
            while (res.next()) {
              FichePaie fichePaie = new FichePaie(res.getInt(1));
             
             
              Date datePaie = new Date(res.getDate(2).getTime());
              fichePaie.setDatePaie(datePaie);
              fichePaie.setNbrJourTravailPreste(res.getInt(3));
              fichePaie.setNbrHrTravailPreste(res.getDouble(4));
              fichePaie.setRecetteSalaireVrut(res.getDouble(5));
              fichePaie.setBrutOnss(res.getDouble(6));
              fichePaie.setPrecompteProfessionel(res.getDouble(7));
              fichePaie.setIndemnite(res.getDouble(8));
              fichePaie.setCotisationSecu(res.getDouble(9));
              fichePaie.setChargePatronal(res.getDouble(10));
              fichePaie.setReductionBasRevenu(res.getDouble(11));
              fichePaie.setSalaireNet(res.getDouble(12));
              fichePaie.setAvanceSalaire(res.getDouble(13));
              fichePaie.setMontantAPayer(res.getDouble(14));             

              Chauffeur chauffeur = new Chauffeur(res.getInt(15));
              chauffeur.setNom(res.getString(16));
              fichePaie.setChauffeur(chauffeur);

              Etat etat = new Etat(res.getInt(17));
              etat.setDescrip(res.getString(18));
              fichePaie.setEtat(etat);

              listeFichePaie.add(fichePaie);
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return listeFichePaie;
  }

  public FichePaie insert(final FichePaie fichePaie) {
    final FichePaie[] result = new FichePaie[1];
    result[0] = null;
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement psmt = null;
          try {

            psmt = connection.prepareStatement(INSERT_FICHEPAIE);

           
            psmt.setDate(1,new java.sql.Date(fichePaie.getDatePaie().getTime()));
           
            psmt.setInt(2,fichePaie.getNbrJourTravailPreste());
            psmt.setDouble(3,fichePaie.getNbrHrTravailPreste());
            psmt.setDouble(4,fichePaie.getRecetteSalaireBrut());
            psmt.setDouble(5,fichePaie.getBrutOnss());
            psmt.setDouble(6,fichePaie.getPrecompteProfessionel());
            psmt.setDouble(7,fichePaie.getIndemnite());
            psmt.setDouble(8,fichePaie.getCotisationSecu());
            psmt.setDouble(9,fichePaie.getChargePatronal());
            psmt.setDouble(10,fichePaie.getReductionBasRevenu());
            psmt.setDouble(11,fichePaie.getSalaireNet());
            psmt.setDouble(12,fichePaie.getAvanceSalaire());
            psmt.setDouble(13,fichePaie.getMontantAPayer());
           
            psmt.setInt(14, fichePaie.getChauffeur().getId());
            psmt.setInt(15,fichePaie.getEtat().getCdeEtat());

            psmt.executeUpdate();
          } finally {
            if (psmt != null) {
              psmt.close();
            }
          }
          Statement smt = null;
          ResultSet res = null;
          try {
            smt = connection.createStatement();
            res = smt.executeQuery("select idFicheSalChauf, datePaieSalChauf,nbreJrTravPresteChauf,nbrHrTravPresteChauf, recetteSalBrutChauf, brutOnssChauf, precompteProfChauf, indemniteRgptChauf,cotisationSecuChauf, chargePatronalChauf,reductionBasRevenuChauf, salaireNetChauf, avanceSalChauf, montantAPayer, tchauffeurs.idChauf, tchauffeurs.nomChauf,  TEtat.idEtat,TEtat.descripEtat from tfichesalairechauffeur, tchauffeurs, TEtat where tfichesalairechauffeur.idChauf = tchauffeurs.idChauf and tfichesalairechauffeur.idEtat = TEtat.idEtat and idFicheSalChauf = LAST_INSERT_ID()");
            if (res.next()) {
              result[0] = new FichePaie(res.getInt(1));
             
              Date datePaiement =  new Date(res.getDate(2).getTime());             
              result[0].setDatePaie(datePaiement);
             
              result[0].setNbrJourTravailPreste(res.getInt(3));
              result[0].setNbrHrTravailPreste(res.getDouble(4));
              result[0].setRecetteSalaireVrut(res.getDouble(5));
              result[0].setBrutOnss(res.getDouble(6));
              result[0].setPrecompteProfessionel(res.getDouble(7));
              result[0].setIndemnite(res.getDouble(8));
              result[0].setCotisationSecu(res.getDouble(9));
              result[0].setChargePatronal(res.getDouble(10));
              result[0].setReductionBasRevenu(res.getDouble(11));
              result[0].setSalaireNet(res.getDouble(12));
              result[0].setAvanceSalaire(res.getDouble(13));
              result[0].setMontantAPayer(res.getDouble(14));
             

              Chauffeur chauffeur = new Chauffeur(res.getInt(15));
              chauffeur.setNom(res.getString(16));
              result[0].setChauffeur(chauffeur);

              Etat etat = new Etat(res.getInt(5));
              etat.setDescrip(res.getString(6));
              result[0].setEtat(etat);
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return result[0];
  }

  public FichePaie update(final FichePaie fichePaie) {
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          try {
            smt = connection.prepareStatement(UPDATE_FICHEPAIE);
            smt.setDate(1, new java.sql.Date(fichePaie.getDatePaie().getTime()));
                       
            smt.setInt(2, fichePaie.getNbrJourTravailPreste());
            smt.setDouble(3, fichePaie.getNbrHrTravailPreste());
            smt.setDouble(4, fichePaie.getRecetteSalaireBrut());
            smt.setDouble(5, fichePaie.getBrutOnss());
            smt.setDouble(6, fichePaie.getPrecompteProfessionel());
            smt.setDouble(7, fichePaie.getIndemnite());
            smt.setDouble(8, fichePaie.getCotisationSecu());
            smt.setDouble(9, fichePaie.getChargePatronal());
            smt.setDouble(10, fichePaie.getReductionBasRevenu());
            smt.setDouble(11, fichePaie.getSalaireNet());
            smt.setDouble(12, fichePaie.getAvanceSalaire());
            smt.setDouble(13, fichePaie.getMontantAPayer());         
            smt.setInt(14, fichePaie.getChauffeur().getId());
            smt.setInt(15, fichePaie.getEtat().getCdeEtat());
            smt.setInt(16, fichePaie.getId());
            smt.executeUpdate();
          }
          finally {
            if (smt != null) {
              smt.close();
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return fichePaie;
  }



}
TOP

Related Classes of dao.implementation.mysql.chauffeur.MySqlFichePaieDao

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.