package gcom.relatorio.faturamento; import gcom.batch.Relatorio; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FiltroQualidadeAgua; import gcom.faturamento.QualidadeAgua; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.relatorio.RelatorioVazioException; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.ControladorException; import gcom.util.Util; import gcom.util.agendadortarefas.AgendadorTarefas; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; /** * classe respons�vel por criar o relat�rio de bairro manter de �gua * * @author S�vio Luiz * @created 11 de Julho de 2005 */ public class RelatorioQualidadeAgua extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioQualidadeAgua(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_BAIRRO_MANTER); } @Deprecated public RelatorioQualidadeAgua() { super(null, ""); } /** * < <Descri��o do m�todo>> * * @param bairros * Description of the Parameter * @param bairroParametros * Description of the Parameter * @return Descri��o do retorno * @exception RelatorioVazioException * Descri��o da exce��o */ public Object executar() throws TarefaException { // valor de retorno byte[] retorno = null; // ------------------------------------ Integer idFuncionalidadeIniciada = this.getIdFuncionalidadeIniciada(); // ------------------------------------ FiltroQualidadeAgua filtroQualidadeAgua = (FiltroQualidadeAgua) getParametro("filtroQualidadeAgua"); int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); // cole��o de beans do relat�rio List relatorioBeans = new ArrayList(); Fachada fachada = Fachada.getInstancia(); RelatorioQualidadeAguaBean relatorioBean = null; String[] ordenacao = new String[2]; ordenacao[0] = " localidade.id "; ordenacao[1] = " setorComercial.codigo "; filtroQualidadeAgua.limparCamposOrderBy(); filtroQualidadeAgua.setCampoOrderBy(ordenacao); filtroQualidadeAgua.setConsultaSemLimites(true); if(filtroQualidadeAgua.getColecaoCaminhosParaCarregamentoEntidades() == null || filtroQualidadeAgua.getColecaoCaminhosParaCarregamentoEntidades().isEmpty()){ filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("localidade"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("setorComercial"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("setorComercial.municipio"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("fonteCaptacao"); filtroQualidadeAgua.adicionarCaminhoParaCarregamentoEntidade("sistemaAbastecimento"); } Collection colecaoQualidade = fachada.pesquisar(filtroQualidadeAgua, QualidadeAgua.class .getName()); // se a cole��o de par�metros da analise n�o for vazia if (colecaoQualidade != null && !colecaoQualidade.isEmpty()) { // coloca a cole��o de par�metros da analise no iterator Iterator qualidadeIterator = colecaoQualidade.iterator(); // la�o para criar a cole��o de par�metros da analise while (qualidadeIterator.hasNext()) { boolean aparecerSubRelatorio = false; QualidadeAgua qualidadeAgua = (QualidadeAgua) qualidadeIterator.next(); String municipio = ""; if (qualidadeAgua.getSetorComercial() != null && qualidadeAgua.getSetorComercial().getMunicipio() != null) { municipio = qualidadeAgua.getSetorComercial().getMunicipio().getNome(); } String sistemaAbastecimento = ""; if (qualidadeAgua.getSistemaAbastecimento() != null){ if (qualidadeAgua.getSistemaAbastecimento().getDescricaoAbreviada() != null && !qualidadeAgua.getSistemaAbastecimento().getDescricaoAbreviada().equals("")){ sistemaAbastecimento = qualidadeAgua.getSistemaAbastecimento().getDescricaoAbreviada(); }else{ sistemaAbastecimento = qualidadeAgua.getSistemaAbastecimento().getDescricao(); } } String fonteCaptacao = ""; if(qualidadeAgua.getFonteCaptacao() != null){ fonteCaptacao = qualidadeAgua.getFonteCaptacao().getDescricao(); } String localidade =""; if( qualidadeAgua.getLocalidade() != null){ localidade = qualidadeAgua.getLocalidade().getId() + ""; } String setorComercial = ""; if( qualidadeAgua.getSetorComercial() != null){ setorComercial = qualidadeAgua.getSetorComercial().getCodigo() + ""; } String numeroIndiceTurbidez = "0.00"; if( qualidadeAgua.getNumeroIndiceTurbidez() != null ) { numeroIndiceTurbidez = qualidadeAgua.getNumeroIndiceTurbidez() + ""; } String numeroCloroResidual = "0.00"; if( qualidadeAgua.getNumeroCloroResidual() != null ) { numeroCloroResidual = qualidadeAgua.getNumeroCloroResidual() + ""; } String numeroIndicePh = "0.00"; if( qualidadeAgua.getNumeroIndicePh() != null ) { numeroIndicePh = qualidadeAgua.getNumeroIndicePh() + ""; } String numeroIndiceCor= "0.00"; if( qualidadeAgua.getNumeroIndiceCor() != null ) { numeroIndiceCor = qualidadeAgua.getNumeroIndiceCor() + ""; } String numeroIndiceFluor = "0.00"; if( qualidadeAgua.getNumeroIndiceFluor() != null ) { numeroIndiceFluor = qualidadeAgua.getNumeroIndiceFluor() + ""; } String numeroIndiceFerro= "0.00"; if( qualidadeAgua.getNumeroIndiceFerro() != null ) { numeroIndiceFerro = qualidadeAgua.getNumeroIndiceFerro() + ""; } String numeroIndiceColiformesFecais = "0.00"; if( qualidadeAgua.getNumeroIndiceColiformesFecais() != null ) { numeroIndiceColiformesFecais = qualidadeAgua.getNumeroIndiceColiformesFecais() + ""; } String numeroIndiceColiformesTotais = "0.00"; if( qualidadeAgua.getNumeroIndiceColiformesTotais() != null ) { numeroIndiceColiformesTotais = qualidadeAgua.getNumeroIndiceColiformesTotais() + ""; } String numeroNitrato = "0.00"; if( qualidadeAgua.getNumeroNitrato() != null ) { numeroNitrato = qualidadeAgua.getNumeroNitrato() + ""; } String numeroIndiceAlcalinidade = "0.00"; if ( qualidadeAgua.getNumeroIndiceAlcalinidade() != null){ numeroIndiceAlcalinidade = qualidadeAgua.getNumeroIndiceAlcalinidade() + ""; } //=================================================================================== //turbidez String qtdTurbidezAnalisada = "0"; String qtdTurbidezConforme = "0"; String qtdTurbidezExigidas = "0"; if(qualidadeAgua.getQuantidadeTurbidezAnalisadas() != null){ qtdTurbidezAnalisada = qualidadeAgua.getQuantidadeTurbidezAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeTurbidezConforme() != null){ qtdTurbidezConforme = qualidadeAgua.getQuantidadeTurbidezConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeTurbidezExigidas() != null){ qtdTurbidezExigidas = qualidadeAgua.getQuantidadeTurbidezExigidas() + ""; aparecerSubRelatorio = true; } //Cor String qtdCorAnalisada = "0"; String qtdCorConforme = "0"; String qtdCorExigidas = "0"; if(qualidadeAgua.getQuantidadeCorAnalisadas() != null){ qtdCorAnalisada = qualidadeAgua.getQuantidadeCorAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeCorConforme() != null){ qtdCorConforme = qualidadeAgua.getQuantidadeCorConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeCorExigidas() != null){ qtdCorExigidas = qualidadeAgua.getQuantidadeCorExigidas() + ""; aparecerSubRelatorio = true; } //Cloro String qtdCloroAnalisada = "0"; String qtdCloroConforme = "0"; String qtdCloroExigidas = "0"; if(qualidadeAgua.getQuantidadeCloroAnalisadas() != null){ qtdCloroAnalisada = qualidadeAgua.getQuantidadeCloroAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeCloroConforme() != null){ qtdCloroConforme = qualidadeAgua.getQuantidadeCloroConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeCloroExigidas() != null){ qtdCloroExigidas = qualidadeAgua.getQuantidadeCloroExigidas() + ""; aparecerSubRelatorio = true; } //Fluor String qtdFluorAnalisada = "0"; String qtdFluorConforme = "0"; String qtdFluorExigidas = "0"; if(qualidadeAgua.getQuantidadeFluorAnalisadas() != null){ qtdFluorAnalisada = qualidadeAgua.getQuantidadeFluorAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeFluorConforme() != null){ qtdFluorConforme = qualidadeAgua.getQuantidadeFluorConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeFluorExigidas() != null){ qtdFluorExigidas = qualidadeAgua.getQuantidadeFluorExigidas() + ""; aparecerSubRelatorio = true; } //ColiformerTotais String qtdColiformerTotaisAnalisada = "0"; String qtdColiformerTotaisConforme = "0"; String qtdColiformerTotaisExigidas = "0"; if(qualidadeAgua.getQuantidadeColiformesFecaisAnalisadas() != null){ qtdColiformerTotaisAnalisada = qualidadeAgua.getQuantidadeColiformesTotaisAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesTotaisConforme() != null){ qtdColiformerTotaisConforme = qualidadeAgua.getQuantidadeColiformesTotaisConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesTotaisExigidas() != null){ qtdColiformerTotaisExigidas = qualidadeAgua.getQuantidadeColiformesTotaisExigidas() + ""; aparecerSubRelatorio = true; } //ColiformesFecais String qtdColiformesFecaisAnalisada = "0"; String qtdColiformesFecaisConforme = "0"; String qtdColiformesFecaisExigidas = "0"; if(qualidadeAgua.getQuantidadeColiformesFecaisAnalisadas() != null){ qtdColiformesFecaisAnalisada = qualidadeAgua.getQuantidadeColiformesFecaisAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesFecaisConforme() != null){ qtdColiformesFecaisConforme = qualidadeAgua.getQuantidadeColiformesFecaisConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesFecaisExigidas() != null){ qtdColiformesFecaisExigidas = qualidadeAgua.getQuantidadeColiformesFecaisExigidas() + ""; aparecerSubRelatorio = true; } //ColiformesTermotolerantes String qtdColiformesTermotolerantesAnalisada = "0"; String qtdColiformesTermotolerantesConforme = "0"; String qtdColiformesTermotolerantesExigidas = "0"; if(qualidadeAgua.getQuantidadeColiformesTermotolerantesAnalisadas() != null){ qtdColiformesTermotolerantesAnalisada = qualidadeAgua.getQuantidadeColiformesTermotolerantesAnalisadas() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesTermotolerantesConforme() != null){ qtdColiformesTermotolerantesConforme = qualidadeAgua.getQuantidadeColiformesTermotolerantesConforme() + ""; aparecerSubRelatorio = true; } if(qualidadeAgua.getQuantidadeColiformesTermotolerantesExigidas() != null){ qtdColiformesTermotolerantesExigidas = qualidadeAgua.getQuantidadeColiformesTermotolerantesExigidas() + ""; aparecerSubRelatorio = true; } String indiceColiformesTermotolerantes = "0.00"; if(qualidadeAgua.getNumeroIndiceColiformesTermotolerantes() != null){ indiceColiformesTermotolerantes = qualidadeAgua.getNumeroIndiceColiformesTermotolerantes() + ""; } //Alcalinidade String qtdAlcalinidadeExigidas = "0"; String qtdAlcalinidadeAnalisadas = "0"; String qtdAlcalinidadeConforme = "0"; if (qualidadeAgua.getQuantidadeAlcalinidadeAnalisadas() != null){ qtdAlcalinidadeAnalisadas = qualidadeAgua.getQuantidadeAlcalinidadeAnalisadas() + ""; aparecerSubRelatorio = true; } if (qualidadeAgua.getQuantidadeAlcalinidadeConforme() != null){ qtdAlcalinidadeConforme = qualidadeAgua.getQuantidadeAlcalinidadeConforme() + ""; aparecerSubRelatorio = true; } if (qualidadeAgua.getQuantidadeAlcalinidadeExigidas() != null){ qtdAlcalinidadeExigidas = qualidadeAgua.getQuantidadeAlcalinidadeExigidas() + ""; aparecerSubRelatorio = true; } relatorioBean = new RelatorioQualidadeAguaBean( municipio, Util.formatarAnoMesParaMesAno(qualidadeAgua.getAnoMesReferencia()), localidade, setorComercial, fonteCaptacao, numeroIndiceTurbidez, numeroCloroResidual, numeroIndicePh, numeroIndiceCor, numeroIndiceFluor, numeroIndiceFerro, numeroIndiceColiformesFecais, numeroIndiceColiformesTotais, numeroNitrato, qtdTurbidezExigidas, qtdTurbidezAnalisada, qtdTurbidezConforme, qtdCorExigidas, qtdCorAnalisada, qtdCorConforme, qtdCloroExigidas, qtdCloroAnalisada, qtdCloroConforme, qtdFluorExigidas, qtdFluorAnalisada, qtdFluorConforme, qtdColiformerTotaisExigidas, qtdColiformerTotaisAnalisada, qtdColiformerTotaisConforme, qtdColiformesFecaisExigidas, qtdColiformesFecaisAnalisada, qtdColiformesFecaisConforme, qtdColiformesTermotolerantesExigidas, qtdColiformesTermotolerantesAnalisada, qtdColiformesTermotolerantesConforme, indiceColiformesTermotolerantes, aparecerSubRelatorio, numeroIndiceAlcalinidade, qtdAlcalinidadeExigidas, qtdAlcalinidadeAnalisadas, qtdAlcalinidadeConforme, sistemaAbastecimento ); // adiciona o bean a cole��o relatorioBeans.add(relatorioBean); } } // __________________________________________________________________ // Par�metros do relat�rio Map parametros = new HashMap(); // adiciona os par�metros do relat�rio // adiciona o laudo da an�lise SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); // cria uma inst�ncia do dataSource do relat�rio RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans); String nomeEmpresa = sistemaParametro.getNomeAbreviadoEmpresa(); if (nomeEmpresa.equals("CAERN")) { retorno = gerarRelatorio( ConstantesRelatorios.RELATORIO_GERAR_QUALIDADE_AGUA_CAERN, parametros, ds, tipoFormatoRelatorio); } else { retorno = gerarRelatorio( ConstantesRelatorios.RELATORIO_GERAR_QUALIDADE_AGUA, parametros, ds, tipoFormatoRelatorio); } // ------------------------------------ // Grava o relat�rio no sistema try { persistirRelatorioConcluido(retorno, Relatorio.QUALIDADE_AGUA, idFuncionalidadeIniciada); } catch (ControladorException e) { e.printStackTrace(); throw new TarefaException("Erro ao gravar relat�rio no sistema", e); } // ------------------------------------ // retorna o relat�rio gerado return retorno; } @Override public int calcularTotalRegistrosRelatorio() { int retorno = 0; retorno = Fachada.getInstancia().totalRegistrosPesquisa( (FiltroQualidadeAgua) getParametro("filtroQualidadeAgua"), QualidadeAgua.class.getName()); return retorno; } public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioQualidadeAgua", this); } }