Package GestorPago

Source Code of GestorPago.PagoBD

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package GestorPago;

import ConexionBD.ConexionBD;
import GestorCuota.Cuota;
import GestorCuota.CuotaBD;
import GestorJugadores.Jugador;
import GestorJugadores.JugadorBD;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

/**
*
* @author frpp
*/
public class PagoBD {
       
      private static PagoBD Instancia=null;

       
        public void PagoBD(){}
       
       
       
        static public PagoBD getInstancia(){
            if (Instancia == null){
                Instancia = new PagoBD();
            }
            return Instancia;
        }
       
       
    @Override
    /**
     * Sobrecarga del método clone para impedir que se duplique la instancia
     * (Exigencias del patrón Singleton)
     * @param void
     * @return Object
     */
    public Object clone() throws CloneNotSupportedException {
        throw new CloneNotSupportedException();
    }
       
       
        /**
   *
   * @param Pago
   */
  public Pago addPago(Pago pag){
           
           
           
            String consulta="INSERT INTO Pago(IdCuota, IdJugador, Mes) " +
                " VALUES('" + pag.getCuota().getIdCuota() +
            "','" + pag.getJugador().getIdJugador() +
            "','" + pag.getMes() +
            "');";
       
           
            System.out.println(consulta);
            try {              
                ConexionBD.getInstancia().conectar();
                ResultSet salidaBD = ConexionBD.getInstancia().actualizar(consulta);
                salidaBD.first();
                // Establece el valor de IdJornada generado por la BD en el objeto jornada
                pag.setIdPago(salidaBD.getInt(1));          // establece el valor de IdEquipo generado por la BD en el objeto e
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                ex.printStackTrace();
                return null;
            }
            return pag;
  }

       
       
       
  /**
   *
   * @param Pago
   */
  public boolean deletePago(Pago pag){
           
            String consulta;
            Boolean salida = true;
           
            consulta = "DELETE FROM Pago WHERE IdPago=" +  pag.getIdPago().toString() +
                    ";";
           
            try {
                ConexionBD.getInstancia().conectar();
                ResultSet salidaBD = ConexionBD.getInstancia().actualizar(consulta);
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                ex.printStackTrace();            
                salida= false;
            }
    return salida;
  }

 

       
       
       
  /* 
         *
         * @param String temporada
         * @return ArrayList<Pago>
         *
         *  Método que obtiene una lista pagos de un jugador en una temporada
         *
         */
  public ArrayList<Pago> GenerarListadoPagoJugador( int idJug, int ano, String temporada){
                String consulta;
   
                consulta="SELECT pag.IdPago , pag.IdCuota, pag.IdJugador, pag.Mes FROM Pago pag, Cuota cuot WHERE " +
                       // " cout.AnioNacimiento = '" + ano +"'"+
                        "  cuot.Temporada = '" + temporada +"'"+
                        " AND pag.IdCuota = cuot.IdCuota" +
                        " AND pag.IdJugador = " + idJug +
                    ";";
               
            Pago part;  
            ArrayList<Pago> APart = new ArrayList<Pago>();
           
                try {
                ConexionBD.getInstancia().conectar();
                ResultSet tabla = ConexionBD.getInstancia().consultar(consulta);
               
                Cuota cuot=null;
                Jugador jug=null;
                while (tabla.next()) { // Si devuelve false es que la búsqueda es vacía, 
                       
                         cuot = CuotaBD.getInstancia().getCuota(tabla.getInt("IdCuota")) ;
                         jug = JugadorBD.getInstancia().getJugador(idJug);
                        part = new Pago(cuot,
                                        jug,
                                        tabla.getString("Mes"));
                       
                    part.setIdPago(tabla.getInt("IdPago"));

                    APart.add(part);
               
                }
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                ex.printStackTrace();
                return null;
            }
            return APart;
  }
       
       
        /* 
         *
         * @param String temporada
         * @param String mes
         * @return ArrayList<Jugador>
         *
         *  Método que obtiene una lista de nombre / apellidos de aquellos
         *  jugadores que  han pagado el mes correspondiente.
         *
         */
  public ArrayList<Jugador> GenerarListadoPago(String temporada , String mes){
                String consulta;
               
                consulta = "select jug.IdJugador, jug.Nombre, jug.Apellidos, jug.Sexo, "
                    + " jug.Nacimiento , jug.Talla, jug.Tutor, jug.Correo, jug.NumCuenta ,"
                    + " jug.Telefono, jug.Observaciones, jug.FormaPago from Jugador jug "
                    +" where jug.FormaPago = 'M' "
                    +" and jug.IdJugador  in ("

                    +" select pag.Idjugador from Pago pag"
            +" inner join Cuota cuot"
            +" on pag.IdCuota = cuot.IdCuota"
            +" where cuot.Temporada = '" +  temporada + "'"
            +" AND pag.Mes = '" +mes + "' "
            +" );";
               
                //System.out.println(consulta);
               
            Jugador part;  
            ArrayList<Jugador> APart = new ArrayList<Jugador>();
            try {
                ConexionBD.getInstancia().conectar();
                ResultSet tabla = ConexionBD.getInstancia().consultar(consulta);
               
                while (tabla.next()) { // Si devuelve false es que la búsqueda es vacía,
                    part = new Jugador(tabla.getString("Nombre"), tabla.getString("Apellidos"),
                            tabla.getString("Sexo").charAt(0), tabla.getDate("Nacimiento"),
                            tabla.getString("Talla"), tabla.getString("Tutor"), tabla.getString("Correo"),
                            tabla.getString("NumCuenta"), tabla.getInt("Telefono"),
                            tabla.getString("Observaciones"),
                            tabla.getString("FormaPago").charAt(0),
                            null);
                    part.setIdJugador(tabla.getInt("IdJugador"));

                    APart.add( (part) );
                }
               
    
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                ex.printStackTrace();
                return null;
            }
           
            return APart;  
        }
       
       
        /* 
         *
         * @param String temporada
         * @param String mes
         * @return ArrayList<Jugador>
         *
         *  Método que obtiene una lista de nombre / apellidos de aquellos
         *  jugadores que no han pagado el mes correspondiente.
         *
         */
        public ArrayList<Jugador> GenerarListadoImpago(String temporada, String mes){
        String consulta; // Obtenemos la lista de idJugadores que tiene pagos en ese mes.

            consulta = "select jug.IdJugador, jug.Nombre, jug.Apellidos, jug.Sexo, "
            + " jug.Nacimiento , jug.Talla, jug.Tutor, jug.Correo, jug.NumCuenta ,"
            + " jug.Telefono, jug.Observaciones, jug.FormaPago from Jugador jug "
            +" where jug.FormaPago = 'M' "
            +" and jug.IdJugador not in ("

            +" select pag.Idjugador from Pago pag"
    +" inner join Cuota cuot"
    +" on pag.IdCuota = cuot.IdCuota"
    +" where cuot.Temporada = '" +  temporada + "'"
    +" AND pag.Mes = '" +mes + "' "
    +" );";
           
            //hay que crear los objetos jugador
            Jugador part;  
            ArrayList<Jugador> APart = new ArrayList<Jugador>();
            try {
                ConexionBD.getInstancia().conectar();
                ResultSet tabla = ConexionBD.getInstancia().consultar(consulta);
               
                while (tabla.next()) { // Si devuelve false es que la búsqueda es vacía,
                    part = new Jugador(tabla.getString("Nombre"), tabla.getString("Apellidos"),
                            tabla.getString("Sexo").charAt(0), tabla.getDate("Nacimiento"),
                            tabla.getString("Talla"), tabla.getString("Tutor"), tabla.getString("Correo"),
                            tabla.getString("NumCuenta"), tabla.getInt("Telefono"),
                            tabla.getString("Observaciones"),
                            tabla.getString("FormaPago").charAt(0),
                            null);
                    part.setIdJugador(tabla.getInt("IdJugador"));

                    APart.add( (part) );
                }
               
    
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                ex.printStackTrace();
                return null;
            }
           
            return APart;  
        }
       
       
       
       
       
       

  /**
   *
   * @param Pago
   */
  public boolean updatePago(Jugador jugador, String temporada, String mes, String newmes){
            Boolean salida = true;

            Date aux = jugador.getNacimiento();
            
            SimpleDateFormat formateador = new SimpleDateFormat("yyyy");    //le aplico el formato dia-mes-año       
            String fecha_consulta =  formateador.format(aux);
           
            int fecha = Integer.parseInt(fecha_consulta);
           
            ArrayList<Cuota> cuota = CuotaBD.getInstancia().getCuota(temporada, fecha);

           
            String consulta="UPDATE Pago pag, Cuota cuot SET " +
                    " pag.Mes='" + newmes + "'"+
                    " WHERE   cuot.AnioNacimiento = '" + cuota.get(0).getAnioNacimiento()+"'" +
                    " AND cuot.Temporada = '" + cuota.get(0).getTemporada() +"'" +
                    " AND pag.IdJugador = " + jugador.getIdJugador() +
                    " AND pag.Mes = '" + mes +"'"+
                    ";";
           
            System.out.println(consulta);
         
            try {
                ConexionBD.getInstancia().conectar();
                ConexionBD.getInstancia().actualizar(consulta);
                ConexionBD.getInstancia().desconectar();
            } catch (SQLException ex) {
                System.out.println(ex);
                salida = false;
            }
            return salida;
  }
       
       
       
       
       
        
        
        
        
        
   
   
}
TOP

Related Classes of GestorPago.PagoBD

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.