package gcom.gui.faturamento; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FiltroQualidadeAgua; import gcom.faturamento.FiltroQualidadeAguaPadrao; import gcom.faturamento.QualidadeAgua; import gcom.faturamento.QualidadeAguaPadrao; import gcom.gui.GcomAction; import gcom.operacional.FiltroFonteCaptacao; import gcom.operacional.FonteCaptacao; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; 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 R�mulo Aur�lio * @date 16/09/2008 */ public class ExibirAtualizarQualidadeAguaDadosAction extends GcomAction { /** * Description of the Method */ /** * < <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) { ActionForward retorno = actionMapping .findForward("exibirAtualizarQualidadeAguaDadosAction"); AtualizarQualidadeAguaActionForm form = (AtualizarQualidadeAguaActionForm) actionForm; HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); if ( httpServletRequest.getParameter("manter") != null && httpServletRequest.getParameter("manter").equals("sim") ) { sessao.setAttribute("PrimeiraVez",1); String idQualidadeAgua = null; if (httpServletRequest.getParameter("idRegistroAtualizacao") != null) { idQualidadeAgua = httpServletRequest .getParameter("idRegistroAtualizacao"); sessao.setAttribute("idRegistroAtualizacao", idQualidadeAgua); } if (idQualidadeAgua == null) { if (httpServletRequest.getAttribute("idRegistroAtualizacao") == null) { idQualidadeAgua = (String) sessao .getAttribute("idRegistroAtualizacao"); } else { idQualidadeAgua = (String) httpServletRequest.getAttribute( "idRegistroAtualizacao").toString(); } } else { sessao.setAttribute("i", true); } QualidadeAgua qualidadeAgua = null; String idLocalidade = null; String codigoSetor = null; String objetoConsulta = httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.equals("")) { // Validamos o cliente if (form.getIdLocalidade() != null && !form.getIdLocalidade().trim().equals("")) { FiltroLocalidade filtro = new FiltroLocalidade(); filtro.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, form.getIdLocalidade())); Collection colLocalidade = fachada.pesquisar(filtro, Localidade.class.getName()); if (colLocalidade == null || !colLocalidade.iterator().hasNext()) { // O cliente n�o existe form.setIdLocalidade(""); form.setLocalidadeDescricao("Localidade inexistente"); httpServletRequest.setAttribute("localidadeEncontrada", "exception"); } else { Localidade localidade = (Localidade) Util .retonarObjetoDeColecao(colLocalidade); form.setIdLocalidade(localidade.getId().toString()); form.setLocalidadeDescricao(localidade.getDescricao()); } }else{ form.setIdLocalidade(""); form.setLocalidadeDescricao(""); } if (form.getIdSetorComercial() != null && !form.getIdSetorComercial().trim().equals("")) { // Validamos o imovel FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, form .getIdSetorComercial())); Collection colSetorComercial = fachada.pesquisar( filtroSetorComercial, SetorComercial.class.getName()); if (colSetorComercial == null || colSetorComercial.isEmpty()) { // O Imovel n�o existe form.setIdSetorComercial(""); form .setSetorComercialDescricao("Setor Comercial inexistente"); httpServletRequest.setAttribute( "codigoSetorComercialEncontrado", "exception"); } else { SetorComercial setorComercial = (SetorComercial) Util .retonarObjetoDeColecao(colSetorComercial); form.setIdSetorComercial(setorComercial.getCodigo() + ""); form.setSetorComercialDescricao(setorComercial .getDescricao()); } }else{ form.setIdSetorComercial(""); form.setSetorComercialDescricao(""); } if (form.getFonteCaptacao() != null && !form.getFonteCaptacao().equals("-1")){ FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao(); filtroFonteCaptacao.adicionarParametro(new ParametroSimples( FiltroFonteCaptacao.DESCRICAO, form .getFonteCaptacao())); Collection colFonteCaptacao = fachada.pesquisar( filtroFonteCaptacao, FonteCaptacao.class.getName()); if (colFonteCaptacao != null || !colFonteCaptacao.isEmpty()) { FonteCaptacao fonteCaptacao = (FonteCaptacao) Util .retonarObjetoDeColecao(colFonteCaptacao); form.setFonteCaptacao(fonteCaptacao.getDescricao()); } }else{ form.setFonteCaptacao(""); } } else { if (idQualidadeAgua != null && !idQualidadeAgua.trim().equals("") && Integer.parseInt(idQualidadeAgua) > 0) { FiltroQualidadeAgua filtroQualidadeAgua = new FiltroQualidadeAgua(); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("setorComercial"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("fonteCaptacao"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("sistemaAbastecimento"); filtroQualidadeAgua.adicionarParametro(new ParametroSimples( FiltroQualidadeAgua.ID, idQualidadeAgua)); Collection colecaoQualidadeAgua = fachada.pesquisar( filtroQualidadeAgua, QualidadeAgua.class.getName()); if (colecaoQualidadeAgua != null && !colecaoQualidadeAgua.isEmpty()) { qualidadeAgua = (QualidadeAgua) Util .retonarObjetoDeColecao(colecaoQualidadeAgua); // sessao.setAttribute("qualidadeAguaBase", qualidadeAgua); } if (qualidadeAgua.getLocalidade() != null && (idLocalidade == null || idLocalidade.trim().equals( ""))) { if (qualidadeAgua.getLocalidade() != null && !qualidadeAgua.getLocalidade().getId() .toString().trim().equals("")) { idLocalidade = qualidadeAgua.getLocalidade().getId() .toString(); FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade .adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidade)); Collection colecaoLocalidade = fachada.pesquisar( filtroLocalidade, Localidade.class.getName()); Localidade localidade = (Localidade) Util .retonarObjetoDeColecao(colecaoLocalidade); form.setIdLocalidade(localidade.getId().toString()); form.setLocalidadeDescricao(localidade.getDescricao()); } }else{ form.setIdLocalidade(""); form.setLocalidadeDescricao(""); } if (qualidadeAgua.getSetorComercial() != null && (codigoSetor == null || codigoSetor.trim() .equals(""))) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial .adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID, qualidadeAgua .getSetorComercial().getId() .toString())); Collection colSetor = fachada.pesquisar( filtroSetorComercial, SetorComercial.class .getName()); SetorComercial setorComercial = (SetorComercial) Util .retonarObjetoDeColecao(colSetor); form.setIdSetorComercial(setorComercial.getCodigo() + ""); form.setSetorComercialDescricao(setorComercial .getDescricao()); }else{ form.setIdSetorComercial(""); form.setSetorComercialDescricao(""); } form.setIdQualidadeAgua(idQualidadeAgua); if(qualidadeAgua.getFonteCaptacao() != null){ form.setFonteCaptacao(qualidadeAgua.getFonteCaptacao().getId()+""); } if (qualidadeAgua.getSistemaAbastecimento() != null){ form.setSistemaAbastecimento(qualidadeAgua.getSistemaAbastecimento().getDescricao()); }else{ form.setSistemaAbastecimento(""); } form.setReferencia( Util.formatarAnoMesParaMesAno(qualidadeAgua.getAnoMesReferencia())); SistemaParametro sistemaParametro = fachada .pesquisarParametrosDoSistema(); if (qualidadeAgua.getAnoMesReferencia().intValue() >= sistemaParametro .getAnoMesFaturamento().intValue()) { sessao.removeAttribute("desabilitaCampos"); } else { sessao.setAttribute("desabilitaCampos", "S"); } // dados do mes form.setIndiceMensalCloroResidual(qualidadeAgua .getNumeroCloroResidual() != null ? qualidadeAgua .getNumeroCloroResidual().toString() : "0"); form .setIndiceMensalColiformesFecais(qualidadeAgua .getNumeroIndiceColiformesFecais() != null ? qualidadeAgua .getNumeroIndiceColiformesFecais().toString() : "0"); form .setIndiceMensalColiformesTotais(qualidadeAgua .getNumeroIndiceColiformesTotais() != null ? qualidadeAgua .getNumeroIndiceColiformesTotais().toString() : "0"); form .setIndiceMensalCor(qualidadeAgua.getNumeroIndiceCor() != null ? qualidadeAgua .getNumeroIndiceCor().toString() : "0"); form .setIndiceMensalFerro(qualidadeAgua .getNumeroIndiceFerro() != null ? qualidadeAgua .getNumeroIndiceFerro().toString() : "0"); form .setIndiceMensalFluor(qualidadeAgua .getNumeroIndiceFluor() != null ? qualidadeAgua .getNumeroIndiceFluor().toString() : "0"); form .setIndiceMensalNitrato(qualidadeAgua .getNumeroNitrato() != null ? qualidadeAgua .getNumeroNitrato().toString() : "0"); form .setIndiceMensalPH(qualidadeAgua.getNumeroIndicePh() != null ? qualidadeAgua .getNumeroIndicePh().toString() : "0"); form.setIndiceMensalTurbidez(qualidadeAgua .getNumeroIndiceTurbidez() != null ? qualidadeAgua .getNumeroIndiceTurbidez().toString() : "0"); form .setIndiceMensalColiformesTermotolerantes(qualidadeAgua .getNumeroIndiceColiformesTermotolerantes() != null ? qualidadeAgua .getNumeroIndiceColiformesTermotolerantes() .toString() : "0"); form .setIndiceMensalAlcalinidade(qualidadeAgua .getNumeroIndiceAlcalinidade() != null ? qualidadeAgua .getNumeroIndiceAlcalinidade() .toString() : "0"); // dados padrao FiltroQualidadeAguaPadrao filtroQualidadeAguaPadrao = new FiltroQualidadeAguaPadrao(); Collection colPadrao = fachada.pesquisar( filtroQualidadeAguaPadrao, QualidadeAguaPadrao.class .getName()); if (!colPadrao.isEmpty()) { QualidadeAguaPadrao qualidadeAguaPadrao = (QualidadeAguaPadrao) Util .retonarObjetoDeColecao(colPadrao); form.setPadraoCloroResidual(qualidadeAguaPadrao .getDescricaoPadraoCloro()); form.setPadraoColiformesFecais(qualidadeAguaPadrao .getDescricaoPadraoColiformesFecais()); form.setPadraoColiformesTotais(qualidadeAguaPadrao .getDescricaoPadraoColiformesTotais()); form.setPadraoCor(qualidadeAguaPadrao .getDescricaoPadraoCor()); form.setPadraoFerro(qualidadeAguaPadrao .getDescricaoPadraoFerro()); form.setPadraoFluor(qualidadeAguaPadrao .getDescricaoPadraoFluor()); form.setPadraoNitrato(qualidadeAguaPadrao .getDescricaoNitrato()); form .setPadraoPH(qualidadeAguaPadrao .getDescricaoPadraoPh()); form.setPadraoTurbidez(qualidadeAguaPadrao .getDescricaoPadraoTurbidez()); form.setPadraoColiformesTermotolerantes(qualidadeAguaPadrao .getDescricaoPadraoColiformesTermotolerantes()); form.setPadraoAlcalinidade(qualidadeAguaPadrao.getDescricaoPadraoAlcalinidade()); sessao.setAttribute("qualidadeAguaPadraoId", qualidadeAguaPadrao.getId()); sessao.setAttribute("qualidadeAguaPadrao", qualidadeAguaPadrao); } } if (qualidadeAgua == null && sessao.getAttribute("qualidadeAgua") != null) { qualidadeAgua = (QualidadeAgua) sessao .getAttribute("qualidadeAgua"); if (qualidadeAgua.getLocalidade() != null && (idLocalidade == null || idLocalidade.trim().equals( ""))) { if (qualidadeAgua.getLocalidade() != null && !qualidadeAgua.getLocalidade().getId() .toString().trim().equals("")) { idLocalidade = qualidadeAgua.getLocalidade().getId() .toString(); FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade .adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, idLocalidade)); Collection colecaoLocalidade = fachada.pesquisar( filtroLocalidade, Localidade.class.getName()); Localidade localidade = (Localidade) Util .retonarObjetoDeColecao(colecaoLocalidade); form.setIdLocalidade(localidade.getId().toString()); form.setLocalidadeDescricao(localidade.getDescricao()); } } if (qualidadeAgua.getSetorComercial() != null && (codigoSetor == null || codigoSetor.trim() .equals(""))) { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial .adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID, qualidadeAgua .getSetorComercial().getId() .toString())); Collection colSetor = fachada.pesquisar( filtroSetorComercial, SetorComercial.class .getName()); SetorComercial setorComercial = (SetorComercial) Util .retonarObjetoDeColecao(colSetor); form.setIdSetorComercial(setorComercial.getCodigo() + ""); form.setSetorComercialDescricao(setorComercial .getDescricao()); } form.setIdQualidadeAgua(idQualidadeAgua); if(qualidadeAgua.getFonteCaptacao() != null){ form.setFonteCaptacao(qualidadeAgua.getFonteCaptacao().getId()+""); }else{ form.setFonteCaptacao(""); } if(qualidadeAgua.getSistemaAbastecimento() != null){ form.setSistemaAbastecimento(qualidadeAgua.getSistemaAbastecimento().getDescricao()); }else{ form.setSistemaAbastecimento(""); } form.setReferencia(Util.formatarAnoMesParaMesAno(qualidadeAgua .getAnoMesReferencia())); SistemaParametro sistemaParametro = fachada .pesquisarParametrosDoSistema(); if (qualidadeAgua.getAnoMesReferencia().intValue() >= sistemaParametro .getAnoMesFaturamento().intValue()) { sessao.removeAttribute("desabilitaCampos"); } else { sessao.setAttribute("desabilitaCampos", "S"); } // dados do mes form.setIndiceMensalCloroResidual(qualidadeAgua .getNumeroCloroResidual() != null ? qualidadeAgua .getNumeroCloroResidual().toString() : "0"); form .setIndiceMensalColiformesFecais(qualidadeAgua .getNumeroIndiceColiformesFecais() != null ? qualidadeAgua .getNumeroIndiceColiformesFecais().toString() : "0"); form .setIndiceMensalColiformesTotais(qualidadeAgua .getNumeroIndiceColiformesTotais() != null ? qualidadeAgua .getNumeroIndiceColiformesTotais().toString() : "0"); form .setIndiceMensalCor(qualidadeAgua.getNumeroIndiceCor() != null ? qualidadeAgua .getNumeroIndiceCor().toString() : "0"); form .setIndiceMensalFerro(qualidadeAgua .getNumeroIndiceFerro() != null ? qualidadeAgua .getNumeroIndiceFerro().toString() : "0"); form .setIndiceMensalFluor(qualidadeAgua .getNumeroIndiceFluor() != null ? qualidadeAgua .getNumeroIndiceFluor().toString() : "0"); form .setIndiceMensalNitrato(qualidadeAgua .getNumeroNitrato() != null ? qualidadeAgua .getNumeroNitrato().toString() : "0"); form .setIndiceMensalPH(qualidadeAgua.getNumeroIndicePh() != null ? qualidadeAgua .getNumeroIndicePh().toString() : "0"); form.setIndiceMensalTurbidez(qualidadeAgua .getNumeroIndiceTurbidez() != null ? qualidadeAgua .getNumeroIndiceTurbidez().toString() : "0"); form .setIndiceMensalColiformesTermotolerantes(qualidadeAgua .getNumeroIndiceColiformesTermotolerantes() != null ? qualidadeAgua .getNumeroIndiceColiformesTermotolerantes() .toString() : "0"); form .setIndiceMensalAlcalinidade(qualidadeAgua .getNumeroIndiceAlcalinidade() != null ? qualidadeAgua .getNumeroIndiceAlcalinidade() .toString() : "0"); if (sessao.getAttribute("qualidadeAguaPadrao") != null) { QualidadeAguaPadrao qualidadeAguaPadrao = (QualidadeAguaPadrao) sessao .getAttribute("qualidadeAguaPadrao"); form.setPadraoCloroResidual(qualidadeAguaPadrao .getDescricaoPadraoCloro()); form.setPadraoColiformesFecais(qualidadeAguaPadrao .getDescricaoPadraoColiformesFecais()); form.setPadraoColiformesTotais(qualidadeAguaPadrao .getDescricaoPadraoColiformesTotais()); form.setPadraoCor(qualidadeAguaPadrao .getDescricaoPadraoCor()); form.setPadraoFerro(qualidadeAguaPadrao .getDescricaoPadraoFerro()); form.setPadraoFluor(qualidadeAguaPadrao .getDescricaoPadraoFluor()); form.setPadraoNitrato(qualidadeAguaPadrao .getDescricaoNitrato()); form .setPadraoPH(qualidadeAguaPadrao .getDescricaoPadraoPh()); form.setPadraoTurbidez(qualidadeAguaPadrao .getDescricaoPadraoTurbidez()); form.setPadraoColiformesTermotolerantes(qualidadeAguaPadrao .getDescricaoPadraoColiformesTermotolerantes()); form.setPadraoAlcalinidade(qualidadeAguaPadrao .getDescricaoPadraoAlcalinidade()); } } if (qualidadeAgua != null) { sessao.setAttribute("qualidadeAgua", qualidadeAgua); } if (sessao.getAttribute("colecaoQualidadeAgua") != null) { sessao.setAttribute("caminhoRetornoVoltar", "/gsan/filtrarQualidadeAguaAction.do"); } else { sessao.setAttribute("caminhoRetornoVoltar", "/gsan/exibirFiltrarQualidadeAguaAction.do"); } } this.montaColecaoFonteCaptacao(form,httpServletRequest); }else{ sessao.setAttribute("PrimeiraVez",2); } return retorno; } /** * Monta a colecao de Fontes de Captacao * * @author Rafael Pinto * @date 15/10/2008 */ private void montaColecaoFonteCaptacao( AtualizarQualidadeAguaActionForm form,HttpServletRequest httpServletRequest){ String localidade = form.getIdLocalidade(); String setorComercial = form.getIdSetorComercial(); Collection<FonteCaptacao> colecaoFonteCaptacao = new ArrayList<FonteCaptacao>(); //Pesquisa fontes de captacao por setor comercial if(localidade != null && !localidade.equals("") && setorComercial != null && !setorComercial.equals("")){ Collection colecaoSetoresComerciais = this.pesquisarSetorComercial( new Integer(localidade), new Integer(setorComercial)); if (colecaoSetoresComerciais != null && !colecaoSetoresComerciais.isEmpty()) { SetorComercial setor = (SetorComercial) colecaoSetoresComerciais.iterator().next(); Collection colecaoSetor = new ArrayList(); colecaoSetor.add(setor); colecaoFonteCaptacao = this.getFachada().pesquisarFonteCaptacao(colecaoSetor); } }else if(localidade != null && !localidade.equals("")){ Collection colecaoSetoresComerciais = this.pesquisarSetorComercial( new Integer(localidade), null); colecaoFonteCaptacao = this.getFachada().pesquisarFonteCaptacao(colecaoSetoresComerciais); }else{ FiltroFonteCaptacao filtroFonteCaptacao = new FiltroFonteCaptacao(); filtroFonteCaptacao.limparListaParametros(); filtroFonteCaptacao.adicionarParametro( new ParametroSimples( FiltroFonteCaptacao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoFonteCaptacao = this.getFachada().pesquisar(filtroFonteCaptacao, FonteCaptacao.class.getName()); } if (colecaoFonteCaptacao != null && !colecaoFonteCaptacao.isEmpty()) { httpServletRequest.setAttribute("colecaoFonteCaptacao",colecaoFonteCaptacao); } } /** * Pesquisa o SetorComercial * * @author Rafael Pinto * @date 15/10/2008 */ private Collection<SetorComercial> pesquisarSetorComercial(Integer localidade,Integer setorComercial){ FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.limparListaParametros(); filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, localidade)); if(setorComercial != null){ filtroSetorComercial.adicionarParametro( new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercial)); } return this.getFachada().pesquisar(filtroSetorComercial, SetorComercial.class.getName()); } }