package gcom.relatorio.gerencial.micromedicao;
import gcom.cadastro.sistemaparametro.SistemaParametro;
import gcom.fachada.Fachada;
import gcom.gerencial.micromedicao.ResumoAnormalidadeConsultaHelper;
import gcom.micromedicao.medicao.MedicaoTipo;
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.ConstantesSistema;
import gcom.util.Util;
import java.math.BigDecimal;
import java.math.RoundingMode;
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 RelatorioResumoAnormalidadeLeitura extends TarefaRelatorio {
private static final long serialVersionUID = 1L;
public RelatorioResumoAnormalidadeLeitura(Usuario usuario) {
super(usuario, ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_ELO);
}
/**
* < <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 {
// public Map<Integer, byte[]> gerarRelatorioBairroManter(
// Collection bairros,
// Bairro bairroParametros,
// int tipoFormatoRelatorio)
//
// throws RelatorioVazioException {
Collection colecaoResumosAnormalidadeLeitura = (Collection) getParametro("colecaoResumosAnormalidadeLeitura");
int opcaoTotalizacao = ((Integer) getParametro("opcaoTotalizacao"))
.intValue();
int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio");
Fachada fachada = Fachada.getInstancia();
// String tipoQuebra = null;
// valor de retorno
byte[] retorno = null;
// cole��o de beans do relat�rio
List relatorioBeans = new ArrayList();
Collection relatorioQuadraBeans = new ArrayList();
Collection relatorioAnormalidadeBeans = new ArrayList();
Collection relatorioAnormalidadeAguaBeans = new ArrayList();
Collection relatorioAnormalidadeEsgotoBeans = new ArrayList();
RelatorioResumoAnormalidadeLeituraSetorComercialBean relatorioBean = null;
RelatorioResumoAnormalidadeLeituraQuadraBean relatorioQuadraBean = null;
RelatorioResumoAnormalidadeLeituraLocalidadeBean relatorioLocalidadeBean = null;
RelatorioResumoAnormalidadeLeituraEloBean relatorioEloBean = null;
RelatorioResumoAnormalidadeLeituraGerenciaRegionalBean relatorioGerenciaRegionalBean = null;
RelatorioResumoAnormalidadeLeituraEstadoBean relatorioEstadoBean = null;
RelatorioResumoAnormalidadeLeituraAnormalidadeBean relatorioAnormalidadeBean = null;
String nomeRelatorio = "";
String numeroQuadra = null;
// se a cole��o de par�metros da analise n�o for vazia
if (colecaoResumosAnormalidadeLeitura != null
&& !colecaoResumosAnormalidadeLeitura.isEmpty()) {
// coloca a cole��o de par�metros da analise no iterator
Iterator colecaoResumosAnormalidadeLeituraIterator = colecaoResumosAnormalidadeLeitura
.iterator();
BigDecimal percentual = new BigDecimal("0.00");
// int totalEstadoAgua = 0;
// int totalEstadoEsgoto = 0;
// la�o para criar a cole��o de par�metros da analise
ResumoAnormalidadeConsultaHelper resumoAnormalidadeConsultaHelper = null;
if (opcaoTotalizacao == ConstantesSistema.CODIGO_SETOR_COMERCIAL) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_SETOR;
Integer totalSetorComercialAgua = null;
Integer totalSetorComercialPoco = null;
String codigoSetorComercial = null;
String descricaoSetorComercial = null;
String descricaoLocalidade = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (codigoSetorComercial == null) {
codigoSetorComercial = resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial();
descricaoSetorComercial = resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial();
}
if (descricaoLocalidade == null) {
descricaoLocalidade = resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade();
}
if (totalSetorComercialAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalSetorComercialAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalSetorComercialPoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalSetorComercialPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalSetorComercialAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalSetorComercialPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioBean = new RelatorioResumoAnormalidadeLeituraSetorComercialBean(
descricaoLocalidade, codigoSetorComercial + " - "
+ descricaoSetorComercial, null, "�GUA",
relatorioAnormalidadeAguaBeans);
relatorioBeans.add(relatorioBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioBean = new RelatorioResumoAnormalidadeLeituraSetorComercialBean(
descricaoLocalidade, codigoSetorComercial + " - "
+ descricaoSetorComercial, null, "PO�O",
relatorioAnormalidadeEsgotoBeans);
relatorioBeans.add(relatorioBean);
}
} else if (opcaoTotalizacao == ConstantesSistema.CODIGO_SETOR_COMERCIAL_QUADRA) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_SETOR;
Integer totalSetorComercialAgua = null;
Integer totalSetorComercialPoco = null;
Integer totalQuadraAgua = null;
Integer totalQuadraPoco = null;
String codigoSetorComercial = null;
String descricaoSetorComercial = null;
String descricaoLocalidade = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
if (resumoAnormalidadeConsultaHelper != null) {
codigoSetorComercial = resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial();
descricaoSetorComercial = resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial();
}
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (codigoSetorComercial == null) {
codigoSetorComercial = resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial();
descricaoSetorComercial = resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial();
}
if (numeroQuadra == null) {
numeroQuadra = resumoAnormalidadeConsultaHelper
.getNumeroQuadra();
}
if (descricaoLocalidade == null) {
descricaoLocalidade = resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade();
}
// if (codigoSetorComercial
// .equalsIgnoreCase(resumoAnormalidadeConsultaHelper
// .getCodigoSetorComercial())) {
if (!resumoAnormalidadeConsultaHelper.getNumeroQuadra()
.equalsIgnoreCase("-1")) {
if (totalQuadraAgua == null) {
if (resumoAnormalidadeConsultaHelper
.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalQuadraAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalQuadraPoco == null) {
if (resumoAnormalidadeConsultaHelper
.getIdMedicaoTipo().equals(
MedicaoTipo.POCO.toString())) {
totalQuadraPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalQuadraAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal(
"100"));
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalQuadraPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal(
"100"));
}
relatorioQuadraBean = new RelatorioResumoAnormalidadeLeituraQuadraBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade(),
resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial()
+ " - "
+ resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial(),
resumoAnormalidadeConsultaHelper
.getNumeroQuadra(),
resumoAnormalidadeConsultaHelper
.getIdMedicaoTipo(),
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioQuadraBeans.add(relatorioQuadraBean);
} else {
if (totalSetorComercialAgua == null) {
if (resumoAnormalidadeConsultaHelper
.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalSetorComercialAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalSetorComercialPoco == null) {
if (resumoAnormalidadeConsultaHelper
.getIdMedicaoTipo().equals(
MedicaoTipo.POCO.toString())) {
totalSetorComercialPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalSetorComercialAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal(
"100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalSetorComercialPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal(
"100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
} // else {
/*
* if (totalSetorComercial == null) { totalSetorComercial =
* resumoAnormalidadeLeitura .getQuantidadeMedicao(); }
*
* percentual = (new BigDecimal(resumoAnormalidadeLeitura
* .getQuantidadeMedicao())).divide( new
* BigDecimal(totalSetorComercial)).multiply( new
* BigDecimal("100.00"));
*/
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioBean = new RelatorioResumoAnormalidadeLeituraSetorComercialBean(
descricaoLocalidade, codigoSetorComercial + " - "
+ descricaoSetorComercial, numeroQuadra,
"�GUA", relatorioQuadraBeans,
relatorioAnormalidadeBeans);
relatorioBeans.add(relatorioBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioBean = new RelatorioResumoAnormalidadeLeituraSetorComercialBean(
descricaoLocalidade, codigoSetorComercial + " - "
+ descricaoSetorComercial, numeroQuadra,
"PO�O", relatorioQuadraBeans,
relatorioAnormalidadeBeans);
relatorioBeans.add(relatorioBean);
}
relatorioQuadraBeans.clear();
} else if (opcaoTotalizacao == ConstantesSistema.CODIGO_QUADRA) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_QUADRA;
Integer totalQuadraAgua = null;
Integer totalQuadraPoco = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (totalQuadraAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalQuadraAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalQuadraPoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalQuadraPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalQuadraAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioQuadraBean = new RelatorioResumoAnormalidadeLeituraQuadraBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade(),
resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial()
+ " - "
+ resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial(),
resumoAnormalidadeConsultaHelper
.getNumeroQuadra(),
"�GUA",
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalQuadraPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioQuadraBean = new RelatorioResumoAnormalidadeLeituraQuadraBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade(),
resumoAnormalidadeConsultaHelper
.getCodigoSetorComercial()
+ " - "
+ resumoAnormalidadeConsultaHelper
.getDescricaoSetorComercial(),
resumoAnormalidadeConsultaHelper
.getNumeroQuadra(),
"PO�O",
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
}
relatorioBeans.add(relatorioQuadraBean);
}
} else if (opcaoTotalizacao == ConstantesSistema.CODIGO_LOCALIDADE) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_LOCALIDADE;
Integer totalLocalidadeAgua = null;
Integer totalLocalidadePoco = null;
String idLocalidade = null;
String descricaoLocalidade = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (idLocalidade == null) {
idLocalidade = resumoAnormalidadeConsultaHelper
.getIdLocalidade();
descricaoLocalidade = resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade();
}
if (descricaoLocalidade == null) {
descricaoLocalidade = resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade();
}
if (totalLocalidadeAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalLocalidadeAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalLocalidadePoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalLocalidadePoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalLocalidadeAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalLocalidadePoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioLocalidadeBean = new RelatorioResumoAnormalidadeLeituraLocalidadeBean(idLocalidade + " - "
+ descricaoLocalidade, null, "�GUA",
relatorioAnormalidadeAguaBeans);
relatorioBeans.add(relatorioLocalidadeBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioLocalidadeBean = new RelatorioResumoAnormalidadeLeituraLocalidadeBean(idLocalidade + " - "
+ descricaoLocalidade, null, "PO�O",
relatorioAnormalidadeEsgotoBeans);
relatorioBeans.add(relatorioBean);
}
} else if (opcaoTotalizacao == ConstantesSistema.CODIGO_ELO_POLO) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_ELO;
Integer totalEloAgua = null;
Integer totalEloPoco = null;
String idElo = null;
String descricaoElo = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (idElo == null) {
idElo = resumoAnormalidadeConsultaHelper
.getIdElo();
descricaoElo = resumoAnormalidadeConsultaHelper
.getDescricaoElo();
}
if (descricaoElo == null) {
descricaoElo = resumoAnormalidadeConsultaHelper
.getDescricaoLocalidade();
}
if (totalEloAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalEloAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalEloPoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalEloPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalEloAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalEloPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioEloBean = new RelatorioResumoAnormalidadeLeituraEloBean(idElo + " - "
+ descricaoElo, null, "�GUA",
relatorioAnormalidadeAguaBeans);
relatorioBeans.add(relatorioEloBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioEloBean = new RelatorioResumoAnormalidadeLeituraEloBean(idElo + " - "
+ descricaoElo, null, "PO�O",
relatorioAnormalidadeEsgotoBeans);
relatorioBeans.add(relatorioEloBean);
}
}
else if (opcaoTotalizacao == ConstantesSistema.CODIGO_GERENCIA_REGIONAL) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_GERENCIA;
Integer totalGerenciaRegionalAgua = null;
Integer totalGerenciaRegionalPoco = null;
String idGerenciaRegional = null;
String descricaoGerenciaRegional = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (idGerenciaRegional == null) {
idGerenciaRegional = resumoAnormalidadeConsultaHelper
.getIdElo();
descricaoGerenciaRegional = resumoAnormalidadeConsultaHelper
.getDescricaoGerenciaRegional();
}
if (descricaoGerenciaRegional == null) {
descricaoGerenciaRegional = resumoAnormalidadeConsultaHelper
.getDescricaoGerenciaRegional();
}
if (totalGerenciaRegionalAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalGerenciaRegionalAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalGerenciaRegionalPoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalGerenciaRegionalPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalGerenciaRegionalAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalGerenciaRegionalPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioGerenciaRegionalBean = new RelatorioResumoAnormalidadeLeituraGerenciaRegionalBean(idGerenciaRegional + " - "
+ descricaoGerenciaRegional, null, "�GUA",
relatorioAnormalidadeAguaBeans);
relatorioBeans.add(relatorioGerenciaRegionalBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioGerenciaRegionalBean = new RelatorioResumoAnormalidadeLeituraGerenciaRegionalBean(idGerenciaRegional + " - "
+ descricaoGerenciaRegional, null, "PO�O",
relatorioAnormalidadeEsgotoBeans);
relatorioBeans.add(relatorioGerenciaRegionalBean);
}
} else if (opcaoTotalizacao == ConstantesSistema.CODIGO_ESTADO) {
nomeRelatorio = ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_ESTADO;
Integer totalEstadoAgua = null;
Integer totalEstadoPoco = null;
while (colecaoResumosAnormalidadeLeituraIterator.hasNext()) {
resumoAnormalidadeConsultaHelper = (ResumoAnormalidadeConsultaHelper) colecaoResumosAnormalidadeLeituraIterator
.next();
if (totalEstadoAgua == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
totalEstadoAgua = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (totalEstadoPoco == null) {
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.POCO.toString())) {
totalEstadoPoco = new Integer(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao());
}
}
if (resumoAnormalidadeConsultaHelper.getIdMedicaoTipo()
.equals(MedicaoTipo.LIGACAO_AGUA.toString())) {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalEstadoAgua), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeAguaBeans
.add(relatorioAnormalidadeBean);
} else {
percentual = (new BigDecimal(
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao())).divide(
new BigDecimal(totalEstadoPoco), 4,
RoundingMode.HALF_UP);
percentual = percentual.multiply(new BigDecimal("100"));
relatorioAnormalidadeBean = new RelatorioResumoAnormalidadeLeituraAnormalidadeBean(
resumoAnormalidadeConsultaHelper
.getDescricaoLeituraAnormalidadeFaturada(),
resumoAnormalidadeConsultaHelper
.getQuantidadeMedicao(), Util
.formatarMoedaReal(percentual));
relatorioAnormalidadeEsgotoBeans
.add(relatorioAnormalidadeBean);
}
}
if (relatorioAnormalidadeAguaBeans != null
&& !relatorioAnormalidadeAguaBeans.isEmpty()) {
relatorioEstadoBean = new RelatorioResumoAnormalidadeLeituraEstadoBean(
"PERNAMBUCO", null, "�GUA",
relatorioAnormalidadeAguaBeans);
relatorioBeans.add(relatorioEstadoBean);
}
if (relatorioAnormalidadeEsgotoBeans != null
&& !relatorioAnormalidadeEsgotoBeans.isEmpty()) {
relatorioEstadoBean = new RelatorioResumoAnormalidadeLeituraEstadoBean(
"PERNAMBUCO", null, "PO�O",
relatorioAnormalidadeEsgotoBeans);
relatorioBeans.add(relatorioEstadoBean);
}
}
}
/*
* relatorioBean = new RelatorioResumoAnormalidadeLeituraBean(
* "Pernambuco", resumoAnormalidadeLeitura.getGerenciaRegional()
* .getId().toString(), resumoAnormalidadeLeitura
* .getGerenciaRegional().getNomeAbreviado(),
* resumoAnormalidadeLeitura.getLocalidade()
* .getLocalidade().getId().toString(),
* resumoAnormalidadeLeitura.getLocalidade()
* .getLocalidade().getDescricao(),
* resumoAnormalidadeLeitura.getLocalidade().getId() .toString(),
* resumoAnormalidadeLeitura .getLocalidade().getDescricao(), null,
* null, null,
* resumoAnormalidadeLeitura.getMedicaoTipo().getDescricao(),
* resumoAnormalidadeLeitura .getLeituraAnormalidade().getDescricao(),
* resumoAnormalidadeLeitura.getQuantidadeMedicao() .toString(),
* Util.formatarMoedaReal(percentual));
*/
// adiciona o bean a cole��o
// if (totalEstadoAgua != 0) {
// relatorioBean = new RelatorioResumoAnormalidadeLeituraBean(
// "Pernambuco", null, null,
// null,
// null,
// null, null, null, null,
// null, "LIGACAO DE AGUA", "TOTAL DE ANORMALIDADE",
// "" + totalEstadoAgua, Util.formatarMoedaReal(percentual));
// relatorioBeans.add(relatorioBean);
// }
// if (totalEstadoEsgoto != 0) {
// relatorioBean = new RelatorioResumoAnormalidadeLeituraBean(
// "Pernambuco", null, null,
// null,
// null,
// null, null, null, null,
// null, "POCO", "TOTAL DE ANORMALIDADE",
// "" + totalEstadoAgua,
// Util.formatarMoedaReal(percentual));
// relatorioBeans.add(relatorioBean);
// }
// __________________________________________________________________
// Par�metros do relat�rio
Map parametros = new HashMap();
SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema();
parametros.put("imagem", sistemaParametro.getImagemRelatorio());
parametros.put("tipoQuebra", "" + opcaoTotalizacao);
// adiciona os par�metros do relat�rio
// adiciona o laudo da an�lise
// cria uma inst�ncia do dataSource do relat�rio
RelatorioDataSource ds = new RelatorioDataSource(relatorioBeans);
// if(opcaoTotalizacao == ConstantesSistema.CODIGO_ESTADO
// || opcaoTotalizacao == ConstantesSistema.CODIGO_ESTADO_ELO_POLO
// || opcaoTotalizacao ==
// ConstantesSistema.CODIGO_ESTADO_GERENCIA_REGIONAL
// || opcaoTotalizacao ==
// ConstantesSistema.CODIGO_ESTADO_GRUPO_FATURAMENTO
// || opcaoTotalizacao ==
// ConstantesSistema.CODIGO_ESTADO_LOCALIDADE){
//
// retorno = gerarRelatorio(
// ConstantesRelatorios.RELATORIO_RESUMO_ANORMALIDADE_LEITURA_ESTADO,
// parametros, ds);
//
// }else if(opcaoTotalizacao ==
// ConstantesSistema.CODIGO_GERENCIA_REGIONAL){
//
// }
retorno = gerarRelatorio(nomeRelatorio, parametros, ds, tipoFormatoRelatorio);
// retorna o relat�rio gerado
return retorno;
}
@Override
public int calcularTotalRegistrosRelatorio() {
return 0;
}
public void agendarTarefaBatch() {
}
}