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

package br.com.ddns.grupotsergio;

import java.sql.*;

/**
 *
 * @author Edson
 */
public class parcelascomprasGS {
    int idclifor = 0;
    String titulo = null;
    String nf = null;
    String valor = null;
    String vcto = null;
    String dtpgto = null;
    String desconto = null;
    String juros = null;
    String multa = null;
    String vlrpago = null;
    String prevpgto = null;
    int idcc = 0;
    String pago = null;
    String obs = null;
    String auditoria = null;
    int compras_idcompras = 0;
    int filiais_idfiliais = 0;
    int nrlancaconta = 0;

    private static PreparedStatement stm = null;
    private static ResultSet rs = null;
    private static Statement stmt;

    public parcelascomprasGS(){
    }

    public String getAuditoria() {
        return auditoria;
    }

    public void setAuditoria(String auditoria) {
        this.auditoria = auditoria;
    }

    public int getCompras_idcompras() {
        return compras_idcompras;
    }

    public void setCompras_idcompras(int compras_idcompras) {
        this.compras_idcompras = compras_idcompras;
    }

    public String getDesconto() {
        return desconto;
    }

    public void setDesconto(String desconto) {
        this.desconto = desconto;
    }

    public String getDtpgto() {
        return dtpgto;
    }

    public void setDtpgto(String dtpgto) {
        this.dtpgto = dtpgto;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

    public void setFiliais_idfiliais(int filiais_idfiliais) {
        this.filiais_idfiliais = filiais_idfiliais;
    }

    public int getIdcc() {
        return idcc;
    }

    public void setIdcc(int idcc) {
        this.idcc = idcc;
    }

    public int getIdclifor() {
        return idclifor;
    }

    public void setIdclifor(int idclifor) {
        this.idclifor = idclifor;
    }

    public String getJuros() {
        return juros;
    }

    public void setJuros(String juros) {
        this.juros = juros;
    }

    public String getMulta() {
        return multa;
    }

    public void setMulta(String multa) {
        this.multa = multa;
    }

    public String getNf() {
        return nf;
    }

    public void setNf(String nf) {
        this.nf = nf;
    }

    public int getNrlancaconta() {
        return nrlancaconta;
    }

    public void setNrlancaconta(int nrlancaconta) {
        this.nrlancaconta = nrlancaconta;
    }

    public String getObs() {
        return obs;
    }

    public void setObs(String obs) {
        this.obs = obs;
    }

    public String getPago() {
        return pago;
    }

    public void setPago(String pago) {
        this.pago = pago;
    }

    public String getPrevpgto() {
        return prevpgto;
    }

    public void setPrevpgto(String prevpgto) {
        this.prevpgto = prevpgto;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getValor() {
        return valor;
    }

    public void setValor(String valor) {
        this.valor = valor;
    }

    public String getVcto() {
        return vcto;
    }

    public void setVcto(String vcto) {
        this.vcto = vcto;
    }

    public String getVlrpago() {
        return vlrpago;
    }

    public void setVlrpago(String vlrpago) {
        this.vlrpago = vlrpago;
    }

    public static boolean inserirpcompra (parcelascomprasGS pcompra){
        try{
            stm = Conexao.conectar().prepareStatement("INSERT INTO parcelascompras("
                    + "idclifor,"
                    + "titulo,"
                    + "nf,"
                    + "valor,"
                    + "vcto,"
                    + "idcc,"
                    + "pago,"
                    + "obs,"
                    + "auditoria,"
                    + "compras_idcompras,"
                    + "filiais_idfiliais)"
                    + " VALUES "
                    + "(?,?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, pcompra.getIdclifor());
            stm.setString(2, pcompra.getTitulo());
            stm.setString(3, pcompra.getNf());
            stm.setString(4, pcompra.getValor());
            stm.setString(5, pcompra.getVcto());
            stm.setInt(6, pcompra.getIdcc());
            stm.setString(7, pcompra.getPago());
            stm.setString(8, pcompra.getObs());
            stm.setString(9, pcompra.getAuditoria());
            stm.setInt(10, pcompra.getCompras_idcompras());
            stm.setInt(11, pcompra.getFiliais_idfiliais());

            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean baixaPCvlr (parcelascomprasGS pcompraaa){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "valor=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraaa.getValor());
            stm.setInt(2, pcompraaa.getCompras_idcompras());
            stm.setString(3, pcompraaa.getTitulo());
            stm.setInt(4, pcompraaa.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCvcto (parcelascomprasGS pcompraab){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "vcto=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraab.getVcto());
            stm.setInt(2, pcompraab.getCompras_idcompras());
            stm.setString(3, pcompraab.getTitulo());
            stm.setInt(4, pcompraab.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCprpg (parcelascomprasGS pcompraac){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "prevpgto=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraac.getPrevpgto());
            stm.setInt(2, pcompraac.getCompras_idcompras());
            stm.setString(3, pcompraac.getTitulo());
            stm.setInt(4, pcompraac.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCnf (parcelascomprasGS pcompraad){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "nf=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraad.getNf());
            stm.setInt(2, pcompraad.getCompras_idcompras());
            stm.setString(3, pcompraad.getTitulo());
            stm.setInt(4, pcompraad.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCdtpg (parcelascomprasGS pcompraae){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "dtpgto=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraae.getDtpgto());
            stm.setInt(2, pcompraae.getCompras_idcompras());
            stm.setString(3, pcompraae.getTitulo());
            stm.setInt(4, pcompraae.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCdes (parcelascomprasGS pcompraaf){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "desconto=?  "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraaf.getDesconto());
            stm.setInt(2, pcompraaf.getCompras_idcompras());
            stm.setString(3, pcompraaf.getTitulo());
            stm.setInt(4, pcompraaf.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCjrs (parcelascomprasGS pcompraag){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "juros=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraag.getJuros());
            stm.setInt(2, pcompraag.getCompras_idcompras());
            stm.setString(3, pcompraag.getTitulo());
            stm.setInt(4, pcompraag.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCmulta (parcelascomprasGS pcompramul){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "multa=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompramul.getMulta());
            stm.setInt(2, pcompramul.getCompras_idcompras());
            stm.setString(3, pcompramul.getTitulo());
            stm.setInt(4, pcompramul.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCvlpg (parcelascomprasGS pcompraai){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "vlrpago=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraai.getVlrpago());
            stm.setInt(2, pcompraai.getCompras_idcompras());
            stm.setString(3, pcompraai.getTitulo());
            stm.setInt(4, pcompraai.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCpg (parcelascomprasGS pcompraaj){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "pago=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraaj.getPago());
            stm.setInt(2, pcompraaj.getCompras_idcompras());
            stm.setString(3, pcompraaj.getTitulo());
            stm.setInt(4, pcompraaj.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCidcc (parcelascomprasGS pcompraak){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "idcc=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setInt(1, pcompraak.getIdcc());
            stm.setInt(2, pcompraak.getCompras_idcompras());
            stm.setString(3, pcompraak.getTitulo());
            stm.setInt(4, pcompraak.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCobs (parcelascomprasGS pcompraak){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "obs=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraak.getObs());
            stm.setInt(2, pcompraak.getCompras_idcompras());
            stm.setString(3, pcompraak.getTitulo());
            stm.setInt(4, pcompraak.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean baixaPCaud (parcelascomprasGS pcompraal){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "auditoria=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, pcompraal.getAuditoria());
            stm.setInt(2, pcompraal.getCompras_idcompras());
            stm.setString(3, pcompraal.getTitulo());
            stm.setInt(4, pcompraal.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean alteraPClancta (parcelascomprasGS pcompra){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update parcelascompras set "
                    + "nrlancaconta=? "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setInt(1, pcompra.getNrlancaconta());
            stm.setInt(2, pcompra.getCompras_idcompras());
            stm.setString(3, pcompra.getTitulo());
            stm.setInt(4, pcompra.getFiliais_idfiliais());

            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        }catch(Exception e){
            System.out.println("Erro ao alterar");
        }
        return testa;
    }

    public static boolean excluiPcompra (parcelascomprasGS pcomprae){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from parcelascompras "
                    + "where compras_idcompras=? "
                    + "and titulo=? "
                    + "and filiais_idfiliais=?");
            stm.setInt(1, pcomprae.getCompras_idcompras());
            stm.setString(2, pcomprae.getTitulo());
            stm.setInt(3, pcomprae.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

            if(executeUpdate > 0)
                testa = true;
            else
                testa = false;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return testa;
    }

    public void selPcompra(String Id, String Idf) {
        try {
            parcelascomprasGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From parcelascompras Where "
                    + "titulo='"+Id+"' "
                    + "and filiais_idfiliais='"+Idf+"'");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void selPP(String Id, String Idf) {
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select p.titulo, e.razao_social, c.nome, co.nf,"
                    + "p.valor, p.vcto, p.prevpgto, co.dtemissao, p.obs, ct.cttonr, cc.banco "
                    + "from parcelascompras p, clifor c, compras co, empresa e, cttos ct, cc cc "
                    + "where e.idempresa = p.filiais_idfiliais "
                    + "and e.idempresa = co.filiais_idfiliais "
                    + "and e.idempresa = ct.filiais_idfiliais "
                    + "and p.idclifor=c.idclifor "
                    + "and p.filiais_idfiliais=c.empresa_idempresa "
                    + "and p.compras_idcompras=co.idcompras "
                    + "and co.idctto=ct.idcttos "
                    + "and p.idcc=cc.idcc "
                    + "and p.titulo= '"+Id+"' "
                    + "and p.filiais_idfiliais='"+Idf+"'");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void impPP() {
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from relpp");
        }catch(Exception e){
            e.printStackTrace();
        }
        
    }

    public static int selPcomNf(String Idc, String Idf) {
        int Codigo = 0;
        try {
            PreparedStatement pstmt = Conexao.conectar().prepareStatement(
                "Select count(*) as regis  From parcelascompras "
                    + "where compras_idcompras='"+Idc+"' "
                    + "and filiais_idfiliais='"+Idf+"'");
            ResultSet rss = pstmt.executeQuery();
            rss.next();
            Codigo = rss.getInt(1);
            }
            catch (Exception e) {
                e.printStackTrace();
        }
        return Codigo;
    }

    public static int getAutoIncTit(String Idf) {
        int Codigo = 0;
    try {
        PreparedStatement pstmt = Conexao.conectar().prepareStatement(
                "Select max(titulo) From parcelascompras "
                    + "where filiais_idfiliais='"+Idf+"'");
        ResultSet rss = pstmt.executeQuery();
        rss.next();
        Codigo = rss.getInt(1) + 1;
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return Codigo;
    }

    public void listaPcompra(String Idc, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from parcelascompras where "
                    + "compras_idcompras = '"+Idc+"' and "
                    + "filiais_idfiliais='"+Idf+"' "
                    + "order by titulo");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaPcompraGeral(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select p.*, f.nome, c.nf "
            + "from parcelascompras p, compras c, clifor f "
            + "where c.clifor_idclifor=f.idclifor and "
            + "c.filiais_idfiliais=f.empresa_idempresa and "
            + "p.compras_idcompras=c.idcompras and "
            + "p.filiais_idfiliais=c.filiais_idfiliais and "
            + "c.filiais_idfiliais = '"+Id+"' "
            + "order by p.titulo");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtasaPagar(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select p.*, f.nome, c.nf "
            + "from parcelascompras p, compras c, clifor f "
            + "where c.clifor_idclifor=f.idclifor and "
            + "c.filiais_idfiliais=f.empresa_idempresa and "
            + "p.compras_idcompras=c.idcompras and "
            + "p.filiais_idfiliais=c.filiais_idfiliais and "
            + "c.filiais_idfiliais = '"+Id+"' and "
            + "pago = 'N' "
            + "order by p.vcto, p.titulo");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaPcompForn(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from parcelascompras p, "
            + "compras c, clifor f where "
            + "c.clifor_idclifor=f.idclifor and "
            + "c.filiais_idfiliais=f.empresa_idempresa and "
            + "p.compras_idcompras=c.idcompras and "
            + "c.filiais_idfiliais=p.filiais_idfiliais and "
            + "f.idclifor = '"+Id+"' "
            + "order by c.nf");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void preprelctspgr(String dtini, String dtfin, String pago, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select p.nf, p.titulo, "
            + "f.nome, p.vcto, p.prevpgto, p.valor, p.obs, "
            + "c.banco, fi.razao_social, ct.cttonr "
            + "from parcelascompras p, clifor f, cc c, filiais fi, "
            + "cttos ct, compras cp "
            + "where f.empresa_idempresa=p.filiais_idfiliais "
            + "and p.idclifor=f.idclifor "
            + "and c.idcc=p.idcc "
            + "and p.filiais_idfiliais=fi.idfiliais "
            + "and p.compras_idcompras=cp.idcompras "
            + "and p.filiais_idfiliais=cp.filiais_idfiliais "
            + "and cp.idctto=ct.idcttos "
            + "and ct.filiais_idfiliais=cp.filiais_idfiliais "
            + "and p.pago = '"+pago+"' "
            + "and p.vcto >= '"+dtini+"' "
            + "and p.vcto <= '"+dtfin+"' "
            + "and p.filiais_idfiliais= '"+Idf+"' order by p.vcto, p.valor");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtsPg(){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT * "
            + "FROM relctspagar order by prevpgto, vcto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtsPgBco(String prev){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT banco FROM relctspagar "
                    + "where prevpgto = '"+prev+"' order by banco");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtsPgBcoSoma(String prev, String banco){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT sum(valor) AS svlr FROM relctspagar "
                    + "where prevpgto = '"+prev+"' and banco='"+banco+"'");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtsPgPrev(){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT prevpgto "
                    + "FROM relctspagar order by prevpgto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCtsPgDet(String PrevPgto){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT * FROM relctspagar "
                    + "where prevpgto = '"+PrevPgto+"' "
                    + "order by vcto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
