Package Controle

Source Code of Controle.ControleRmp

package Controle;

import DAO.ControleRmpDao;
import DAO.RmdDao;
import DAO.RmpDao;
import DAO.RmqDao;
import DAO.UsuarioDAO;
import Entidade.ControleRelatoDeMelhoria;
import Entidade.RelatoDeMelhoria;
import Entidade.RelatoDeMelhoriaDestino;
import Entidade.RelatoDeMelhoriaQualidade;
import Entidade.StatusRelatoDeMelhoria;
import Entidade.Unidade;
import Entidade.Usuario;
import Util.Email;
import Util.Entradas;
import Util.EnumAcaoImediata;
import Util.RefreshTela;
import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.el.ELContext;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.AjaxBehaviorEvent;
import org.primefaces.context.RequestContext;

@ManagedBean
@ViewScoped
public class ControleRmp implements Serializable {

    RelatoDeMelhoria rmp = new RelatoDeMelhoria();
    RelatoDeMelhoriaDestino rmd = new RelatoDeMelhoriaDestino();
    RelatoDeMelhoriaQualidade rmq = new RelatoDeMelhoriaQualidade();
    ControleRelatoDeMelhoria crmp = new ControleRelatoDeMelhoria();
    Usuario user = new Usuario();
    private boolean renderizar = true;
    private List<RelatoDeMelhoria> rmps;
    private List<RelatoDeMelhoria> rmpsEnviadas;
    private List<RelatoDeMelhoria> minhasRmpsEnviadas;
    private List<RelatoDeMelhoria> rmpsPendentesRD;
    private List<RelatoDeMelhoria> selectedRmpRD;
    private List<RelatoDeMelhoria> minhasRmps;
    private List<Entradas> entradas;
    private Entradas entrada;
    private List<EnumAcaoImediata> acoesImediatas;
    private EnumAcaoImediata acaoImediata;
    private RelatoDeMelhoria rmpSelecionada;
    RmpDao rmpDao = new RmpDao();
    RmqDao rmqDao = new RmqDao();
    RmdDao rmdDao = new RmdDao();
    ControleRmpDao crmpDao = new ControleRmpDao();
    ELContext elContext = FacesContext.getCurrentInstance().getELContext();
    ControleSessaoUsuario loginBean = (ControleSessaoUsuario) FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(elContext, null, "controleSessaoUsuario");

    @PostConstruct
    public void init() {
        rmps = getListaRmpsSalvas();
        rmpsPendentesRD = getListaRmpsPendentesRD();
        //rmpsEnviadas = getListaRmpsEnviadas();
    }

   
   
    public List<EnumAcaoImediata> getAcoesImediatas() {
        return Arrays.asList(EnumAcaoImediata.values());
    }
    public void setAcoesImediatas(List<EnumAcaoImediata> acoesImediatas) {
        this.acoesImediatas = acoesImediatas;
    }

   
    public EnumAcaoImediata getAcaoImediata() {
        return acaoImediata;
    }
    public void setAcaoImediata(EnumAcaoImediata acaoImediata) {
        this.acaoImediata = acaoImediata;
    }
   
   
    public List<Entradas> getEntradas() {
        return Arrays.asList(Entradas.values());
    }
    public void setEntradas(List<Entradas> entradas) {
        this.entradas = entradas;
    }

   
    public Entradas getEntrada() {
        return entrada;
    }
    public void setEntrada(Entradas entrada) {
        this.entrada = entrada;
    }

   
    public List<RelatoDeMelhoria> getMinhasRmps() {
        return minhasRmps;
    }
    public void setMinhasRmps(List<RelatoDeMelhoria> minhasRmps) {
        this.minhasRmps = minhasRmps;
    }

   
    public List<RelatoDeMelhoria> getSelectedRmpRD() {
        return selectedRmpRD;
    }
    public void setSelectedRmpRD(List<RelatoDeMelhoria> selectedRmpRD) {
        this.selectedRmpRD = selectedRmpRD;
        this.aprovarRmpRD();
    }

   
    public RelatoDeMelhoria getRmpSelecionada() {
        return rmpSelecionada;
    }
    public void setRmpSelecionada(RelatoDeMelhoria rmpSelecionada) {
        this.rmpSelecionada = rmpSelecionada;
    }

   
    public List<RelatoDeMelhoria> getRmps() {
        return rmps;
    }
    public void setRmps(List<RelatoDeMelhoria> rmps) {
        this.rmps = rmps;
    }

   
    public List<RelatoDeMelhoria> getRmpsEnviadas() {
        return rmpsEnviadas;
    }
    public void setRmpsEnviadas(List<RelatoDeMelhoria> rmpsEnviadas) {
        this.rmpsEnviadas = rmpsEnviadas;
    }

   
    public List<RelatoDeMelhoria> getMinhasRmpsEnviadas() {
        return minhasRmpsEnviadas;
    }

    public void setMinhasRmpsEnviadas(List<RelatoDeMelhoria> minhasRmpsEnviadas) {
        this.minhasRmpsEnviadas = minhasRmpsEnviadas;
    }

    public List<RelatoDeMelhoria> getRmpsPendentesRD() {
        return rmpsPendentesRD;
    }

    public void setRmpsPendentesRD(List<RelatoDeMelhoria> rmpsPendentesRD) {
        this.rmpsPendentesRD = rmpsPendentesRD;
    }

    public RelatoDeMelhoria getRmp() {
        return rmp;
    }

    public void setRmp(RelatoDeMelhoria rmp) {
        this.rmp = rmp;
    }

    public boolean isRenderizar() {
        return renderizar;
    }

    public void setRenderizar(boolean renderizar) {
        this.renderizar = renderizar;
    }


//------- MÉTODOS --------------------------------------------------------------
    public void monstrarLinha(AjaxBehaviorEvent event) {
        if (rmp.getRmpTpEntrada().equals("OUTROS")) {
            renderizar = false;
        } else {
            renderizar = true;
        }
    }

    public void salvarRmp() {
        Date data = new Date();
        this.rmp.setUsuCodResponsavel(loginBean.usuarioConsultado1);
        this.rmp.setUniCodUnidaderelatora(loginBean.usuarioConsultado1.getUniCodigo());
        this.rmp.setRmpDtAbertura(data);

        rmpDao.salvar(this.rmp);
       
        rmp = new RelatoDeMelhoria();//cria um novo objeto para limpar os dados do RMP em tela
       
        getListaRmpsSalvas();//busca novamente RMP's salvas para exibir atualizado na tela
       
       
        FacesMessage msg = new FacesMessage("O RMP foi arquivado, alterações poderão ser realizadas através da tabela abaixo até o envio do mesmo.", "");
        FacesContext.getCurrentInstance().addMessage("msgUpdate", msg);
    }

    public void salvarEnviarRmp() {
        StatusRelatoDeMelhoria srmp = new StatusRelatoDeMelhoria();
        Date data = new Date();

        this.rmp.setRmpDtAbertura(data);
        this.rmp.setUsuCodResponsavel(loginBean.usuarioConsultado1);
        this.rmp.setUniCodUnidaderelatora(loginBean.usuarioConsultado1.getUniCodigo());

        srmp.setStsCodigo(6);

        rmpDao.salvar(this.rmp); //salva na tabela de relato de melhoria
       
        getListaRmpsSalvas();//busca novamente RMP's salvas para exibir atualizado na tela

        if (loginBean.controlePar.getParametros().getParSnAprovaRmp() ) {
            if (validarSalvarEnviarRmp(this.rmp)){
                RelatoDeMelhoriaQualidade rmqNew = new RelatoDeMelhoriaQualidade();

                rmqNew.setRmpCodigo(rmp);
                rmqNew.setRmqDtRecebimento(data);
                rmqDao.salvar(rmqNew);

                //this.rmq.setRmpCodigo(rmp);
                //this.rmq.setRmqDtRecebimento(data);
                //rmqDao.salvar(this.rmq);
                getListaRmpsSalvas();//busca novamente RMP's salvas para exibir atualizado na tela

                this.crmp.setCrmpDtOcorrencia(this.rmp.getRmpDtOcorrencia());
                this.crmp.setCrmpTpEncaminhamento("RD");
                this.crmp.setRmpCodigo(this.rmp);
                this.crmp.setStsCodigo(srmp);

                crmpDao.salvar(this.crmp);
                getListaRmpsSalvas();
                FacesMessage msg = new FacesMessage("O RMP foi enviado ao RD para aprovação.", "");
                FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);
            } else{
                FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Você deve preencher todos os campos para poder enviar o RMP", "");
                FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);
            }
        } else {
            if (validarSalvarEnviarRmp(this.rmp)){
                this.rmp.setRmpDtRelato(data);

                this.rmd.setRmpCodigo(this.rmp);
                this.rmd.setRmdDtRecebimento(data);
                this.rmd.setUsuCodResponsavel(loginBean.usuarioConsultado1);
                this.rmd.setRmdSnPlanoacao(false);
                rmdDao.salvar(this.rmd);

                this.crmp.setCrmpDtOcorrencia(this.rmp.getRmpDtOcorrencia());
                this.crmp.setCrmpTpEncaminhamento("UNIDADE");
                this.crmp.setRmpCodigo(this.rmp);
                this.crmp.setStsCodigo(srmp);
                crmpDao.salvar(this.crmp);
                getListaRmpsSalvas();//busca novamente RMP's salvas para exibir atualizado na tela

                this.buscarEEnviarEmails(rmp.getUniCodUnidadedestino());

                FacesMessage msg = new FacesMessage("O RMP e um e-mail foram enviados ao setor destino.", "");
                FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);
            } else {
                FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Você deve preencher todos os campos para poder enviar o RMP", "");
                FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);
            }
           
        }

    }

    public void buscarEEnviarEmails(Unidade unidade) {

        Email dispararEmail = new Email();
        UsuarioDAO usuDao = new UsuarioDAO();
        List<Usuario> usuarios = usuDao.listarUsuariosPorUnidade(unidade);
        int cont = 0;

        if (!usuarios.isEmpty()) {
            while (!usuarios.isEmpty()) {
                user = (Usuario) usuarios.get(cont);
                usuarios.remove(cont);
                dispararEmail.enviarEmail(user.getUsuDscEmail());
            }
        }
    }

    public List<RelatoDeMelhoria> getListaRmpsSalvas() {
        Integer codigoUsuario = loginBean.usuarioConsultado1.getUsuCodigo();
        rmps = new RmpDao().listarRmpsSalvas(codigoUsuario);
        return rmps;
    }

    public List<RelatoDeMelhoria> getListaRmpsEnviadas() {
        Integer codigoUsuario = loginBean.usuarioConsultado1.getUsuCodigo();
        rmps = new RmpDao().listarRmpsEnviadas(codigoUsuario);
        return rmps;
    }

    public List<RelatoDeMelhoria> getListaRmpsPendentesRD() {
        rmpsPendentesRD = new RmpDao().listarRmpsPendendesRD();
        return rmpsPendentesRD;
    }

    public void aprovarRmpRD() {
        Date data = new Date();
        int contador = 0;
        while (!selectedRmpRD.isEmpty()) {
            rmp = selectedRmpRD.get(contador);
            rmp.setRmpDtRelato(data);
            rmq = (RelatoDeMelhoriaQualidade) rmp.getRelatoDeMelhoriaQualidade();
            this.rmq.setRmqSnAprovado(true);
            this.rmq.setRmqDtEncaminhamento(data);
            rmqDao.salvar(rmq);
           
            this.rmd.setRmpCodigo(this.rmp);
            this.rmd.setRmdDtRecebimento(data);
            this.rmd.setUsuCodResponsavel(loginBean.usuarioConsultado1);
            this.rmd.setRmdSnPlanoacao(false);
            rmdDao.salvar(this.rmd);
           
            selectedRmpRD.remove(rmp);

            buscarEEnviarEmails(rmp.getUniCodUnidadedestino());

        }
        RefreshTela rt = new RefreshTela(); //atributo Update do prime não atualiza a page então criei esse método.
        rt.atualizarTela();

        FacesMessage msg = new FacesMessage("O RMP foi aprovado e um e-mail foi enviado à Unidade destino", "");
        FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);
    }

    public void rejeitarRmpRD() {

        Date data = new Date();

        rmpSelecionada.getRelatoDeMelhoriaQualidade().setRmqSnAprovado(false);
        rmpSelecionada.getRelatoDeMelhoriaQualidade().setUsuCodResponsavel(loginBean.usuarioConsultado1);
        rmpSelecionada.getRelatoDeMelhoriaQualidade().setRmqDtEncaminhamento(data);

        rmq = (RelatoDeMelhoriaQualidade) rmpSelecionada.getRelatoDeMelhoriaQualidade();
        rmqDao.salvar(rmq);

        RefreshTela rt = new RefreshTela(); //atributo Update do prime não atualiza a page então criei esse método.
        rt.atualizarTela();

        FacesMessage msg = new FacesMessage("O RMP foi rejeitado", "");
        FacesContext.getCurrentInstance().addMessage("growlUpdate", msg);

    }
   
    public boolean validarSalvarEnviarRmp(RelatoDeMelhoria rmpTestada){
       
        if (rmpTestada.getRmpDtOcorrencia() != null &&
            rmpTestada.getUniCodUnidadedestino() != null &&
            !rmpTestada.getRmpTpEntrada().equals("") &&
            !rmpTestada.getRmpDscRelato().equals("") &&
            rmpTestada.getRmpTpAcaoimediata() != null &&
            !rmpTestada.getRmpDscAcaorealizada().equals("")) {
            return true;
        } else {
            return false;
        }
       
    }
   

}
TOP

Related Classes of Controle.ControleRmp

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.