/*
 * 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 cotacaoitensGS {
    public int chave = 0;
    public int idproduto = 0;
    public int idclifor3 = 0;
    public int idclifor1 = 0;
    public int idclifor2 = 0;
    public String preco = null;
    public String preco1 = null;
    public String preco2 = null;
    public String qtd = null;
    public String qtd1 = null;
    public String qtd2 = null;
    public String icms = null;
    public String icms1 = null;
    public String icms2 = null;
    public String ipi = null;
    public String ipi1 = null;
    public String ipi2 = null;
    public String outros = null;
    public String outros1 = null;
    public String outros2 = null;
    public String auditoria = null;
    public int cotacao_idcotacao = 0;
    public  int filiais_idfiliais = 0;

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

    public cotacaoitensGS(){
    }

    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 int getCotacao_idcotacao() {
        return cotacao_idcotacao;
    }

    public void setCotacao_idcotacao(int cotacao_idcotacao) {
        this.cotacao_idcotacao = cotacao_idcotacao;
    }

    public String getIcms() {
        return icms;
    }

    public void setIcms(String icms) {
        this.icms = icms;
    }

    public String getIcms1() {
        return icms1;
    }

    public void setIcms1(String icms1) {
        this.icms1 = icms1;
    }

    public String getIcms2() {
        return icms2;
    }

    public void setIcms2(String icms2) {
        this.icms2 = icms2;
    }

    public int getIdclifor3() {
        return idclifor3;
    }

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

    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 getIdproduto() {
        return idproduto;
    }

    public void setIdproduto(int idproduto) {
        this.idproduto = idproduto;
    }

    public String getIpi() {
        return ipi;
    }

    public void setIpi(String ipi) {
        this.ipi = ipi;
    }

    public String getIpi1() {
        return ipi1;
    }

    public void setIpi1(String ipi1) {
        this.ipi1 = ipi1;
    }

    public String getIpi2() {
        return ipi2;
    }

    public void setIpi2(String ipi2) {
        this.ipi2 = ipi2;
    }

    public String getOutros() {
        return outros;
    }

    public void setOutros(String outros) {
        this.outros = outros;
    }

    public String getOutros1() {
        return outros1;
    }

    public void setOutros1(String outros1) {
        this.outros1 = outros1;
    }

    public String getOutros2() {
        return outros2;
    }

    public void setOutros2(String outros2) {
        this.outros2 = outros2;
    }

    public String getPreco() {
        return preco;
    }

    public void setPreco(String preco) {
        this.preco = preco;
    }

    public String getPreco1() {
        return preco1;
    }

    public void setPreco1(String preco1) {
        this.preco1 = preco1;
    }

    public String getPreco2() {
        return preco2;
    }

    public void setPreco2(String preco2) {
        this.preco2 = preco2;
    }

    public String getQtd() {
        return qtd;
    }

    public void setQtd(String qtd) {
        this.qtd = qtd;
    }

    public String getQtd1() {
        return qtd1;
    }

    public void setQtd1(String qtd1) {
        this.qtd1 = qtd1;
    }

    public String getQtd2() {
        return qtd2;
    }

    public void setQtd2(String qtd2) {
        this.qtd2 = qtd2;
    }

    public int getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public static boolean inserirCotacaoItens (cotacaoitensGS cotacao){
        try{
            stm = Conexao.conectar().prepareStatement("insert into itenscotacao(iditenscotacao, "
            + " idproduto, idclifor3, idclifor1, idclifor2, preco, preco1, "
            + " preco2, qtd, qtd1, qtd2, icms, icms1, icms2, ipi, ipi1, ipi2, "
            + " outros, outros1, outros2, auditoria, cotacao_idcotacao, "
            + " filiais_idfiliais) "
            + "values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, cotacao.getChave());
            stm.setInt(2, cotacao.getIdproduto());
            stm.setInt(3, cotacao.getIdclifor3());
            stm.setInt(4, cotacao.getIdclifor1());
            stm.setInt(5, cotacao.getIdclifor2());
            stm.setString(6, cotacao.getPreco());
            stm.setString(7, cotacao.getPreco1());
            stm.setString(8, cotacao.getPreco2());
            stm.setString(9, cotacao.getQtd());
            stm.setString(10, cotacao.getQtd1());
            stm.setString(11, cotacao.getQtd2());
            stm.setString(12, cotacao.getIcms());
            stm.setString(13, cotacao.getIcms1());
            stm.setString(14, cotacao.getIcms2());
            stm.setString(15, cotacao.getIpi());
            stm.setString(16, cotacao.getIpi1());
            stm.setString(17, cotacao.getIpi2());
            stm.setString(18, cotacao.getOutros());
            stm.setString(19, cotacao.getOutros1());
            stm.setString(20, cotacao.getOutros2());
            stm.setString(21, cotacao.getAuditoria());
            stm.setInt(22, cotacao.getCotacao_idcotacao());
            stm.setInt(23, cotacao.getFiliais_idfiliais());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean alterarCotacaoItens (cotacaoitensGS cotacao){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itenscotacao set "
            + "idproduto=?, idclifor3=?, idclifor1=?, idclifor2=?, preco=?, "
            + "preco1=?, preco2=?, qtd=?, qtd1=?, qtd2=?, icms=?, icms1=?, "
            + "icms2=?, ipi=?, ipi1=?, ipi2=?, outros=?, outros1=?, "
            + "outros2=?, auditoria=? "
            + "where iditenscotacao = ? and cotacao_idcotacao=? "
            + "and filiais_idfiliais = ?");
            stm.setInt(1, cotacao.getIdproduto());
            stm.setInt(2, cotacao.getIdclifor3());
            stm.setInt(3, cotacao.getIdclifor1());
            stm.setInt(4, cotacao.getIdclifor2());
            stm.setString(5, cotacao.getPreco());
            stm.setString(6, cotacao.getPreco1());
            stm.setString(7, cotacao.getPreco2());
            stm.setString(8, cotacao.getQtd());
            stm.setString(9, cotacao.getQtd1());
            stm.setString(10, cotacao.getQtd2());
            stm.setString(11, cotacao.getIcms());
            stm.setString(12, cotacao.getIcms1());
            stm.setString(13, cotacao.getIcms2());
            stm.setString(14, cotacao.getIpi());
            stm.setString(15, cotacao.getIpi1());
            stm.setString(16, cotacao.getIpi2());
            stm.setString(17, cotacao.getOutros());
            stm.setString(18, cotacao.getOutros1());
            stm.setString(19, cotacao.getOutros2());
            stm.setString(20, cotacao.getAuditoria());
            stm.setInt(21, cotacao.getChave());
            stm.setInt(22, cotacao.getCotacao_idcotacao());
            stm.setInt(23, 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 excluiCotacaoItens (cotacaoitensGS cotacao){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from itenscotacao "
            + "where iditenscotacao = ? and cotacao_idcotacao=? "
            + "and filiais_idfiliais = ?");
            stm.setInt(1, cotacao.getChave());
            stm.setInt(2, cotacao.getCotacao_idcotacao());
            stm.setInt(3, cotacao.getFiliais_idfiliais());
            int executeUpdate = stm.executeUpdate();

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

    public void selCotacaoItens(String Id, String Idc, String Idf) {
        try {
            cotacaoitensGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From itenscotacao "
            + "where iditenscotacao ='"+Id+"'"
            + "and cotacao_idcotacao = '"+Idc+"' "
            + "and filiais_idfiliais = '"+Idf+"'");
            if (rs.next()) {
                scid = new cotacaoitensGS();
                scid.setChave(rs.getInt("chave"));
                scid.setIdproduto(rs.getInt("idproduto"));
                scid.setIdclifor3(rs.getInt("idclifor3"));
                scid.setIdclifor1(rs.getInt("idclifor1"));
                scid.setIdclifor2(rs.getInt("idclifor2"));
                scid.setPreco(rs.getString("preco"));
                scid.setPreco1(rs.getString("preco1"));
                scid.setPreco2(rs.getString("preco2"));
                scid.setQtd(rs.getString("qtd"));
                scid.setQtd1(rs.getString("qtd1"));
                scid.setQtd2(rs.getString("qtd2"));
                scid.setIcms(rs.getString("icms"));
                scid.setIcms1(rs.getString("icms1"));
                scid.setIcms2(rs.getString("icms1"));
                scid.setIpi(rs.getString("ipi"));
                scid.setIpi1(rs.getString("ipi1"));
                scid.setIpi2(rs.getString("ipi2"));
                scid.setOutros(rs.getString("outros"));
                scid.setOutros1(rs.getString("outros1"));
                scid.setOutros2(rs.getString("outros2"));
                scid.setCotacao_idcotacao(rs.getShort("cotacao_idcotacao"));
                scid.setAuditoria(rs.getString("auditoria"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

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

    public void listaItensCotacao(String Id, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select i.*, c.idcotacao, "
            + "produto, f.nome, f1.nome, f2.nome "
            + "from cotacao c, itenscotacao i, produtos p, "
            + "clifor f, clifor f1, clifor f2 "
            + "where c.idcotacao=i.cotacao_idcotacao "
            + "and i.filiais_idfiliais = c.filiais_idfiliais "
            + "and c.idcotacao = '"+Id+"' "
            + "and c.filiais_idfiliais = '"+Idf+"' "
            + "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 ResultSet getResultado(){
        return rs;
    }

}
