/*
 * 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 saldoscontabGS {
    int chave = 0;
    int idpcontas = 0;
    String ano = null;
    String salant = null;
    int filiais_idfiliais = 0;

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

    public saldoscontabGS(){
    }

    public String getAno() {
        return ano;
    }

    public void setAno(String ano) {
        this.ano = ano;
    }

    public int getChave() {
        return chave;
    }

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

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public int getIdpcontas() {
        return idpcontas;
    }

    public void setIdpcontas(int idpcontas) {
        this.idpcontas = idpcontas;
    }

    public String getSalant() {
        return salant;
    }

    public void setSalant(String salant) {
        this.salant = salant;
    }

    public static boolean inserirSaldos(saldoscontabGS compras){
        try{
            stm = Conexao.conectar().prepareStatement("INSERT INTO saldos("
                    + "idsaldos,"
                    + "idpcontas,"
                    + "ano,"
                    + "salant,"
                    + "filiais_idfiliais) "
                    + "VALUES "
                    + "(?,?,?,?,?)");
            stm.setInt(1, compras.getChave());
            stm.setInt(2, compras.getIdpcontas());
            stm.setString(3, compras.getAno());
            stm.setString(4, compras.getSalant());
            stm.setInt(5, compras.getFiliais_idfiliais());

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

    public static boolean alterarSaldos (saldoscontabGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE saldos SET "
                    + "idpcontas = ?,"
                    + "salant = ?,"
                    + "WHERE idsaldos = ? "
                    + "and ano = ? "
                    + "and filiais_idfiliais = ? ");
            stm.setInt(1, compras.getIdpcontas());
            stm.setString(2, compras.getSalant());
            stm.setInt(3, compras.getChave());
            stm.setString(4, compras.getAno());
            stm.setInt(5, 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 excluiSaldos (saldoscontabGS compras){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from saldos "
                    + "WHERE idsaldos = ? "
                    + "and ano = ? "
                    + "and filiais_idfiliais = ? ");
            stm.setInt(1, compras.getIdpcontas());
            stm.setString(2, compras.getAno());
            stm.setInt(3, compras.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public static int getAutoInc(String ano, String Idf) {
        int Codigo = 0;
        try {
            PreparedStatement pstmt = Conexao.conectar().prepareStatement(
                    "Select max(idsaldos) From saldos "
                    + "WHERE ano = '"+ano+"' "
                    + "and filiais_idfiliais = '"+Idf+"' ");
            ResultSet rss = pstmt.executeQuery();
            rss.next();
            Codigo = rss.getInt(1) + 1;
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return Codigo;
    }

    public void selSaldos(String Idp, String Idf, String ano) throws SQLException{
        try{
            stm = Conexao.conectar().prepareStatement("select salant from saldos "
            + "where idpcontas = ? "
            + "and filiais_idfiliais= ? "
            + "and ano = ?;");
            stm.setString(1, Idp);
            stm.setString(2, Idf);
            stm.setString(3, ano);
            rs = stm.executeQuery();
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
