package gcom.faturamento;
import gcom.arrecadacao.ControladorArrecadacaoLocal;
import gcom.arrecadacao.ControladorArrecadacaoLocalHome;
import gcom.atendimentopublico.ligacaoagua.LigacaoAguaSituacao;
import gcom.atendimentopublico.ligacaoesgoto.LigacaoEsgotoSituacao;
import gcom.cadastro.cliente.Cliente;
import gcom.cadastro.cliente.ClienteImovel;
import gcom.cadastro.cliente.ControladorClienteLocal;
import gcom.cadastro.cliente.ControladorClienteLocalHome;
import gcom.cadastro.cliente.IRepositorioClienteImovel;
import gcom.cadastro.endereco.ControladorEnderecoLocal;
import gcom.cadastro.endereco.ControladorEnderecoLocalHome;
import gcom.cadastro.imovel.ControladorImovelLocal;
import gcom.cadastro.imovel.ControladorImovelLocalHome;
import gcom.cadastro.imovel.Imovel;
import gcom.cadastro.imovel.ImovelContaEnvio;
import gcom.cadastro.imovel.bean.ImovelSubcategoriaHelper;
import gcom.cadastro.sistemaparametro.SistemaParametro;
import gcom.faturamento.bean.EmitirContaHelper;
import gcom.faturamento.conta.Conta;
import gcom.faturamento.conta.ContaCategoriaConsumoFaixa;
import gcom.faturamento.conta.IContaCategoria;
import gcom.faturamento.credito.CreditoRealizado;
import gcom.faturamento.debito.DebitoCobrado;
import gcom.micromedicao.ControladorMicromedicaoLocal;
import gcom.micromedicao.ControladorMicromedicaoLocalHome;
import gcom.micromedicao.consumo.ConsumoHistorico;
import gcom.micromedicao.consumo.ConsumoTipo;
import gcom.micromedicao.consumo.LigacaoTipo;
import gcom.micromedicao.medicao.MedicaoHistorico;
import gcom.util.ConstantesJNDI;
import gcom.util.ControladorException;
import gcom.util.ErroRepositorioException;
import gcom.util.ServiceLocator;
import gcom.util.ServiceLocatorException;
import gcom.util.SistemaException;
import gcom.util.Util;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
import javax.ejb.CreateException;
import javax.ejb.SessionContext;
public class ImpressaoContaImpressoraTermica {
private IRepositorioFaturamento repositorioFaturamento;
private IRepositorioClienteImovel repositorioClienteImovel;
private SessionContext sessionContext;
private static ImpressaoContaImpressoraTermica instancia;
private ImpressaoContaImpressoraTermica(IRepositorioFaturamento repositorioFaturamento, IRepositorioClienteImovel repositorioClienteImovel,
SessionContext sessionContext) {
this.repositorioClienteImovel = repositorioClienteImovel;
this.repositorioFaturamento = repositorioFaturamento;
this.sessionContext = sessionContext;
}
public static ImpressaoContaImpressoraTermica getInstancia(IRepositorioFaturamento repositorioFaturamento,
IRepositorioClienteImovel repositorioClienteImovel, SessionContext sessionContext) {
if (instancia == null) {
instancia = new ImpressaoContaImpressoraTermica(repositorioFaturamento, repositorioClienteImovel, sessionContext);
}
return instancia;
}
protected ControladorClienteLocal getControladorCliente() {
ControladorClienteLocalHome localHome = null;
ControladorClienteLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorClienteLocalHome) locator.getLocalHome(ConstantesJNDI.CONTROLADOR_CLIENTE_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
private ControladorFaturamentoLocal getControladorFaturamento() {
ControladorFaturamentoLocalHome localHome = null;
ControladorFaturamentoLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorFaturamentoLocalHome) locator.getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_FATURAMENTO_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
protected ControladorArrecadacaoLocal getControladorArrecadacao() {
ControladorArrecadacaoLocalHome localHome = null;
ControladorArrecadacaoLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorArrecadacaoLocalHome) locator.getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_ARRECADACAO_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
private ControladorEnderecoLocal getControladorEndereco() {
ControladorEnderecoLocalHome localHome = null;
ControladorEnderecoLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorEnderecoLocalHome) locator.getLocalHome(ConstantesJNDI.CONTROLADOR_ENDERECO_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
protected ControladorImovelLocal getControladorImovel() {
ControladorImovelLocalHome localHome = null;
ControladorImovelLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorImovelLocalHome) locator.getLocalHome(ConstantesJNDI.CONTROLADOR_IMOVEL_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
protected ControladorMicromedicaoLocal getControladorMicromedicao() {
ControladorMicromedicaoLocalHome localHome = null;
ControladorMicromedicaoLocal local = null;
ServiceLocator locator = null;
try {
locator = ServiceLocator.getInstancia();
localHome = (ControladorMicromedicaoLocalHome) locator.getLocalHomePorEmpresa(ConstantesJNDI.CONTROLADOR_MICROMEDICAO_SEJB);
local = localHome.create();
return local;
} catch (CreateException e) {
throw new SistemaException(e);
} catch (ServiceLocatorException e) {
throw new SistemaException(e);
}
}
private String formarLinha(int font, int tamanhoFonte, int x, int y, String texto, int adicionarColuna, int adicionarLinha) {
return "T " + font + " " + tamanhoFonte + " " + (x + adicionarColuna) + " " + (y + adicionarLinha) + " " + texto + "\n";
}
private static String dividirLinha(int fonte, int tamanhoFonte, int x, int y, String texto, int tamanhoLinha, int deslocarPorLinha) {
String retorno = "";
int contador = 0;
int i;
for (i = 0; i < texto.length(); i += tamanhoLinha) {
contador += tamanhoLinha;
if (contador > texto.length()) {
retorno += "T " + fonte + " " + tamanhoFonte + " " + x + " " + y + " " + texto.substring(i, texto.length()).trim() + "\n";
} else {
retorno += "T " + fonte + " " + tamanhoFonte + " " + x + " " + y + " " + texto.substring(i, contador).trim() + "\n";
}
y += deslocarPorLinha;
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector retornarDescricaoCategoriasQuantidadeEconomias(Imovel imovelEmitido) {
Vector retorno = new Vector();
int quantidadeEconomiasResidencial = 0;
int quantidadeEconomiasComercial = 0;
int quantidadeEconomiasIndustrial = 0;
int quantidadeEconomiasPublico = 0;
String descricaoResidencial = "";
String descricaoComercial = "";
String descricaoIndustrial = "";
String descricaoPublico = "";
Collection<ImovelSubcategoriaHelper> imec;
try {
imec = getControladorImovel().consultaSubcategorias(imovelEmitido.getId());
for (ImovelSubcategoriaHelper imovelSubcategoriaHelper : imec) {
String descricaoCategoria = imovelSubcategoriaHelper.getCategoria();
if (descricaoCategoria.length() > 8) {
descricaoCategoria = descricaoCategoria.substring(0, 8);
}
if (descricaoCategoria.toUpperCase().trim().equals("RESIDENCIAL")) {
quantidadeEconomiasResidencial += imovelSubcategoriaHelper.getQuantidadeEconomias();
descricaoResidencial = descricaoCategoria;
} else if (descricaoCategoria.toUpperCase().trim().equals("COMERCIAL")) {
quantidadeEconomiasComercial += imovelSubcategoriaHelper.getQuantidadeEconomias();
descricaoComercial = descricaoCategoria;
} else if (descricaoCategoria.toUpperCase().trim().equals("INDUSTRIAL")) {
quantidadeEconomiasIndustrial += imovelSubcategoriaHelper.getQuantidadeEconomias();
descricaoIndustrial = descricaoCategoria;
} else if (descricaoCategoria.toUpperCase().trim().equals("PUBLICO")) {
quantidadeEconomiasPublico += imovelSubcategoriaHelper.getQuantidadeEconomias();
descricaoPublico = descricaoCategoria;
}
}
if (quantidadeEconomiasResidencial > 0) {
Object[] dadosResidencial = new Object[2];
dadosResidencial[0] = descricaoResidencial;
dadosResidencial[1] = new Integer(quantidadeEconomiasResidencial);
retorno.addElement(dadosResidencial);
}
if (quantidadeEconomiasComercial > 0) {
Object[] dadosComercial = new Object[2];
dadosComercial[0] = descricaoComercial;
dadosComercial[1] = new Integer(quantidadeEconomiasComercial);
retorno.addElement(dadosComercial);
}
if (quantidadeEconomiasIndustrial > 0) {
Object[] dadosIndustrial = new Object[2];
dadosIndustrial[0] = descricaoIndustrial;
dadosIndustrial[1] = new Integer(quantidadeEconomiasIndustrial);
retorno.addElement(dadosIndustrial);
}
if (quantidadeEconomiasPublico > 0) {
Object[] dadosPublico = new Object[2];
dadosPublico[0] = descricaoPublico;
dadosPublico[1] = new Integer(quantidadeEconomiasPublico);
retorno.addElement(dadosPublico);
}
return retorno;
} catch (ControladorException e) {
e.printStackTrace();
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasImpostosRetidosIS(EmitirContaHelper emitirContaHelper) {
Vector retorno = new Vector();
String[] dados = new String[3];
Collection colecaoParmsImpostosDeduzidos = null;
try {
colecaoParmsImpostosDeduzidos = repositorioFaturamento.pesquisarParmsContaImpostosDeduzidos(emitirContaHelper.getIdConta());
} catch (ErroRepositorioException e) {
sessionContext.setRollbackOnly();
}
String dadosImposto = "";
if (colecaoParmsImpostosDeduzidos != null && !colecaoParmsImpostosDeduzidos.isEmpty()) {
Iterator iteratorParmsImpostosDeduzidos = colecaoParmsImpostosDeduzidos.iterator();
while (iteratorParmsImpostosDeduzidos.hasNext()) {
Object[] parmsImpostoDeduzido = (Object[]) iteratorParmsImpostosDeduzidos.next();
String descricaoTipoImposto = "";
if (parmsImpostoDeduzido[0] != null) {
descricaoTipoImposto = (String) parmsImpostoDeduzido[0];
}
String percentualAliquota = "";
if (parmsImpostoDeduzido[1] != null) {
percentualAliquota = Util.formatarMoedaReal((BigDecimal) parmsImpostoDeduzido[1]);
}
BigDecimal valorImpostos = null;
if (parmsImpostoDeduzido[2] != null) {
valorImpostos = (BigDecimal) parmsImpostoDeduzido[2];
}
String descricaoImposto = descricaoTipoImposto;
dadosImposto += descricaoImposto + "-" + percentualAliquota + "% ";
}
dados = new String[3];
dados[0] = "DED. IMPOSTOS LEI FEDERAL N.9430 DE 27/12/1996";
dados[2] = Util.formatarMoedaReal(emitirContaHelper.getValorImpostos());
retorno.addElement(dados);
dados = new String[3];
dados[0] = dadosImposto;
retorno.addElement(dados);
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasCreditosRealizados(int indicadorDiscriminarDescricao, EmitirContaHelper emitirContaHelper) {
Vector retorno = new Vector();
String[] dados = new String[3];
Conta conta = new Conta();
conta.setId(emitirContaHelper.getIdConta());
Collection<CreditoRealizado> crrz;
try {
crrz = getControladorFaturamento().obterCreditosRealizadosConta(conta);
if (crrz != null) {
if (indicadorDiscriminarDescricao == 1) {
for (CreditoRealizado creditoRealizado : crrz) {
dados = new String[3];
dados[0] = creditoRealizado.getDescricao();
dados[2] = Util.formatarMoedaReal(creditoRealizado.getValorCredito());
retorno.addElement(dados);
}
} else {
BigDecimal soma = emitirContaHelper.getValorCreditos();
dados = new String[3];
dados[0] = "CREDITOS";
dados[2] = Util.formatarMoedaReal(soma);
retorno.addElement(dados);
}
}
} catch (ControladorException e) {
e.printStackTrace();
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private int retornaIndicadorDiscriminar(int quantidadeMaximaLinhas, int quantidadeLinhasAtual, char servicos, EmitirContaHelper emitirContaHelper) {
int indicadorDiscriminarDescricao = 1;
int linhasRestantesDescricao = 0;
Conta conta = new Conta();
conta.setId(emitirContaHelper.getIdConta());
Collection<CreditoRealizado> crrz = null;
Collection<DebitoCobrado> dbcb = null;
Collection cnid = null;
try {
crrz = getControladorFaturamento().obterCreditosRealizadosConta(conta);
dbcb = getControladorFaturamento().obterDebitosCobradosConta(conta);
cnid = repositorioFaturamento.pesquisarParmsContaImpostosDeduzidos(conta.getId());
switch (servicos) {
case 'd':
if (crrz != null) {
linhasRestantesDescricao = linhasRestantesDescricao + 1;
}
if (cnid != null) {
linhasRestantesDescricao = linhasRestantesDescricao + 2;
}
if (dbcb != null) {
int limiteDescriminar = quantidadeMaximaLinhas - quantidadeLinhasAtual - linhasRestantesDescricao;
int quantidadeDebitos = dbcb.size();
if (quantidadeDebitos > limiteDescriminar) {
indicadorDiscriminarDescricao = 2;
}
}
break;
case 'c':
if (cnid != null) {
linhasRestantesDescricao = linhasRestantesDescricao + 2;
}
if (crrz != null) {
int limiteDescriminar = quantidadeMaximaLinhas - quantidadeLinhasAtual - linhasRestantesDescricao;
int quantidadeCreditos = crrz.size();
if (quantidadeCreditos > limiteDescriminar) {
indicadorDiscriminarDescricao = 2;
}
}
break;
}
} catch (Exception e) {
e.printStackTrace();
}
return indicadorDiscriminarDescricao;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasTarifaAguaIS(ConsumoHistorico consumoAgua, SistemaParametro sistemaParametro, Imovel imovelEmitido,
EmitirContaHelper emitirContaHelper) {
String linhas = "";
boolean tipoTarifaPorCategoria = false;
if (sistemaParametro.getIndicadorTarifaCategoria() == SistemaParametro.INDICADOR_TARIFA_CATEGORIA) {
tipoTarifaPorCategoria = true;
}
int qtdLinhas = 0;
Collection<IContaCategoria> cContaCategoria;
try {
cContaCategoria = repositorioFaturamento.pesquisarContaCategoria(emitirContaHelper.getIdConta());
if (cContaCategoria != null) {
for (IContaCategoria contaCategoria : cContaCategoria) {
if (contaCategoria.getConsumoAgua() == null
|| (contaCategoria.getConsumoAgua() == 0 && (contaCategoria.getValorAgua() == null || contaCategoria.getValorAgua().equals(
new BigDecimal("0.00"))))) {
continue;
}
qtdLinhas++;
if (linhas.equals("")) {
linhas += formarLinha(7, 0, 53, 733, "AGUA", 0, 0);
}
int quantidaEconomias = 0;
quantidaEconomias = contaCategoria.getQuantidadeEconomia();
String descricao = "";
if (tipoTarifaPorCategoria) {
descricao = contaCategoria.getDescricao() + " " + quantidaEconomias + " " + "UNIDADE(S)";
if (descricao.length() > 40) {
linhas += formarLinha(7, 0, 63, 733, descricao.substring(0, 40), 0, qtdLinhas * 34);
} else {
linhas += formarLinha(7, 0, 63, 733, descricao, 0, qtdLinhas * 34);
}
} else {
descricao = contaCategoria.getDescricao() + " " + quantidaEconomias + " " + "UNIDADE(S)";
if (descricao.length() > 40) {
linhas += formarLinha(7, 0, 63, 733, descricao.substring(0, 40), 0, qtdLinhas * 34);
} else {
linhas += formarLinha(7, 0, 63, 733, descricao, 0, qtdLinhas * 34);
}
}
int consumoMinimo = 0;
if (consumoAgua != null && consumoAgua.getConsumoMinimo() != null && contaCategoria.getConsumoMinimoAgua() != null
&& consumoAgua.getConsumoMinimo() > contaCategoria.getConsumoMinimoAgua()) {
consumoMinimo = consumoAgua.getConsumoMinimo();
} else if (contaCategoria.getConsumoMinimoAgua() != null) {
consumoMinimo = contaCategoria.getConsumoMinimoAgua();
}
if (consumoAgua == null && contaCategoria.getConsumoAgua() != null && contaCategoria.getConsumoAgua() <= consumoMinimo) {
qtdLinhas++;
descricao = "";
descricao = "TARIFA MINIMA "
+ Util.formatarMoedaReal(contaCategoria.getValorTarifaMinimaAgua().divide(new BigDecimal(quantidaEconomias))) + " POR UNIDADE ";
linhas += formarLinha(7, 0, 63, 733, descricao, 0, qtdLinhas * 34);
descricao = consumoMinimo + " m3";
linhas += formarLinha(7, 0, 571, 733, descricao, 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 697, 733, Util.formatarMoedaReal(contaCategoria.getValorTarifaMinimaAgua()), 0, qtdLinhas * 34);
} else {
Collection<ContaCategoriaConsumoFaixa> cContaCategoriaConsumoFaixa = repositorioFaturamento
.pesquisarContaCategoriaConsumoFaixa(emitirContaHelper.getIdConta());
if (contaCategoria.getConsumoAgua() != null && cContaCategoriaConsumoFaixa != null && cContaCategoriaConsumoFaixa.size() > 0) {
qtdLinhas++;
descricao = "ATE " + ((int) contaCategoria.getConsumoMinimoAgua() / quantidaEconomias) + " m3 - "
+ Util.formatarMoedaReal(contaCategoria.getValorTarifaMinimaAgua().divide(new BigDecimal(quantidaEconomias)))
+ " POR UNIDADE";
linhas += formarLinha(7, 0, 73, 733, descricao, 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 571, 733, contaCategoria.getConsumoMinimoAgua() + " m3", 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 697, 733, Util.formatarMoedaReal(contaCategoria.getValorTarifaMinimaAgua()), 0, qtdLinhas * 34);
for (ContaCategoriaConsumoFaixa faixa : cContaCategoriaConsumoFaixa) {
qtdLinhas++;
if (faixa.getConsumoFaixaFim() == 51) {
descricao = "ACIMA DE " + (faixa.getConsumoFaixaInicio() - 1) + " m3 - R$ "
+ Util.formatarMoedaReal(faixa.getValorTarifaFaixa()) + " POR m3";
linhas += formarLinha(7, 0, 73, 733, descricao, 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 571, 733, faixa.getConsumoAgua() * quantidaEconomias + " m3 ", 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 697, 733,
Util.formatarMoedaReal(faixa.getValorAgua().multiply(new BigDecimal(quantidaEconomias))), 0, qtdLinhas * 34);
} else {
descricao = faixa.getConsumoFaixaInicio() + " m3 A " + faixa.getConsumoFaixaFim() + " m3 - R$ "
+ Util.formatarMoedaReal(faixa.getValorTarifaFaixa()) + " POR M3 ";
linhas += formarLinha(7, 0, 73, 733, descricao, 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 571, 733, faixa.getConsumoAgua() * quantidaEconomias + " m3 ", 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 697, 733,
Util.formatarMoedaReal(faixa.getValorAgua().multiply(new BigDecimal(quantidaEconomias))), 0, qtdLinhas * 34);
}
}
} else {
if (contaCategoria.getConsumoAgua() != null) {
qtdLinhas++;
descricao = "CONSUMO DE AGUA";
linhas += formarLinha(7, 0, 73, 733, descricao, 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 571, 733, ((int) contaCategoria.getConsumoAgua()) + " m3", 0, qtdLinhas * 34);
linhas += formarLinha(7, 0, 697, 733, Util.formatarMoedaReal(contaCategoria.getValorAgua()), 0, qtdLinhas * 34);
}
}
}
}
}
} catch (ErroRepositorioException e) {
e.printStackTrace();
}
Vector retornar = new Vector();
retornar.addElement(linhas);
retornar.addElement(new Integer(qtdLinhas));
return retornar;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasRateioAguaEsgotoCobrados(EmitirContaHelper emitirContaHelper) {
Vector retorno = new Vector();
String[] dados = new String[2];
// Valor do rateio de �gua
if (emitirContaHelper.getConsumoAgua() != null
&& emitirContaHelper.getValorRateioAgua() != null
&& emitirContaHelper.getValorRateioAgua().compareTo(BigDecimal.ZERO) > 0) {
dados = new String[2];
dados[0] = "RATEIO DE AGUA DO CONDOMINIO";
dados[1] = Util.formatarMoedaReal(emitirContaHelper.getValorRateioAgua());
retorno.add(dados);
}
// Valor do rateio de Esgoto
if (emitirContaHelper.getConsumoEsgoto() != null
&& emitirContaHelper.getValorRateioEsgoto() != null
&& emitirContaHelper.getValorRateioEsgoto().compareTo(BigDecimal.ZERO) > 0) {
dados = new String[2];
dados[0] = "RATEIO DE ESGOTO DO CONDOMINIO";
dados[1] = Util.formatarMoedaReal(emitirContaHelper.getValorRateioEsgoto());
retorno.add(dados);
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasDebitosCobrados(int indicadorDiscriminarDescricao, EmitirContaHelper emitirContaHelper) {
Vector retorno = new Vector();
String[] dados = new String[3];
Conta conta = new Conta();
conta.setId(emitirContaHelper.getIdConta());
Collection<DebitoCobrado> dbcb;
try {
dbcb = getControladorFaturamento().obterDebitosCobradosConta(conta);
if (dbcb != null) {
if (indicadorDiscriminarDescricao == 1) {
for (DebitoCobrado debitoCobrado : dbcb) {
dados = new String[3];
dados[0] = debitoCobrado.getDescricao();
dados[0] = dados[0] + " " + debitoCobrado.getNumeroPrestacaoDebito() + "/" + debitoCobrado.getNumeroPrestacao();
dados[2] = Util.formatarMoedaReal(debitoCobrado.getValorPrestacao());
retorno.addElement(dados);
}
} else {
BigDecimal soma = emitirContaHelper.getDebitos();
dados = new String[3];
dados[0] = "DEBITOS";
dados[2] = Util.formatarMoedaReal(soma);
retorno.addElement(dados);
}
}
} catch (ControladorException e) {
e.printStackTrace();
}
return retorno;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
private Vector gerarLinhasTarifaPocoIS(EmitirContaHelper emitirContaHelper) {
Vector retorno = new Vector();
String[] dados = new String[3];
BigDecimal valorEsgoto = null;
int consumAgua = 0;
int consumEsgoto = 0;
BigDecimal valorAgua = null;
consumAgua = emitirContaHelper.getConsumoAgua();
consumEsgoto = emitirContaHelper.getConsumoEsgoto();
valorAgua = emitirContaHelper.getValorAgua();
valorEsgoto = emitirContaHelper.getValorEsgoto();
dados = new String[3];
if (consumAgua == consumEsgoto && valorAgua.compareTo(new BigDecimal("0.00")) != 0) {
if (valorEsgoto.compareTo(new BigDecimal("0.00")) != 0) {
dados[0] = "ESGOTO ";
dados[0] += Util.formatarMoedaReal(emitirContaHelper.getPercentualEsgotoConta());
dados[0] += " % DO VALOR DE AGUA";
dados[2] = Util.formatarMoedaReal(valorEsgoto);
retorno.addElement(dados);
}
} else {
if (valorEsgoto.compareTo(new BigDecimal("0.00")) != 0) {
dados[0] = "ESGOTO ";
dados[1] = consumEsgoto + "";
dados[1] += " M3";
dados[2] = Util.formatarMoedaReal(valorEsgoto);
retorno.addElement(dados);
}
}
return retorno;
}
public String gerarArquivoFormatadoImpressaoTermica(EmitirContaHelper emitirContaHelper, SistemaParametro sistemaParametro,
String[] qualidadeAgua, int contador, List<Integer> idsCondominios) {
StringBuilder retorno = new StringBuilder("");
Imovel imovelEmitido;
try {
imovelEmitido = getControladorImovel().pesquisarImovel(emitirContaHelper.getIdImovel());
if (!imovelEmitido.pertenceACondominio()) {
return retorno.toString();
}
LigacaoTipo lta = new LigacaoTipo();
lta.setId(LigacaoTipo.LIGACAO_AGUA);
LigacaoTipo lte = new LigacaoTipo();
lte.setId(LigacaoTipo.LIGACAO_ESGOTO);
try {
ConsumoHistorico consumoAgua;
ConsumoHistorico consumoEsgoto;
if (imovelEmitido.pertenceACondominio() && !idsCondominios.contains(imovelEmitido.getImovelCondominio().getId())) {
Imovel imovelCondominio = getControladorImovel().pesquisarImovel(imovelEmitido.getImovelCondominio().getId());
consumoAgua = getControladorMicromedicao().obterConsumoHistorico(imovelCondominio, lta, emitirContaHelper.getAmReferencia());
consumoEsgoto = getControladorMicromedicao().obterConsumoHistorico(imovelCondominio, lte, emitirContaHelper.getAmReferencia());
System.out.println("Imovel condominio: " + imovelCondominio.getId());
gerarDadosComuns(emitirContaHelper, sistemaParametro, retorno, imovelCondominio, consumoAgua, consumoEsgoto);
gerarDadosQualidadeAgua(emitirContaHelper, qualidadeAgua, retorno);
gerarInformativoMacroCondominio(emitirContaHelper, retorno, imovelEmitido);
idsCondominios.add(imovelEmitido.getImovelCondominio().getId());
}
consumoAgua = getControladorMicromedicao().obterConsumoHistorico(imovelEmitido, lta, emitirContaHelper.getAmReferencia());
consumoEsgoto = getControladorMicromedicao().obterConsumoHistorico(imovelEmitido, lte, emitirContaHelper.getAmReferencia());
gerarDadosComuns(emitirContaHelper, sistemaParametro, retorno, imovelEmitido, consumoAgua, consumoEsgoto);
gerarDadosQualidadeAgua(emitirContaHelper, qualidadeAgua, retorno);
retorno.append(formarLinha(7, 0, 53, 708, "DESCRICAO", 0, 0) + formarLinha(7, 0, 571, 708, "CONSUMO", 0, 0) + formarLinha(7, 0, 687, 708, "TOTAL(R$)", 0, 0));
int ultimaLinhaAgua = 0;
int ultimaLinhaPoco = 0;
int quantidadeLinhasAtual = 0;
int quantidadeMaximaLinhas = 18;
Vector linhaAgua = this.gerarLinhasTarifaAguaIS(consumoAgua, sistemaParametro, imovelEmitido, emitirContaHelper);
retorno.append(linhaAgua.elementAt(0));
ultimaLinhaAgua = (((Integer) linhaAgua.elementAt(1)).intValue());
if (ultimaLinhaAgua != 0) {
quantidadeLinhasAtual = quantidadeLinhasAtual + ultimaLinhaAgua + 1;
}
ultimaLinhaAgua *= 34;
Vector tarifasPoco = this.gerarLinhasTarifaPocoIS(emitirContaHelper);
ultimaLinhaPoco = ultimaLinhaAgua;
for (int i = 0; i < tarifasPoco.size(); i++) {
String[] tarifaPoco = (String[]) tarifasPoco.elementAt(i);
ultimaLinhaPoco = ultimaLinhaAgua + ((i + 1) * 34);
quantidadeLinhasAtual++;
int deslocaDireitaColuna;
if (i == 0 || i == 1 || i == 2) {
deslocaDireitaColuna = i;
} else {
deslocaDireitaColuna = 2;
}
if (tarifaPoco[0] != null) {
retorno.append(formarLinha(7, 0, 53, 733, tarifaPoco[0], deslocaDireitaColuna * 10, (i + 1) * 34 + ultimaLinhaAgua));
}
if (tarifaPoco[1] != null) {
retorno.append(formarLinha(7, 0, 571, 733, tarifaPoco[1], 0, (i + 1) * 34 + ultimaLinhaAgua));
}
if (tarifaPoco[2] != null) {
retorno.append(formarLinha(7, 0, 697, 733, tarifaPoco[2], 0, (i + 1) * 34 + ultimaLinhaAgua));
}
}
// Dados dos Valores de Rateio de �gua e Esgoto
Vector rateios = gerarLinhasRateioAguaEsgotoCobrados(emitirContaHelper);
int ultimaLinhaRateio = ultimaLinhaPoco;
for (int i = 0; i < rateios.size(); i++) {
String[] debito = (String[]) rateios.get(i);
ultimaLinhaRateio = ultimaLinhaPoco + ((i + 1) * 34);
quantidadeLinhasAtual++;
if (debito[0] != null) {
retorno.append(formarLinha(7, 0, 53, 733, debito[0], 0, (i + 1) * 34 + ultimaLinhaPoco));
}
if (debito[1] != null) {
retorno.append(formarLinha(7, 0, 697, 733, debito[1], 0, (i + 1) * 34 + ultimaLinhaPoco));
}
}
int indicadorDiscriminarDescricao = retornaIndicadorDiscriminar(quantidadeMaximaLinhas, quantidadeLinhasAtual, 'd', emitirContaHelper);
Vector debitos = this.gerarLinhasDebitosCobrados(indicadorDiscriminarDescricao, emitirContaHelper);
int ultimaLinhaDebito = ultimaLinhaRateio;
for (int i = 0; i < debitos.size(); i++) {
String[] debito = (String[]) debitos.elementAt(i);
ultimaLinhaDebito = ultimaLinhaRateio + ((i + 1) * 34);
quantidadeLinhasAtual++;
if (debito[0] != null) {
retorno.append(formarLinha(7, 0, 53, 733, debito[0], 0, (i + 1) * 34 + ultimaLinhaRateio));
}
if (debito[1] != null) {
retorno.append(formarLinha(7, 0, 571, 733, debito[1], 0, (i + 1) * 34 + ultimaLinhaRateio));
}
if (debito[2] != null) {
retorno.append(formarLinha(7, 0, 697, 733, debito[2], 0, (i + 1) * 34 + ultimaLinhaRateio));
}
}
indicadorDiscriminarDescricao = retornaIndicadorDiscriminar(quantidadeMaximaLinhas, quantidadeLinhasAtual, 'c', emitirContaHelper);
Vector creditos = this.gerarLinhasCreditosRealizados(indicadorDiscriminarDescricao, emitirContaHelper);
int ultimaLinhaCredito = ultimaLinhaDebito;
for (int i = 0; i < creditos.size(); i++) {
String[] credito = (String[]) creditos.elementAt(i);
ultimaLinhaCredito = ultimaLinhaDebito + ((i + 1) * 34);
if (credito[0] != null) {
retorno.append(formarLinha(7, 0, 53, 733, credito[0], 0, (i + 1) * 34 + ultimaLinhaDebito));
}
if (credito[1] != null) {
retorno.append(formarLinha(7, 0, 571, 733, credito[1], 0, (i + 1) * 34 + ultimaLinhaDebito));
}
if (credito[2] != null) {
retorno.append(formarLinha(7, 0, 697, 733, credito[2], 0, (i + 1) * 34 + ultimaLinhaDebito));
}
}
Vector impostos = this.gerarLinhasImpostosRetidosIS(emitirContaHelper);
for (int i = 0; i < impostos.size(); i++) {
String[] imposto = (String[]) impostos.elementAt(i);
int deslocaDireitaColuna;
if (i == 0 || i == 1) {
deslocaDireitaColuna = i;
} else {
deslocaDireitaColuna = 1;
}
if (imposto[0] != null) {
retorno.append(formarLinha(7, 0, 53, 733, imposto[0], deslocaDireitaColuna * 10, (i + 1) * 34 + ultimaLinhaCredito));
}
if (imposto[1] != null) {
retorno.append(formarLinha(7, 0, 571, 733, imposto[1], 0, (i + 1) * 34 + ultimaLinhaCredito));
}
if (imposto[2] != null) {
retorno.append(formarLinha(7, 0, 697, 733, imposto[2], 0, (i + 1) * 34 + ultimaLinhaCredito));
}
}
retorno.append(formarLinha(7, 1, 160, 1210, Util.formatarData(emitirContaHelper.getDataVencimentoConta()), 0, 0));
retorno.append(formarLinha(4, 0, 640, 1210, Util.formatarMoedaReal(emitirContaHelper.getValorConta()), 0, 0));
retorno.append(formarLinha(0, 2, 424, 1265, "OPCAO PELO DEB. AUTOMATICO: ", 0, 0)
+ formarLinha(5, 0, 649, 1266, (imovelEmitido.getIndicadorDebitoConta() == null ? "" : imovelEmitido.getId() + ""), 0, 0));
gerarDadosMensagensConta(emitirContaHelper, retorno);
retorno.append(formarLinha(0, 2, 344, 1456, emitirContaHelper.getIdImovel() + "", 0, 0)
+ formarLinha(0, 2, 443, 1456, Util.formatarAnoMesParaMesAno(emitirContaHelper.getAmReferencia()), 0, 0)
+ formarLinha(0, 2, 558, 1456, Util.formatarData(emitirContaHelper.getDataVencimentoConta()), 0, 0)
+ formarLinha(0, 2, 694, 1456, Util.formatarMoedaReal(emitirContaHelper.getValorConta()), 0, 0));
gerarDadosCodigoDeBarras(emitirContaHelper, retorno, imovelEmitido);
retorno.append(formarLinha(5, 0, 109, 1661, emitirContaHelper.getIdFaturamentoGrupo() + "", 0, 0));
retorno.append(formarLinha(5, 0, 352, 1661, "4", 0, 0));
retorno.append(formarLinha(5, 0, 615, 1661, "" + contador, 0, 0));
retorno.append("FORM\n" + "PRINT\n");
return retorno.toString();
} catch (Exception ex) {
ex.printStackTrace();
}
} catch (ControladorException e) {
e.printStackTrace();
}
return retorno.toString();
}
private void gerarDadosComuns(EmitirContaHelper emitirContaHelper, SistemaParametro sistemaParametro, StringBuilder retorno, Imovel imovelEmitido,
ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto) throws ControladorException {
MedicaoHistorico medicaoHistoricoAgua = getControladorMicromedicao().pesquisarMedicaoHistoricoTipoAguaLeituraAnormalidade(imovelEmitido.getId(),
emitirContaHelper.getAmReferencia());
MedicaoHistorico medicaoHistoricoPoco = getControladorMicromedicao().pesquisarMedicaoHistoricoTipoPocoLeituraAnormalidade(imovelEmitido.getId(),
emitirContaHelper.getAmReferencia());
String endereco = "";
String municipioEntrega = "";
String bairroEntrega = "";
String cepEntrega = "";
String ufEntrega = "";
String logCepClie = "";
String logBairroClie = "";
String cpfCnpjFormatado = "";
Collection colecaoClienteImovel;
try {
colecaoClienteImovel = repositorioClienteImovel.pesquisarClienteImovelResponsavelConta(imovelEmitido.getId());
if (colecaoClienteImovel != null && !colecaoClienteImovel.isEmpty()) {
ClienteImovel clienteImovelRespConta = (ClienteImovel) colecaoClienteImovel.iterator().next();
if (clienteImovelRespConta != null) {
Cliente cliente = clienteImovelRespConta.getCliente();
if (cliente != null) {
if (cliente.getCnpjFormatado() != null) {
cpfCnpjFormatado = cliente.getCnpjFormatado();
} else if (cliente.getCpfFormatado() != null) {
cpfCnpjFormatado = cliente.getCpfFormatado();
}
}
if (cliente != null && imovelEmitido.getImovelContaEnvio().getId().equals(ImovelContaEnvio.ENVIAR_CLIENTE_RESPONSAVEL)) {
String[] enderecoCliente = getControladorEndereco().pesquisarEnderecoClienteAbreviadoDivididoCosanpa(cliente.getId());
bairroEntrega = enderecoCliente[3];
municipioEntrega = enderecoCliente[1];
ufEntrega = enderecoCliente[2];
cepEntrega = enderecoCliente[4];
logCepClie = enderecoCliente[5];
logBairroClie = enderecoCliente[6];
endereco = enderecoCliente[0] + " - " + bairroEntrega + " " + municipioEntrega + " " + ufEntrega + " " + cepEntrega;
}
}
}
String[] enderecoImovel2 = getControladorEndereco().pesquisarEnderecoFormatadoDivididoCosanpa(imovelEmitido.getId());
String municipioImovel = enderecoImovel2[1];
String logCepImovel = "";
String logBairroImovel = "";
logCepImovel = enderecoImovel2[5];
logBairroImovel = enderecoImovel2[6];
if (municipioEntrega.equalsIgnoreCase("")) {
municipioEntrega = municipioImovel;
}
if (logCepClie.trim().equalsIgnoreCase("")) {
logCepClie = logCepImovel;
}
if (logBairroClie.trim().equalsIgnoreCase("")) {
logBairroClie = logBairroImovel;
}
if (endereco == null || endereco.trim().equalsIgnoreCase("") || endereco.trim().equalsIgnoreCase("-")) {
endereco = getControladorEndereco().pesquisarEnderecoFormatado(imovelEmitido.getId());
}
gerarInformacoesBasicas(emitirContaHelper, sistemaParametro, retorno, imovelEmitido, endereco, cpfCnpjFormatado);
String diasConsumo = obterDiasConsumo(emitirContaHelper, medicaoHistoricoAgua, medicaoHistoricoPoco, consumoAgua, consumoEsgoto);
retorno.append(formarLinha(7, 0, 48, 301, obterNumeroHidrometro(imovelEmitido), 0, 0));
retorno.append(formarLinha(7, 0, 248, 301, obterDataInstalacaoHidroemtro(imovelEmitido), 0, 0));
retorno.append(formarLinha(7, 0, 446, 301, obterSituacaoAgua(emitirContaHelper.getDescricaoLigacaoAguaSituacao()), 0, 0));
retorno.append(formarLinha(7, 0, 627, 301, emitirContaHelper.getDescricaoLigacaoEsgotoSituacao(), 0, 0));
// Leitura Anterior
String leituraAnteriorInformada = obterLeituraAnteriorInformada(medicaoHistoricoAgua, medicaoHistoricoPoco);
String leituraAtualInformada = obterLeituraAtualInformada(medicaoHistoricoAgua, medicaoHistoricoPoco);
retorno.append(formarLinha(7, 0, 188, 330, "LEITURA", 0, 0) + formarLinha(7, 0, 190, 354, leituraAnteriorInformada, 0, 0) + formarLinha(7, 0, 190, 378, leituraAtualInformada, 0, 0));
String dataLeituraAnteriorInformada = obterDataLeituraAnteriorInformada(medicaoHistoricoAgua, medicaoHistoricoPoco, emitirContaHelper);
String dataLeituraAtualInformada = obterDataLeituraAtualInformada(medicaoHistoricoAgua, medicaoHistoricoPoco);
retorno.append(formarLinha(7, 0, 320, 330, "DATA", 0, 0) + formarLinha(7, 0, 298, 354, dataLeituraAnteriorInformada, 0, 0) + formarLinha(7, 0, 298, 378, dataLeituraAtualInformada, 0, 0));
// Leitura Atual
retorno.append(formarLinha(7, 0, 37, 354, "ANTERIOR", 0, 0) + formarLinha(7, 0, 37, 378, "ATUAL", 0, 0));
if (medicaoHistoricoAgua != null) {
if (medicaoHistoricoAgua.getLeituraAnormalidadeFaturamento() != null) {
retorno.append(formarLinha(0, 2, 460, 374, "ANORM. LEITURA: " + medicaoHistoricoAgua.getLeituraAnormalidadeFaturamento().getDescricao(), 0, 0));
}
}
// Leitura Anterior
String leituraAnteriorFaturada = obterLeituraAnteriorFaturada(medicaoHistoricoAgua, medicaoHistoricoPoco);
String leituraAtualFaturada = obterLeituraAtualFaturada(medicaoHistoricoAgua, medicaoHistoricoPoco, consumoAgua);
retorno.append(formarLinha(7, 0, 163, 412, "FATURADO", 0, 0) + formarLinha(7, 0, 190, 436, leituraAnteriorFaturada, 0, 0)
+ formarLinha(7, 0, 190, 460, leituraAtualFaturada, 0, 0));
// Leitura Atual
String dataLeituraAnteriorFaturada = obterDataLeituraAnteriorFaturada(medicaoHistoricoAgua, medicaoHistoricoPoco);
String dataLeituraAtualFaturada = obterDataLeituraAtualFaturada(medicaoHistoricoAgua, medicaoHistoricoPoco);
retorno.append(formarLinha(7, 0, 313, 412, "DATA", 0, 0) + formarLinha(7, 0, 285, 436, dataLeituraAnteriorFaturada, 0, 0)
+ formarLinha(7, 0, 285, 460, dataLeituraAtualFaturada, 0, 0));
gerarDadosConsumoTotal(retorno, imovelEmitido, consumoAgua, consumoEsgoto, medicaoHistoricoAgua, medicaoHistoricoPoco);
// Numero de dias
retorno.append(formarLinha(7, 0, 745, 412, "DIAS", 0, 0) + formarLinha(7, 0, 760, 436, diasConsumo, 0, 0));
String anormalidadeConsumo = null;
if (consumoAgua != null) {
if (consumoAgua.getConsumoAnormalidade() != null) {
if (consumoAgua.getConsumoAnormalidade().getDescricao() != null) {
anormalidadeConsumo = consumoAgua.getConsumoAnormalidade().getDescricao();
}
}
if (anormalidadeConsumo != null) {
retorno.append(formarLinha(0, 2, 460, 460, "ANORM. CONSUMO: " + anormalidadeConsumo, 0, 0));
}
}
retorno.append(formarLinha(7, 0, 37, 436, "ANTERIOR", 0, 0) + formarLinha(7, 0, 37, 460, "ATUAL", 0, 0));
retorno.append(formarLinha(7, 0, 50, 499, "ULTIMOS CONSUMOS", 0, 0));
retorno.append("LINE 115 525 115 665 1\n");
// Ultimos Consumos
int flag = 0;
int soma = 0;
int mesesDeConsumo = 0;
for (int i = 0; i < 6; i++) {
Object[] consumoAnterior = obterConsumoAnteriorIS(imovelEmitido.getId(), emitirContaHelper.getAmReferencia(), i + 1, 1, 1);
MedicaoHistorico medicaoAnterior = getControladorMicromedicao().pesquisarMedicaoHistoricoTipoAguaLeituraAnormalidade(
imovelEmitido.getId(), Util.subtrairMesDoAnoMes(emitirContaHelper.getAmReferencia(), i + 1));
retorno.append(formarLinha(0, 2, 44, 520,
Util.formatarAnoMesParaMesAno(Util.subtrairMesDoAnoMes(emitirContaHelper.getAmReferencia(), i + 1)) + "", 0, i * 25));
String anormalidade = "";
String consumoMesAnterior = "";
if (medicaoAnterior != null) {
if (medicaoAnterior.getLeituraAnormalidadeFaturamento() != null) {
anormalidade = "A. Leit.:" + medicaoAnterior.getLeituraAnormalidadeFaturamento().getId() + "";
flag++;
}
}
if (consumoAnterior != null) {
if (consumoAnterior[0] != null) {
if (medicaoHistoricoAgua == null && medicaoHistoricoPoco == null) {
soma = soma + Integer.parseInt(consumoAnterior[0] + "");
mesesDeConsumo++;
}
consumoMesAnterior = consumoAnterior[0] + " m3 ";
}
if (consumoAnterior[1] != null && anormalidade.equals("")) {
anormalidade = "A. Cons.:" + consumoAnterior[2] + "";
}
flag++;
}
retorno.append(formarLinha(0, 2, 127, 520, consumoMesAnterior + anormalidade, 0, i * 25));
}
if (flag == 0) {
retorno.append(formarLinha(7, 0, 50, 499, "HISTORICO DE CONSUMO", 0, 0) + formarLinha(7, 0, 50, 520, "INEXISTENTE", 0, 0));
}
gerarDadosMedia(retorno, medicaoHistoricoAgua, medicaoHistoricoPoco, consumoAgua, consumoEsgoto, soma, mesesDeConsumo);
} catch (ErroRepositorioException e) {
e.printStackTrace();
}
}
private void gerarDadosMensagensConta(EmitirContaHelper emitirContaHelper, StringBuilder retorno) {
String msgConta = "";
if (emitirContaHelper.getMsgLinha1Conta() != null) {
msgConta = emitirContaHelper.getMsgLinha1Conta();
if (emitirContaHelper.getMsgLinha2Conta() != null) {
msgConta = msgConta + " " + emitirContaHelper.getMsgLinha2Conta();
if (emitirContaHelper.getMsgLinha3Conta() != null) {
msgConta = msgConta + " " + emitirContaHelper.getMsgLinha3Conta();
}
}
msgConta = msgConta.replace('!', '.');
}
if (msgConta.length() > 60) {
retorno.append(formarLinha(7, 0, 35, 1300, msgConta.substring(0, 60), 0, 0));
if (msgConta.length() > 120) {
retorno.append(formarLinha(7, 0, 35, 1320, msgConta.substring(60, 120), 0, 0));
if (msgConta.length() > 180) {
retorno.append(formarLinha(7, 0, 35, 1340, msgConta.substring(120, 180), 0, 0));
if (msgConta.length() > 240) {
retorno.append(formarLinha(7, 0, 35, 1360, msgConta.substring(180, 240), 0, 0));
} else {
retorno.append(formarLinha(7, 0, 35, 1360, msgConta.substring(180), 0, 0));
}
} else {
retorno.append(formarLinha(7, 0, 35, 1340, msgConta.substring(120), 0, 0));
}
} else {
retorno.append(formarLinha(7, 0, 35, 1320, msgConta.substring(60), 0, 0));
}
} else {
retorno.append(formarLinha(7, 0, 35, 1300, msgConta, 0, 0));
}
}
private void gerarDadosCodigoDeBarras(EmitirContaHelper emitirContaHelper, StringBuilder retorno, Imovel imovelEmitido) throws ControladorException {
if (!imovelEmitido.getIndicadorDebitoConta().equals(Imovel.INDICADOR_DEBITO_AUTOMATICO)) {
Integer digitoVerificadorConta = new Integer("" + emitirContaHelper.getDigitoVerificadorConta());
// formata ano mes para mes ano
String anoMes = "" + emitirContaHelper.getAmReferencia();
String mesAno = anoMes.substring(4, 6) + anoMes.substring(0, 4);
String representacaoNumericaCodBarra = "";
// Linha28
Date dataValidade = emitirContaHelper.getDataValidadeConta();
if (emitirContaHelper.getValorConta() != null) {
if (emitirContaHelper.getValorConta().compareTo(new BigDecimal("0.00")) != 0) {
representacaoNumericaCodBarra = this.getControladorArrecadacao().obterRepresentacaoNumericaCodigoBarra(3,
emitirContaHelper.getValorConta(), emitirContaHelper.getIdLocalidade(), emitirContaHelper.getIdImovel(), mesAno,
digitoVerificadorConta, null, null, null, null, null, null, null);
// Linha 24
// Formata a representa��o n�merica do c�digo de
// barras
String representacaoNumericaCodBarraFormatada = representacaoNumericaCodBarra.substring(0, 11) + "-"
+ representacaoNumericaCodBarra.substring(11, 12) + " " + representacaoNumericaCodBarra.substring(12, 23) + "-"
+ representacaoNumericaCodBarra.substring(23, 24) + " " + representacaoNumericaCodBarra.substring(24, 35) + "-"
+ representacaoNumericaCodBarra.substring(35, 36) + " " + representacaoNumericaCodBarra.substring(36, 47) + "-"
+ representacaoNumericaCodBarra.substring(47, 48);
emitirContaHelper.setRepresentacaoNumericaCodBarraFormatada(representacaoNumericaCodBarraFormatada);
// Linha 25
String representacaoNumericaCodBarraSemDigito = representacaoNumericaCodBarra.substring(0, 11)
+ representacaoNumericaCodBarra.substring(12, 23) + representacaoNumericaCodBarra.substring(24, 35)
+ representacaoNumericaCodBarra.substring(36, 47);
emitirContaHelper.setRepresentacaoNumericaCodBarraSemDigito(representacaoNumericaCodBarraSemDigito);
}
String representacaoNumericaCodBarraFormatada = emitirContaHelper.getRepresentacaoNumericaCodBarraFormatada();
if (representacaoNumericaCodBarraFormatada != null) {
retorno.append(formarLinha(5, 0, 66, 1515, representacaoNumericaCodBarraFormatada, 0, 0));
String representacaoCodigoBarrasSemDigitoVerificador = emitirContaHelper.getRepresentacaoNumericaCodBarraSemDigito();
retorno.append("B I2OF5 1 2 90 35 1538 " + representacaoCodigoBarrasSemDigitoVerificador + "\n");
}
}
} else {
retorno.append(formarLinha(4, 0, 182, 1538, "DEBITO AUTOMATICO", 0, 0));
}
}
private void gerarDadosMedia(StringBuilder retorno, MedicaoHistorico medicaoHistoricoAgua, MedicaoHistorico medicaoHistoricoPoco,
ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto, int soma, int mesesDeConsumo) {
String media = obterMedia(medicaoHistoricoAgua, medicaoHistoricoPoco, consumoAgua, consumoEsgoto);
if (medicaoHistoricoAgua == null && medicaoHistoricoPoco == null && mesesDeConsumo != 0) {
media = (soma / mesesDeConsumo) + "";
}
retorno.append(formarLinha(7, 0, 75, 672, "MEDIA(m3):", 0, 0) + formarLinha(7, 0, 195, 672, media, 0, 0));
}
private void gerarDadosQualidadeAgua(EmitirContaHelper emitirContaHelper, String[] qualidadeAgua, StringBuilder retorno) {
retorno.append(formarLinha(7, 0, 448, 496, "QUALIDADE DA AGUA", 0, 0));
retorno.append(formarLinha(0, 0, 672, 505, "Ref: ", 0, 0)+ formarLinha(0, 0, 705, 505, Util.retornaDescricaoAnoMesCompleto(emitirContaHelper.getAmReferencia() + ""), 0, 0));
retorno.append(formarLinha(7, 0, 287, 520, "PARAMETROS", 0, 0) + formarLinha(7, 0, 439, 520, "Port. 518", 0, 0)
+ formarLinha(7, 0, 540, 520, "ANALISADO", 0, 0) + formarLinha(7, 0, 672, 520, "CONFORME", 0, 0));
// Daniel - Parametro
retorno.append(formarLinha(0, 0, 287, 552, "COR(uH)", 0, 0));
retorno.append(formarLinha(0, 0, 287, 571, "TURBIDEZ(UT)", 0, 0));
retorno.append(formarLinha(0, 0, 287, 590, "CLORO(mg/L)", 0, 0));
retorno.append(formarLinha(0, 0, 287, 609, "FLUOR(mg/L)", 0, 0));
retorno.append(formarLinha(0, 0, 287, 628, "COLIFORME TOTAL", 0, 0) + formarLinha(0, 0, 287, 640, "Pres/Aus)", 0, 0));
retorno.append(formarLinha(0, 0, 287, 657, "COLIFORME TERMO", 0, 0) + formarLinha(0, 0, 287, 671, "TOLER.(Pres/Aus)", 0, 0));
// Qualidade da agua
// Daniel - Exigido !=Alterar
retorno.append(formarLinha(0, 0, 440, 552, qualidadeAgua[6], 0, 0));
retorno.append(formarLinha(0, 0, 440, 571, qualidadeAgua[7], 0, 0));
retorno.append(formarLinha(0, 0, 440, 590, qualidadeAgua[9], 0, 0));
retorno.append(formarLinha(0, 0, 440, 609, qualidadeAgua[8], 0, 0));
retorno.append(formarLinha(0, 0, 440, 628, qualidadeAgua[10], 0, 0));
retorno.append(formarLinha(0, 0, 440, 657, qualidadeAgua[11], 0, 0));
// Daniel - Analisado
retorno.append(formarLinha(0, 0, 582, 552, qualidadeAgua[12], 0, 0));
retorno.append(formarLinha(0, 0, 582, 571, qualidadeAgua[13], 0, 0));
retorno.append(formarLinha(0, 0, 582, 590, qualidadeAgua[15], 0, 0));
retorno.append(formarLinha(0, 0, 582, 609, qualidadeAgua[14], 0, 0));
retorno.append(formarLinha(0, 0, 582, 628, qualidadeAgua[16], 0, 0));
retorno.append(formarLinha(0, 0, 582, 657, qualidadeAgua[17], 0, 0));
// daniel - Conforme
retorno.append(formarLinha(0, 0, 726, 552, qualidadeAgua[18], 0, 0));
retorno.append(formarLinha(0, 0, 726, 571, qualidadeAgua[19], 0, 0));
retorno.append(formarLinha(0, 0, 726, 590, qualidadeAgua[21], 0, 0));
retorno.append(formarLinha(0, 0, 726, 609, qualidadeAgua[20], 0, 0));
retorno.append(formarLinha(0, 0, 726, 628, qualidadeAgua[22], 0, 0));
retorno.append(formarLinha(0, 0, 726, 657, qualidadeAgua[23], 0, 0));
}
private void gerarDadosConsumoTotal(StringBuilder retorno, Imovel imovelEmitido, ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto,
MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco)
throws ControladorException {
String consumo = obterConsumo(medicaoAgua, medicaoPoco, consumoAgua, consumoEsgoto);
// Consumo
if (imovelPossuiConsumo(imovelEmitido)) {
if (imovelEmitido.getLigacaoAguaSituacao().getId() == LigacaoAguaSituacao.LIGADO) {
consumo += "/" + consumoAgua.getConsumoRateio();
} else if (imovelEmitido.getLigacaoEsgotoSituacao().getId() == LigacaoEsgotoSituacao.LIGADO) {
consumo += "/" + consumoEsgoto.getConsumoRateio();
}
retorno.append(formarLinha(7, 0, 414, 412, "CONSUMO/RATEIO (m3)", 0, 0) + formarLinha(7, 0, 511, 436, consumo, 0, 0));
} else if (consumoAgua != null) {
ConsumoTipo consumoTipoAgua = getControladorMicromedicao().consultarDadosConsumoTipoConsumoHistorico(consumoAgua);
if (consumoTipoAgua != null) {
if (consumoTipoAgua.getId() != null) {
retorno.append(formarLinha(7, 0, 412, 412, getTipoConsumoToPrint(consumoTipoAgua.getId()), 0, 0));
}
}
retorno.append(formarLinha(7, 0, 511, 436, consumo, 0, 0));
} else if (consumoEsgoto != null) {
ConsumoTipo consumoTipoEsgoto = getControladorMicromedicao().consultarDadosConsumoTipoConsumoHistorico(consumoEsgoto);
if (consumoTipoEsgoto != null) {
if (consumoTipoEsgoto.getDescricao() != null) {
retorno.append(formarLinha(7, 0, 412, 412, consumoTipoEsgoto.getDescricao(), 0, 0));
}
}
retorno.append(formarLinha(7, 0, 511, 436, consumo, 0, 0));
}
}
private boolean imovelPossuiConsumo(Imovel imovelEmitido) {
return (imovelEmitido.getLigacaoAguaSituacao().getId() == LigacaoAguaSituacao.LIGADO || imovelEmitido.getLigacaoEsgotoSituacao().getId() == LigacaoEsgotoSituacao.LIGADO)
&& imovelEmitido.getImovelCondominio() != null;
}
private String obterDiasConsumo(EmitirContaHelper emitirContaHelper, MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco,
ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto) {
String diasConsumo = "";
if (medicaoAgua != null) {
if (consumoAgua != null) {
if (medicaoAgua.getLeituraAtualFaturamento() != 0) {
diasConsumo = Util.obterQuantidadeDiasEntreDuasDatas(medicaoAgua.getDataLeituraAnteriorFaturamento(), medicaoAgua.getDataLeituraAtualFaturamento()) + "";
} else {
diasConsumo = Util.obterQuantidadeDiasEntreDuasDatas(medicaoAgua.getDataLeituraAtualFaturamento(), medicaoAgua.getDataLeituraAnteriorFaturamento()) + "";
}
}
} else if (medicaoPoco != null) {
if (consumoEsgoto != null) {
if (medicaoPoco.getLeituraAtualFaturamento() != 0) {
diasConsumo = Util.obterQuantidadeDiasEntreDuasDatas(medicaoPoco.getDataLeituraAtualFaturamento(), medicaoPoco.getDataLeituraAnteriorFaturamento()) + "";
} else {
diasConsumo = Util.obterQuantidadeDiasEntreDuasDatas(medicaoPoco.getDataLeituraAtualFaturamento(), medicaoPoco.getDataLeituraAnteriorFaturamento()) + "";
}
}
} else if (medicaoAgua == null && medicaoPoco == null) {
if (consumoAgua != null) {
int mes = Util.obterMes(emitirContaHelper.getAmReferencia());
int ano = Util.obterAno(emitirContaHelper.getAmReferencia());
diasConsumo = Util.obterUltimoDiaMes(mes, ano) + "";
}
}
return diasConsumo;
}
private String obterSituacaoAgua(String situacaoAgua) {
String situacao = "";
if (situacaoAgua.length() > 13) {
situacao = situacaoAgua.substring(0, 13);
} else {
situacao = situacaoAgua;
}
return situacao;
}
private String obterDataInstalacaoHidroemtro(Imovel imovelEmitido) {
String dataInstalacao = "";
if (imovelEmitido.getLigacaoAgua() != null) {
if (imovelEmitido.getLigacaoAgua().getHidrometroInstalacaoHistorico() != null) {
dataInstalacao = Util.formatarData(imovelEmitido.getLigacaoAgua().getHidrometroInstalacaoHistorico().getDataInstalacao());
}
}
return dataInstalacao;
}
private String obterNumeroHidrometro(Imovel imovelEmitido) {
String hidrometro = "NAO MEDIDO";
if (imovelEmitido.getLigacaoAgua() != null) {
if (imovelEmitido.getLigacaoAgua().getHidrometroInstalacaoHistorico() != null) {
hidrometro = imovelEmitido.getLigacaoAgua().getHidrometroInstalacaoHistorico().getHidrometro().getNumero();
}
}
return hidrometro;
}
private String obterLeituraAnteriorInformada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String leituraAnteriorInformada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getLeituraAnteriorInformada() != null) {
leituraAnteriorInformada = medicaoAgua.getLeituraAnteriorInformada() + "";
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getLeituraAnteriorInformada() != null) {
leituraAnteriorInformada = medicaoPoco.getLeituraAnteriorInformada() + "";
}
}
return leituraAnteriorInformada;
}
private String obterLeituraAnteriorFaturada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String leituraAnteriorFaturada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getLeituraAnteriorFaturamento() != 0) {
leituraAnteriorFaturada = medicaoAgua.getLeituraAnteriorFaturamento() + "";
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getLeituraAnteriorFaturamento() != 0) {
leituraAnteriorFaturada = medicaoPoco.getLeituraAnteriorFaturamento() + "";
}
}
return leituraAnteriorFaturada;
}
private String obterLeituraAtualFaturada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco, ConsumoHistorico consumo) {
String leituraAtualFaturada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getLeituraAtualFaturamento() != 0) {
leituraAtualFaturada = medicaoAgua.getLeituraAtualFaturamento() + "";
}
if (consumo != null) {
if (medicaoAgua.getLeituraAtualFaturamento() != 0) {
leituraAtualFaturada = medicaoAgua.getLeituraAtualFaturamento() + "";
}
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getLeituraAtualFaturamento() != 0) {
leituraAtualFaturada = medicaoPoco.getLeituraAtualFaturamento() + "";
}
}
return leituraAtualFaturada;
}
private String obterLeituraAtualInformada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String leituraAtualInformada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getLeituraAtualInformada() != null) {
leituraAtualInformada = medicaoAgua.getLeituraAtualInformada() + "";
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getLeituraAtualInformada() != null) {
leituraAtualInformada = medicaoPoco.getLeituraAtualInformada() + "";
}
}
return leituraAtualInformada;
}
private String obterDataLeituraAnteriorFaturada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String dataLeituraAnteriorFaturada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getDataLeituraAnteriorFaturamento() != null) {
dataLeituraAnteriorFaturada = Util.formatarData(medicaoAgua.getDataLeituraAnteriorFaturamento());
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getDataLeituraAnteriorFaturamento() != null) {
dataLeituraAnteriorFaturada = Util.formatarData(medicaoPoco.getDataLeituraAnteriorFaturamento());
}
}
return dataLeituraAnteriorFaturada;
}
private String obterDataLeituraAtualInformada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String dataLeituraAtualInformada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getDataLeituraAtualInformada() != null) {
dataLeituraAtualInformada = Util.formatarData(medicaoAgua.getDataLeituraAtualInformada());
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getDataLeituraAtualInformada() != null) {
dataLeituraAtualInformada = Util.formatarData(medicaoPoco.getDataLeituraAtualInformada());
}
}
return dataLeituraAtualInformada;
}
private String obterDataLeituraAtualFaturada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco) {
String dataLeituraAtualFaturada = "";
if (medicaoAgua != null) {
if (medicaoAgua.getDataLeituraAtualFaturamento() != null) {
dataLeituraAtualFaturada = Util.formatarData(medicaoAgua.getDataLeituraAtualFaturamento());
}
} else if (medicaoPoco != null) {
if (medicaoPoco.getDataLeituraAtualFaturamento() != null) {
dataLeituraAtualFaturada = Util.formatarData(medicaoPoco.getDataLeituraAtualFaturamento());
}
}
return dataLeituraAtualFaturada;
}
private String obterMedia(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco, ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto) {
String media = "0";
if (medicaoAgua != null) {
if (consumoAgua != null) {
media = String.valueOf(consumoAgua.getConsumoMedio());
}
} else if (medicaoPoco != null) {
if (consumoEsgoto != null) {
media = String.valueOf(consumoEsgoto.getConsumoMedio());
}
}
return media;
}
private int obterTipoConsumo(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco, ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto) {
int tipoConsumo = 0;
if (medicaoAgua != null) {
if (consumoAgua != null) {
tipoConsumo = consumoAgua.getConsumoTipo().getId();
}
} else if (medicaoPoco != null) {
if (consumoEsgoto != null) {
tipoConsumo = consumoEsgoto.getConsumoTipo().getId();
}
}
return tipoConsumo;
}
private String obterConsumo(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco, ConsumoHistorico consumoAgua, ConsumoHistorico consumoEsgoto) {
String consumo = "";
if (medicaoAgua != null) {
if (consumoAgua != null) {
if (medicaoAgua.getLeituraAtualFaturamento() != 0) {
consumo = consumoAgua.getNumeroConsumoFaturadoMes() + "";
} else {
consumo = consumoAgua.getNumeroConsumoFaturadoMes() + "";
}
}
} else if (medicaoPoco != null) {
if (consumoEsgoto != null) {
if (medicaoPoco.getLeituraAtualFaturamento() != 0) {
consumo = consumoEsgoto.getNumeroConsumoFaturadoMes() + "";
} else {
consumo = consumoEsgoto.getNumeroConsumoFaturadoMes() + "";
}
}
} else if (medicaoAgua == null && medicaoPoco == null) {
if (consumoAgua != null) {
consumo = consumoAgua.getNumeroConsumoFaturadoMes() + "";
}
}
return consumo;
}
@SuppressWarnings("unused")
private String obterDataLeituraAnteriorInformada(MedicaoHistorico medicaoAgua, MedicaoHistorico medicaoPoco,
EmitirContaHelper helper) throws ControladorException {
String dataLeituraAnteriorInformada = "";
int mesAnterior = Util.subtrairMesDoAnoMes(helper.getAmReferencia(), 1);
MedicaoHistorico medicaoAguaAnterior = getControladorMicromedicao().pesquisarMedicaoHistoricoTipoAguaLeituraAnormalidade(medicaoAgua.getLigacaoAgua().getId(), mesAnterior);
MedicaoHistorico medicaoPocoAnterior = getControladorMicromedicao().pesquisarMedicaoHistoricoTipoPocoLeituraAnormalidade(medicaoAgua.getLigacaoAgua().getId(), mesAnterior);
if (medicaoAgua != null) {
if (medicaoAguaAnterior != null) {
if (medicaoAguaAnterior.getDataLeituraAtualInformada() != null) {
dataLeituraAnteriorInformada = Util.formatarData(medicaoAguaAnterior.getDataLeituraAtualInformada());
}
}
} else if (medicaoPoco != null) {
if (medicaoPocoAnterior.getDataLeituraAtualInformada() != null) {
dataLeituraAnteriorInformada = Util.formatarData(medicaoPocoAnterior.getDataLeituraAtualInformada());
}
}
return dataLeituraAnteriorInformada;
}
private void gerarInformacoesBasicas(EmitirContaHelper emitirContaHelper, SistemaParametro sistemaParametro, StringBuilder retorno, Imovel imovelEmitido,
String endereco, String cpfCnpjFormatado) {
retorno.append("! 0 816 0 1720 1\n");
retorno.append("BOX 32 435 802 482 1\n" + "LINE 720 415 720 455 1\n" + "LINE 403 415 403 477 1\n" + "BOX 32 411 802 435 1\n"
+ "LINE 278 415 278 477 1\n" + "BOX 283 518 802 545 1\n" + "BOX 283 545 802 692 1\n" + "LINE 656 518 656 692 1\n"
+ "LINE 425 518 425 692 1\n" + "LINE 535 518 535 692 1\n");
retorno.append("T 0 2 138 121 " + "Data de Emissao: " + Util.formatarDataComHora(new Date()) + "\n");
retorno.append("T 7 1 464 90 " + imovelEmitido.getId() + "\n");
retorno.append("T 7 1 669 90 " + Util.retornaDescricaoAnoMesCompleto(emitirContaHelper.getAmReferencia() + "") + "\n");
retorno.append("T 0 0 201 47 " + Util.formatarCnpj(sistemaParametro.getCnpjEmpresa().trim()) + "\n");
retorno.append("T 0 0 285 64 " + sistemaParametro.getInscricaoEstadual().trim() + "\n");
retorno.append(formarLinha(0, 0, 222, 81, emitirContaHelper.getIdFaturamentoGrupo() + "", 0, 0));
retorno.append(formarLinha(0, 2, 52, 172, obterNomeCliente(emitirContaHelper, imovelEmitido), 0, 0) + formarLinha(0, 2, 52, 199, cpfCnpjFormatado, 0, 0) + dividirLinha(0, 2, 434, 169, endereco.trim(), 40, 27));
retorno.append(formarLinha(7, 0, 15, 250, imovelEmitido.getInscricaoFormatada(), 0, 0));
retorno.append(formarLinha(7, 0, 315, 250, imovelEmitido.getQuadra().getRota().getCodigo() + "", 0, 0));
retorno.append(formarLinha(7, 0, 415, 250, imovelEmitido.getNumeroSequencialRota() + "", 0, 0));
gerarDadosQtdEconomias(retorno, imovelEmitido);
}
private String obterNomeCliente(EmitirContaHelper emitirContaHelper, Imovel imovel) {
String nome = "";
try {
System.out.println("Im�vel " + imovel.getId() + " isCondominio? " + imovel.isCondominio());
if (imovel.isCondominio()) {
nome = getControladorCliente().obterNomeCliente(imovel.getId()).trim();
} else {
nome = emitirContaHelper.getNomeCliente().trim();
}
} catch (ControladorException e) {
e.printStackTrace();
}
return nome;
}
private void gerarDadosQtdEconomias(StringBuilder retorno, Imovel imovelEmitido) {
Vector quantidadeEconomias = retornarDescricaoCategoriasQuantidadeEconomias(imovelEmitido);
for (int i = 0; i < quantidadeEconomias.size(); i++) {
Object[] dadosCategoria = (Object[]) quantidadeEconomias.elementAt(i);
retorno.append(formarLinha(0, 0, 470, 254, dadosCategoria[0] + "", i * 85, 0));
retorno.append(formarLinha(7, 0, 539, 250, dadosCategoria[1] + "", i * 85, 0));
}
}
private void gerarInformativoMacroCondominio(EmitirContaHelper emitirContaHelper, StringBuilder retorno, Imovel imovelEmitido) {
retorno.append("T 7 0 200 700 EXTRATO DE CONSUMO DO MACROMEDIDOR \n");
retorno.append("T 7 0 53 725 CONSUMO DO IMOVEL CONDOMINIO \n");
retorno.append("T 7 0 571 725 "+ emitirContaHelper.getConsumoMacro() + "\n");
retorno.append("T 7 0 53 750 SOMA DOS CONSUMOS DOS IMOVEIS VINCULADOS \n");
retorno.append("T 7 0 571 750 "+ emitirContaHelper.getSomaConsumosImoveisMicro() + "\n");
retorno.append("T 7 0 53 775 QUANTIDADE IMOVEIS VINCULADOS \n");
retorno.append("T 7 0 571 775 "+ emitirContaHelper.getQuantidadeImoveisMicro() + "\n");
retorno.append("T 7 0 53 800 VALOR RATEADO \n");
retorno.append("T 7 0 571 800 R$ "+ Util.formatarMoedaReal(emitirContaHelper.getValorTotalASerrateado()) + "\n");
retorno.append("T 7 0 53 825 VALOR RATEADO POR UNIDADE \n");
retorno.append("T 7 0 571 825 R$ "+ Util.formatarMoedaReal(emitirContaHelper.getValorRateioAgua()) + "\n");
retorno.append("T 7 0 367 850 IMPORTANTE \n");
retorno.append("T 7 0 53 900 CASO O VALOR DO RATEIO ESTEJA ELEVADO \n");
retorno.append("T 7 0 63 925 1. Confirme a leitura do macro \n");
retorno.append("T 7 0 63 950 2. Verifique os reservatorios \n");
retorno.append("T 7 0 63 975 3. Verifique se ha apartamento ligado clandestinamente\n");
retorno.append("T 7 0 53 1025 QUALQUER IRREGULARIDADE COMUNIQUE A COSANPA ATRAVES DO \n");
retorno.append("T 7 0 53 1050 SETOR DE ATENDIMENTO \n");
retorno.append("T 7 0 53 1075 RATEIO: Obtido atraves da diferenca do consumo entre \n");
retorno.append("T 7 0 53 1100 o macromedidor e os consumos dos apartamentos \n");
retorno.append("T 0 2 344 1456 "+ imovelEmitido.getMatriculaFormatada() + "\n");
retorno.append("T 5 0 109 1661 "+ emitirContaHelper.getIdFaturamentoGrupo() + "\n");
retorno.append("T 5 0 352 1661 4\n");
retorno.append("FORM\n" + "PRINT\n");
}
public String getTipoConsumoToPrint(int tipoConsumo) {
String resultado = "";
if (tipoConsumo == ConsumoTipo.MEDIA_HIDROMETRO) {
resultado = "CONSUMO MEDIO(m3)";
} else if (tipoConsumo == ConsumoTipo.CONSUMO_MINIMO_FIXADO) {
resultado = "CONSUMO MINIMO(m3)";
} else if (tipoConsumo == ConsumoTipo.NAO_MEDIDO) {
resultado = "CONSUMO NAO MEDIDO(m3)";
} else if (tipoConsumo == ConsumoTipo.REAL) {
resultado = "CONSUMO REAL(m3)";
} else if (tipoConsumo == ConsumoTipo.CONSUMO_MEDIO_AJUSTADO) {
resultado = "CONSUMO PROPOR. DIAS(m3)";
} else if (tipoConsumo == ConsumoTipo.FIXO_SITUACAO_ESPECIAL) {
resultado = "CONSUMO SIT. ESPECIAL(m3)";
}
return resultado;
}
public Object[] obterConsumoAnteriorIS(Integer idImovel, int anoMes, int qtdMeses, Integer tipoLigacao, Integer tipoMedicao) throws ControladorException {
int anoMesSubtraido = Util.subtrairMesDoAnoMes(anoMes, qtdMeses);
Object[] parmsConsumoHistorico = null;
if (tipoLigacao != null && tipoMedicao != null) {
parmsConsumoHistorico = getControladorMicromedicao().obterConsumoAnteriorAnormalidadeDoImovel(idImovel, anoMesSubtraido, tipoLigacao);
}
return parmsConsumoHistorico;
}
}