package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.Atividade; import gcom.atendimentopublico.ordemservico.Equipe; import gcom.atendimentopublico.ordemservico.FiltroEquipe; import gcom.atendimentopublico.ordemservico.OrdemServico; import gcom.atendimentopublico.ordemservico.OrdemServicoAtividade; import gcom.atendimentopublico.ordemservico.OsAtividadePeriodoExecucao; import gcom.atendimentopublico.ordemservico.OsExecucaoEquipe; import gcom.atendimentopublico.ordemservico.bean.ManterDadosAtividadesOrdemServicoHelper; import gcom.atendimentopublico.ordemservico.bean.OSAtividadePeriodoExecucaoHelper; import gcom.atendimentopublico.ordemservico.bean.OSExecucaoEquipeHelper; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os * par�metros para realiza��o da atualiza��o dos dados das atividades de uma OS * (Horas) * * @author Raphael Rossiter * @date 18/09/2006 */ public class ExibirManterHorasExecucaoEquipeOSAction extends GcomAction{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("manterHorasExecucaoEquipeOS"); ManterHorasExecucaoEquipeOSActionForm form = (ManterHorasExecucaoEquipeOSActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); //Carregamento inicial String numeroOS = httpServletRequest.getParameter("ordemServico"); if (numeroOS != null && !numeroOS.equalsIgnoreCase("")){ //Identifica se a chamada foi feita por uma tela principal ou por um popup String caminhoRetorno = httpServletRequest.getParameter("caminhoRetorno"); if (caminhoRetorno != null && !caminhoRetorno.equalsIgnoreCase("")){ sessao.setAttribute("caminhoRetornoManterHoras", caminhoRetorno); } String idAtividade = httpServletRequest.getParameter("idAtividade"); String descricaoAtividade = httpServletRequest.getParameter("descricaoAtividade"); form.setNumeroOS(numeroOS); form.setIdAtividade(idAtividade); form.setDescricaoAtividade(descricaoAtividade); /* * Apresentar na data de execu��o a data do roteiro caso tenha sido informada, caso contr�rio informar * a data do encerramento */ String dataRoteiro = httpServletRequest.getParameter("dataRoteiro"); String dataEncerramento = httpServletRequest.getParameter("dataEncerramento"); if (dataRoteiro != null && !dataRoteiro.equalsIgnoreCase("")){ form.setDataExecucao(dataRoteiro); form.setDataEncerramentoOS(""); httpServletRequest.setAttribute("nomeCampo", "horaInicioExecucao"); sessao.setAttribute("desabilitarDataExecucao", "OK"); } else{ form.setDataExecucao(dataEncerramento); form.setDataEncerramentoOS(dataEncerramento); httpServletRequest.setAttribute("nomeCampo", "dataExecucao"); sessao.removeAttribute("desabilitarDataExecucao"); } //Equipes Programadas Collection colecaoEquipes = fachada.obterEquipesProgramadas(Util .converterStringParaInteger(numeroOS)); if (colecaoEquipes != null && !colecaoEquipes.isEmpty()) { sessao.setAttribute("colecaoEquipe", colecaoEquipes); } //Caso a OS esteja associada a um documento de cobran�a sessao.removeAttribute("documentoCobranca"); sessao.removeAttribute("registroAtendimento"); sessao.removeAttribute("colecaoEquipesPorUnidade"); if (fachada.verificarOSAssociadaDocumentoCobranca(Util.converterStringParaInteger(numeroOS))){ sessao.setAttribute("documentoCobranca", "OK"); } //Caso a OS esteja associada a um RA else if (fachada.verificarOSAssociadaRA(Util.converterStringParaInteger(numeroOS))){ //Pesquisa o �ltimo tramite do RA para obter a unidade de destino Integer idUnidadeDestino = fachada.obterUnidadeDestinoUltimoTramite(Util.converterStringParaInteger(numeroOS)); if (idUnidadeDestino != null){ //Obt�m todas as equipes pertencentens a unidade de destino Collection colecaoEquipesPorUnidade = fachada.obterEquipesPorUnidade(idUnidadeDestino); if (colecaoEquipesPorUnidade != null && !colecaoEquipesPorUnidade.isEmpty()){ sessao.setAttribute("registroAtendimento", "OK"); sessao.setAttribute("colecaoEquipesPorUnidade", colecaoEquipesPorUnidade); }else{ throw new ActionServletException("atencao.unidade_sem_equipe"); } } } //Inicializando o formul�rio form.setHoraInicioExecucao(""); form.setHoraFimExecucao(""); form.setIdEquipeProgramada(""); form.setIdEquipeNaoProgramada(""); form.setDescricaoEquipeNaoProgramada(""); } //Pesquisar Equipe ENTER if ((form.getIdEquipeNaoProgramada() != null && !form.getIdEquipeNaoProgramada().equals("")) && (form.getDescricaoEquipeNaoProgramada() == null || form.getDescricaoEquipeNaoProgramada().equals(""))){ FiltroEquipe filtroEquipe = new FiltroEquipe(); filtroEquipe.adicionarParametro(new ParametroSimples(FiltroEquipe.ID, form.getIdEquipeNaoProgramada())); filtroEquipe.adicionarParametro(new ParametroSimples(FiltroEquipe.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoEquipe = fachada.pesquisar(filtroEquipe, Equipe.class.getName()); if (colecaoEquipe == null || colecaoEquipe.isEmpty()) { form.setIdEquipeNaoProgramada(""); form.setDescricaoEquipeNaoProgramada("EQUIPE INEXISTENTE"); httpServletRequest.setAttribute("corEquipe", "exception"); httpServletRequest.setAttribute("nomeCampo", "idEquipeNaoProgramada"); } else { Equipe equipe = (Equipe) Util .retonarObjetoDeColecao(colecaoEquipe); form.setIdEquipeNaoProgramada(equipe.getId().toString()); form.setDescricaoEquipeNaoProgramada(equipe.getNome()); httpServletRequest.setAttribute("nomeCampo", "botaoAdicionar"); } } //Pesquisar Equipe POPUP String pesquisarEquipe = httpServletRequest.getParameter("pesquisarEquipe"); if (pesquisarEquipe != null && !pesquisarEquipe.equalsIgnoreCase("")){ retorno = actionMapping.findForward("pesquisarEquipe"); } //Recebendo dados Equipe POPUP if (httpServletRequest.getParameter("idCampoEnviarDados") != null){ form.setIdEquipeNaoProgramada(httpServletRequest.getParameter("idCampoEnviarDados")); form.setDescricaoEquipeNaoProgramada(httpServletRequest.getParameter("descricaoCampoEnviarDados")); httpServletRequest.setAttribute("nomeCampo", "horaInicioExecucao"); } //Adicionar String adicionarPeriodoEquipe = httpServletRequest.getParameter("adicionarPeriodoEquipe"); if (adicionarPeriodoEquipe != null && !adicionarPeriodoEquipe.equalsIgnoreCase("")){ //Verificando as informa��es colhidas //=================================================================================== Integer idEquipe = null; if (form.getIdEquipeProgramada() != null && !form.getIdEquipeProgramada().equalsIgnoreCase("")){ idEquipe = Util.converterStringParaInteger(form.getIdEquipeProgramada()); } else{ idEquipe = Util.converterStringParaInteger(form.getIdEquipeNaoProgramada()); } fachada.verificaDadosAdicionarPeriodoEquipe(form.getDataExecucao(), form.getHoraInicioExecucao(), form.getHoraFimExecucao(), idEquipe, form.getDataEncerramentoOS(), Util.converterStringParaInteger(form.getNumeroOS())); //=================================================================================== //Informando OrdemServicoAtividade if (sessao.getAttribute("colecaoManterDadosAtividadesOrdemServicoHelper") != null){ Collection colecaoManterDadosAtividadesOrdemServicoHelper = (Collection) sessao.getAttribute("colecaoManterDadosAtividadesOrdemServicoHelper"); this.informarOrdemServicoAtividade(colecaoManterDadosAtividadesOrdemServicoHelper, Util.converterStringParaInteger(form.getNumeroOS()), Util.converterStringParaInteger(form.getIdAtividade()), form.getDataExecucao(), form.getHoraInicioExecucao(), form.getHoraFimExecucao(), idEquipe, sessao, fachada); } else{ this.informarOrdemServicoAtividade(null, Util.converterStringParaInteger(form.getNumeroOS()), Util.converterStringParaInteger(form.getIdAtividade()), form.getDataExecucao(), form.getHoraInicioExecucao(), form.getHoraFimExecucao(), idEquipe, sessao, fachada); } //Inicializando o formul�rio form.setHoraInicioExecucao(""); form.setHoraFimExecucao(""); form.setIdEquipeProgramada(""); form.setIdEquipeNaoProgramada(""); form.setDescricaoEquipeNaoProgramada(""); httpServletRequest.setAttribute("nomeCampo", "horaInicioExecucao"); } //Remover String removerPeriodoEquipe = httpServletRequest.getParameter("removerPeriodoEquipe"); if (removerPeriodoEquipe != null && !removerPeriodoEquipe.equalsIgnoreCase("")){ long identificadorEquipe = Long.valueOf(removerPeriodoEquipe); Collection colecaoSessao = (Collection) sessao.getAttribute("colecaoManterDadosAtividadesOrdemServicoHelper"); this.removerPeriodoExecucaoEquipe(identificadorEquipe, Util.converterStringParaInteger(form.getIdAtividade()), colecaoSessao); //Inicializando o formul�rio form.setHoraInicioExecucao(""); form.setHoraFimExecucao(""); form.setIdEquipeProgramada(""); form.setIdEquipeNaoProgramada(""); form.setDescricaoEquipeNaoProgramada(""); httpServletRequest.setAttribute("nomeCampo", "horaInicioExecucao"); } //Objetos utilizados apenas para facilitar a quebra na exibi��o httpServletRequest.setAttribute("numeroOS", form.getNumeroOS()); httpServletRequest.setAttribute("idAtividade", form.getIdAtividade()); return retorno; } private void informarOrdemServicoAtividade(Collection colecaoSessao, Integer numeroOS, Integer idAtividade, String dataExecucao, String horaInicio, String horaFim, Integer idEquipe ,HttpSession sessao, Fachada fachada){ ManterDadosAtividadesOrdemServicoHelper manterDadosAtividadesOrdemServicoHelper = null; if (colecaoSessao != null && !colecaoSessao.isEmpty()){ boolean ordemServicoAtividadeInformada = false; Iterator iteratorColecaoSessao = colecaoSessao.iterator(); while(iteratorColecaoSessao.hasNext()){ manterDadosAtividadesOrdemServicoHelper = (ManterDadosAtividadesOrdemServicoHelper) iteratorColecaoSessao.next(); /* * Verifica se j� existe na cole��o uma OrdemServicoAtividade com o mesmo n�mero de OS e * mesma atividade informada */ if (manterDadosAtividadesOrdemServicoHelper.getOrdemServicoAtividade().getOrdemServico().getId() .equals(numeroOS) && manterDadosAtividadesOrdemServicoHelper.getOrdemServicoAtividade() .getAtividade().getId().equals(idAtividade)){ //Informando OsAtividadePeriodoExecucao Collection colecaoOsAtividadePeriodoExecucaoHelper = this.informarOsAtividadePeriodoExecucao(manterDadosAtividadesOrdemServicoHelper .getColecaoOSAtividadePeriodoExecucaoHelper(), dataExecucao,horaInicio, horaFim, idEquipe, fachada); manterDadosAtividadesOrdemServicoHelper.setColecaoOSAtividadePeriodoExecucaoHelper( colecaoOsAtividadePeriodoExecucaoHelper); ordemServicoAtividadeInformada = true; break; } } /* * Caso j� exista OrdemServicoAtividade informada, por�m ainda n�o foi cadastrada nenhuma com o mesmo * n�mero de OS e atividade informados */ if (!ordemServicoAtividadeInformada){ //1� Passo - Gerando o objeto manterDadosAtividadesOrdemServicoHelper = this.gerarOrdemServicoAtividade(numeroOS, idAtividade, dataExecucao, horaInicio, horaFim, idEquipe, fachada); //2� Passo - Adicionando o objeto na cole��o que foi recebida (J� foi criada e colocada na sess�o) colecaoSessao.add(manterDadosAtividadesOrdemServicoHelper); } } else{ //Primeira OrdemServicoAtividade informada //1� Passo - Gerando o objeto manterDadosAtividadesOrdemServicoHelper = this.gerarOrdemServicoAtividade(numeroOS, idAtividade, dataExecucao, horaInicio, horaFim, idEquipe, fachada); //2� Passo - Adicionando o objeto em uma cole��o vazia Collection colecaoManterDadosAtividadesOrdemServicoHelper = new ArrayList(); colecaoManterDadosAtividadesOrdemServicoHelper.add(manterDadosAtividadesOrdemServicoHelper); //3� Passo - Colocando a cole��o gerada na sess�o sessao.setAttribute("colecaoManterDadosAtividadesOrdemServicoHelper", colecaoManterDadosAtividadesOrdemServicoHelper); } } private ManterDadosAtividadesOrdemServicoHelper gerarOrdemServicoAtividade(Integer numeroOS, Integer idAtividade, String dataExecucao, String horaInicio, String horaFim, Integer idEquipe, Fachada fachada){ ManterDadosAtividadesOrdemServicoHelper manterDadosAtividadesOrdemServicoHelper = new ManterDadosAtividadesOrdemServicoHelper(); OrdemServico ordemServico = new OrdemServico(); ordemServico.setId(numeroOS); Atividade atividade = new Atividade(); atividade.setId(idAtividade); OrdemServicoAtividade ordemServicoAtividade = new OrdemServicoAtividade(); ordemServicoAtividade.setAtividade(atividade); ordemServicoAtividade.setOrdemServico(ordemServico); manterDadosAtividadesOrdemServicoHelper.setOrdemServicoAtividade(ordemServicoAtividade); //Informando OsAtividadePeriodoExecucao Collection colecaoOsAtividadePeriodoExecucaoHelper = this.informarOsAtividadePeriodoExecucao(null, dataExecucao,horaInicio, horaFim, idEquipe, fachada); manterDadosAtividadesOrdemServicoHelper.setColecaoOSAtividadePeriodoExecucaoHelper( colecaoOsAtividadePeriodoExecucaoHelper); return manterDadosAtividadesOrdemServicoHelper; } private Collection informarOsAtividadePeriodoExecucao(Collection colecaoOsAtividadePeriodoExecucaoHelper, String dataExecucao, String horaInicio, String horaFim, Integer idEquipe, Fachada fachada){ Collection colecaoRetorno = null; OSAtividadePeriodoExecucaoHelper osAtividadePeriodoExecucaoHelper = null; if (colecaoOsAtividadePeriodoExecucaoHelper != null && !colecaoOsAtividadePeriodoExecucaoHelper.isEmpty()){ boolean osAtividadePeriodoExecucaoInformada = false; Iterator iteratorcolecaoOsAtividadePeriodoExecucaoHelper = colecaoOsAtividadePeriodoExecucaoHelper.iterator(); while(iteratorcolecaoOsAtividadePeriodoExecucaoHelper.hasNext()){ osAtividadePeriodoExecucaoHelper = (OSAtividadePeriodoExecucaoHelper) iteratorcolecaoOsAtividadePeriodoExecucaoHelper.next(); /* * Verifica se j� existe na cole��o uma OSAtividadePeriodoExecucaoHelper com a mesma data de execu��o * e mesmo per�odo de execu��o */ if (osAtividadePeriodoExecucaoHelper.getDataExecucaoParaQuebra() .equals(Util.converteStringParaDate(dataExecucao)) && osAtividadePeriodoExecucaoHelper.getHoraMinutoInicioParaQuebra().equals(horaInicio) && osAtividadePeriodoExecucaoHelper.getHoraMinutoFimParaQuebra().equals(horaFim)){ //Informando OsAtividadePeriodoExecucao Collection colecaoOsExecucaoEquipeHelper = this.informarOsExecucaoEquipe( osAtividadePeriodoExecucaoHelper.getColecaoOSExecucaoEquipeHelper(), idEquipe, fachada); osAtividadePeriodoExecucaoHelper.setColecaoOSExecucaoEquipeHelper(colecaoOsExecucaoEquipeHelper); osAtividadePeriodoExecucaoInformada = true; break; } } /* * Caso j� exista OSAtividadePeriodoExecucaoHelper informada, por�m ainda n�o foi cadastrada nenhuma * com a mesma data de execu��o e mesmo per�odo de execu��o */ if (!osAtividadePeriodoExecucaoInformada){ //1� Passo - Gerando o objeto osAtividadePeriodoExecucaoHelper = this.gerarOsAtividadePeriodoExecucao(dataExecucao, horaInicio, horaFim, idEquipe, fachada); //2� Passo - Adicionando o objeto na cole��o que foi recebida (J� foi criada e colocada na sess�o) colecaoOsAtividadePeriodoExecucaoHelper.add(osAtividadePeriodoExecucaoHelper); } return colecaoOsAtividadePeriodoExecucaoHelper; } else{ //Primeira OsAtividadePeriodoExecucao informada //1� Passo - Gerando o objeto osAtividadePeriodoExecucaoHelper = this.gerarOsAtividadePeriodoExecucao(dataExecucao, horaInicio, horaFim, idEquipe, fachada); //2� Passo - Adicionando o objeto em uma cole��o vazia colecaoRetorno = new ArrayList(); colecaoRetorno.add(osAtividadePeriodoExecucaoHelper); return colecaoRetorno; } } private OSAtividadePeriodoExecucaoHelper gerarOsAtividadePeriodoExecucao(String dataExecucao, String horaInicio, String horaFim, Integer idEquipe, Fachada fachada){ OSAtividadePeriodoExecucaoHelper osAtividadePeriodoExecucaoHelper = new OSAtividadePeriodoExecucaoHelper(); OsAtividadePeriodoExecucao osAtividadePeriodoExecucao = new OsAtividadePeriodoExecucao(); //Gerando uma String no formato dd/MM/yyyy HH:mm:ss String dataHoraExecucaoInicio = dataExecucao + " " + horaInicio + ":00"; String dataHoraExecucaoFim = dataExecucao + " " + horaFim + ":00"; osAtividadePeriodoExecucao.setDataInicio(Util.converteStringParaDateHora(dataHoraExecucaoInicio)); osAtividadePeriodoExecucao.setDataFim(Util.converteStringParaDateHora(dataHoraExecucaoFim)); //Objetos utilizados apenas para facilitar a quebra na exibi��o osAtividadePeriodoExecucaoHelper.setDataExecucaoParaQuebra(Util.converteStringParaDate(dataExecucao)); osAtividadePeriodoExecucaoHelper.setHoraMinutoInicioParaQuebra(horaInicio); osAtividadePeriodoExecucaoHelper.setHoraMinutoFimParaQuebra(horaFim); osAtividadePeriodoExecucaoHelper.setOsAtividadePeriodoExecucao(osAtividadePeriodoExecucao); //Informando OsExecucaoEquipe Collection colecaoOSExecucaoEquipeHelper = this.informarOsExecucaoEquipe(null, idEquipe, fachada); osAtividadePeriodoExecucaoHelper.setColecaoOSExecucaoEquipeHelper(colecaoOSExecucaoEquipeHelper); return osAtividadePeriodoExecucaoHelper; } private Collection informarOsExecucaoEquipe(Collection colecaoOSExecucaoEquipeHelper, Integer idEquipe, Fachada fachada){ Collection colecaoRetorno = null; OSExecucaoEquipeHelper osExecucaoEquipeHelper = null; if (colecaoOSExecucaoEquipeHelper != null && !colecaoOSExecucaoEquipeHelper.isEmpty()){ Iterator iteratorColecaoOSExecucaoEquipeHelper = colecaoOSExecucaoEquipeHelper.iterator(); while(iteratorColecaoOSExecucaoEquipeHelper.hasNext()){ osExecucaoEquipeHelper = (OSExecucaoEquipeHelper) iteratorColecaoOSExecucaoEquipeHelper.next(); /* * Verifica se j� existe na cole��o uma OSExecucaoEquipeHelper com a mesma equipe * *[FS002] - Verificar Exist�ncia de Dados */ if (osExecucaoEquipeHelper.getOsExecucaoEquipe().getEquipe().getId().equals(idEquipe)){ throw new ActionServletException( "atencao.data_periodo_equipe_ja_informado"); } } /* * Caso j� exista OSExecucaoEquipeHelper informada, por�m ainda n�o foi cadastrada nenhuma * com a mesma equipe */ //1� Passo - Gerando o objeto osExecucaoEquipeHelper = this.gerarOsExecucaoEquipe(idEquipe, fachada); //2� Passo - Adicionando o objeto na cole��o que foi recebida (J� foi criada e colocada na sess�o) colecaoOSExecucaoEquipeHelper.add(osExecucaoEquipeHelper); return colecaoOSExecucaoEquipeHelper; } else{ //Primeira OsExecucaoEquipe informada //1� Passo - Gerando o objeto osExecucaoEquipeHelper = this.gerarOsExecucaoEquipe(idEquipe, fachada); //2� Passo - Adicionando o objeto em uma cole��o vazia colecaoRetorno = new ArrayList(); colecaoRetorno.add(osExecucaoEquipeHelper); return colecaoRetorno; } } private OSExecucaoEquipeHelper gerarOsExecucaoEquipe(Integer idEquipe, Fachada fachada){ OSExecucaoEquipeHelper osExecucaoEquipeHelper = new OSExecucaoEquipeHelper(); FiltroEquipe filtroEquipe = new FiltroEquipe(); filtroEquipe.adicionarParametro(new ParametroSimples(FiltroEquipe.ID, idEquipe)); Collection colecaoEquipe = fachada.pesquisar(filtroEquipe, Equipe.class.getName()); Equipe equipe = (Equipe)Util.retonarObjetoDeColecao(colecaoEquipe); //Alterado para facilitar a identifica��o de uma equipe na cole��o equipe.setUltimaAlteracao(new Date()); OsExecucaoEquipe osExecucaoEquipe = new OsExecucaoEquipe(); osExecucaoEquipe.setEquipe(equipe); osExecucaoEquipeHelper.setOsExecucaoEquipe(osExecucaoEquipe); return osExecucaoEquipeHelper; } private void removerPeriodoExecucaoEquipe(long identificacaoEquipe, Integer idAtividade,Collection colecaoSessao){ Iterator iteratorColecaoSessao = colecaoSessao.iterator(); ManterDadosAtividadesOrdemServicoHelper manterDadosAtividadesOrdemServicoHelper = null; OSAtividadePeriodoExecucaoHelper osAtividadePeriodoExecucaoHelper = null; OSExecucaoEquipeHelper osExecucaoEquipeHelper = null; boolean removerSuperior = false; //Atividade while (iteratorColecaoSessao.hasNext()){ manterDadosAtividadesOrdemServicoHelper = (ManterDadosAtividadesOrdemServicoHelper) iteratorColecaoSessao.next(); if (manterDadosAtividadesOrdemServicoHelper.getOrdemServicoAtividade().getAtividade().getId() .equals(idAtividade)){ //Per�odo Collection colecaoOSAtividadePeriodoExecucaoHelper = manterDadosAtividadesOrdemServicoHelper.getColecaoOSAtividadePeriodoExecucaoHelper(); Iterator iteratorColecaoOSAtividadePeriodoExecucaoHelper = colecaoOSAtividadePeriodoExecucaoHelper.iterator(); while (iteratorColecaoOSAtividadePeriodoExecucaoHelper.hasNext()){ osAtividadePeriodoExecucaoHelper = (OSAtividadePeriodoExecucaoHelper) iteratorColecaoOSAtividadePeriodoExecucaoHelper.next(); //Equipe Collection colecaoOSExecucaoEquipeHelper = osAtividadePeriodoExecucaoHelper .getColecaoOSExecucaoEquipeHelper(); Iterator iteratorColecaoOSExecucaoEquipeHelper = colecaoOSExecucaoEquipeHelper.iterator(); while (iteratorColecaoOSExecucaoEquipeHelper.hasNext()){ osExecucaoEquipeHelper = (OSExecucaoEquipeHelper) iteratorColecaoOSExecucaoEquipeHelper.next(); if ((GcomAction.obterTimestampIdObjeto(osExecucaoEquipeHelper.getOsExecucaoEquipe().getEquipe())) == identificacaoEquipe){ colecaoOSExecucaoEquipeHelper.remove(osExecucaoEquipeHelper); if (colecaoOSExecucaoEquipeHelper.size() < 1){ removerSuperior = true; } break; } } if (removerSuperior){ colecaoOSAtividadePeriodoExecucaoHelper.remove(osAtividadePeriodoExecucaoHelper); if (colecaoOSAtividadePeriodoExecucaoHelper.size() < 1){ removerSuperior = true; } else{ removerSuperior = false; } break; } } if (removerSuperior){ break; } } } if (removerSuperior){ colecaoSessao.remove(manterDadosAtividadesOrdemServicoHelper); } } }