/*
 * 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 solpgtoGS {
    int chave = 0;
    int idctto = 0;
    String favorecido = null;
    String formapgto = null;
    String dtsolicitacao = null;
    String dtpgto = null;
    String total = null;
    String auditoria = null;
    int filiais_idfiliais = 0;

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

    public solpgtoGS(){
    }

    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 getDtpgto() {
        return dtpgto;
    }

    public void setDtpgto(String dtpgto) {
        this.dtpgto = dtpgto;
    }

    public String getDtsolicitacao() {
        return dtsolicitacao;
    }

    public void setDtsolicitacao(String dtsolicitacao) {
        this.dtsolicitacao = dtsolicitacao;
    }

    public String getFavorecido() {
        return favorecido;
    }

    public void setFavorecido(String favorecido) {
        this.favorecido = favorecido;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public String getFormapgto() {
        return formapgto;
    }

    public void setFormapgto(String formapgto) {
        this.formapgto = formapgto;
    }

    public int getIdctto() {
        return idctto;
    }

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

    public String getTotal() {
        return total;
    }

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

    public static boolean inserirSolpgto (solpgtoGS compras){
        try{
            stm = Conexao.conectar().prepareStatement("insert into solpgto(idsolpgto,idctto,"
            + "favorecido,formapgto,dtsolicitacao,dtpgto,total,auditoria,"
            + "filiais_idfiliais) values (?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, compras.getChave());
            stm.setInt(2, compras.getIdctto());
            stm.setString(3, compras.getFavorecido());
            stm.setString(4, compras.getFormapgto());
            stm.setString(5, compras.getDtsolicitacao());
            stm.setString(6, compras.getDtpgto());
            stm.setString(7, compras.getTotal());
            stm.setString(8, compras.getAuditoria());
            stm.setInt(9, compras.getFiliais_idfiliais());

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

    public static boolean altSPidccto (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "idctto=? "
                    + "where idsolpgto=? "
                    + "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 altSPfaforec (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "favorecido=? "
                    + "where idsolpgto=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, compras.getFavorecido());
            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 altSPformapg (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "formapgto=? "
                    + "where idsolpgto=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, compras.getFormapgto());
            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 altSPdtsolic (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "dtsolicitacao=? "
                    + "where idsolpgto=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, compras.getDtsolicitacao());
            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 altSPdtpgto (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "dtpgto=? "
                    + "where idsolpgto=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, compras.getDtpgto());
            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 altSPtotal (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "total=? "
                    + "where idsolpgto=? "
                    + "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 altSPaud (solpgtoGS compras){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update solpgto set "
                    + "auditoria=? "
                    + "where idsolpgto=? "
                    + "and filiais_idfiliais=?");
            stm.setString(7, compras.getAuditoria());
            stm.setInt(8, compras.getChave());
            stm.setInt(9, 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 excluiSolpgto(solpgtoGS compras){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from solpgto "
                    + "where solpgto = ?");
            stm.setInt(1, compras.getChave());
            int executeUpdate = stm.executeUpdate();

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

    public void selSolpgto(String Ids, String Idf) {
        try {
            solpgtoGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From solpgto Where "
            + "idsolpgto ='"+Ids+"' and filiais_idfiliais='"+Idf+"'");
            if (rs.next()) {
                scid = new solpgtoGS();
                scid.setChave(rs.getInt("chave"));
                scid.setIdctto(rs.getInt("idctto"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setDtpgto(rs.getString("dtpgto"));
                scid.setDtsolicitacao(rs.getString("dtsolicitacao"));
                scid.setFavorecido(rs.getString("favorecido"));
                scid.setFiliais_idfiliais(rs.getInt("filiais_idfiliais"));
                scid.setFormapgto(rs.getString("formapgto"));
                scid.setTotal(rs.getString("total"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

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

    public void listaSolpgtoCtto(String Id, String Idc){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select * from solpgto "
                    +"where filiais_idfiliais='"+Id+"' "
                    + "and idctto='"+Idc+"' order by idsolpgto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void impSolpgto(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select s.*, f.razao_social, "
            + "c.cttonr, i.* "
            + "from solpgto s, filiais f, cttos c, itenssolpgto i "
            + "where s.filiais_idfiliais=f.idfiliais "
            + "and i.filiais_idfiliais=f.idfiliais "
            + "and c.filiais_idfiliais=f.idfiliais "
            + "and s.idctto=c.idcttos "
            + "and i.solpgto_idsolpgto=s.idsolpgto "
            + "and s.idsolpgto = '"+Id+"' order by i.iditenssolpgto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
