/*
 * 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 itensreldespGS {
    int chave = 0;
    String dtdesp = null;
    String descricao = null;
    String credito = null;
    String debito = null;
    String auditoria = null;
    int reldespesa_idreldespesa = 0;
    int filiais_idfiliais = 0;

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

    public itensreldespGS(){
    }

    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 getCredito() {
        return credito;
    }

    public void setCredito(String credito) {
        this.credito = credito;
    }

    public String getDebito() {
        return debito;
    }

    public void setDebito(String debito) {
        this.debito = debito;
    }

    public String getDescricao() {
        return descricao;
    }

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

    public String getDtdesp() {
        return dtdesp;
    }

    public void setDtdesp(String dtdesp) {
        this.dtdesp = dtdesp;
    }

    public int getReldespesa_idreldespesa() {
        return reldespesa_idreldespesa;
    }

    public void setReldespesa_idreldespesa(int reldespesa_idreldespesa) {
        this.reldespesa_idreldespesa = reldespesa_idreldespesa;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public static boolean inserirIreld (itensreldespGS grupo){
        try{
            stm = Conexao.conectar().prepareStatement("INSERT INTO itensreldesp("
                    + "iditensreldesp,"
                    + "dtdesp,"
                    + "descricao,"
                    + "credito,"
                    + "debito,"
                    + "auditoria,"
                    + "reldespesa_idreldespesa,"
                    + "filiais_idfiliais)VALUES"
                    + "(?,?,?,?,?,?,?,?)");
            stm.setInt(1, grupo.getChave());
            stm.setString(2, grupo.getDtdesp());
            stm.setString(3, grupo.getDescricao());
            stm.setString(4, grupo.getCredito());
            stm.setString(5, grupo.getDebito());
            stm.setString(6, grupo.getAuditoria());
            stm.setInt(7, grupo.getReldespesa_idreldespesa());
            stm.setInt(8, grupo.getFiliais_idfiliais());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean altIRDdtdesp (itensreldespGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE itensreldesp SET "
                    + "dtdesp = ? "
                    + "WHERE iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "and filiais_idfiliais = ?");
            stm.setString(1, grupo.getDtdesp());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReldespesa_idreldespesa());
            stm.setInt(4, grupo.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 altIRDdescr (itensreldespGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE itensreldesp SET "
                    + "descricao = ? "
                    + "WHERE iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setString(1, grupo.getDescricao());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReldespesa_idreldespesa());
            stm.setInt(4, grupo.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 altIRDcre (itensreldespGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE itensreldesp SET "
                    + "credito = ? "
                    + "WHERE iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setString(1, grupo.getCredito());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReldespesa_idreldespesa());
            stm.setInt(4, grupo.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 altIRDdeb (itensreldespGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE itensreldesp SET "
                    + "debito = ? "
                    + "WHERE iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setString(1, grupo.getDebito());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReldespesa_idreldespesa());
            stm.setInt(4, grupo.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 altIRDaud (itensreldespGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE itensreldesp SET "
                    + "auditoria = ? "
                    + "WHERE iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setString(5, grupo.getAuditoria());
            stm.setInt(6, grupo.getChave());
            stm.setInt(7, grupo.getReldespesa_idreldespesa());
            stm.setInt(8, grupo.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 excluiIreld (itensreldespGS grupo){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from itensreldesp "
                    + "where iditensreldesp = ? "
                    + "and reldespesa_idreldespesa = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setInt(1, grupo.getChave());
            stm.setInt(2, grupo.getReldespesa_idreldespesa());
            stm.setInt(3, grupo.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public void selIreld(String Id, String Idr, String Idf) {
        try {
            itensreldespGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From itensreldesp "
                    + "Where iditensreldesp ='"+Id+"' "
                    + "and reldespesa_idreldespesa = '"+Idr+"' "
                    + "AND filiais_idfiliais = '"+Idf+"'");
            if (rs.next()) {
                scid = new itensreldespGS();
                scid.setChave(rs.getInt("chave"));
                scid.setCredito(rs.getString("credito"));
                scid.setDebito(rs.getString("debito"));
                scid.setDescricao(rs.getString("descricao"));
                scid.setDtdesp(rs.getString("dtdesp"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setReldespesa_idreldespesa(rs.getInt("reldespesa_idreldespesa"));
                scid.setFiliais_idfiliais(rs.getInt("filiais_idfiliais"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static int getAutoInc(String Idr, String Idf) {
        int Codigo = 0;
        try {
            PreparedStatement pstmt = Conexao.conectar().prepareStatement(
                    "Select max(iditensreldesp) From itensreldesp "
                    + "Where reldespesa_idreldespesa = '"+Idr+"' "
                    + "AND filiais_idfiliais = '"+Idf+"'");
            ResultSet rss = pstmt.executeQuery();
            rss.next();
            Codigo = rss.getInt(1) + 1;
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        return Codigo;
    }

    public void listaIreld(String Id, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from itensreldesp "
                    + "where reldespesa_idreldespesa ='"+Id+"' "
                    + "and filiais_idfiliais = '"+Idf+"'"
                    + "order by iditensreldesp");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
