Rev 106 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
package br.com.ec.domain.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.NotEmpty;
import br.com.ec.core.interfaces.Alterar;
import br.com.ec.core.interfaces.Cadastrar;
import br.com.ec.core.util.StringUtil;
import br.com.ec.core.util.VerificadorUtil;
import br.com.ec.domain.model.tipos.TipoPlanoVivo;
import br.com.ec.domain.model.tipos.TipoServicoVivo;
@
Entity
@Table
(name=
"sec_produto_vivo", schema=
"sc_sec")
public class ProdutoVivo
implements Serializable {
private static final long serialVersionUID = 1L
;
private Long sequencial
;
private String codigoServico
;
private String descricao
;
private Double valorAssinatura
;
private Double valorComissao
;
private String detalhes
;
private String tipoServico
;
private String tipoPlano
;
private Boolean indicadorPortifolio
;
@Id
@SequenceGenerator
(name =
"sq_produtovivo")
@GeneratedValue
(strategy = GenerationType.
IDENTITY)
@Column
(name=
"seq_produto_vivo", nullable=
false)
public Long getSequencial
() {
return sequencial
;
}
public void setSequencial
(Long sequencial
) {
this.
sequencial = sequencial
;
}
@Column
(name=
"cod_servico")
@Size
(max =
20, message =
"Limite de caracteres ultrapassado: Código do Serviço")
public String getCodigoServico
() {
return codigoServico
;
}
public void setCodigoServico
(String codigoServico
) {
this.
codigoServico = codigoServico
;
}
@Column
(name=
"dsc_produto")
@Size
(max =
250, message =
"Limite de caracteres ultrapassado: Descrição")
@NotNull
(message =
"Parâmetro obrigatório não preenchido: Descrição do produto", groups =
{Cadastrar.
class, Alterar.
class})
@
NotEmpty(message =
"Parâmetro obrigatório não preenchido: Descrição do produto", groups =
{Cadastrar.
class, Alterar.
class})
public String getDescricao
() {
return descricao
;
}
public void setDescricao
(String descricao
) {
this.
descricao = StringUtil.
setarUpperCaseComTrim(descricao
);
}
@Column
(name=
"val_assinatura")
@NotNull
(message =
"Parâmetro obrigatório não preenchido: Valor da Assinatura", groups =
{Cadastrar.
class, Alterar.
class})
public Double getValorAssinatura
() {
return valorAssinatura
;
}
public void setValorAssinatura
(Double valorAssinatura
) {
this.
valorAssinatura = valorAssinatura
;
}
@Column
(name=
"val_comissao")
public Double getValorComissao
() {
return valorComissao
;
}
public void setValorComissao
(Double valorComissao
) {
this.
valorComissao = valorComissao
;
}
@Column
(name=
"dsc_detalhes")
@Size
(max =
2000, message =
"Limite de caracteres ultrapassado: Detalhes")
public String getDetalhes
() {
return detalhes
;
}
public void setDetalhes
(String detalhes
) {
this.
detalhes = StringUtil.
setarUpperCaseComTrim(detalhes
);
}
@Column
(name=
"tip_servico")
@NotNull
(message =
"Parâmetro obrigatório não preenchido: Tipo do serviço", groups =
{Cadastrar.
class, Alterar.
class})
public String getTipoServico
() {
return tipoServico
;
}
public void setTipoServico
(String tipoServico
) {
this.
tipoServico = tipoServico
;
}
@Column
(name=
"tip_plano")
@NotNull
(message =
"Parâmetro obrigatório não preenchido: Tipo do plano", groups =
{Cadastrar.
class, Alterar.
class})
public String getTipoPlano
() {
return tipoPlano
;
}
public void setTipoPlano
(String tipoPlano
) {
this.
tipoPlano = tipoPlano
;
}
@Column
(name=
"ind_portifolio")
public Boolean getIndicadorPortifolio
() {
return indicadorPortifolio
;
}
public void setIndicadorPortifolio
(Boolean indicadorPortifolio
) {
this.
indicadorPortifolio = indicadorPortifolio
;
}
/***************************************************************/
@Transient
public String getDescricaoDoTipoServico
() {
return VerificadorUtil.
naoEstaNuloOuVazio(getTipoServico
())? TipoServicoVivo.
parse(getTipoServico
()).
getDescricao() :
null;
}
@Transient
public String getDescricaoDoTipoPlano
() {
return VerificadorUtil.
naoEstaNuloOuVazio(getTipoPlano
())? TipoPlanoVivo.
parse(getTipoPlano
()).
getDescricao() :
null;
}
@Transient
public String getDescricaoCompleta
() {
return getDescricaoDoTipoServico
() +
" - " + getDescricaoDoTipoPlano
() +
" - " + getDescricao
();
}
@
Override
public int hashCode
() {
final int prime =
31;
int result =
1;
result = prime
* result +
((sequencial ==
null) ? 0 : sequencial.
hashCode());
return result
;
}
@
Override
public boolean equals
(Object obj
) {
if (this == obj
)
return true;
if (obj ==
null)
return false;
if (getClass
() != obj.
getClass())
return false;
ProdutoVivo other =
(ProdutoVivo
) obj
;
if (sequencial ==
null) {
if (other.
sequencial !=
null)
return false;
} else if (!sequencial.
equals(other.
sequencial))
return false;
return true;
}
}