package gcom.gui.micromedicao.hidrometro; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.micromedicao.hidrometro.FiltroHidrometroCapacidade; import gcom.micromedicao.hidrometro.FiltroHidrometroClasseMetrologica; import gcom.micromedicao.hidrometro.FiltroHidrometroDiametro; import gcom.micromedicao.hidrometro.FiltroHidrometroLocalArmazenagem; import gcom.micromedicao.hidrometro.FiltroHidrometroMarca; import gcom.micromedicao.hidrometro.FiltroHidrometroSituacao; import gcom.micromedicao.hidrometro.FiltroHidrometroTipo; import gcom.micromedicao.hidrometro.Hidrometro; import gcom.micromedicao.hidrometro.HidrometroCapacidade; import gcom.micromedicao.hidrometro.HidrometroClasseMetrologica; import gcom.micromedicao.hidrometro.HidrometroDiametro; import gcom.micromedicao.hidrometro.HidrometroLocalArmazenagem; import gcom.micromedicao.hidrometro.HidrometroMarca; import gcom.micromedicao.hidrometro.HidrometroSituacao; import gcom.micromedicao.hidrometro.HidrometroTipo; import gcom.util.ConstantesSistema; import gcom.util.Util; 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; public class ExibirPesquisarHidrometroAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Obt�m o action form PesquisarHidrometroActionForm pesquisarHidrometroActionForm = (PesquisarHidrometroActionForm) actionForm; //obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); // Seta o caminho de retorno ActionForward retorno = actionMapping .findForward("pesquisarHidrometro"); if (httpServletRequest.getParameter("limparForm") != null){ pesquisarHidrometroActionForm.setAnoFabricacao(""); pesquisarHidrometroActionForm.setDataAquisicao(""); pesquisarHidrometroActionForm.setDescricaoLocalArmazenamento(""); pesquisarHidrometroActionForm.setFaixaFinal(""); pesquisarHidrometroActionForm.setFaixaInicial(""); pesquisarHidrometroActionForm.setFinalidade("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setFixo(""); pesquisarHidrometroActionForm.setIdHidrometroCapacidade("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdHidrometroClasseMetrologica("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdHidrometroDiametro("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdHidrometroMarca("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdHidrometroSituacao("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdHidrometroTipo("" + ConstantesSistema.NUMERO_NAO_INFORMADO); pesquisarHidrometroActionForm.setIdLocalArmazenamento(""); pesquisarHidrometroActionForm.setNumeroHidrometro(""); sessao.removeAttribute("bloquearLocalArmazenagem"); sessao.removeAttribute("caminhoRetornoTelaPesquisaHidrometro"); } if (pesquisarHidrometroActionForm.getFinalidade() != null && pesquisarHidrometroActionForm.getFinalidade().equals("" + Hidrometro.INDICADOR_COMERCIAL)){ httpServletRequest.setAttribute("finalidade" ,Hidrometro.INDICADOR_COMERCIAL); }else if(pesquisarHidrometroActionForm.getFinalidade() != null && pesquisarHidrometroActionForm.getFinalidade().equals("" + Hidrometro.INDICADOR_OPERACIONAL)){ httpServletRequest.setAttribute("finalidade" ,Hidrometro.INDICADOR_OPERACIONAL); } // Pega a instancia da fachada Fachada fachada = Fachada.getInstancia(); // Busca no sistema as tabelas que v�o auxiliar a exibi��o da p�gina FiltroHidrometroClasseMetrologica filtroHidrometroClasseMetrologica = new FiltroHidrometroClasseMetrologica(); FiltroHidrometroMarca filtroHidrometroMarca = new FiltroHidrometroMarca(); FiltroHidrometroDiametro filtroHidrometroDiametro = new FiltroHidrometroDiametro(); FiltroHidrometroCapacidade filtroHidrometroCapacidade = new FiltroHidrometroCapacidade(); FiltroHidrometroTipo filtroHidrometroTipo = new FiltroHidrometroTipo(); FiltroHidrometroSituacao filtroHidrometroSituacao = new FiltroHidrometroSituacao(); // Seta o campo que vai ordenar a apresenta��o das cole��es na p�gina filtroHidrometroClasseMetrologica .setCampoOrderBy(FiltroHidrometroClasseMetrologica.DESCRICAO); filtroHidrometroMarca .setCampoOrderBy(FiltroHidrometroMarca.DESCRICAO); filtroHidrometroDiametro .setCampoOrderBy(FiltroHidrometroDiametro.DESCRICAO); filtroHidrometroCapacidade .setCampoOrderBy(FiltroHidrometroCapacidade.DESCRICAO); filtroHidrometroTipo .setCampoOrderBy(FiltroHidrometroTipo.DESCRICAO); filtroHidrometroSituacao .setCampoOrderBy(FiltroHidrometroSituacao.DESCRICAO); // Pesquisa das cole��es Collection<HidrometroClasseMetrologica> hidrometrosClasseMetrologica = fachada .pesquisar(filtroHidrometroClasseMetrologica, HidrometroClasseMetrologica.class.getName()); Collection<HidrometroMarca> hidrometrosMarca = fachada.pesquisar( filtroHidrometroMarca, HidrometroMarca.class.getName()); Collection<HidrometroDiametro> hidrometrosDiametro = fachada.pesquisar( filtroHidrometroDiametro, HidrometroDiametro.class.getName()); Collection<HidrometroCapacidade> hidrometrosCapacidade = fachada .pesquisar(filtroHidrometroCapacidade, HidrometroCapacidade.class.getName()); Collection<HidrometroTipo> hidrometrosTipo = fachada.pesquisar( filtroHidrometroTipo, HidrometroTipo.class.getName()); Collection<HidrometroSituacao> hidrometrosSituacao = fachada.pesquisar( filtroHidrometroSituacao, HidrometroSituacao.class.getName()); // Manda as cole��es pesquisadas pelo request httpServletRequest.setAttribute("hidrometrosClasseMetrologica", hidrometrosClasseMetrologica); httpServletRequest.setAttribute("hidrometrosMarca", hidrometrosMarca); httpServletRequest.setAttribute("hidrometrosDiametro", hidrometrosDiametro); httpServletRequest.setAttribute("hidrometrosCapacidade", hidrometrosCapacidade); httpServletRequest.setAttribute("hidrometrosTipo", hidrometrosTipo); httpServletRequest.setAttribute("hidrometrosSituacao", hidrometrosSituacao); // verifica se o usu�rio solicitou uma consulta de Local de Armazenagem String idLocalArmazenamento = httpServletRequest .getParameter("id"); String descricaoLocalArmazenamento = httpServletRequest .getParameter("descricao"); // Flag indicando que o usu�rio fez uma consulta a partir da tecla Enter String consultarLocalArmazenamento = httpServletRequest .getParameter("consultarLocalArmazenamento"); // Seta no form os valores da pesquisa feita no popup de local // armazenamento if (idLocalArmazenamento != null && !idLocalArmazenamento.trim().equals("") && descricaoLocalArmazenamento != null && !descricaoLocalArmazenamento.trim().equals("")) { // Indica que o local de armazenagem foi encontrado httpServletRequest.setAttribute("localArmazenagemEncontrado", "true"); pesquisarHidrometroActionForm .setIdLocalArmazenamento(idLocalArmazenamento.trim()); pesquisarHidrometroActionForm .setDescricaoLocalArmazenamento(descricaoLocalArmazenamento .trim()); } if (consultarLocalArmazenamento != null && !consultarLocalArmazenamento.trim().equals("")) { // Faz a consulta de Local de Armazenagem pesquisarLocalArmazenamento(httpServletRequest, retorno, pesquisarHidrometroActionForm); } if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { //se for os parametros de enviarDadosParametros ser�o mandados para // a pagina hidrometro_pesquisar.jsp pesquisarHidrometroActionForm.setIdLocalArmazenamento( httpServletRequest.getParameter("idCampoEnviarDados")); pesquisarHidrometroActionForm.setDescricaoLocalArmazenamento( httpServletRequest.getParameter("descricaoCampoEnviarDados")); } //envia uma flag que ser� verificado no // hidrometro_resultado_pesquisa.jsp //para saber se ir� usar o enviar dados ou o enviar dados parametros if (httpServletRequest.getParameter("caminhoRetornoTelaPesquisaHidrometro") != null) { sessao.setAttribute("caminhoRetornoTelaPesquisaHidrometro", httpServletRequest .getParameter("caminhoRetornoTelaPesquisaHidrometro")); } if (httpServletRequest.getParameter("idLocalArmazenagem") != null && !httpServletRequest.getParameter("idLocalArmazenagem").trim().equals("")) { sessao.setAttribute("bloquearLocalArmazenagem", true); pesquisarHidrometroActionForm .setIdLocalArmazenamento(httpServletRequest.getParameter( "idLocalArmazenagem").trim()); // Faz a consulta de Local de Armazenagem pesquisarLocalArmazenamento(httpServletRequest, retorno, pesquisarHidrometroActionForm); } if (sessao.getAttribute("semMenu") != null && sessao.getAttribute("semMenu").equals("SIM")) { sessao.setAttribute("enviarDadosComParametro", "SIM"); } return retorno; } private void pesquisarLocalArmazenamento( HttpServletRequest httpServletRequest, ActionForward retorno, PesquisarHidrometroActionForm pesquisarHidrometroActionForm) { // Filtro para obter o local de armazenagem ativo de id informado FiltroHidrometroLocalArmazenagem filtroHidrometroLocalArmazenagem = new FiltroHidrometroLocalArmazenagem(); filtroHidrometroLocalArmazenagem .adicionarParametro(new ParametroSimples( FiltroHidrometroLocalArmazenagem.ID, new Integer( pesquisarHidrometroActionForm .getIdLocalArmazenamento()), 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.getInstancia() .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("localArmazenagemEncontrado", "true"); pesquisarHidrometroActionForm .setIdLocalArmazenamento(hidrometroLocalArmazenagem.getId() .toString()); pesquisarHidrometroActionForm .setDescricaoLocalArmazenamento(hidrometroLocalArmazenagem .getDescricao()); } else { // Exibe mensagem de c�digo inexiste e limpa o campo de c�digo // httpServletRequest.setAttribute("corLocalArmazenagem", // "exception"); pesquisarHidrometroActionForm.setIdLocalArmazenamento(""); pesquisarHidrometroActionForm .setDescricaoLocalArmazenamento("Local de armazenagem inexistente"); } } }