package gcom.gui.cadastro.atualizacaocadastral; import gcom.cadastro.cliente.FiltroEsferaPoder; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroLeiturista; import gcom.micromedicao.FiltroSituacaoTransmissaoLeitura; import gcom.micromedicao.Leiturista; import gcom.micromedicao.SituacaoTransmissaoLeitura; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.List; 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; /** * Action que define o pr�-processamento da p�gina de pesquisar arquivo texto * * @author Ana Maria * @date 10/06/2009 */ public class ExibirPesquisarArquivoTextoAtualizacaoCadastralAction extends GcomAction { /** * [UC0000] Pesquisar Arquivo Texto para Atualiza��o Cadastral * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { //Seta o mapeamento de retorno para a tela de pesquisar leiturista ActionForward retorno = actionMapping.findForward("pesquisarArquivoTextoAtualizacaoCadastral"); //Cria uma inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); PesquisarArquivoTextoAtualizacaoCadastralActionForm form = (PesquisarArquivoTextoAtualizacaoCadastralActionForm) actionForm; if (httpServletRequest.getParameter("limpaForm") != null){ form.setDescricao(""); form.setIdLeiturista(""); form.setNomeLeiturista(""); form.setIdSituacaoTransmissao(""); } //Pesquisando situa��o da transmiss�o do arquivo if (sessao.getAttribute("colecaoSituacaoTransmissaoLeitura") == null){ FiltroSituacaoTransmissaoLeitura filtroSituacaoTransmissaoLeitura = new FiltroSituacaoTransmissaoLeitura(); filtroSituacaoTransmissaoLeitura.adicionarParametro(new ParametroSimples(FiltroEsferaPoder.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection colecaoSituacaoTransmissaoLeitura = fachada.pesquisar(filtroSituacaoTransmissaoLeitura, SituacaoTransmissaoLeitura.class.getName()); if (colecaoSituacaoTransmissaoLeitura == null || colecaoSituacaoTransmissaoLeitura.isEmpty()){ throw new ActionServletException("atencao.entidade_sem_dados_para_selecao", null, "Situa��o da Transmiss�o do Arquivo"); } sessao.setAttribute("colecaoSituacaoTransmissaoLeitura", colecaoSituacaoTransmissaoLeitura); } //Fim de pesquisando empresas // -------Parte que trata do c�digo quando o usu�rio tecla enter if(httpServletRequest.getParameter("objetoConsulta") != null){ String idDigitadoAgenteCadastral = form.getIdLeiturista(); //Recupera o leiturista informado pelo usu�rio FiltroLeiturista filtroLeiturista = new FiltroLeiturista(); filtroLeiturista.adicionarCaminhoParaCarregamentoEntidade(FiltroLeiturista.FUNCIONARIO); filtroLeiturista.adicionarCaminhoParaCarregamentoEntidade(FiltroLeiturista.CLIENTE); filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.ID, idDigitadoAgenteCadastral)); filtroLeiturista.adicionarParametro(new ParametroSimples( FiltroLeiturista.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection leituristaEncontrado = fachada.pesquisar(filtroLeiturista, Leiturista.class.getName()); //Caso o leiturista informado pelo usu�rio esteja cadastrado no sistema //Seta os dados do leiturista no form //Caso contr�rio seta as informa��es de leiturista para vazio //e indica ao usu�rio que o leiturista n�o existe if (leituristaEncontrado != null && leituristaEncontrado.size() > 0) { //leiturista foi encontrado Leiturista leiturista = (Leiturista) ((List) leituristaEncontrado).get(0); form.setIdLeiturista("" + leiturista.getId()); if (leiturista.getFuncionario() != null){ form.setNomeLeiturista(leiturista.getFuncionario().getNome()); } else if (leiturista.getCliente() != null){ form.setNomeLeiturista(leiturista.getCliente().getNome()); } httpServletRequest.setAttribute("idLeituristaEncontrado","true"); httpServletRequest.setAttribute("nomeCampo","idSituacaoTransmissao"); } else { //o leiturista n�o foi encontrado form.setIdLeiturista(""); form.setNomeLeiturista("LEITURISTA INEXISTENTE"); httpServletRequest.setAttribute("nomeCampo","idLeiturista"); } } if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { // Verifica se o tipo da consulta de leiturista � de cliente // se for os parametros de enviarDadosParametros ser�o mandados para // a pagina leiturista_pesquisar.jsp if (httpServletRequest.getParameter("tipoConsulta") != null){ if (httpServletRequest.getParameter("tipoConsulta").equals( "leiturista")) { form.setIdLeiturista(httpServletRequest .getParameter("idCampoEnviarDados")); form.setNomeLeiturista(httpServletRequest .getParameter("descricaoCampoEnviarDados")); httpServletRequest.setAttribute("idLeituristaEncontrado", "true"); } } } else { if (httpServletRequest.getParameter("objetoConsulta") == null || httpServletRequest.getParameter("objetoConsulta") .equals("")) { form.setDescricao(""); form.setIdLeiturista(""); form.setIdSituacaoTransmissao(""); form.setNomeLeiturista(""); sessao.removeAttribute("caminhoRetornoTelaPesquisa"); sessao.removeAttribute("caminhoRetornoTelaPesquisaCliente"); sessao.removeAttribute("caminhoRetornoTelaPesquisaFuncionario"); } } if (httpServletRequest.getParameter("caminhoRetornoTelaPesquisaArquivoTextoAtualizacaoCadastral") != null) { sessao.setAttribute( "caminhoRetornoTelaPesquisaArquivoTextoAtualizacaoCadastral", httpServletRequest.getParameter("caminhoRetornoTelaPesquisaArquivoTextoAtualizacaoCadastral")); } //Retorna o mapeamento contido na vari�vel retorno return retorno; } }