package gcom.gui.micromedicao; import gcom.cadastro.empresa.Empresa; import gcom.cadastro.empresa.FiltroEmpresa; import gcom.cadastro.localidade.FiltroGerenciaRegional; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoGrupo; import gcom.faturamento.FiltroFaturamentoGrupo; 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.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; public class ExibirFiltrarExcecoesLeiturasConsumosLocalidadeAction extends GcomAction { private Collection colecaoPesquisa = null; private String localidadeID = null; private String setorComercialCD = null; private String setorComercialID = null; private String quadraNM = null; public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("filtrarExcecoesLeiturasConsumosLocalidade"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); LeituraConsumoActionForm leituraConsumoActionForm = (LeituraConsumoActionForm) actionForm; SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); if (httpServletRequest.getParameter("menu") != null && !httpServletRequest.getParameter("menu").trim().equals("")) { leituraConsumoActionForm.setIndicadorDebitoAutomatico(""); leituraConsumoActionForm.setIndicadorImovelCondominioFiltro(""); leituraConsumoActionForm.setIndicadorAnalisado(""); leituraConsumoActionForm.setTipoApresentacao("1"); leituraConsumoActionForm.setMesAno(Util.formatarAnoMesParaMesAno(sistemaParametro.getAnoMesFaturamento())); } if (httpServletRequest.getAttribute("objetoConsulta") != null) { leituraConsumoActionForm.setImovelFiltro(""); leituraConsumoActionForm.setImovelCondominioFiltro(""); leituraConsumoActionForm.setLocalidadeFiltro(""); leituraConsumoActionForm.setSetorComercialFiltro(""); leituraConsumoActionForm.setQuadraFinalFiltro(""); leituraConsumoActionForm.setQuadraInicialFiltro(""); leituraConsumoActionForm.setTipoApresentacao("1"); leituraConsumoActionForm.setMesAno(Util.formatarAnoMesParaMesAno(sistemaParametro.getAnoMesFaturamento())); } String objetoConsulta = (String) httpServletRequest .getParameter("objetoConsulta"); String inscricaoTipo = (String) httpServletRequest .getParameter("inscricaoTipo"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("") && inscricaoTipo != null && !inscricaoTipo.trim().equalsIgnoreCase("")) { pesquisarLocalidade(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarLocalidade(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarSetorComercial(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarLocalidade(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarSetorComercial(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarQuadra(inscricaoTipo, leituraConsumoActionForm, fachada, httpServletRequest); pesquisarUsuario(leituraConsumoActionForm, fachada, httpServletRequest); } else { //sessao.removeAttribute("imovelOutrosCriteriosActionForm"); } // // --- Empresa FiltroEmpresa filtroEmpresa = new FiltroEmpresa(); filtroEmpresa.adicionarParametro(new ParametroSimples( FiltroEmpresa.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroEmpresa.adicionarParametro(new ParametroSimples( FiltroEmpresa.INDICADOR_LEITURA, ConstantesSistema.INDICADOR_LEITURA_1)); Collection<Empresa> colecaoEmpresa = fachada.pesquisar(filtroEmpresa, Empresa.class.getName()); httpServletRequest.setAttribute("colecaoEmpresa", colecaoEmpresa); // --- Faturamento Grupo FiltroFaturamentoGrupo filtroFaturamentoGrupo = new FiltroFaturamentoGrupo(); filtroFaturamentoGrupo.adicionarParametro(new ParametroSimples( FiltroFaturamentoGrupo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroFaturamentoGrupo.setCampoOrderBy(FiltroFaturamentoGrupo.ID); Collection<FaturamentoGrupo> colecaoFaturamentoGrupo = fachada .pesquisar(filtroFaturamentoGrupo, FaturamentoGrupo.class .getName()); Collection colecaoFaturamentoGrupoDescricaoDiaVencimento = new ArrayList(); Iterator iteratorColecaoFaturamentoGrupo = colecaoFaturamentoGrupo.iterator(); while ( iteratorColecaoFaturamentoGrupo.hasNext() ) { FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo) iteratorColecaoFaturamentoGrupo.next(); String descricaoDiaVencimento = faturamentoGrupo.getDescricao() + " - Venc. " +faturamentoGrupo.getDiaVencimento(); faturamentoGrupo.setDescricao(descricaoDiaVencimento); colecaoFaturamentoGrupoDescricaoDiaVencimento.add(faturamentoGrupo); } httpServletRequest.setAttribute("colecaoFaturamentoGrupoDescricaoDiaVencimento", colecaoFaturamentoGrupoDescricaoDiaVencimento); // Pesquisar Ger�ncias Regionais FiltroGerenciaRegional filtroGerenciaRegional = new FiltroGerenciaRegional(); filtroGerenciaRegional.adicionarParametro(new ParametroSimples( FiltroGerenciaRegional.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroGerenciaRegional.setCampoOrderBy(FiltroGerenciaRegional.ID); Collection<GerenciaRegional> colecaoGerenciasRegionais = fachada .pesquisar(filtroGerenciaRegional, GerenciaRegional.class .getName()); httpServletRequest.setAttribute("colecaoGerenciasRegionais", colecaoGerenciasRegionais); String matriculaImovel = leituraConsumoActionForm.getImovelFiltro(); // String matriculaImovelFiltro = leituraConsumoActionForm // .getImovelMatriculaFiltro(); String matriculaImovelCondominio = leituraConsumoActionForm .getImovelCondominioFiltro(); String matriculaImovelCondominioFiltro = leituraConsumoActionForm .getImovelMatriculaCondominioFiltro(); String inscricaoImovel = ""; if (matriculaImovel != null && !matriculaImovel.trim().equalsIgnoreCase("")) { // && (matriculaImovelFiltro == null || matriculaImovelFiltro //.equals("")) inscricaoImovel = fachada.pesquisarInscricaoImovel(new Integer( matriculaImovel)); if (inscricaoImovel != null && !inscricaoImovel.trim().equals("")) { leituraConsumoActionForm .setImovelMatriculaFiltro(inscricaoImovel); httpServletRequest.setAttribute("nomeCampo", "imovelCondominioFiltro"); FaturamentoGrupo faturamentoGrupo = fachada.pesquisarGrupoImovel(new Integer(matriculaImovel)); leituraConsumoActionForm.setIdGrupoFaturamentoFiltro(faturamentoGrupo.getId().toString()); } else { leituraConsumoActionForm .setImovelFiltro(""); leituraConsumoActionForm .setImovelMatriculaFiltro("Matr�cula do Im�vel inexistente."); httpServletRequest.setAttribute("codigoImovelNaoEncontrada", "exception"); httpServletRequest.setAttribute("nomeCampo", "imovelFiltro"); } } String inscricaoCondominio = ""; if (matriculaImovelCondominio != null && !matriculaImovelCondominio.trim().equalsIgnoreCase("") && (matriculaImovelCondominioFiltro == null || matriculaImovelCondominioFiltro .equals(""))) { inscricaoCondominio = fachada.pesquisarInscricaoImovel(new Integer( matriculaImovelCondominio)); if (inscricaoCondominio != null && !inscricaoCondominio.trim().equals("")) { leituraConsumoActionForm .setImovelMatriculaCondominioFiltro(inscricaoCondominio); httpServletRequest.setAttribute("nomeCampo", "idGrupoFaturamentoFiltro"); FaturamentoGrupo faturamentoGrupo = fachada.pesquisarGrupoImovel(new Integer(matriculaImovelCondominio)); leituraConsumoActionForm.setIdGrupoFaturamentoFiltro(faturamentoGrupo.getId().toString()); } else { leituraConsumoActionForm .setImovelCondominioFiltro(""); leituraConsumoActionForm .setImovelMatriculaCondominioFiltro("Mat. do Im�vel Condom�nio inexistente."); httpServletRequest.setAttribute( "codigoImovelCondominioNaoEncontrada", "exception"); httpServletRequest.setAttribute("nomeCampo", "imovelCondominioFiltro"); } } // =============================================================================== // leituraConsumoActionForm.setTipoApresentacao("2"); sessao.setAttribute("leituraConsumoActionForm", leituraConsumoActionForm); return retorno; } private void pesquisarLocalidade(String inscricaoTipo, LeituraConsumoActionForm leituraConsumoActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); localidadeID = (String) leituraConsumoActionForm.getLocalidadeFiltro(); String nomeLocalidade = leituraConsumoActionForm.getNomeLocalidade(); if (localidadeID != null && !localidadeID.equals("") && (nomeLocalidade == null || nomeLocalidade.equals(""))) { filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidadeID)); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna localidade colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Localidade nao encontrada // Limpa os campos localidadeOrigemID e nomeLocalidadeOrigem do // formul�rio leituraConsumoActionForm.setLocalidadeFiltro(""); leituraConsumoActionForm.setNomeLocalidade("localidade inexistente"); httpServletRequest.setAttribute( "codigoLocalidadeNaoEncontrada", "exception"); httpServletRequest .setAttribute("nomeCampo", "localidadeFiltro"); // httpServletRequest.setAttribute("corLocalidadeOrigem","exception"); } else { Localidade objetoLocalidade = (Localidade) Util .retonarObjetoDeColecao(colecaoPesquisa); leituraConsumoActionForm.setLocalidadeFiltro(String .valueOf(objetoLocalidade.getId())); leituraConsumoActionForm.setNomeLocalidade(objetoLocalidade .getDescricao()); httpServletRequest.setAttribute("nomeCampo", "setorComercialFiltro"); // httpServletRequest.setAttribute("corLocalidadeOrigem", // "valor"); } } } private void pesquisarSetorComercial(String inscricaoTipo, LeituraConsumoActionForm leituraConsumoActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); // Recebe o valor do campo localidadeOrigemID do formul�rio. localidadeID = (String) leituraConsumoActionForm.getLocalidadeFiltro(); setorComercialCD = (String) leituraConsumoActionForm .getSetorComercialFiltro(); String nomeSetorComercial = leituraConsumoActionForm .getSetorComercialNome(); // O campo localidadeOrigemID ser� obrigat�rio if (setorComercialCD != null && !setorComercialCD.trim().equalsIgnoreCase("") && (nomeSetorComercial == null || nomeSetorComercial.equals(""))) { if (localidadeID != null && !localidadeID.trim().equalsIgnoreCase("")) { // Adiciona o id da localidade que est� no formul�rio para // compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, localidadeID)); } // Adiciona o c�digo do setor comercial que esta no formul�rio // para compor a pesquisa. filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercialCD)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna setorComercial colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Setor Comercial nao encontrado // Limpa os campos setorComercialOrigemCD, // nomeSetorComercialOrigem e setorComercialOrigemID do // formul�rio leituraConsumoActionForm.setSetorComercialFiltro(""); leituraConsumoActionForm.setSetorComercialID(""); leituraConsumoActionForm .setSetorComercialNome("Setor comercial inexistente."); httpServletRequest.setAttribute( "codigoSetorComercialNaoEncontrada", "exception"); httpServletRequest.setAttribute("nomeCampo", "setorComercialFiltro"); } else { SetorComercial objetoSetorComercial = (SetorComercial) Util .retonarObjetoDeColecao(colecaoPesquisa); leituraConsumoActionForm.setSetorComercialFiltro(String .valueOf(objetoSetorComercial.getCodigo())); leituraConsumoActionForm.setSetorComercialID(String .valueOf(objetoSetorComercial.getId())); leituraConsumoActionForm .setSetorComercialNome(objetoSetorComercial .getDescricao()); httpServletRequest.setAttribute("nomeCampo", "quadraInicialFiltro"); // httpServletRequest.setAttribute("corSetorComercialOrigem","valor"); } } } private void pesquisarQuadra(String inscricaoTipo, LeituraConsumoActionForm leituraConsumoActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroQuadra filtroQuadra = new FiltroQuadra(); short quadraInicial = 0; short quadraFinal = 0; if (leituraConsumoActionForm.getQuadraInicialFiltro() != null && !leituraConsumoActionForm.getQuadraInicialFiltro().trim() .equalsIgnoreCase("") && leituraConsumoActionForm.getQuadraFinalFiltro() != null && !leituraConsumoActionForm.getQuadraFinalFiltro().trim() .equalsIgnoreCase("")) { quadraInicial = (new Short(leituraConsumoActionForm .getQuadraInicialFiltro())).shortValue(); quadraFinal = (new Short(leituraConsumoActionForm .getQuadraFinalFiltro())).shortValue(); if (quadraInicial > quadraFinal) { throw new ActionServletException("atencao.quadra_final_menor"); } } leituraConsumoActionForm.setInscricaoTipo("origem"); // Recebe os valores dos campos setorComercialOrigemCD e // setorComercialOrigemID do formul�rio. setorComercialCD = (String) leituraConsumoActionForm .getSetorComercialFiltro(); setorComercialID = (String) leituraConsumoActionForm .getSetorComercialID(); quadraNM = (String) leituraConsumoActionForm.getQuadraInicialFiltro(); String nomeQuadraInicial = leituraConsumoActionForm .getQuadraInicialNome(); // Os campos setorComercialOrigemCD e setorComercialID ser�o // obrigat�rios if (quadraNM != null && !quadraNM.trim().equalsIgnoreCase("") && (nomeQuadraInicial == null || nomeQuadraInicial.equals(""))) { if (setorComercialID != null && !setorComercialID.trim().equalsIgnoreCase("")) { // Adiciona o id do setor comercial que est� no formul�rio // para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_SETORCOMERCIAL, setorComercialID)); } // Adiciona o n�mero da quadra que esta no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraNM)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna quadra colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class .getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Quadra nao encontrada // Limpa os campos quadraOrigemNM e quadraOrigemID do // formul�rio leituraConsumoActionForm.setQuadraInicialNome(""); leituraConsumoActionForm.setQuadraInicialFiltro(""); // Mensagem de tela leituraConsumoActionForm .setQuadraInicialMensagem("QUADRA INICIAL INEXISTENTE."); httpServletRequest.setAttribute( "codigoQuadraInicialNaoEncontrada", "exception"); httpServletRequest.setAttribute("nomeCampo", "quadraInicialFiltro"); } else { Quadra objetoQuadra = (Quadra) Util .retonarObjetoDeColecao(colecaoPesquisa); leituraConsumoActionForm.setQuadraInicialFiltro(String .valueOf(objetoQuadra.getNumeroQuadra())); leituraConsumoActionForm.setQuadraInicialID(String .valueOf(objetoQuadra.getId())); // Mensagem de tela leituraConsumoActionForm .setQuadraInicialMensagem(""); // -----------quadra final recebe o mesmo q a inicial } } // Recebe os valores dos campos setorComercialOrigemCD e // setorComercialOrigemID do formul�rio. setorComercialCD = (String) leituraConsumoActionForm .getSetorComercialFiltro(); setorComercialID = (String) leituraConsumoActionForm .getSetorComercialID(); quadraNM = (String) leituraConsumoActionForm.getQuadraFinalFiltro(); String nomeQuadraFinal = leituraConsumoActionForm .getQuadraInicialNome(); // Os campos setorComercialOrigemCD e setorComercialID ser�o // obrigat�rios if (quadraNM != null && !quadraNM.trim().equalsIgnoreCase("") && (nomeQuadraFinal == null || nomeQuadraFinal.equals(""))) { quadraNM = (String) leituraConsumoActionForm.getQuadraFinalFiltro(); if (setorComercialID != null && !setorComercialID.trim().equalsIgnoreCase("")) { // Adiciona o id do setor comercial que est� no formul�rio // para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_SETORCOMERCIAL, setorComercialID)); } // Adiciona o n�mero da quadra que esta no formul�rio para // compor a pesquisa. filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, quadraNM)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna quadra colecaoPesquisa = fachada.pesquisar(filtroQuadra, Quadra.class .getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Quadra nao encontrada // Limpa os campos quadraOrigemNM e quadraOrigemID do // formul�rio leituraConsumoActionForm.setQuadraFinalNome(""); leituraConsumoActionForm.setQuadraFinalFiltro(""); // Mensagem de tela leituraConsumoActionForm .setQuadraFinalMensagem("QUADRA FINAL INEXISTENTE."); httpServletRequest.setAttribute( "codigoQuadraFinalNaoEncontrada", "exception"); } else { Quadra objetoQuadra = (Quadra) Util .retonarObjetoDeColecao(colecaoPesquisa); leituraConsumoActionForm.setQuadraFinalID(String .valueOf(objetoQuadra.getId())); leituraConsumoActionForm.setQuadraFinalFiltro(String .valueOf(objetoQuadra.getNumeroQuadra())); httpServletRequest.setAttribute("nomeCampo", "indicadorImovelCondominioFiltro"); // Mensagem de tela leituraConsumoActionForm .setQuadraFinalMensagem(""); // httpServletRequest.setAttribute("corQuadraDestino", // "valor"); } } } private void pesquisarUsuario(LeituraConsumoActionForm leituraConsumoActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { FiltroUsuario filtroUsuario = new FiltroUsuario(); String idUsuario = (String) leituraConsumoActionForm.getIdUsuarioAlteracao(); String loginUsuario = (String) leituraConsumoActionForm.getLoginUsuarioAlteracao(); String nomeUsuario = leituraConsumoActionForm.getNomeUsuarioAlteracao(); if (((loginUsuario != null && !loginUsuario.equals("")) || (idUsuario != null && !idUsuario.equals(""))) && (nomeUsuario == null || nomeUsuario.equals(""))) { if (idUsuario != null && !idUsuario.trim().equals("")) { filtroUsuario.adicionarParametro(new ParametroSimples( FiltroUsuario.ID, idUsuario)); } else { filtroUsuario.adicionarParametro(new ParametroSimples( FiltroUsuario.LOGIN, loginUsuario)); } // filtroUsuario.adicionarParametro(new ParametroSimples( // FiltroLocalidade.INDICADORUSO, // ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna usu�rio colecaoPesquisa = fachada.pesquisar(filtroUsuario, Usuario.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Usu�rio nao encontrada // Limpa os campos idUsuario e nomeUsu�rio do // formul�rio leituraConsumoActionForm.setIdUsuarioAlteracao(""); leituraConsumoActionForm.setLoginUsuarioAlteracao(""); leituraConsumoActionForm.setNomeUsuarioAlteracao("USUARIO INEXISTENTE"); httpServletRequest.setAttribute( "codigoUsuarioNaoEncontrado", "exception"); httpServletRequest .setAttribute("nomeCampo", "idUsuarioAlteracao"); } else { Usuario usuario = (Usuario) Util .retonarObjetoDeColecao(colecaoPesquisa); leituraConsumoActionForm.setIdUsuarioAlteracao(String .valueOf(usuario.getId())); leituraConsumoActionForm.setLoginUsuarioAlteracao(usuario.getLogin()); leituraConsumoActionForm.setNomeUsuarioAlteracao(usuario .getNomeUsuario()); httpServletRequest.setAttribute("nomeCampo", "indicadorImovelCondominioFiltro"); } } } }