package gcom.gui.micromedicao.leitura; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.micromedicao.leitura.FiltrarLeituristaActionForm; import gcom.micromedicao.FiltroLeiturista; import gcom.seguranca.acesso.usuario.FiltroUsuario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.util.ConstantesSistema; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Descri��o da classe * * @author Thiago Ten�rio * @date 22/07/2007 */ public class FiltrarLeituristaAction extends GcomAction { /** * Este caso de uso permite Filtrar um Leiturista * * [UC0590] Filtrar Leiturista * * * @author Thiago Ten�rio e Thiago Nascimento * @date 11/06/2008 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("exibirManterLeiturista"); HttpSession sessao = httpServletRequest.getSession(false); FiltrarLeituristaActionForm filtrarLeituristaActionForm = (FiltrarLeituristaActionForm) actionForm; FiltroLeiturista filtroLeiturista = new FiltroLeiturista(FiltroLeiturista.ID); filtroLeiturista.adicionarCaminhoParaCarregamentoEntidade("usuario"); // Fachada fachada = Fachada.getInstancia(); boolean peloMenosUmParametroInformado = false; String idFuncionario = filtrarLeituristaActionForm.getIdFuncionario(); String idCliente = filtrarLeituristaActionForm.getIdCliente(); String empresaID = filtrarLeituristaActionForm.getEmpresaID(); String telefone = filtrarLeituristaActionForm.getTelefone(); String ddd = filtrarLeituristaActionForm.getDdd(); String indicadorUso = filtrarLeituristaActionForm.getIndicadorUso(); String imei = filtrarLeituristaActionForm.getImei(); String loginUsuario = filtrarLeituristaActionForm.getLoginUsuario(); String indicadorAtualizar = httpServletRequest .getParameter("indicadorAtualizar"); // Verifica se o campo C�digodo funcionario foi informado if (idFuncionario != null && !idFuncionario.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.FUNCIONARIO, idFuncionario)); } // Verifica se o campo Consumo a Ser Cobrado (leitura n�o informada) foi informado if (empresaID != null && !empresaID.trim().equalsIgnoreCase( "" + ConstantesSistema.NUMERO_NAO_INFORMADO)) { peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.EMPRESA, empresaID)); } // Verifica se o campo C�digodo cliente foi informado if (idCliente != null && !idCliente.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.CLIENTE, idCliente)); } // Verifica se o campo numero telefone foi informado if (telefone != null && !telefone.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.TELEFONE, telefone)); } // Verifica se o campo DDD foi informado if (ddd != null && !ddd.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.DDD, ddd)); } // Verifica se o campo Indicador de Uso foi informado if (indicadorUso != null && !indicadorUso.equalsIgnoreCase("") && !indicadorUso.equalsIgnoreCase("3")) { peloMenosUmParametroInformado = true; if (indicadorUso.equalsIgnoreCase(String .valueOf(ConstantesSistema.INDICADOR_USO_ATIVO))) { filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); } else { filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_DESATIVO)); } } //Numero do Imei if(imei !=null && !imei.trim().equals("")){ peloMenosUmParametroInformado = true; filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.IMEI, imei)); } // Usuario if ( loginUsuario != null && !loginUsuario.equals( "" ) ){ // Filtra Usuario FiltroUsuario filtroUsuario = new FiltroUsuario(); filtroUsuario.adicionarParametro(new ComparacaoTexto(FiltroUsuario.LOGIN, loginUsuario ) ); // Recupera Usu�rio Collection<Usuario> colecaoUsuario = Fachada.getInstancia().pesquisar(filtroUsuario, Usuario.class.getName()); if (colecaoUsuario != null && !colecaoUsuario.isEmpty()) { Usuario usuario = colecaoUsuario.iterator().next(); filtroLeiturista.adicionarParametro( new ParametroSimples( FiltroLeiturista.USUARIO_ID, usuario.getId() ) ); } } // Erro caso o usu�rio mandou Pesquisar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // filtroGerenciaRegional.adicionarCaminhoParaCarregamentoEntidade("gerenciaRegional"); sessao.setAttribute("filtroLeiturista", filtroLeiturista); sessao.setAttribute("indicadorAtualizar", indicadorAtualizar); return retorno; } }