package gcom.gui.atendimentopublico.ordemservico; import gcom.atendimentopublico.ordemservico.EquipamentosEspeciais; import gcom.atendimentopublico.ordemservico.Equipe; import gcom.atendimentopublico.ordemservico.EquipeComponentes; import gcom.atendimentopublico.ordemservico.EquipeEquipamentosEspeciais; import gcom.atendimentopublico.ordemservico.FiltroEquipe; import gcom.atendimentopublico.ordemservico.FiltroEquipeComponentes; import gcom.atendimentopublico.ordemservico.FiltroEquipeEquipamentosEspeciais; import gcom.atendimentopublico.ordemservico.FiltroServicoPerfilTipo; import gcom.atendimentopublico.ordemservico.ServicoPerfilTipo; import gcom.cadastro.funcionario.FiltroFuncionario; import gcom.cadastro.funcionario.Funcionario; import gcom.cadastro.unidade.FiltroUnidadeOrganizacional; import gcom.cadastro.unidade.UnidadeOrganizacional; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; 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; /** * Permite filtrar resolu��es de diretoria [UC0219] Filtrar Resolu��o de * Diretoria * * @author Rafael Corr�a * @since 31/03/2006 */ public class ExibirAtualizarEquipeAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping,ActionForm actionForm, HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirAtualizarEquipe"); AtualizarEquipeActionForm atualizarEquipeActionForm = (AtualizarEquipeActionForm) actionForm; Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); // -Erivan Sousa- Verifica e atende uma solicita��o de pesquisa de usu�rio if(httpServletRequest.getParameter("tipoPesquisa") != null && !httpServletRequest.getParameter("tipoPesquisa").equals("")){ if(httpServletRequest.getParameter("tipoPesquisa").equals("usuario")){ Usuario usuario = buscarUsuario(atualizarEquipeActionForm.getCdUsuarioRespExecServico()); if(usuario != null){ atualizarEquipeActionForm.setCdUsuarioRespExecServico(usuario.getId().toString()); atualizarEquipeActionForm.setNomeUsuarioRespExecServico(usuario.getNomeUsuario().toUpperCase()); sessao.setAttribute("usuarioRespExecServicoEncontrado", true); }else{ atualizarEquipeActionForm.setNomeUsuarioRespExecServico("USU�RIO INEXISTENTE"); sessao.removeAttribute("usuarioRespExecServicoEncontrado"); } } }else{ if(atualizarEquipeActionForm.getNomeUsuarioRespExecServico() != null){ if(atualizarEquipeActionForm.getNomeUsuarioRespExecServico().equals("USU�RIO INEXISTENTE")){ atualizarEquipeActionForm.setCdUsuarioRespExecServico(""); atualizarEquipeActionForm.setNomeUsuarioRespExecServico(""); } } } // Recupera os valores da unidade do form String idUnidade = atualizarEquipeActionForm.getIdUnidade(); String nomeUnidade = atualizarEquipeActionForm.getNomeUnidade(); // Verifica se o usu�rio solicitou a pesquisa de unidade if (idUnidade != null && !idUnidade.trim().equals("") && (nomeUnidade == null || nomeUnidade.trim().equals(""))) { FiltroUnidadeOrganizacional filtroUnidadeOrganizacional = new FiltroUnidadeOrganizacional(); filtroUnidadeOrganizacional.adicionarParametro( new ParametroSimples(FiltroUnidadeOrganizacional.ID, idUnidade)); Collection colecaoUnidade = fachada.pesquisar(filtroUnidadeOrganizacional, UnidadeOrganizacional.class.getName()); if (colecaoUnidade != null && !colecaoUnidade.isEmpty()) { UnidadeOrganizacional unidadeOrganizacional = (UnidadeOrganizacional) Util.retonarObjetoDeColecao(colecaoUnidade); atualizarEquipeActionForm.setNomeUnidade(unidadeOrganizacional.getDescricao()); httpServletRequest.setAttribute("nomeCampo","idServicoPerfilTipo"); } else { atualizarEquipeActionForm.setIdUnidade(""); atualizarEquipeActionForm.setNomeUnidade("Unidade inexistente"); httpServletRequest.setAttribute("idUnidadeNaoEncontrado","true"); httpServletRequest.setAttribute("nomeCampo", "idUnidade"); } } else if (nomeUnidade != null && !nomeUnidade.trim().equals("") && (idUnidade == null || idUnidade.trim().equals(""))) { atualizarEquipeActionForm.setNomeUnidade(""); } // Recupera os valores do servi�o perfil tipo do form String idPerfilServico = atualizarEquipeActionForm.getIdServicoPerfilTipo(); String descricaoPerfilServico = atualizarEquipeActionForm.getDescricaoServicoPerfilTipo(); // Verifica se o usu�rio solicitou a pesquisa de funcion�rio if (idPerfilServico != null && !idPerfilServico.trim().equals("") && (descricaoPerfilServico == null || descricaoPerfilServico.trim().equals(""))) { FiltroServicoPerfilTipo filtroServicoPerfilTipo = new FiltroServicoPerfilTipo(); filtroServicoPerfilTipo.adicionarParametro( new ParametroSimples(FiltroServicoPerfilTipo.ID, idPerfilServico)); Collection colecaoPerfilServico = fachada.pesquisar(filtroServicoPerfilTipo, ServicoPerfilTipo.class.getName()); if (colecaoPerfilServico != null && !colecaoPerfilServico.isEmpty()) { ServicoPerfilTipo servicoPerfilTipo = (ServicoPerfilTipo) Util.retonarObjetoDeColecao(colecaoPerfilServico); atualizarEquipeActionForm.setDescricaoServicoPerfilTipo(servicoPerfilTipo.getDescricao()); httpServletRequest.setAttribute("nomeCampo", "indicadorUso"); } else { atualizarEquipeActionForm.setIdServicoPerfilTipo(""); atualizarEquipeActionForm.setDescricaoServicoPerfilTipo("Servi�o Tipo Perfil inexistente"); httpServletRequest.setAttribute("idServicoPerfilNaoEncontrado","true"); httpServletRequest.setAttribute("nomeCampo","idServicoPerfilTipo"); } } else if (descricaoPerfilServico != null && !descricaoPerfilServico.trim().equals("") && (idPerfilServico == null || idPerfilServico.trim().equals(""))) { atualizarEquipeActionForm.setDescricaoServicoPerfilTipo(""); } // Verifica se o usu�rio est� entrando pela primeira vez na tela ou se // ele selecionou a op��o de desfazer if (sessao.getAttribute("equipeAtualizar") == null || httpServletRequest.getParameter("desfazer") != null) { Equipe equipe = null; atualizarEquipeActionForm.setEquipeEquipamentosEspeciais(new ArrayList<EquipeEquipamentosEspeciais>()); if (httpServletRequest.getParameter("desfazer") != null) { String idEquipe = ((Equipe) sessao.getAttribute("equipeAtualizar")).getId().toString(); FiltroEquipe filtroEquipe = new FiltroEquipe(); filtroEquipe.adicionarParametro( new ParametroSimples(FiltroEquipe.ID, idEquipe)); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade("servicoPerfilTipo"); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade("unidadeOrganizacional"); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade(FiltroEquipe.USUARIO_RESP_EXECUSSAO_SERVICO); Collection colecaoEquipe = fachada.pesquisar(filtroEquipe,Equipe.class.getName()); if (colecaoEquipe == null || colecaoEquipe.isEmpty()) { throw new ActionServletException("atencao.atualizacao.timestamp"); } equipe = (Equipe) colecaoEquipe.iterator().next(); sessao.setAttribute("equipeAtualizar", equipe); // equipe = (Equipe) sessao.getAttribute("equipeAtualizar"); } else { if (sessao.getAttribute("equipe") != null) { equipe = (Equipe) sessao.getAttribute("equipe"); sessao.setAttribute("equipeAtualizar", equipe); sessao.removeAttribute("equipe"); sessao.setAttribute("filtrar", true); } else { String idEquipe = httpServletRequest.getParameter("equipeID"); if (httpServletRequest.getParameter("inserir") != null) { sessao.setAttribute("inserir", true); } else { sessao.removeAttribute("filtrar"); sessao.removeAttribute("inserir"); } FiltroEquipe filtroEquipe = new FiltroEquipe(); filtroEquipe.adicionarParametro( new ParametroSimples(FiltroEquipe.ID, idEquipe)); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade("servicoPerfilTipo"); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade("unidadeOrganizacional"); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade(FiltroEquipe.USUARIO_RESP_EXECUSSAO_SERVICO); Collection colecaoEquipe = fachada.pesquisar(filtroEquipe,Equipe.class.getName()); if (colecaoEquipe == null || colecaoEquipe.isEmpty()) { throw new ActionServletException( "atencao.atualizacao.timestamp"); } equipe = (Equipe) colecaoEquipe.iterator().next(); sessao.setAttribute("equipeAtualizar", equipe); } } atualizarEquipeActionForm.setIdEquipe(equipe.getId().toString()); atualizarEquipeActionForm.setNomeEquipe(equipe.getNome()); atualizarEquipeActionForm.setPlacaVeiculo(equipe.getPlacaVeiculo()); atualizarEquipeActionForm.setCodigoDdd(equipe.getCodigoDdd()); atualizarEquipeActionForm.setNumeroTelefone(equipe.getNumeroTelefone()); atualizarEquipeActionForm.setNumeroImei(""+equipe.getNumeroImei()); int carga = equipe.getCargaTrabalho().intValue() / 60; atualizarEquipeActionForm.setCargaTrabalhoDia(""+carga); atualizarEquipeActionForm.setIndicadorUso(""+ equipe.getIndicadorUso()); atualizarEquipeActionForm.setIndicadorProgramacaoAutomatica(""+equipe.getIndicadorProgramacaoAutomatica()); if (equipe.getUnidadeOrganizacional() != null) { atualizarEquipeActionForm.setIdUnidade(equipe.getUnidadeOrganizacional().getId().toString()); atualizarEquipeActionForm.setNomeUnidade(equipe.getUnidadeOrganizacional().getDescricao()); } if (equipe.getServicoPerfilTipo() != null) { atualizarEquipeActionForm.setIdServicoPerfilTipo(equipe.getServicoPerfilTipo().getId().toString()); atualizarEquipeActionForm.setDescricaoServicoPerfilTipo(equipe.getServicoPerfilTipo().getDescricao()); } httpServletRequest.setAttribute("nomeCampo", "nomeEquipe"); FiltroEquipeComponentes filtroEquipeComponentes = new FiltroEquipeComponentes(); filtroEquipeComponentes.adicionarParametro( new ParametroSimples(FiltroEquipeComponentes.ID_EQUIPE, equipe.getId())); filtroEquipeComponentes.adicionarCaminhoParaCarregamentoEntidade("funcionario"); Collection colecaoEquipeComponentes = fachada.pesquisar(filtroEquipeComponentes, EquipeComponentes.class.getName()); if (colecaoEquipeComponentes != null && !colecaoEquipeComponentes.isEmpty()) { atualizarEquipeActionForm.setTamanhoColecao(""+ colecaoEquipeComponentes.size()); sessao.setAttribute("colecaoEquipeComponentes",colecaoEquipeComponentes); } else { sessao.removeAttribute("colecaoEquipeComponentes"); } FiltroEquipeEquipamentosEspeciais filtroEquipeEquipamentosEspeciais = new FiltroEquipeEquipamentosEspeciais(); filtroEquipeEquipamentosEspeciais.adicionarParametro( new ParametroSimples(FiltroEquipeEquipamentosEspeciais.ID_EQUIPE, equipe.getId())); filtroEquipeEquipamentosEspeciais.adicionarCaminhoParaCarregamentoEntidade("equipamentosEspeciais"); Collection colecaoEquipeEquipamentosEspeciais = fachada.pesquisar(filtroEquipeEquipamentosEspeciais, EquipeEquipamentosEspeciais.class.getName()); if (colecaoEquipeEquipamentosEspeciais != null && !colecaoEquipeEquipamentosEspeciais.isEmpty()) { atualizarEquipeActionForm.setTamanhoColecao(""+ colecaoEquipeEquipamentosEspeciais.size()); Iterator it = colecaoEquipeEquipamentosEspeciais.iterator(); while(it.hasNext()){ EquipeEquipamentosEspeciais equipeEquipamentosEspeciais = (EquipeEquipamentosEspeciais) it.next(); setColecaoEquipeEquipamentosEspeciais(atualizarEquipeActionForm,equipeEquipamentosEspeciais); } } else { atualizarEquipeActionForm.setEquipeEquipamentosEspeciais(new ArrayList<EquipeEquipamentosEspeciais>()); } // -Erivan Sousa- Verifica se existe usu�rio respons�vel pela execussao do servico associado if(atualizarEquipeActionForm.getCdUsuarioRespExecServico() != null && !atualizarEquipeActionForm.getCdUsuarioRespExecServico().equals("") && atualizarEquipeActionForm.getNomeUsuarioRespExecServico() != null && !atualizarEquipeActionForm.getNomeUsuarioRespExecServico().equals("")){ sessao.setAttribute("usuarioRespExecServicoEncontrado", true); }else{ String cdUsuario = (String)sessao.getAttribute("cdUsuarioRespExcServico"); Usuario usuario = null; //Verifica se o c�dio do usu�rio foi setado if(cdUsuario != null && !cdUsuario.equals("")){ usuario = buscarUsuario(cdUsuario); if(usuario != null){ atualizarEquipeActionForm.setNomeUsuarioRespExecServico(usuario.getNomeUsuario()); atualizarEquipeActionForm.setCdUsuarioRespExecServico(usuario.getId().toString()); httpServletRequest.setAttribute("usuarioRespExecServicoEncontrado", true); }else{ atualizarEquipeActionForm.setNomeUsuarioRespExecServico(""); atualizarEquipeActionForm.setCdUsuarioRespExecServico(""); } }else{ //pesquisa pela equipe pra obter o usuario FiltroEquipe filtroEquipe = new FiltroEquipe(); filtroEquipe.adicionarParametro( new ParametroSimples(FiltroEquipe.ID, equipe.getId().toString())); filtroEquipe.adicionarCaminhoParaCarregamentoEntidade(FiltroEquipe.USUARIO_RESP_EXECUSSAO_SERVICO); Collection colecEquipe = fachada.pesquisar(filtroEquipe,Equipe.class.getName()); Equipe equip = (Equipe)colecEquipe.iterator().next(); if(equip != null){ usuario = equip.getUsuarioRespExecServico(); if(usuario != null){ atualizarEquipeActionForm.setNomeUsuarioRespExecServico(usuario.getNomeUsuario()); atualizarEquipeActionForm.setCdUsuarioRespExecServico(usuario.getId().toString()); sessao.setAttribute("usuarioRespExecServicoEncontrado", true); } } } } } if (httpServletRequest.getParameter("tipoConsulta") != null && httpServletRequest.getParameter("tipoConsulta").equalsIgnoreCase("funcionario")) { String codigoPesquisa = httpServletRequest.getParameter("idCampoEnviarDados"); String descricaoPesquisa = httpServletRequest.getParameter("descricaoCampoEnviarDados"); atualizarEquipeActionForm.setIdFuncionario(codigoPesquisa); atualizarEquipeActionForm.setNomeFuncionario(descricaoPesquisa); atualizarEquipeActionForm.setNomeComponente(""); retorno = actionMapping.findForward("inserirEquipeComponente"); } // Recupera os valores da funcion�rio do form no pop up de inserir // componentes na equipe String idFuncionario = atualizarEquipeActionForm.getIdFuncionario(); String nomeFuncionario = atualizarEquipeActionForm.getNomeFuncionario(); // Verifica se o usu�rio solicitou a pesquisa de unidade if (idFuncionario != null && !idFuncionario.trim().equals("") && (nomeFuncionario == null || nomeFuncionario.trim().equals(""))) { retorno = actionMapping.findForward("inserirEquipeComponente"); FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro( new ParametroSimples(FiltroFuncionario.ID, idFuncionario)); Collection colecaoFuncionario = fachada.pesquisar(filtroFuncionario, Funcionario.class.getName()); if (colecaoFuncionario != null && !colecaoFuncionario.isEmpty()) { Funcionario funcionario = (Funcionario) Util.retonarObjetoDeColecao(colecaoFuncionario); atualizarEquipeActionForm.setNomeFuncionario(funcionario.getNome()); httpServletRequest.setAttribute("nomeCampo", "nomeComponente"); } else { atualizarEquipeActionForm.setIdFuncionario(""); atualizarEquipeActionForm.setNomeFuncionario("Funcion�rio inexistente"); httpServletRequest.setAttribute("idFuncionarioNaoEncontrado","true"); httpServletRequest.setAttribute("nomeCampo", "idFuncionario"); } } else if (nomeFuncionario != null && !nomeFuncionario.trim().equals("") && (idFuncionario == null || idFuncionario.trim().equals(""))) { atualizarEquipeActionForm.setNomeFuncionario(""); } // Verifica se o usu�rio adicionou um componente e em caso afirmativo // adiciona o componente � cole��o if (httpServletRequest.getParameter("popUpAdicionarComponente") != null) { sessao.removeAttribute("popUpAtualizar"); if (httpServletRequest.getParameter("adicionarComponente") != null) { retorno = actionMapping.findForward("exibirAtualizarEquipe"); Collection colecaoEquipeComponentes = (Collection) sessao.getAttribute("colecaoEquipeComponentes"); String indicadorResponsavel = atualizarEquipeActionForm.getIndicadorResponsavel(); String nomeComponente = atualizarEquipeActionForm.getNomeComponente(); Funcionario funcionario = null; if (idFuncionario != null && !idFuncionario.trim().equals("")) { FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario.adicionarParametro( new ParametroSimples(FiltroFuncionario.ID, idFuncionario)); Collection colecaoFuncionario = fachada.pesquisar(filtroFuncionario, Funcionario.class.getName()); if (colecaoFuncionario != null && !colecaoFuncionario.isEmpty()) { funcionario = (Funcionario) Util.retonarObjetoDeColecao(colecaoFuncionario); } else { throw new ActionServletException("atencao.pesquisa_inexistente", null,"Funcion�rio"); } } if (colecaoEquipeComponentes == null || colecaoEquipeComponentes.isEmpty()) { colecaoEquipeComponentes = new ArrayList(); } else { // Verifica se o componente j� existe na cole��o e se est� // tentando colocar mais de um respons�vel Iterator colecaoEquipeComponentesIterator = colecaoEquipeComponentes.iterator(); while (colecaoEquipeComponentesIterator.hasNext()) { EquipeComponentes equipeComponentesColecao = (EquipeComponentes) colecaoEquipeComponentesIterator.next(); if (equipeComponentesColecao.getIndicadorResponsavel() == EquipeComponentes.INDICADOR_RESPONSAVEL_SIM && indicadorResponsavel .equals("" + EquipeComponentes.INDICADOR_RESPONSAVEL_SIM)) { throw new ActionServletException( "atencao.responsavel.equipe.ja.existente"); } if (equipeComponentesColecao.getFuncionario() != null && funcionario != null && equipeComponentesColecao.getFuncionario() .getId().equals(funcionario.getId())) { throw new ActionServletException( "atencao.equipe_componente.ja.existente"); } } } EquipeComponentes equipeComponentes = new EquipeComponentes(); equipeComponentes.setFuncionario(funcionario); equipeComponentes.setIndicadorResponsavel(new Short( indicadorResponsavel).shortValue()); if (nomeComponente != null && !nomeComponente.trim().equals("")) { equipeComponentes.setComponentes(nomeComponente); } else { equipeComponentes.setComponentes(null); } colecaoEquipeComponentes.add(equipeComponentes); atualizarEquipeActionForm.setTamanhoColecao("" + colecaoEquipeComponentes.size()); sessao.setAttribute("colecaoEquipeComponentes", colecaoEquipeComponentes); } else { retorno = actionMapping.findForward("inserirEquipeComponente"); atualizarEquipeActionForm.setIndicadorResponsavel(""); atualizarEquipeActionForm.setIdFuncionario(""); atualizarEquipeActionForm.setNomeFuncionario(""); atualizarEquipeActionForm.setNomeComponente(""); } } // Verifica se o usu�rio removeu um componente e em caso afirmativo // remove o componente da cole��o if (httpServletRequest.getParameter("deleteComponente") != null && !httpServletRequest.getParameter("deleteComponente").equals( "")) { Collection colecaoEquipeComponentes = (Collection) sessao .getAttribute("colecaoEquipeComponentes"); if (colecaoEquipeComponentes != null && !colecaoEquipeComponentes.isEmpty()) { int posicaoComponente = new Integer(httpServletRequest .getParameter("deleteComponente")).intValue(); int index = 0; Iterator colecaoEquipeComponentesIterator = colecaoEquipeComponentes .iterator(); while (colecaoEquipeComponentesIterator.hasNext()) { index++; EquipeComponentes equipeComponentes = (EquipeComponentes) colecaoEquipeComponentesIterator .next(); if (index == posicaoComponente) { colecaoEquipeComponentes.remove(equipeComponentes); atualizarEquipeActionForm.setTamanhoColecao("" + colecaoEquipeComponentes.size()); sessao.setAttribute("colecaoEquipeComponentes", colecaoEquipeComponentes); break; } } } } // Verifica se o usu�rio atualizou um componente e em caso afirmativo // remove o componente da cole��o if (httpServletRequest.getParameter("popUpAtualizarComponente") != null && !httpServletRequest.getParameter("popUpAtualizarComponente") .equals("")) { sessao.setAttribute("popUpAtualizar", true); int posicaoComponente = 0; Collection colecaoEquipeComponentes = (Collection) sessao .getAttribute("colecaoEquipeComponentes"); if (httpServletRequest.getParameter("atualizaComponente") != null && !httpServletRequest.getParameter("atualizaComponente") .equals("")) { posicaoComponente = new Integer(httpServletRequest .getParameter("atualizaComponente")).intValue(); sessao.setAttribute("posicaoComponente", posicaoComponente); if (colecaoEquipeComponentes != null && !colecaoEquipeComponentes.isEmpty()) { posicaoComponente = (Integer) sessao .getAttribute("posicaoComponente"); int index = 0; Iterator colecaoEquipeComponentesIterator = colecaoEquipeComponentes .iterator(); while (colecaoEquipeComponentesIterator.hasNext()) { index++; EquipeComponentes equipeComponentes = (EquipeComponentes) colecaoEquipeComponentesIterator .next(); if (index == posicaoComponente) { atualizarEquipeActionForm .setIndicadorResponsavel("" + equipeComponentes .getIndicadorResponsavel()); if (equipeComponentes.getFuncionario() != null) { atualizarEquipeActionForm .setIdFuncionario(equipeComponentes .getFuncionario().getId() .toString()); atualizarEquipeActionForm .setNomeFuncionario(equipeComponentes .getFuncionario().getNome()); } else { atualizarEquipeActionForm.setIdFuncionario(""); atualizarEquipeActionForm .setNomeFuncionario(""); } if (equipeComponentes.getComponentes() != null && !equipeComponentes.getComponentes() .equals("")) { atualizarEquipeActionForm .setNomeComponente(equipeComponentes .getComponentes()); } else { atualizarEquipeActionForm.setNomeComponente(""); } sessao.setAttribute("colecaoEquipeComponentes", colecaoEquipeComponentes); } } } } if (httpServletRequest.getParameter("atualizarComponente") != null) { retorno = actionMapping.findForward("exibirAtualizarEquipe"); if (colecaoEquipeComponentes != null && !colecaoEquipeComponentes.isEmpty()) { if (sessao.getAttribute("posicaoComponente") != null) { posicaoComponente = (Integer) sessao .getAttribute("posicaoComponente"); } else { posicaoComponente = 0; } sessao.removeAttribute("posicaoComponente"); int index = 0; Iterator colecaoEquipeComponentesIterator = colecaoEquipeComponentes .iterator(); boolean responsavelExistente = false; while (colecaoEquipeComponentesIterator.hasNext()) { index++; EquipeComponentes equipeComponentes = (EquipeComponentes) colecaoEquipeComponentesIterator .next(); if (index == posicaoComponente) { equipeComponentes .setIndicadorResponsavel(new Short( atualizarEquipeActionForm .getIndicadorResponsavel())); Funcionario funcionario = null; if (idFuncionario != null && !idFuncionario.trim().equals("")) { FiltroFuncionario filtroFuncionario = new FiltroFuncionario(); filtroFuncionario .adicionarParametro(new ParametroSimples( FiltroFuncionario.ID, idFuncionario)); Collection colecaoFuncionario = fachada .pesquisar(filtroFuncionario, Funcionario.class.getName()); if (colecaoFuncionario != null && !colecaoFuncionario.isEmpty()) { funcionario = (Funcionario) Util .retonarObjetoDeColecao(colecaoFuncionario); } else { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Funcion�rio"); } } equipeComponentes .setIndicadorResponsavel(new Short( atualizarEquipeActionForm .getIndicadorResponsavel())); equipeComponentes.setFuncionario(funcionario); if (atualizarEquipeActionForm.getNomeComponente() != null && !atualizarEquipeActionForm .getNomeComponente().trim().equals( "")) { equipeComponentes .setComponentes(atualizarEquipeActionForm .getNomeComponente()); } else { equipeComponentes.setComponentes(null); } if (equipeComponentes.getIndicadorResponsavel() == EquipeComponentes.INDICADOR_RESPONSAVEL_SIM) { if (responsavelExistente) { throw new ActionServletException( "atencao.responsavel.equipe.ja.existente"); } responsavelExistente = true; } sessao.setAttribute("colecaoEquipeComponentes", colecaoEquipeComponentes); } else { if (equipeComponentes.getIndicadorResponsavel() == EquipeComponentes.INDICADOR_RESPONSAVEL_SIM) { if (responsavelExistente) { throw new ActionServletException( "atencao.responsavel.equipe.ja.existente"); } responsavelExistente = true; } if (equipeComponentes.getFuncionario() != null && idFuncionario != null && !idFuncionario.trim().equals("")) { throw new ActionServletException( "atencao.equipe_componente.ja.existente"); } } } } } else { retorno = actionMapping.findForward("inserirEquipeComponente"); } } // Testa se � pra adicionar componente ou n�o if (httpServletRequest.getParameter("method") != null) { if( httpServletRequest.getParameter("method").equals("addEquipamentos") ){ retorno = actionMapping.findForward("inserirEquipamentosEspeciais"); atualizarEquipeActionForm.setEquipamentosEspeciasId(""); atualizarEquipeActionForm.setDescricao(""); atualizarEquipeActionForm.setQuantidade(""); FiltroEquipamentosEspeciais filtro = new FiltroEquipamentosEspeciais(); filtro.adicionarParametro( new ParametroSimples( FiltroEquipamentosEspeciais.INDICADORUSO, ConstantesSistema.SIM)); Collection colecaoEquipamentosEspeciais = this.getFachada().pesquisar(filtro, EquipamentosEspeciais.class.getName()); httpServletRequest.setAttribute("colecaoEquipamentosEspeciais",colecaoEquipamentosEspeciais); atualizarEquipeActionForm.setMethod("add"); } } EquipeEquipamentosEspeciais equipeEquipamentosEspeciais = null; if (atualizarEquipeActionForm.getDeleteEquipamento() != null && !atualizarEquipeActionForm.getDeleteEquipamento().equals("")) { removeEquipeEquipamento(atualizarEquipeActionForm); } else{ if (!atualizarEquipeActionForm.getMethod().equals("")) { if (((atualizarEquipeActionForm.getEquipamentosEspeciasId() != null && !atualizarEquipeActionForm.getEquipamentosEspeciasId().equals("")) || (atualizarEquipeActionForm.getQuantidade() != null && !atualizarEquipeActionForm.getQuantidade().equals("")))) { equipeEquipamentosEspeciais = getEquipeEquipamentosEspeciais(atualizarEquipeActionForm); // Seta componente na cole��o setColecaoEquipeEquipamentosEspeciais(atualizarEquipeActionForm,equipeEquipamentosEspeciais); // Reseta informa��es vindas do popup resetPopupEquipamento(atualizarEquipeActionForm); // Faz as valida��es de inser��o de equipe equipamentos especiais fachada.validarInsercaoEquipeEquipamentosEspeciais(atualizarEquipeActionForm.getEquipeEquipamentosEspeciais()); atualizarEquipeActionForm.setMethod(""); // Seta retorno retorno = actionMapping.findForward("exibirAtualizarEquipe"); } } } return retorno; } private void setColecaoEquipeEquipamentosEspeciais(AtualizarEquipeActionForm atualizarEquipeActionForm, EquipeEquipamentosEspeciais equipeEquipamentosEspeciais) { atualizarEquipeActionForm.getEquipeEquipamentosEspeciais().add(equipeEquipamentosEspeciais); atualizarEquipeActionForm.setTamanhoColecaoEquipeEquipamenosEspeciais((atualizarEquipeActionForm.getEquipeEquipamentosEspeciais().size()+"")); } /** * Recupera objeto Equipe Componente com informa��es vindas da tela * * @author Leonardo Regis * @date 29/07/2006 * * @param inserirEquipeActionForm * @param equipeComponentes */ private EquipeEquipamentosEspeciais getEquipeEquipamentosEspeciais(AtualizarEquipeActionForm atualizarEquipeActionForm) { EquipeEquipamentosEspeciais equipeEquipamentosEspeciais = new EquipeEquipamentosEspeciais(); FiltroEquipamentosEspeciais filtroEquipamentosEspeciais = new FiltroEquipamentosEspeciais(); filtroEquipamentosEspeciais.adicionarParametro(new ParametroSimples( FiltroEquipamentosEspeciais.ID, atualizarEquipeActionForm.getEquipamentosEspeciasId())); Collection colecaoEquipamentosEspeciais = Fachada.getInstancia().pesquisar( filtroEquipamentosEspeciais, EquipamentosEspeciais.class.getName()); EquipamentosEspeciais equipamentosEspeciais = (EquipamentosEspeciais) colecaoEquipamentosEspeciais .iterator().next(); if (atualizarEquipeActionForm.getQuantidade() != null && !atualizarEquipeActionForm.getQuantidade().equals("")) { equipeEquipamentosEspeciais.setQuantidade(new Integer(atualizarEquipeActionForm.getQuantidade()) ); } equipeEquipamentosEspeciais.setEquipamentosEspeciais(equipamentosEspeciais); equipeEquipamentosEspeciais.setUltimaAlteracao(new Date()); return equipeEquipamentosEspeciais; } private void resetPopupEquipamento(AtualizarEquipeActionForm atualizarEquipeActionForm) { atualizarEquipeActionForm.setEquipamentosEspeciasId(""); atualizarEquipeActionForm.setQuantidade(""); } /** * Remove Equipamento especial da Cole��o * * @author Nathalia Santos * @date 27/06/2011 * * @param inserirEquipeActionForm * @param equipamentosEspeciais */ private void removeEquipeEquipamento(AtualizarEquipeActionForm atualizarEquipeActionForm) { Collection colecaoEquipeEquipamentosEspeciais = new ArrayList(); int index = 0; for (Iterator iter = atualizarEquipeActionForm.getEquipeEquipamentosEspeciais().iterator(); iter .hasNext();) { index++; EquipeEquipamentosEspeciais element = (EquipeEquipamentosEspeciais) iter.next(); if (index != new Integer(atualizarEquipeActionForm.getDeleteEquipamento()).intValue()) { colecaoEquipeEquipamentosEspeciais.add(element); } } atualizarEquipeActionForm.setEquipeEquipamentosEspeciais(colecaoEquipeEquipamentosEspeciais); atualizarEquipeActionForm.setTamanhoColecaoEquipeEquipamenosEspeciais(atualizarEquipeActionForm.getEquipeEquipamentosEspeciais().size()+""); atualizarEquipeActionForm.setDeleteEquipamento(""); resetPopupEquipamento(atualizarEquipeActionForm); } /** * Pequisa o usu�rio com o id correspondente ao informado * @author Erivan * @param String codigoUsuario * @return Usuario */ private Usuario buscarUsuario(String codigoUsuario){ Usuario usuario = null; FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.ID, codigoUsuario)); Collection colecaoUsuario = Fachada.getInstancia().pesquisar(filtroUsuario, Usuario.class.getName()); if(colecaoUsuario != null && !colecaoUsuario.isEmpty()){ usuario = (Usuario) colecaoUsuario.iterator().next(); }else{ filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.FUNCIONARIO_ID, codigoUsuario)); colecaoUsuario = Fachada.getInstancia().pesquisar(filtroUsuario, Usuario.class.getName()); if(colecaoUsuario != null && !colecaoUsuario.isEmpty()){ usuario = (Usuario) colecaoUsuario.iterator().next(); }else{ filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ParametroSimples(FiltroUsuario.LOGIN, codigoUsuario)); colecaoUsuario = Fachada.getInstancia().pesquisar(filtroUsuario, Usuario.class.getName()); } } return usuario; } }