package gcom.micromedicao.consumo;
import gcom.cadastro.imovel.Imovel;
import gcom.cadastro.imovel.PocoTipo;
import gcom.faturamento.FaturamentoSituacaoTipo;
import gcom.interceptor.ControleAlteracao;
import gcom.interceptor.ObjetoTransacao;
import gcom.micromedicao.RateioTipo;
import gcom.micromedicao.Rota;
import gcom.util.Util;
import gcom.util.filtro.Filtro;
import gcom.util.filtro.ParametroSimples;
import java.math.BigDecimal;
import java.util.Date;
import org.apache.commons.lang.builder.ToStringBuilder;
@ControleAlteracao()
public class ConsumoHistorico extends ObjetoTransacao {
public static final int ATUALIZA_LEITURA_CONSUMO_EXCECOES = 353;
private static final long serialVersionUID = 1L;
private Integer id;
private int referenciaFaturamento;
private Short indicadorAlteracaoUltimosConsumos;
private Short indicadorAjuste;
private Integer numeroConsumoFaturadoMes;
private Integer consumoRateio;
private Short indicadorImovelCondominio;
private Integer consumoMedio;
private Integer consumoMinimo;
private Short indicadorFaturamento;
private BigDecimal percentualColeta;
@ControleAlteracao(funcionalidade={ATUALIZA_LEITURA_CONSUMO_EXCECOES})
private Date ultimaAlteracao;
private Integer consumoImovelCondominio;
private Integer consumoImovelVinculadosCondominio;
private Integer numeroConsumoCalculoMedia;
private Rota rota;
public final static Short INDICADOR_FATURAMENTO_FATURAR_AGUA = new Short("1");
public final static Short INDICADOR_FATURAMENTO_FATURAR_ESGOTO = new Short("2");
public final static Short FATURAR_AGUA = new Short("1");
public final static Short FATURAR_ESGOTO = new Short("1");
public final static Integer NUMERO_CONSUMO_FATURADO_MES_PADRAO = new Integer(0);
private ConsumoHistorico consumoHistoricoCondominio;
private ConsumoTipo consumoTipo;
private RateioTipo rateioTipo;
private LigacaoTipo ligacaoTipo;
private ConsumoAnormalidade consumoAnormalidade;
private PocoTipo pocoTipo;
private FaturamentoSituacaoTipo faturamentoSituacaoTipo;
private Imovel imovel;
public ConsumoHistorico(ConsumoHistorico consumoHistorico) {
this.referenciaFaturamento = consumoHistorico.getReferenciaFaturamento();
this.indicadorAlteracaoUltimosConsumos = consumoHistorico.getIndicadorAlteracaoUltimosConsumos();
this.indicadorAjuste = consumoHistorico.getIndicadorAjuste();
this.numeroConsumoFaturadoMes = consumoHistorico.getNumeroConsumoFaturadoMes();
this.consumoRateio = consumoHistorico.getConsumoRateio();
this.indicadorImovelCondominio = consumoHistorico.getIndicadorImovelCondominio();
this.consumoMedio = consumoHistorico.getConsumoMedio();
this.consumoMinimo = consumoHistorico.getConsumoMinimo();
this.indicadorFaturamento = consumoHistorico.getIndicadorFaturamento();
this.percentualColeta = consumoHistorico.getPercentualColeta();
this.ultimaAlteracao = consumoHistorico.getUltimaAlteracao();
this.consumoImovelCondominio = consumoHistorico.getConsumoImovelCondominio();
this.consumoImovelVinculadosCondominio = consumoHistorico.getConsumoImovelVinculadosCondominio();
this.consumoHistoricoCondominio = consumoHistorico.getConsumoHistoricoCondominio();
this.consumoTipo = consumoHistorico.getConsumoTipo();
this.rateioTipo = consumoHistorico.getRateioTipo();
this.ligacaoTipo = consumoHistorico.getLigacaoTipo();
this.consumoAnormalidade = consumoHistorico.getConsumoAnormalidade();
this.pocoTipo = consumoHistorico.getPocoTipo();
this.faturamentoSituacaoTipo = consumoHistorico.getFaturamentoSituacaoTipo();
this.imovel = consumoHistorico.getImovel();
this.rota = consumoHistorico.getRota();
this.numeroConsumoCalculoMedia = consumoHistorico.getNumeroConsumoCalculoMedia();
}
public ConsumoHistorico() {
}
public Integer getId() {
return this.id;
}
public void setId(Integer id) {
this.id = id;
}
public int getReferenciaFaturamento() {
return this.referenciaFaturamento;
}
public String getReferenciaFaturamentoFormatado() {
return Util.formatarAnoMesParaMesAno( this.referenciaFaturamento );
}
public void setReferenciaFaturamento(int referenciaFaturamento) {
this.referenciaFaturamento = referenciaFaturamento;
}
public Short getIndicadorAlteracaoUltimosConsumos() {
return this.indicadorAlteracaoUltimosConsumos;
}
public void setIndicadorAlteracaoUltimosConsumos(
Short indicadorAlteracaoUltimosConsumos) {
this.indicadorAlteracaoUltimosConsumos = indicadorAlteracaoUltimosConsumos;
}
public Short getIndicadorAjuste() {
return this.indicadorAjuste;
}
public void setIndicadorAjuste(Short indicadorAjuste) {
this.indicadorAjuste = indicadorAjuste;
}
public Integer getNumeroConsumoFaturadoMes() {
return this.numeroConsumoFaturadoMes;
}
public void setNumeroConsumoFaturadoMes(Integer numeroConsumoFaturadoMes) {
this.numeroConsumoFaturadoMes = numeroConsumoFaturadoMes;
}
public Integer getConsumoRateio() {
return this.consumoRateio;
}
public void setConsumoRateio(Integer consumoRateio) {
this.consumoRateio = consumoRateio;
}
public Short getIndicadorImovelCondominio() {
return this.indicadorImovelCondominio;
}
public void setIndicadorImovelCondominio(Short indicadorImovelCondominio) {
this.indicadorImovelCondominio = indicadorImovelCondominio;
}
public Integer getConsumoMedio() {
return this.consumoMedio;
}
public void setConsumoMedio(Integer consumoMedio) {
this.consumoMedio = consumoMedio;
}
public Integer getConsumoMinimo() {
return this.consumoMinimo;
}
public void setConsumoMinimo(Integer consumoMinimo) {
this.consumoMinimo = consumoMinimo;
}
public Short getIndicadorFaturamento() {
return this.indicadorFaturamento;
}
public void setIndicadorFaturamento(Short indicadorFaturamento) {
this.indicadorFaturamento = indicadorFaturamento;
}
public BigDecimal getPercentualColeta() {
return this.percentualColeta;
}
public void setPercentualColeta(BigDecimal percentualColeta) {
this.percentualColeta = percentualColeta;
}
public Date getUltimaAlteracao() {
return this.ultimaAlteracao;
}
public void setUltimaAlteracao(Date ultimaAlteracao) {
this.ultimaAlteracao = ultimaAlteracao;
}
public Integer getConsumoImovelCondominio() {
return this.consumoImovelCondominio;
}
public void setConsumoImovelCondominio(Integer consumoImovelCondominio) {
this.consumoImovelCondominio = consumoImovelCondominio;
}
public gcom.micromedicao.consumo.ConsumoHistorico getConsumoHistoricoCondominio() {
return this.consumoHistoricoCondominio;
}
public void setConsumoHistoricoCondominio(
gcom.micromedicao.consumo.ConsumoHistorico consumoHistoricoCondominio) {
this.consumoHistoricoCondominio = consumoHistoricoCondominio;
}
public gcom.micromedicao.consumo.ConsumoTipo getConsumoTipo() {
return this.consumoTipo;
}
public void setConsumoTipo(gcom.micromedicao.consumo.ConsumoTipo consumoTipo) {
this.consumoTipo = consumoTipo;
}
public RateioTipo getRateioTipo() {
return this.rateioTipo;
}
public void setRateioTipo(RateioTipo rateioTipo) {
this.rateioTipo = rateioTipo;
}
public gcom.micromedicao.consumo.LigacaoTipo getLigacaoTipo() {
return this.ligacaoTipo;
}
public void setLigacaoTipo(gcom.micromedicao.consumo.LigacaoTipo ligacaoTipo) {
this.ligacaoTipo = ligacaoTipo;
}
public gcom.micromedicao.consumo.ConsumoAnormalidade getConsumoAnormalidade() {
return this.consumoAnormalidade;
}
public void setConsumoAnormalidade(
gcom.micromedicao.consumo.ConsumoAnormalidade consumoAnormalidade) {
this.consumoAnormalidade = consumoAnormalidade;
}
public PocoTipo getPocoTipo() {
return this.pocoTipo;
}
public void setPocoTipo(PocoTipo pocoTipo) {
this.pocoTipo = pocoTipo;
}
public FaturamentoSituacaoTipo getFaturamentoSituacaoTipo() {
return this.faturamentoSituacaoTipo;
}
public void setFaturamentoSituacaoTipo(
FaturamentoSituacaoTipo faturamentoSituacaoTipo) {
this.faturamentoSituacaoTipo = faturamentoSituacaoTipo;
}
public Imovel getImovel() {
return this.imovel;
}
public void setImovel(Imovel imovel) {
this.imovel = imovel;
}
public String toString() {
return new ToStringBuilder(this).append("id", getId()).toString();
}
public String getMesAno() {
String mesAno = null;
String mes = null;
String ano = null;
if (this.referenciaFaturamento != 0) {
String anoMes = "" + this.referenciaFaturamento;
mes = anoMes.substring(4, 6);
ano = anoMes.substring(0, 4);
mesAno = mes + "/" + ano;
}
return mesAno;
}
public Rota getRota() {
return rota;
}
public void setRota(Rota rota) {
this.rota = rota;
}
public Integer getConsumoImovelVinculadosCondominio() {
return consumoImovelVinculadosCondominio;
}
public void setConsumoImovelVinculadosCondominio(Integer consumoImovelVinculadosCondominio) {
this.consumoImovelVinculadosCondominio = consumoImovelVinculadosCondominio;
}
public Integer getNumeroConsumoCalculoMedia() {
return numeroConsumoCalculoMedia;
}
public void setNumeroConsumoCalculoMedia(Integer numeroConsumoCalculoMedia) {
this.numeroConsumoCalculoMedia = numeroConsumoCalculoMedia;
}
public String[] retornaCamposChavePrimaria(){
String[] retorno = new String[1];
retorno[0] = "id";
return retorno;
}
@Override
public Filtro retornaFiltro() {
FiltroConsumoHistorico filtroConsumoHistorico = new FiltroConsumoHistorico();
filtroConsumoHistorico.adicionarParametro(new ParametroSimples(FiltroConsumoHistorico.ID,
this.getId()));
filtroConsumoHistorico.adicionarCaminhoParaCarregamentoEntidade("imovel");
return filtroConsumoHistorico;
}
@Override
public String getDescricaoParaRegistroTransacao() {
return getId().toString();
}
@Override
public String[] retornarAtributosInformacoesOperacaoEfetuada() {
String []labels = {"ultimaAlteracao"};
return labels;
}
@Override
public String[] retornarLabelsInformacoesOperacaoEfetuada() {
String []labels = {"Data"};
return labels;
}
}