package gcom.financeiro; import gcom.cadastro.imovel.Categoria; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.UnidadeNegocio; import gcom.financeiro.lancamento.LancamentoItem; import gcom.financeiro.lancamento.LancamentoItemContabil; import gcom.financeiro.lancamento.LancamentoTipo; import gcom.util.SequenciaRelatorioContabilidade; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import org.apache.commons.lang.builder.ToStringBuilder; public class ResumoFaturamento implements Serializable { private static final long serialVersionUID = 1L; private Integer id; private Integer anoMesReferencia; private BigDecimal valorItemFaturamento; private Short sequenciaTipoLancamento; private Short sequenciaItemTipoLancamento; private Date ultimaAlteracao; private LancamentoItemContabil lancamentoItemContabil; private LancamentoTipo lancamentoTipo; private LancamentoItem lancamentoItem; private Localidade localidade; private GerenciaRegional gerenciaRegional; private Categoria categoria; private UnidadeNegocio unidadeNegocio; public static final short DESCONTOS_CONCEDIDOS_PARCELAMENTO_SEQUENCIA_ITEM_TIPO_LANCAMENTO = 90; public static final short FATURAMENTO_AGUA_SEQUENCIA_TIPO_LANCAMENTO = 100; public static final short FATURAMENTO_ESGOTO_SEQUENCIA_TIPO_LANCAMENTO = 200; public static final short FINANCIAMENTOS_INCLUIDOS_SEQUENCIA_TIPO_LANCAMENTO_1 = 300; public static final short FINANCIAMENTOS_INCLUIDOS_SEQUENCIA_TIPO_LANCAMENTO_2 = 400; public static final short JUROS_PARCELAMENTO_SEQUENCIA_TIPO_LANCAMENTO_1 = 410; public static final short JUROS_PARCELAMENTO_SEQUENCIA_TIPO_LANCAMENTO_2 = 420; public static final short GUIAS_PAGAMENTO_SEQUENCIA_TIPO_LANCAMENTO = 500; public static final short INCLUSOES_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO_1 = 510; public static final short INCLUSOES_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO_2 = 599; public static final short FINANCIAMENTOS_CANCELADOS_SEQUENCIA_TIPO_LANCAMENTO_1 = 700; public static final short FINANCIAMENTOS_CANCELADOS_SEQUENCIA_TIPO_LANCAMENTO_2 = 800; public static final short PARCELAMENTOS_CANCELADOS_SEQUENCIA_TIPO_LANCAMENTO_1 = 810; public static final short PARCELAMENTOS_CANCELADOS_SEQUENCIA_TIPO_LANCAMENTO_2 = 820; public static final short CANCELAMENTOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO_1 = 900; public static final short CANCELAMENTOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO_2 = 1020; public static final short CREDITOS_A_REALIZAR_POR_COBRANCA_INDEVIDA_SEQUENCIA_TIPO_LANCAMENTO = 1030; public static final short VALORES_CREDITADOS_SEQUENCIA_TIPO_LANCAMENTO_1 = 1030; public static final short DESCONTOS_INCONDICIONAIS_INCLUIDOS_SEQUENCIA_TIPO_LANCAMENTO = 1040; public static final short VALORES_CREDITADOS_SEQUENCIA_TIPO_LANCAMENTO_2 = 1040; public static final short GUIAS_DE_DEVOLUCOES_DE_VALORES_COBRADOS_SEQUENCIA_TIPO_LANCAMENTO = 1050; public static final short DESCONTOS_CONCEDIDOS_PARCELAMENTO_SEQUENCIA_TIPO_LANCAMENTO_1 = 1500; public static final short DESCONTOS_CONCEDIDOS_PARCELAMENTO_SEQUENCIA_TIPO_LANCAMENTO_2 = 1600; public static final short VALORES_CREDITADOS_SEQUENCIA_TIPO_LANCAMENTO_3 = 1610; public static final short DOACOES_COBRADAS_EM_CONTA_SEQUENCIA_TIPO_LANCAMENTO = 1800; public static final short VALORES_DEVOLVIDOS_SEQUENCIA_TIPO_LANCAMENTO = 2400; public static final short IMPOSTOS_DEDUZIDOS_SEQUENCIA_TIPO_LANCAMENTO = 2150; public static final short IMPOSTOS_CANCELADOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO = 2800; public static final short IMPOSTOS_INCLUIDOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO = 2900; public static final short OUTROS_CREDITOS_CANCELADOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO = 3000; public static final short OUTROS_CREDITOS_CONCEDIDOS_POR_REFATURAMENTO_SEQUENCIA_TIPO_LANCAMENTO = 3100; public static final short CANCELAMENTOS_POR_PRESCRICAO_SEQUENCIA_TIPO_LANCAMENTO = 4200; public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Short sequenciaTipoLancamento, Short sequenciaItemTipoLancamento, Date ultimaAlteracao, LancamentoItemContabil lancamentoItemContabil, LancamentoTipo lancamentoTipo, LancamentoItem lancamentoItem, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.sequenciaTipoLancamento = sequenciaTipoLancamento; this.sequenciaItemTipoLancamento = sequenciaItemTipoLancamento; this.ultimaAlteracao = ultimaAlteracao; this.lancamentoItemContabil = lancamentoItemContabil; this.lancamentoTipo = lancamentoTipo; this.lancamentoItem = lancamentoItem; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; } public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Short sequenciaTipoLancamento, Short sequenciaItemTipoLancamento, Date ultimaAlteracao, LancamentoItemContabil lancamentoItemContabil, LancamentoTipo lancamentoTipo, LancamentoItem lancamentoItem, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria, UnidadeNegocio unidadeNegocio) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.sequenciaTipoLancamento = sequenciaTipoLancamento; this.sequenciaItemTipoLancamento = sequenciaItemTipoLancamento; this.ultimaAlteracao = ultimaAlteracao; this.lancamentoItemContabil = lancamentoItemContabil; this.lancamentoTipo = lancamentoTipo; this.lancamentoItem = lancamentoItem; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; this.unidadeNegocio = unidadeNegocio; } public ResumoFaturamento() { } public ResumoFaturamento(LancamentoItemContabil lancamentoItemContabil, LancamentoTipo lancamentoTipo, LancamentoItem lancamentoItem, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria) { this.lancamentoItemContabil = lancamentoItemContabil; this.lancamentoTipo = lancamentoTipo; this.lancamentoItem = lancamentoItem; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; } public ResumoFaturamento(LancamentoItemContabil lancamentoItemContabil, LancamentoTipo lancamentoTipo, LancamentoItem lancamentoItem, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria, UnidadeNegocio unidadeNegocio) { this.lancamentoItemContabil = lancamentoItemContabil; this.lancamentoTipo = lancamentoTipo; this.lancamentoItem = lancamentoItem; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; this.unidadeNegocio = unidadeNegocio; } /** constructor para [UC0155] encerrar faturamento do m�s */ public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; } public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria, UnidadeNegocio unidadeNegocio) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; this.unidadeNegocio = unidadeNegocio; } /** constructor para [UC0155] encerrar faturamento do m�s */ public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Short sequenciaItemTipoLancamento, LancamentoItemContabil lancamentoItemContabil, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.sequenciaItemTipoLancamento = sequenciaItemTipoLancamento; this.lancamentoItemContabil = lancamentoItemContabil; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; } /** constructor para [UC0155] encerrar faturamento do m�s */ public ResumoFaturamento(Integer anoMesReferencia, BigDecimal valorItemFaturamento, Short sequenciaItemTipoLancamento, LancamentoItemContabil lancamentoItemContabil, Localidade localidade, GerenciaRegional gerenciaRegional, Categoria categoria, UnidadeNegocio unidadeNegocio) { this.anoMesReferencia = anoMesReferencia; this.valorItemFaturamento = valorItemFaturamento; this.sequenciaItemTipoLancamento = sequenciaItemTipoLancamento; this.lancamentoItemContabil = lancamentoItemContabil; this.localidade = localidade; this.gerenciaRegional = gerenciaRegional; this.categoria = categoria; this.unidadeNegocio = unidadeNegocio; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public Integer getAnoMesReferencia() { return this.anoMesReferencia; } public void setAnoMesReferencia(Integer anoMesReferencia) { this.anoMesReferencia = anoMesReferencia; } public BigDecimal getValorItemFaturamento() { return this.valorItemFaturamento; } public void setValorItemFaturamento(BigDecimal valorItemFaturamento) { this.valorItemFaturamento = valorItemFaturamento; } public Short getSequenciaTipoLancamento() { return this.sequenciaTipoLancamento; } public void setSequenciaTipoLancamento(Short sequenciaTipoLancamento) { if (sequenciaTipoLancamento == null) { this.sequenciaTipoLancamento = SequenciaRelatorioContabilidade.getSequencia(getLancamentoTipo().getId()); } else { this.sequenciaTipoLancamento = sequenciaTipoLancamento; } } public Short getSequenciaItemTipoLancamento() { return this.sequenciaItemTipoLancamento; } public void setSequenciaItemTipoLancamento(Short sequenciaItemTipoLancamento) { if (sequenciaItemTipoLancamento == null) { this.sequenciaItemTipoLancamento = SequenciaRelatorioContabilidade.getSequencia(getLancamentoItem().getId()); } else { this.sequenciaItemTipoLancamento = sequenciaItemTipoLancamento; } } public Date getUltimaAlteracao() { return this.ultimaAlteracao; } public void setUltimaAlteracao(Date ultimaAlteracao) { this.ultimaAlteracao = ultimaAlteracao; } public LancamentoItemContabil getLancamentoItemContabil() { return this.lancamentoItemContabil; } public void setLancamentoItemContabil(LancamentoItemContabil lancamentoItemContabil) { this.lancamentoItemContabil = lancamentoItemContabil; } public LancamentoTipo getLancamentoTipo() { return this.lancamentoTipo; } public void setLancamentoTipo(LancamentoTipo lancamentoTipo) { this.lancamentoTipo = lancamentoTipo; } public LancamentoItem getLancamentoItem() { return this.lancamentoItem; } public void setLancamentoItem(LancamentoItem lancamentoItem) { this.lancamentoItem = lancamentoItem; } public Localidade getLocalidade() { return this.localidade; } public void setLocalidade(Localidade localidade) { this.localidade = localidade; } public GerenciaRegional getGerenciaRegional() { return this.gerenciaRegional; } public void setGerenciaRegional(GerenciaRegional gerenciaRegional) { this.gerenciaRegional = gerenciaRegional; } public Categoria getCategoria() { return this.categoria; } public void setCategoria(Categoria categoria) { this.categoria = categoria; } public UnidadeNegocio getUnidadeNegocio() { return unidadeNegocio; } public void setUnidadeNegocio(UnidadeNegocio unidadeNegocio) { this.unidadeNegocio = unidadeNegocio; } public String toString() { return new ToStringBuilder(this).append("id", getId()).toString(); } }