/*
 * 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 cotacaoGS {
    public int chave = 0;
    public int idctto = 0;
    public String datacota = null;
    public String auditoria = null;
    public int filiais_idfiliais = 0;
    public int empresa_idempresa = 0;
    public int idclifor1 = 0;
    public int idclifor2 = 0;
    public int idclifor3 = 0;
    public String condpgto1 = null;
    public String condpgto2 = null;
    public String condpgto3 = null;

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

    public cotacaoGS(){
    }

    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 getDatacota() {
        return datacota;
    }

    public void setDatacota(String datacota) {
        this.datacota = datacota;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public int getIdctto() {
        return idctto;
    }

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

    public int getEmpresa_idempresa() {
        return empresa_idempresa;
    }

    public void setEmpresa_idempresa(int empresa_idempresa) {
        this.empresa_idempresa = empresa_idempresa;
    }

    public String getCondpgto1() {
        return condpgto1;
    }

    public void setCondpgto1(String condpgto1) {
        this.condpgto1 = condpgto1;
    }

    public String getCondpgto2() {
        return condpgto2;
    }

    public void setCondpgto2(String condpgto2) {
        this.condpgto2 = condpgto2;
    }

    public String getCondpgto3() {
        return condpgto3;
    }

    public void setCondpgto3(String condpgto3) {
        this.condpgto3 = condpgto3;
    }

    public int getIdclifor1() {
        return idclifor1;
    }

    public void setIdclifor1(int idclifor1) {
        this.idclifor1 = idclifor1;
    }

    public int getIdclifor2() {
        return idclifor2;
    }

    public void setIdclifor2(int idclifor2) {
        this.idclifor2 = idclifor2;
    }

    public int getIdclifor3() {
        return idclifor3;
    }

    public void setIdclifor3(int idclifor3) {
        this.idclifor3 = idclifor3;
    }

    public static boolean inserirCotacao (cotacaoGS cotacao){
        try{
            stm = Conexao.conectar().prepareStatement("insert into cotacao("
                    + "idcotacao, "
                    + "idctto,"
                    + "datacota,"
                    + "auditoria,"
                    + "filiais_idfiliais,"
                    + "empresa_idempresa,"
                    + "idclifor1,"
                    + "idclifor2,"
                    + "idclifor3,"
                    + "condpgto1,"
                    + "condpgto2,"
                    + "condpgto3) "
                    + "values (?,?,?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, cotacao.getChave());
            stm.setInt(2, cotacao.getIdctto());
            stm.setString(3, cotacao.getDatacota());
            stm.setString(4, cotacao.getAuditoria());
            stm.setInt(5, cotacao.getFiliais_idfiliais());
            stm.setInt(6, cotacao.getEmpresa_idempresa());
            stm.setInt(7, cotacao.getIdclifor1());
            stm.setInt(8, cotacao.getIdclifor2());
            stm.setInt(9, cotacao.getIdclifor3());
            stm.setString(10, cotacao.getCondpgto1());
            stm.setString(11, cotacao.getCondpgto2());
            stm.setString(12, cotacao.getCondpgto3());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean alterarCotacao (cotacaoGS cotacao){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("UPDATE cotacao SET "
                    + "idctto = ?,"
                    + "datacota = ?,"
                    + "auditoria = ?,"
                    + "empresa_idempresa = ? "
                    + "idclifor1 = ?,"
                    + "idclifor2 = ?,"
                    + "idclifor3 = ?,"
                    + "condpgto1 = ?,"
                    + "condpgto2 = ?,"
                    + "condpgto3 = ? "
                    + "WHERE idcotacao = ? "
                    + "AND filiais_idfiliais = ?");
            stm.setInt(1, cotacao.getIdctto());
            stm.setString(2, cotacao.getDatacota());
            stm.setString(3, cotacao.getAuditoria());
            stm.setInt(4, cotacao.getEmpresa_idempresa());
            stm.setInt(5, cotacao.getIdclifor1());
            stm.setInt(6, cotacao.getIdclifor2());
            stm.setInt(7, cotacao.getIdclifor3());
            stm.setString(8, cotacao.getCondpgto1());
            stm.setString(9, cotacao.getCondpgto2());
            stm.setString(10, cotacao.getCondpgto3());
            stm.setInt(11, cotacao.getChave());
            stm.setInt(12, cotacao.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 excluiCotacao (cotacaoGS cotacao){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from cotacao "
                    + "where idcotacao = ?"
                    + "and filiais_idfiliais = ?");
            stm.setInt(1, cotacao.getChave());
            stm.setInt(2, cotacao.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public void selCotacao(String Id, String Idf) {
        try {
            cotacaoGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select c.*, t.cttonr "
            + "From cotacao c, cttos t "
            + "where c.idctto = t.idcttos "
            + "and c.filiais_idfiliais = t.filiais_idfiliais "
            + "and idcotacao = '"+Id+"' "
            + "and c.filiais_idfiliais = '"+Idf+"'");
            if (rs.next()) {
                scid = new cotacaoGS();
                scid.setChave(rs.getInt("chave"));
                scid.setIdctto(rs.getInt("idctto"));
                scid.setDatacota(rs.getString("datacota"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setIdclifor1(rs.getInt("idclifor1"));
                scid.setIdclifor2(rs.getInt("idclifor2"));
                scid.setIdclifor3(rs.getInt("idclifor3"));
                scid.setCondpgto1(rs.getString("condpgto1"));
                scid.setCondpgto2(rs.getString("condpgto2"));
                scid.setCondpgto3(rs.getString("condpgto3"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

    public void listaCotacao(String Id){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT c.*, ct.cttonr "
            + "FROM cotacao c, cttos ct "
            + "where c.idctto=ct.idcttos "
            + "and c.filiais_idfiliais=ct.filiais_idfiliais "
            + "and c.filiais_idfiliais='"+Id+"';");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void preprelcotacao(String Id, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select e.razao_social, "
            + "p.produto, iditenscotacao, f.nome, f1.nome, "
            + "f2.nome, c.condpgto1, c.condpgto2, c.condpgto3, "
            + "preco, preco1, preco2, qtd, qtd1, qtd2, icms, "
            + "icms1, icms2, ipi, ipi1, ipi2, outros, outros1, "
            + "outros2, idcotacao, cttonr, datacota, "
            + "condpgto1, condpgto2, condpgto3, c.empresa_idempresa "
            + "from cotacao c, itenscotacao i, produtos p, "
            + "clifor f, clifor f1, clifor f2, empresa e, "
            + "cttos t "
            + "where c.idcotacao=i.cotacao_idcotacao "
            + "and c.filiais_idfiliais = t.filiais_idfiliais "
            + "and c.idctto = t.idcttos "
            + "and c.filiais_idfiliais = i.filiais_idfiliais "
            + "and c.idcotacao = '"+Id+"' "
            + "and c.filiais_idfiliais = '"+Idf+"' "
            + "and e.idempresa=c.empresa_idempresa "
            + "and c.empresa_idempresa = p.empresa_idempresa "
            + "and idproduto=idprodutos "
            + "and c.empresa_idempresa = f.empresa_idempresa "
            + "and c.empresa_idempresa = f1.empresa_idempresa "
            + "and c.empresa_idempresa = f2.empresa_idempresa "
            + "and c.idclifor1 = f.idclifor "
            + "and c.idclifor2 = f1.idclifor "
            + "and c.idclifor3 = f2.idclifor "
            + "order by iditenscotacao;");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public void listaCotacaoRelat(){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("SELECT * FROM relcotacao;");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
