/*
 * 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 itensreqcompraGS {
    public int chave = 0;
    public int idproduto = 0;
    public String qtd = null;
    public String vlrunit = null;
    public String vlricms = null;
    public String vlripi = null;
    public String vlrtot = null;
    public String auditoria = null;
    public int reqcompras_idreqcompras = 0;
    public int filiais_idfiliais = 0;

    public String sqtd = null;
    public String svlrunit = null;
    public String svlricms = null;
    public String svlripi = null;
    public String svlrtot = null;

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

    public itensreqcompraGS(){
    }

    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 getFiliais_idfiliais() {
        return filiais_idfiliais;
    }

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

    public int getIdproduto() {
        return idproduto;
    }

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

    public String getQtd() {
        return qtd;
    }

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

    public int getReqcompras_idreqcompras() {
        return reqcompras_idreqcompras;
    }

    public void setReqcompras_idreqcompras(int reqcompras_idreqcompras) {
        this.reqcompras_idreqcompras = reqcompras_idreqcompras;
    }

    public String getVlricms() {
        return vlricms;
    }

    public void setVlricms(String vlricms) {
        this.vlricms = vlricms;
    }

    public String getVlripi() {
        return vlripi;
    }

    public void setVlripi(String vlripi) {
        this.vlripi = vlripi;
    }

    public String getVlrtot() {
        return vlrtot;
    }

    public void setVlrtot(String vlrtot) {
        this.vlrtot = vlrtot;
    }

    public String getVlrunit() {
        return vlrunit;
    }

    public void setVlrunit(String vlrunit) {
        this.vlrunit = vlrunit;
    }

    public String getSqtd() {
        return sqtd;
    }

    public void setSqtd(String sqtd) {
        this.sqtd = sqtd;
    }

    public String getSvlricms() {
        return svlricms;
    }

    public void setSvlricms(String svlricms) {
        this.svlricms = svlricms;
    }

    public String getSvlripi() {
        return svlripi;
    }

    public void setSvlripi(String svlripi) {
        this.svlripi = svlripi;
    }

    public String getSvlrtot() {
        return svlrtot;
    }

    public void setSvlrtot(String svlrtot) {
        this.svlrtot = svlrtot;
    }

    public String getSvlrunit() {
        return svlrunit;
    }

    public void setSvlrunit(String svlrunit) {
        this.svlrunit = svlrunit;
    }

    public static boolean inserirIreqcom (itensreqcompraGS grupo){
        try{
            stm = Conexao.conectar().prepareStatement("insert into itensreqcompra"
                    + "(iditensreqcompra,"
                    + "idproduto,"
                    + "qtd,"
                    + "vlrunit,"
                    + "vlricms,"
                    + "vlripi,"
                    + "vlrtot,"
                    + "auditoria,"
                    + "reqcompras_idreqcompras,"
                    + "filiais_idfiliais) values "
                    + "(?,?,?,?,?,?,?,?,?,?)");
            stm.setInt(1, grupo.getChave());
            stm.setInt(2, grupo.getIdproduto());
            stm.setString(3, grupo.getQtd());
            stm.setString(4, grupo.getVlrunit());
            stm.setString(5, grupo.getVlricms());
            stm.setString(6, grupo.getVlripi());
            stm.setString(7, grupo.getVlrtot());
            stm.setString(8, grupo.getAuditoria());
            stm.setInt(9, grupo.getReqcompras_idreqcompras());
            stm.setInt(10, grupo.getFiliais_idfiliais());
            stm.executeUpdate();
            stm.close();
            return true;
        }catch(Exception e){
            System.out.println("Erro ao inserir");
            return false;
        }
    }

    public static boolean altIRCidpro (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "idproduto=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setInt(1, grupo.getIdproduto());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCqrd (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "qtd=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getQtd());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCvlruni (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "vlrunit=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getVlrunit());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCvlricm (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "vlricms=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getVlricms());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCvlripi (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "vlripi=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getVlripi());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCvlrtot (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "vlrtot=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getVlrtot());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 altIRCaud (itensreqcompraGS grupo){
        boolean testa = false;
        try{
            stm = Conexao.conectar().prepareStatement("update itensreqcompra set "
                    + "auditoria=? "
                    + "where iditensreqcompra=? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setString(1, grupo.getAuditoria());
            stm.setInt(2, grupo.getChave());
            stm.setInt(3, grupo.getReqcompras_idreqcompras());
            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 excluiIreqcom (itensreqcompraGS grupo){
        boolean testa = false;
        try {
            stm = Conexao.conectar().prepareStatement("delete from itensreqcompra "
                    + "where iditensreqcompra = ? "
                    + "and reqcompras_idreqcompras=? "
                    + "and filiais_idfiliais=?");
            stm.setInt(1, grupo.getChave());
            stm.setInt(2, grupo.getReqcompras_idreqcompras());
            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 selIreqcom(String Id, String Idr, String Idf) {
        try {
            itensreqcompraGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select * From itensreqcompra "
                    + "Where iditensreqcompra ='"+Id+"' "
                    + "and reqcompras_idreqcompras='"+Idr+"' "
                    + "and filiais_idfiliais= '"+Idf+"'");
            if (rs.next()) {
                scid = new itensreqcompraGS();
                scid.setChave(rs.getInt("chave"));
                scid.setIdproduto(rs.getInt("idproduto"));
                scid.setQtd(rs.getString("qtd"));
                scid.setVlrunit(rs.getString("vlrunit"));
                scid.setVlricms(rs.getString("vlricms"));
                scid.setVlripi(rs.getString("vlripi"));
                scid.setVlrtot(rs.getString("vlrtot"));
                scid.setAuditoria(rs.getString("auditoria"));
                scid.setReqcompras_idreqcompras(rs.getInt("reqcompras_idreqcompras"));
            }
            rs.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void selIreqcomSoma(String Idr, String Idf) {
        try {
            itensreqcompraGS scid = null;
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("Select sum(qtd),sum(vlrunit),sum(vlricms),"
                    + "sum(vlripi),sum(vlrtot) From itensreqcompra "
                    + "Where reqcompras_idreqcompras='"+Idr+"' "
                    + "and filiais_idfiliais= '"+Idf+"'");
            if (rs.next()) {
                scid = new itensreqcompraGS();
                scid.setSqtd(rs.getString("sqtd"));
                scid.setSvlrunit(rs.getString("svlrunit"));
                scid.setSvlricms(rs.getString("svlricms"));
                scid.setSvlripi(rs.getString("svlripi"));
                scid.setSvlrtot(rs.getString("svlrtot"));
            }
            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(iditensreqcompra) From itensreqcompra "
                    + "Where reqcompras_idreqcompras='"+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 listaIreqcom(String Id, String Idf){
        try{
            stmt = Conexao.conectar().createStatement();
            rs = stmt.executeQuery("select i.*, p.produto "
                    + "from itensreqcompra i, produtos p "
                    + "where i.idproduto=p.idprodutos "
                    + "and i.filiais_idfiliais=p.empresa_idempresa "
                    + "and i.reqcompras_idreqcompras ='"+Id+"' "
                    + "and i.filiais_idfiliais= '"+Idf+"' "
                    + "order by p.produto");
        }catch(Exception e){
            e.printStackTrace();
        }
    }

    public ResultSet getResultado(){
        return rs;
    }

}
