package gcom.cadastro.imovel; import gcom.interceptor.ObjetoTransacao; import gcom.util.filtro.Filtro; import gcom.util.filtro.ParametroSimples; import java.util.Date; import org.apache.commons.lang.builder.EqualsBuilder; import org.apache.commons.lang.builder.HashCodeBuilder; import org.apache.commons.lang.builder.ToStringBuilder; public class Subcategoria extends ObjetoTransacao { private static final long serialVersionUID = 1L; public static Integer RESIDENCIAL = new Integer(10); private Integer id; private int codigo; private String descricao; private Short indicadorUso; private Date ultimaAlteracao; private String codigoTarifaSocial; private short numeroFatorFiscalizacao; private Short indicadorTarifaConsumo; private Integer quantidadeEconomias; private String descricaoAbreviada; private Integer codigoGrupoSubcategoria; private gcom.cadastro.imovel.Categoria categoria; private String descricaoComId; private Short indicadorSazonalidade; public static final Subcategoria SUBCATEGORIA_ZERO; /** * Data: 01/03/2011 * cria��o da constante da subcategoria R1, para ser usada na verifica��o * da subcategoria do imovel, na gera��o do bonus social */ public static final Integer SUBCATEGORIA_R1 = new Integer(1); /** * Cria��o de constantes a serem utilizadas na gera��o * da rota para recadastramento * * @author Wellington Rocha*/ public static final int RESIDENCIAL_R1 = 1; public static final int RESIDENCIAL_R2 = 2; public static final int RESIDENCIAL_R3 = 3; public static final int RESIDENCIAL_R4 = 4; public static final int COMERCIAL_C1 = 5; public static final int COMERCIAL_C2 = 6; public static final int COMERCIAL_C3 = 7; public static final int COMERCIAL_C4 = 8; public static final int INDUSTRIAL_I1 = 9; public static final int INDUSTRIAL_I2 = 10; public static final int INDUSTRIAL_I3 = 11; public static final int INDUSTRIAL_I4 = 12; public static final int PUBLICA_P1 = 13; public static final int PUBLICA_P2 = 14; public static final int PUBLICA_P3 = 15; public static final int PUBLICA_P4 = 16; static { SUBCATEGORIA_ZERO = new Subcategoria(); SUBCATEGORIA_ZERO.setId(new Integer(0)); } public Subcategoria(int codigo, String descricao, Short indicadorUso, Short indicadorSazonalidade, String descricaoAbreviada, String codigoTarifaSocial, Integer codigoGrupoSubcategoria, short numeroFatorFiscalizacao, Short indicadorTarifaConsumo, Date ultimaAlteracao, gcom.cadastro.imovel.Categoria categoria) { this.codigo = codigo; this.descricao = descricao; this.indicadorUso = indicadorUso; this.indicadorSazonalidade = indicadorSazonalidade; this.descricaoAbreviada = descricaoAbreviada; this.codigoTarifaSocial = codigoTarifaSocial; this.codigoGrupoSubcategoria = codigoGrupoSubcategoria; this.numeroFatorFiscalizacao = numeroFatorFiscalizacao; this.indicadorTarifaConsumo = indicadorTarifaConsumo; this.ultimaAlteracao = ultimaAlteracao; this.categoria = categoria; } public Subcategoria() { } public Subcategoria(Integer id) { this.id = id; } public Subcategoria(int codigo, String descricao, gcom.cadastro.imovel.Categoria categoria) { this.codigo = codigo; this.descricao = descricao; this.categoria = categoria; } public Integer getId() { return this.id; } public void setId(Integer id) { this.id = id; } public int getCodigo() { return this.codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getDescricao() { return this.descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public Short getIndicadorUso() { return this.indicadorUso; } public void setIndicadorUso(Short indicadorUso) { this.indicadorUso = indicadorUso; } public Date getUltimaAlteracao() { return this.ultimaAlteracao; } public void setUltimaAlteracao(Date ultimaAlteracao) { this.ultimaAlteracao = ultimaAlteracao; } public gcom.cadastro.imovel.Categoria getCategoria() { return this.categoria; } public void setCategoria(gcom.cadastro.imovel.Categoria categoria) { this.categoria = categoria; } public boolean equals(Object other) { if ((this == other)) { return true; } if (!(other instanceof Subcategoria)) { return false; } Subcategoria castOther = (Subcategoria) other; return new EqualsBuilder().append(this.getId(), castOther.getId()) // .append(this.getCategoria(), castOther.getCategoria()) .isEquals(); } public String toString() { return new ToStringBuilder(this).append("id", getId()).toString(); } public int hashCode() { return new HashCodeBuilder().append(getId()).append(getCodigo()) .append(getDescricao()).append(getIndicadorUso()).append( getCategoria()).append(getUltimaAlteracao()) .toHashCode(); } public String[] retornaCamposChavePrimaria(){ String[] retorno = new String[1]; retorno[0] = "id"; return retorno; } public Filtro retornaFiltro(){ FiltroSubCategoria filtroSubCategoria = new FiltroSubCategoria(); filtroSubCategoria.adicionarCaminhoParaCarregamentoEntidade(FiltroSubCategoria.CATEGORIA); filtroSubCategoria.adicionarParametro( new ParametroSimples(FiltroSubCategoria.ID, this.getId())); return filtroSubCategoria; } public String getCodigoTarifaSocial() { return codigoTarifaSocial; } public void setCodigoTarifaSocial(String codigoTarifaSocial) { this.codigoTarifaSocial = codigoTarifaSocial; } public short getNumeroFatorFiscalizacao() { return numeroFatorFiscalizacao; } public void setNumeroFatorFiscalizacao(short numeroFatorFiscalizacao) { this.numeroFatorFiscalizacao = numeroFatorFiscalizacao; } public Short getIndicadorTarifaConsumo() { return indicadorTarifaConsumo; } public void setIndicadorTarifaConsumo(Short indicadorTarifaConsumo) { this.indicadorTarifaConsumo = indicadorTarifaConsumo; } public Integer getQuantidadeEconomias() { return quantidadeEconomias; } public void setQuantidadeEconomias(Integer quantidadeEconomias) { this.quantidadeEconomias = quantidadeEconomias; } public String getDescricaoAbreviada() { return descricaoAbreviada; } public void setDescricaoAbreviada(String descricaoAbreviada) { this.descricaoAbreviada = descricaoAbreviada; } public Integer getCodigoGrupoSubcategoria() { return codigoGrupoSubcategoria; } public void setCodigoGrupoSubcategoria(Integer codigoGrupoSubcategoria) { this.codigoGrupoSubcategoria = codigoGrupoSubcategoria; } /** * @author Pedro Alexandre * @date 19/09/2007 */ public String getDescricaoComId() { if(this.getId().compareTo(10) == -1){ descricaoComId = "0" + getCodigo()+ " - " + getDescricao(); }else{ descricaoComId = getCodigo()+ " - " + getDescricao(); } return descricaoComId; } @Override public void initializeLazy() { if (this.getCategoria() != null){ this.getCategoria().initializeLazy(); } } public Short getIndicadorSazonalidade() { return indicadorSazonalidade; } public void setIndicadorSazonalidade(Short indicadorSazonalidade) { this.indicadorSazonalidade = indicadorSazonalidade; } @Override public String getDescricaoParaRegistroTransacao() { return this.getDescricao(); } }