/*
 * 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 naturfiscalGS {
    int chave = 0;
    String codigo = null;
    String descricao = null;
    String ctacontabil = null;
    String ctadebiss = null;
    String ctacreiss = null;
    String ctadebicm = null;
    String ctacreicm = null;
    String ctadebpis = null;
    String ctacrepis = null;
    String ctadebcof = null;
    String ctacrecof = null;
    String ctadebir = null;
    String ctacreir = null;
    String ctadebcs = null;
    String ctacrecs = null;
    String ctadebipi = null;
    String ctacreipi = null;
    String ctadebinss = null;
    String ctacreinss = null;
    String auditoria = null;
    int filiais_idfiliais = 0;

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

    public naturfiscalGS(){
    }

    public String getAuditoria() {
        return auditoria;
    }

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

    public int getChave() {
        return chave;
    }

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

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public String getCtacontabil() {
        return ctacontabil;
    }

    public void setCtacontabil(String ctacontabil) {
        this.ctacontabil = ctacontabil;
    }

    public String getCtacrecof() {
        return ctacrecof;
    }

    public void setCtacrecof(String ctacrecof) {
        this.ctacrecof = ctacrecof;
    }

    public String getCtacrecs() {
        return ctacrecs;
    }

    public void setCtacrecs(String ctacrecs) {
        this.ctacrecs = ctacrecs;
    }

    public String getCtacreicm() {
        return ctacreicm;
    }

    public void setCtacreicm(String ctacreicm) {
        this.ctacreicm = ctacreicm;
    }

    public String getCtacreinss() {
        return ctacreinss;
    }

    public void setCtacreinss(String ctacreinss) {
        this.ctacreinss = ctacreinss;
    }

    public String getCtacreipi() {
        return ctacreipi;
    }

    public void setCtacreipi(String ctacreipi) {
        this.ctacreipi = ctacreipi;
    }

    public String getCtacreir() {
        return ctacreir;
    }

    public void setCtacreir(String ctacreir) {
        this.ctacreir = ctacreir;
    }

    public String getCtacreiss() {
        return ctacreiss;
    }

    public void setCtacreiss(String ctacreiss) {
        this.ctacreiss = ctacreiss;
    }

    public String getCtacrepis() {
        return ctacrepis;
    }

    public void setCtacrepis(String ctacrepis) {
        this.ctacrepis = ctacrepis;
    }

    public String getCtadebcof() {
        return ctadebcof;
    }

    public void setCtadebcof(String ctadebcof) {
        this.ctadebcof = ctadebcof;
    }

    public String getCtadebcs() {
        return ctadebcs;
    }

    public void setCtadebcs(String ctadebcs) {
        this.ctadebcs = ctadebcs;
    }

    public String getCtadebicm() {
        return ctadebicm;
    }

    public void setCtadebicm(String ctadebicm) {
        this.ctadebicm = ctadebicm;
    }

    public String getCtadebinss() {
        return ctadebinss;
    }

    public void setCtadebinss(String ctadebinss) {
        this.ctadebinss = ctadebinss;
    }

    public String getCtadebipi() {
        return ctadebipi;
    }

    public void setCtadebipi(String ctadebipi) {
        this.ctadebipi = ctadebipi;
    }

    public String getCtadebir() {
        return ctadebir;
    }

    public void setCtadebir(String ctadebir) {
        this.ctadebir = ctadebir;
    }

    public String getCtadebiss() {
        return ctadebiss;
    }

    public void setCtadebiss(String ctadebiss) {
        this.ctadebiss = ctadebiss;
    }

    public String getCtadebpis() {
        return ctadebpis;
    }

    public void setCtadebpis(String ctadebpis) {
        this.ctadebpis = ctadebpis;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public static boolean inserirNatfis (naturfiscalGS produto){
        try{
            stm = Conexao.conectar().prepareStatement("insert into naturfiscal("
                    + "idnaturfiscal,"
                    + "codigo,"
                    + "descricao,"
                    + "ctacontabil,"
                    + "ctadebiss,"
                    + "ctacreiss,"
                    + "ctadebicm,"
                    + "ctacreicm,"
                    + "ctadebpis,"
                    + "ctacrepis,"
                    + "ctadebcof,"
                    + "ctacrecof,"
                    + "ctadebir,"
                    + "ctacreir,"
                    + "ctadebcs,"
                    + "ctacrecs,"
                    + "ctadebipi,"
                    + "ctacreipi,"
                    + "ctadebinss,"
                    + "ctacreinss,"
                    + "filiais_idfiliais) "
                    + "values "
                    + "(?,?,?,?,?,?,?,?,?,?"
                    + ",?,?,?,?,?,?,?,?,?,?"
                    + ",?)");
            stm.setInt(1, produto.getChave());
            stm.setString(2, produto.getCodigo());
            stm.setString(3, produto.getDescricao());
            stm.setString(4, produto.getCtacontabil());
            stm.setString(5, produto.getCtadebiss());
            stm.setString(6, produto.getCtacreiss());
            stm.setString(7, produto.getCtadebicm());
            stm.setString(8, produto.getCtacreicm());
            stm.setString(9, produto.getCtadebpis());
            stm.setString(10, produto.getCtacrepis());
            stm.setString(11, produto.getCtadebcof());
            stm.setString(12, produto.getCtacrecof());
            stm.setString(13, produto.getCtadebir());
            stm.setString(14, produto.getCtacreir());
            stm.setString(15, produto.getCtadebcs());
            stm.setString(16, produto.getCtacrecs());
            stm.setString(17, produto.getCtadebipi());
            stm.setString(18, produto.getCtacreipi());
            stm.setString(19, produto.getCtadebinss());
            stm.setString(20, produto.getCtacreinss());
            stm.setInt(21, produto.getFiliais_idfiliais());

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

    public static boolean alterarNatfis (naturfiscalGS produto){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update naturfiscal set "
            + "codigo=?,descricao=?,ctacontabil=?,ctadebiss=?,ctacreiss=?,"
            + "ctadebicm=?,ctacreicm=?,ctadebpis=?,ctacrepis=?,ctadebcof=?,"
            + "ctacrecof=?,ctadebir=?,ctacreir=?,ctadebcs=?,ctacrecs=?,"
            + "ctadebipi=?,ctacreipi=?,ctadebinss=?,ctacreinss=? "
            + "where idnaturfiscal=? "
            + "and filiais_idfiliais=?");
            stm.setString(1, produto.getCodigo());
            stm.setString(2, produto.getDescricao());
            stm.setString(3, produto.getCtacontabil());
            stm.setString(4, produto.getCtadebiss());
            stm.setString(5, produto.getCtacreiss());
            stm.setString(6, produto.getCtadebicm());
            stm.setString(7, produto.getCtacreicm());
            stm.setString(8, produto.getCtadebpis());
            stm.setString(9, produto.getCtacrepis());
            stm.setString(10, produto.getCtadebcof());
            stm.setString(11, produto.getCtacrecof());
            stm.setString(12, produto.getCtadebir());
            stm.setString(13, produto.getCtacreir());
            stm.setString(14, produto.getCtadebcs());
            stm.setString(15, produto.getCtacrecs());
            stm.setString(16, produto.getCtadebipi());
            stm.setString(17, produto.getCtacreipi());
            stm.setString(18, produto.getCtadebinss());
            stm.setString(19, produto.getCtacreinss());
            stm.setInt(20, produto.getChave());
            stm.setInt(21, produto.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 excluiNatfis (naturfiscalGS produto){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from naturfiscal "
                    + "where idnaturfiscal = ? "
                    + "and filiais_idfiliais= ?");
            stm.setInt(1, produto.getChave());
            stm.setInt(2, produto.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public void selNatfis(String Id, String Idf) {
        try {
            naturfiscalGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From naturfiscal "
            + "Where idnaturfiscal ='"+Id+"' and filiais_idfiliais='"+Idf+"'");
            if (rs.next()) {
                scid = new naturfiscalGS();
                scid.setChave(rs.getInt("chave"));
                scid.setCodigo(rs.getString("codigo"));
                scid.setCtacontabil(rs.getString("ctacontabil"));
                scid.setCtacrecof(rs.getString("ctacrecof"));
                scid.setCtacrecs(rs.getString("ctacrecs"));
                scid.setCtacreicm(rs.getString("ctacreicm"));
                scid.setCtacreinss(rs.getString("ctacreinss"));
                scid.setCtacreipi(rs.getString("ctacreipi"));
                scid.setCtacreir(rs.getString("ctacreir"));
                scid.setCtacreiss(rs.getString("ctacreiss"));
                scid.setCtacrepis(rs.getString("ctacrepis"));
                scid.setCtadebcof(rs.getString("ctadebcof"));
                scid.setCtadebcs(rs.getString("ctadebcs"));
                scid.setCtadebicm(rs.getString("ctadebicm"));
                scid.setCtadebinss(rs.getString("ctadebinss"));
                scid.setCtadebipi(rs.getString("ctadebipi"));
                scid.setCtadebir(rs.getString("ctadebir"));
                scid.setCtadebiss(rs.getString("ctadebiss"));
                scid.setCtadebpis(rs.getString("ctadebpis"));
                scid.setDescricao(rs.getString("descricao"));
                scid.setFiliais_idfiliais(rs.getInt("filiais_idfiliais"));
                scid.setAuditoria(rs.getString("auditoria"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

    public void listaNatfis(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from naturfiscal where "
                    + "filiais_idfiliais = '"+Id+"' order by descricao");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }
    
}
