/** * < <Descrição do método>> * * @param actionMapping Descrição do parâmetro * @param actionForm Descrição do parâmetro * @param httpServletRequest Descrição do parâmetro * @param httpServletResponse Descrição do parâmetro * @return Descrição do retorno */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Obtém o action form HidrometroActionForm hidrometroActionForm = (HidrometroActionForm) actionForm; Collection colecaoHidrometroCapacidade = null; // Seta a ação de retorno ActionForward retorno = actionMapping.findForward("inserirHidrometro"); // Obtém a sessão HttpSession sessao = httpServletRequest.getSession(false); // Caso o form esteja na sessão é removido // sessao.removeAttribute("HidrometroActionForm"); // Obtém a facahda Fachada fachada = Fachada.getInstancia(); // Obtém o objetoCosulta vindo na sessão String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); // Chamou a funcionalidade pela 1ª vez. // O usuário pode chamar o filtro de hidrômetro que carrega objetos na // sessão // e depois chamar o inserir hidrômetro. Necessário remover os objetos // da sessão deixados pelo filtro. String limpaSessao = (String) httpServletRequest.getParameter("limpaSessao"); if (limpaSessao != null && !limpaSessao.trim().equalsIgnoreCase("") && (Integer.parseInt(limpaSessao)) == 1) { // remove objetos da sessão vindos do filtro sessao.removeAttribute("colecaoHidrometroClasseMetrologica"); sessao.removeAttribute("colecaoHidrometroMarca"); sessao.removeAttribute("colecaoHidrometroDiametro"); sessao.removeAttribute("colecaoHidrometroCapacidade"); sessao.removeAttribute("colecaoHidrometroTipo"); sessao.removeAttribute("colecaoHidrometroRelojoaria"); } // Verifica se o objeto é diferente de nulo if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("") && (Integer.parseInt(objetoConsulta)) == 1) { // Filtro para obter o local de armazenagem ativo de id informado FiltroHidrometroLocalArmazenagem filtroHidrometroLocalArmazenagem = new FiltroHidrometroLocalArmazenagem(); filtroHidrometroLocalArmazenagem.adicionarParametro( new ParametroSimples( FiltroHidrometroLocalArmazenagem.ID, new Integer(hidrometroActionForm.getIdLocalArmazenagem()), ParametroSimples.CONECTOR_AND)); filtroHidrometroLocalArmazenagem.adicionarParametro( new ParametroSimples( FiltroHidrometroLocalArmazenagem.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Pesquisa de acordo com os parâmetros informados no filtro Collection colecaoHidrometroLocalArmazenagem = fachada.pesquisar( filtroHidrometroLocalArmazenagem, HidrometroLocalArmazenagem.class.getName()); // Verifica se a pesquisa retornou algum objeto para a coleção if (colecaoHidrometroLocalArmazenagem != null && !colecaoHidrometroLocalArmazenagem.isEmpty()) { // Obtém o objeto da coleção pesquisada HidrometroLocalArmazenagem hidrometroLocalArmazenagem = (HidrometroLocalArmazenagem) Util.retonarObjetoDeColecao(colecaoHidrometroLocalArmazenagem); // Exibe o código e a descrição pesquisa na página httpServletRequest.setAttribute("corLocalArmazenagem", "valor"); hidrometroActionForm.setIdLocalArmazenagem(hidrometroLocalArmazenagem.getId().toString()); hidrometroActionForm.setLocalArmazenagemDescricao( hidrometroLocalArmazenagem.getDescricao()); } else { // Exibe mensagem de código inexiste e limpa o campo de código httpServletRequest.setAttribute("corLocalArmazenagem", "exception"); hidrometroActionForm.setIdLocalArmazenagem(""); hidrometroActionForm.setLocalArmazenagemDescricao("Local de Armazenagem Inexistente"); } } else if (sessao.getAttribute("colecaoHidrometroClasseMetrologica") == null && sessao.getAttribute("colecaoHidrometroMarca") == null && sessao.getAttribute("colecaoHidrometroDiametro") == null && sessao.getAttribute("colecaoHidrometroCapacidade") == null && sessao.getAttribute("colecaoHidrometroTipo") == null && sessao.getAttribute("colecaoHidrometroRelojoaria") == null) { // Remove objeto da sessão sessao.removeAttribute("HidrometroActionForm"); // Filtro de hidrômetro classe metrológica para obter todas as // classes metrológicas ativas FiltroHidrometroClasseMetrologica filtroHidrometroClasseMetrologica = new FiltroHidrometroClasseMetrologica(); filtroHidrometroClasseMetrologica.adicionarParametro( new ParametroSimples( FiltroHidrometroClasseMetrologica.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroClasseMetrologica.setCampoOrderBy( FiltroHidrometroClasseMetrologica.DESCRICAO); // Pesquisa a coleção de classe metrológica Collection colecaoHidrometroClasseMetrologica = fachada.pesquisar( filtroHidrometroClasseMetrologica, HidrometroClasseMetrologica.class.getName()); // Filtro de hidrômetro marca para obter todas as marcas de // hidrômetros ativas FiltroHidrometroMarca filtroHidrometroMarca = new FiltroHidrometroMarca(); filtroHidrometroMarca.adicionarParametro( new ParametroSimples( FiltroHidrometroMarca.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroMarca.setCampoOrderBy(FiltroHidrometroMarca.DESCRICAO); // Pesquisa a coleção de hidrômetro marca Collection colecaoHidrometroMarca = fachada.pesquisar(filtroHidrometroMarca, HidrometroMarca.class.getName()); // Filtro de hidrômetro diâmetro para obter todos os diâmetros de // hidrômetros ativos FiltroHidrometroDiametro filtroHidrometroDiametro = new FiltroHidrometroDiametro(); filtroHidrometroDiametro.adicionarParametro( new ParametroSimples( FiltroHidrometroDiametro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroDiametro.setCampoOrderBy(FiltroHidrometroDiametro.NUMERO_ORDEM); // Pesquisa a coleção de hidrômetro capacidade Collection colecaoHidrometroDiametro = fachada.pesquisar(filtroHidrometroDiametro, HidrometroDiametro.class.getName()); // Filtro de hidrômetro capacidade para obter todos as capacidade de // hidrômetros ativas FiltroHidrometroCapacidade filtroHidrometroCapacidade = new FiltroHidrometroCapacidade(); filtroHidrometroCapacidade.adicionarParametro( new ParametroSimples( FiltroHidrometroCapacidade.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroCapacidade.setCampoOrderBy(FiltroHidrometroCapacidade.NUMERO_ORDEM); // Pesquisa a coleção de hidrômetro capacidade colecaoHidrometroCapacidade = fachada.pesquisar(filtroHidrometroCapacidade, HidrometroCapacidade.class.getName()); // Filtro de hidrômetro tipo para obter todos os tipos de // hidrômetros ativos FiltroHidrometroTipo filtroHidrometroTipo = new FiltroHidrometroTipo(); filtroHidrometroTipo.adicionarParametro( new ParametroSimples( FiltroHidrometroTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroTipo.setCampoOrderBy(FiltroHidrometroTipo.DESCRICAO); // Pesquisa a coleção de hidrômetro tipo Collection colecaoHidrometroTipo = fachada.pesquisar(filtroHidrometroTipo, HidrometroTipo.class.getName()); // Filtro de hidrômetro relojoaria para obter todos os tipos de // hidrômetros relojoaria ativos FiltroHidrometroRelojoaria filtroHidrometroRelojoaria = new FiltroHidrometroRelojoaria(); filtroHidrometroRelojoaria.adicionarParametro( new ParametroSimples( FiltroHidrometroRelojoaria.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroHidrometroRelojoaria.setCampoOrderBy(FiltroHidrometroRelojoaria.DESCRICAO); // Pesquisa a coleção de hidrômetro tipo Collection colecaoHidrometroRelojoaria = fachada.pesquisar(filtroHidrometroRelojoaria, HidrometroRelojoaria.class.getName()); hidrometroActionForm.setIndicadorMacromedidor("" + ConstantesSistema.NUMERO_NAO_INFORMADO); // Envia as coleções na sessão sessao.setAttribute("colecaoHidrometroClasseMetrologica", colecaoHidrometroClasseMetrologica); sessao.setAttribute("colecaoHidrometroMarca", colecaoHidrometroMarca); sessao.setAttribute("colecaoHidrometroDiametro", colecaoHidrometroDiametro); sessao.setAttribute("colecaoHidrometroCapacidade", colecaoHidrometroCapacidade); sessao.setAttribute("colecaoHidrometroTipo", colecaoHidrometroTipo); sessao.setAttribute("colecaoHidrometroRelojoaria", colecaoHidrometroRelojoaria); } // Filtro de hidrômetro capacidade para obter capacidade de hidrômetro // de acordo com o id FiltroHidrometroCapacidade filtroHidrometroCapacidadeNumeroDigitos = new FiltroHidrometroCapacidade(); // Verifica se a coleção de hidrometro capacidade é diferente de null if (colecaoHidrometroCapacidade != null && !colecaoHidrometroCapacidade.isEmpty()) { // Obtém o primeiro objeto da collection Iterator colecaoHidrometroCapacidadeIterator = colecaoHidrometroCapacidade.iterator(); HidrometroCapacidade hidrometroCapacidade = (HidrometroCapacidade) colecaoHidrometroCapacidadeIterator.next(); // Filtra pelo primeiro objeto da collection filtroHidrometroCapacidadeNumeroDigitos.adicionarParametro( new ParametroSimples(FiltroHidrometroCapacidade.ID, hidrometroCapacidade.getId())); } else { // Filtra pelo id selecionado no combobox filtroHidrometroCapacidadeNumeroDigitos.adicionarParametro( new ParametroSimples( FiltroHidrometroCapacidade.ID, new Integer(hidrometroActionForm.getIdHidrometroCapacidade()))); } // Pesquisa o número de dígitos de acordo com o filtro Collection colecaoHidrometroCapacidadeNumeroDigitos = fachada.pesquisar( filtroHidrometroCapacidadeNumeroDigitos, HidrometroCapacidade.class.getName()); if (colecaoHidrometroCapacidadeNumeroDigitos != null && !colecaoHidrometroCapacidadeNumeroDigitos.isEmpty()) { // Retorna o objeto pesquisado HidrometroCapacidade hidrometroCapacidadeNumeroDigitos = (HidrometroCapacidade) Util.retonarObjetoDeColecao(colecaoHidrometroCapacidadeNumeroDigitos); Integer leituraMinimo = 0; Integer leituraMaximo = 0; // Obtém as leituras if (!hidrometroCapacidadeNumeroDigitos.getLeituraMinimo().equals("")) { leituraMinimo = new Integer(hidrometroCapacidadeNumeroDigitos.getLeituraMinimo().toString()); } if (!hidrometroCapacidadeNumeroDigitos.getLeituraMaximo().equals("")) { leituraMaximo = new Integer(hidrometroCapacidadeNumeroDigitos.getLeituraMaximo().toString()); } // Obtém a quantidade da diferença int quantidade = (leituraMaximo.intValue() - leituraMinimo.intValue()) + 1; Collection colecaoIntervalo = new ArrayList(); // Adiciona a quantidade da diferença na coleção for (int i = 0; i < quantidade; i++) { colecaoIntervalo.add(new Integer(leituraMinimo.intValue() + i)); } sessao.setAttribute("colecaoIntervalo", colecaoIntervalo); } return retorno; }
public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirManterHidrometroDiametro"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); FiltrarHidrometroDiametroActionForm filtrarHidrometroDiametroActionForm = (FiltrarHidrometroDiametroActionForm) actionForm; FiltroHidrometroDiametro filtroHidrometroDiametro = new FiltroHidrometroDiametro(); boolean peloMenosUmParametroInformado = false; String id = filtrarHidrometroDiametroActionForm.getId(); String descricao = filtrarHidrometroDiametroActionForm.getDescricao(); String descricaoAbreviada = filtrarHidrometroDiametroActionForm.getDescricaoAbreviada(); String numeroOrdem = filtrarHidrometroDiametroActionForm.getNumeroOrdem(); String indicadorUso = filtrarHidrometroDiametroActionForm.getIndicadorUso(); String tipoPesquisa = filtrarHidrometroDiametroActionForm.getTipoPesquisa(); // ID if (id != null && !id.trim().equals("")) { peloMenosUmParametroInformado = true; filtroHidrometroDiametro.adicionarParametro( new ParametroSimples(FiltroHidrometroDiametro.ID, id)); } // Descricao if (descricao != null && !descricao.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa.equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA.toString())) { filtroHidrometroDiametro.adicionarParametro( new ComparacaoTextoCompleto(FiltroHidrometroDiametro.DESCRICAO, descricao)); } else { filtroHidrometroDiametro.adicionarParametro( new ComparacaoTexto(FiltroHidrometroDiametro.DESCRICAO, descricao)); } } // Descricao Abreviada if (descricaoAbreviada != null && !descricaoAbreviada.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroHidrometroDiametro.adicionarParametro( new ComparacaoTextoCompleto( FiltroHidrometroDiametro.DESCRICAO_ABREVIADA, descricaoAbreviada)); } else { filtroHidrometroDiametro.adicionarParametro( new ComparacaoTexto(FiltroHidrometroDiametro.DESCRICAO_ABREVIADA, descricaoAbreviada)); } // Número da Ordem if (numeroOrdem != null && !numeroOrdem.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroHidrometroDiametro.adicionarParametro( new ParametroSimples(FiltroHidrometroDiametro.NUMERO_ORDEM, numeroOrdem)); } // Indicador uso if (indicadorUso != null && !indicadorUso.trim().equals("")) { peloMenosUmParametroInformado = true; filtroHidrometroDiametro.adicionarParametro( new ParametroSimples(FiltroHidrometroDiametro.INDICADOR_USO, indicadorUso)); } Collection colecaoHidrometroDiametro = fachada.pesquisar(filtroHidrometroDiametro, HidrometroDiametro.class.getName()); // Verificar a existencia de um Diametro do Hidrometro if (colecaoHidrometroDiametro.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null, "Diâmetro do Hidrômetro"); } // Filtragem sem parametros if (!peloMenosUmParametroInformado == true) { throw new ActionServletException("atencao.filtro.nenhum_parametro_informado"); } // Pesquisa sem registros if (colecaoHidrometroDiametro == null || colecaoHidrometroDiametro.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "Diâmetro do Hidrômetro"); } else { httpServletRequest.setAttribute("colecaoHidrometroDiametro", colecaoHidrometroDiametro); HidrometroDiametro hidrometroDiametro = new HidrometroDiametro(); hidrometroDiametro = (HidrometroDiametro) Util.retonarObjetoDeColecao(colecaoHidrometroDiametro); String idRegistroAtualizacao = hidrometroDiametro.getId().toString(); sessao.setAttribute("idRegistroAtualizacao", idRegistroAtualizacao); } sessao.setAttribute("filtroHidrometroDiametro", filtroHidrometroDiametro); httpServletRequest.setAttribute("filtroHidrometroDiametro", filtroHidrometroDiametro); return retorno; }