/*
 * 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 pcontasGS {
    int chave = 0;
    String codigo = null;
    String descricao = null;
    String sintanal = null;
    String auditoria = null;
    int filiais_idfiliais = 0;

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

    public pcontasGS(){
    }

    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 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 String getSintanal() {
        return sintanal;
    }

    public void setSintanal(String sintanal) {
        this.sintanal = sintanal;
    }

    public static boolean inserirPcontas (pcontasGS empresa){
        try{
            stm = Conexao.conectar().prepareStatement("insert into pcontas(idpcontas,"
            + "codigo,descricao,sintanal,auditoria,filiais_idfiliais) "
            + "values (?,?,?,?,?,?)");
            stm.setInt(1, empresa.getChave());
            stm.setString(2, empresa.getCodigo());
            stm.setString(3, empresa.getDescricao());
            stm.setString(4, empresa.getSintanal());
            stm.setString(5, empresa.getAuditoria());
            stm.setInt(6, empresa.getFiliais_idfiliais());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean alterarPcontas (pcontasGS empresa){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update pcontas set "
                    + "codigo = ?,descricao = ?,sintanal = ?,auditoria = ?,"
                    + "filiais_idfiliais = ? where idpcontas = ?");
            stm.setString(1, empresa.getCodigo());
            stm.setString(2, empresa.getDescricao());
            stm.setString(3, empresa.getSintanal());
            stm.setString(4, empresa.getAuditoria());
            stm.setInt(5, empresa.getFiliais_idfiliais());
            stm.setInt(6, empresa.getChave());
            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 excluiPcontas (pcontasGS empresa){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from pcontas "
                    + "where idpcontas = ?");
            stm.setInt(1, empresa.getChave());
            int executeUpdate = stm.executeUpdate();

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

    public void selPcId(String Id, String Idf) {
        try {
            pcontasGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From pcontas Where idpcontas ='"+Id+"'"
                    + "and filiais_idfiliais = '"+Idf+"'");
            if (rs.next()) {
                scid = new pcontasGS();
                scid.setChave(rs.getInt("chave"));
                scid.setCodigo(rs.getString("codigo"));
                scid.setDescricao(rs.getString("descricao"));
                scid.setSintanal(rs.getString("sintanal"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setFiliais_idfiliais(rs.getInt("filiais_idfiliais"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static int selPcCt(String Id, String Idf) {
        int nregis = 0;
        try {
            PreparedStatement pstmt = Conexao.conectar().prepareStatement("Select "
            + "idpcontas From pcontas Where codigo ='"+Id+"' and "
            + "filiais_idfiliais = '"+Idf+"'");
            ResultSet rss = pstmt.executeQuery();
            rss.next();
            nregis = rss.getInt(1);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return nregis;
    }

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

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

    public void listaPcontasA(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from pcontas "
            + "where filiais_idfiliais='"+Id+"' "
            + "and sintanal='A' order by codigo");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void selContaPc(String Idf, String conta) throws SQLException{
        try{
            stm = Conexao.conectar().prepareStatement("Select * "
            + "From pcontas Where codigo = ? and "
            + "filiais_idfiliais = ?");
            stm.setString(1, conta);
            stm.setInt(2, Integer.parseInt(Idf));
            rs = stm.executeQuery();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }
    
}
