/*
 * 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 comprasGS {
    int chave = 0;
    int idreqcompras = 0;
    String nf = null;
    String titulo = null;
    String dtemissao = null;
    String dtvcto = null;
    String baseicms = null;
    String vlricms = null;
    String baseicmsub = null;
    String vlricmsub = null;
    String vlripi = null;
    String vlrfrte = null;
    String vlrseg = null;
    String vlroutras = null;
    String subtotal = null;
    String vlrdesc = null;
    String total = null;
    String issfonte = null;
    String irfonte = null;
    String csllfonte = null;
    String pisfonte = null;
    String cofinsfonte = null;
    String vlrliquido = null;
    int idctto = 0;
    String obs = null;
    String status = null;
    String auditoria = null;
    int filiais_idfiliais = 0;
    int empresa_idempresa = 0;
    int naturfiscal_idnaturfiscal = 0;
    int condicoes_idcondicoes = 0;
    int clifor_idclifor= 0;
    int nrlancacontab = 0;

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

    public comprasGS(){
    }

    public String getAuditoria() {
        return auditoria;
    }

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

    public String getBaseicms() {
        return baseicms;
    }

    public void setBaseicms(String baseicms) {
        this.baseicms = baseicms;
    }

    public String getBaseicmsub() {
        return baseicmsub;
    }

    public void setBaseicmsub(String baseicmsub) {
        this.baseicmsub = baseicmsub;
    }

    public int getChave() {
        return chave;
    }

    public void setChave(int chave) {
        this.chave = chave;
    }

    public String getCofinsfonte() {
        return cofinsfonte;
    }

    public void setCofinsfonte(String cofinsfonte) {
        this.cofinsfonte = cofinsfonte;
    }

    public String getCsllfonte() {
        return csllfonte;
    }

    public void setCsllfonte(String csllfonte) {
        this.csllfonte = csllfonte;
    }

    public String getDtemissao() {
        return dtemissao;
    }

    public void setDtemissao(String dtemissao) {
        this.dtemissao = dtemissao;
    }

    public String getDtvcto() {
        return dtvcto;
    }

    public void setDtvcto(String dtvcto) {
        this.dtvcto = dtvcto;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public int getIdctto() {
        return idctto;
    }

    public void setIdctto(int idctto) {
        this.idctto = idctto;
    }

    public int getIdreqcompras() {
        return idreqcompras;
    }

    public void setIdreqcompras(int idreqcompras) {
        this.idreqcompras = idreqcompras;
    }

    public String getIrfonte() {
        return irfonte;
    }

    public void setIrfonte(String irfonte) {
        this.irfonte = irfonte;
    }

    public String getIssfonte() {
        return issfonte;
    }

    public void setIssfonte(String issfonte) {
        this.issfonte = issfonte;
    }

    public String getNf() {
        return nf;
    }

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

    public int getNrlancacontab() {
        return nrlancacontab;
    }

    public void setNrlancacontab(int nrlancacontab) {
        this.nrlancacontab = nrlancacontab;
    }

    public String getObs() {
        return obs;
    }

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

    public String getPisfonte() {
        return pisfonte;
    }

    public void setPisfonte(String pisfonte) {
        this.pisfonte = pisfonte;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getSubtotal() {
        return subtotal;
    }

    public void setSubtotal(String subtotal) {
        this.subtotal = subtotal;
    }

    public String getTitulo() {
        return titulo;
    }

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

    public String getTotal() {
        return total;
    }

    public void setTotal(String total) {
        this.total = total;
    }

    public String getVlrdesc() {
        return vlrdesc;
    }

    public void setVlrdesc(String vlrdesc) {
        this.vlrdesc = vlrdesc;
    }

    public String getVlrfrte() {
        return vlrfrte;
    }

    public void setVlrfrte(String vlrfrte) {
        this.vlrfrte = vlrfrte;
    }

    public String getVlricms() {
        return vlricms;
    }

    public void setVlricms(String vlricms) {
        this.vlricms = vlricms;
    }

    public String getVlricmsub() {
        return vlricmsub;
    }

    public void setVlricmsub(String vlricmsub) {
        this.vlricmsub = vlricmsub;
    }

    public String getVlripi() {
        return vlripi;
    }

    public void setVlripi(String vlripi) {
        this.vlripi = vlripi;
    }

    public String getVlrliquido() {
        return vlrliquido;
    }

    public void setVlrliquido(String vlrliquido) {
        this.vlrliquido = vlrliquido;
    }

    public String getVlroutras() {
        return vlroutras;
    }

    public void setVlroutras(String vlroutras) {
        this.vlroutras = vlroutras;
    }

    public String getVlrseg() {
        return vlrseg;
    }

    public void setVlrseg(String vlrseg) {
        this.vlrseg = vlrseg;
    }

    public int getClifor_idclifor() {
        return clifor_idclifor;
    }

    public void setClifor_idclifor(int clifor_idclifor) {
        this.clifor_idclifor = clifor_idclifor;
    }

    public int getCondicoes_idcondicoes() {
        return condicoes_idcondicoes;
    }

    public void setCondicoes_idcondicoes(int condicoes_idcondicoes) {
        this.condicoes_idcondicoes = condicoes_idcondicoes;
    }

    public int getEmpresa_idempresa() {
        return empresa_idempresa;
    }

    public void setEmpresa_idempresa(int empresa_idempresa) {
        this.empresa_idempresa = empresa_idempresa;
    }

    public int getNaturfiscal_idnaturfiscal() {
        return naturfiscal_idnaturfiscal;
    }

    public void setNaturfiscal_idnaturfiscal(int naturfiscal_idnaturfiscal) {
        this.naturfiscal_idnaturfiscal = naturfiscal_idnaturfiscal;
    }

    public static boolean inserirCompras (comprasGS compras){
        try{
            stm = Conexao.conectar().prepareStatement("INSERT INTO compras ("
                    + "idcompras,"
                    + "idreqcompras,"
                    + "nf,"
                    + "dtemissao,"
                    + "total,"
                    + "issfonte,"
                    + "irfonte,"
                    + "csllfonte,"
                    + "pisfonte,"
                    + "cofinsfonte,"
                    + "vlrliquido,"
                    + "idctto,"
                    + "obs,"
                    + "status,"
                    + "auditoria,"
                    + "filiais_idfiliais,"
                    + "empresa_idempresa,"
                    + "naturfiscal_idnaturfiscal,"
                    + "condicoes_idcondicoes,"
                    + "clifor_idclifor) "
                    + "VALUES ("
                    + "?,?,?,?,?,?,?,?,?,?,"
                    + "?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, compras.getChave());
            stm.setInt(2, compras.getIdreqcompras());
            stm.setString(3, compras.getNf());
            stm.setString(4, compras.getDtemissao());
            stm.setString(5, compras.getTotal());
            stm.setString(6, compras.getIssfonte());
            stm.setString(7, compras.getIrfonte());
            stm.setString(8, compras.getCsllfonte());
            stm.setString(9, compras.getPisfonte());
            stm.setString(10, compras.getCofinsfonte());
            stm.setString(11, compras.getVlrliquido());
            stm.setInt(12, compras.getIdctto());
            stm.setString(13, compras.getObs());
            stm.setString(14, compras.getStatus());
            stm.setString(15, compras.getAuditoria());
            stm.setInt(16, compras.getFiliais_idfiliais());
            stm.setInt(17, compras.getEmpresa_idempresa());
            stm.setInt(18, compras.getNaturfiscal_idnaturfiscal());
            stm.setInt(19, compras.getCondicoes_idcondicoes());
            stm.setInt(20, compras.getClifor_idclifor());

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

    public static boolean altCompnf (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "nf = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getNf());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompdtemi (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "dtemissao = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getDtemissao());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altComptotal (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "total = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getTotal());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompissf (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "issfonte = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getIssfonte());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompirf (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "irfonte = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getIrfonte());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompcsf (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "csllfonte = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getCsllfonte());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altComppisf (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "pisfonte = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getPisfonte());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompcoff (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "cofinsfonte = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getCofinsfonte());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompvlrliq (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "vlrliquido = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getVlrliquido());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompidctto (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "idctto = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setInt(1, compras.getIdctto());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompobs (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "obs = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getObs());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompstatus (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "status = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getStatus());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompaud (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "auditoria = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setString(1, compras.getAuditoria());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompnatfis (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "naturfiscal_idnaturfiscal = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setInt(1, compras.getNaturfiscal_idnaturfiscal());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompcondpg (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "condicoes_idcondicoes = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setInt(1, compras.getCondicoes_idcondicoes());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 altCompforne (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "clifor_idclifor = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setInt(1, compras.getClifor_idclifor());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 alterarCompNrLanCont (comprasGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE compras SET "
                    + "nrlancacontab = ? "
                    + "WHERE idcompras = ? "
                    + "and filiais_idfiliais = ?");

            stm.setInt(1, compras.getNrlancacontab());
            stm.setInt(2, compras.getChave());
            stm.setInt(3, compras.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 excluiCompras (comprasGS compras){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from compras "
                    + "where idcompras = ? "
                    + "and filiais_idfiliais = ?");
            stm.setInt(1, compras.getChave());
            stm.setInt(2, compras.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public void selCompras(String Id, String Idf) {
        try {
            comprasGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From compras Where "
            + "idcompras ='"+Id+"' and "
            + "filiais_idfiliais = '"+Idf+"'");
            if (rs.next()) {
                scid = new comprasGS();
                scid.setChave(rs.getInt("chave"));
                scid.setNaturfiscal_idnaturfiscal(rs.getInt("naturfiscal_idnaturfiscal"));
                scid.setCondicoes_idcondicoes(rs.getInt("condicoes_idcondicoes"));
                scid.setClifor_idclifor(rs.getInt("clifor_idclifor"));
                scid.setIdreqcompras(rs.getInt("idreqcompras"));
                scid.setNf(rs.getString("nf"));
                scid.setTitulo(rs.getString("titulo"));
                scid.setDtemissao(rs.getString("dtemissao"));
                scid.setDtvcto(rs.getString("dtvcto"));
                scid.setBaseicms(rs.getString("baseicms"));
                scid.setVlricms(rs.getString("vlricms"));
                scid.setBaseicmsub(rs.getString("baseicmsub"));
                scid.setVlricmsub(rs.getString("vlricmsub"));
                scid.setVlripi(rs.getString("vlripi"));
                scid.setVlrfrte(rs.getString("vlrfrte"));
                scid.setVlrseg(rs.getString("vlrseg"));
                scid.setVlroutras(rs.getString("vlroutras"));
                scid.setSubtotal(rs.getString("subtotal"));
                scid.setVlrdesc(rs.getString("vlrdesc"));
                scid.setTotal(rs.getString("total"));
                scid.setIssfonte(rs.getString("issfonte"));
                scid.setIrfonte(rs.getString("irfonte"));
                scid.setCsllfonte(rs.getString("csllfonte"));
                scid.setPisfonte(rs.getString("pisfonte"));
                scid.setCofinsfonte(rs.getString("cofinsfonte"));
                scid.setVlrliquido(rs.getString("vlrliquido"));
                scid.setIdctto(rs.getInt("idctto"));
                scid.setObs(rs.getString("obs"));
                scid.setStatus(rs.getString("status"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setFiliais_idfiliais(rs.getInt("filiais_idfiliais"));
                scid.setNrlancacontab(rs.getInt("nrlancacontab"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

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

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

    public ResultSet getResultado(){
        return rs;
    }

}
