package br.com.ec.domain.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.MapsId;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.annotations.ForeignKey;
import br.com.ec.core.generic.identidade.Identidade;
@
Entity
@Table
(name=
"sec_compra_produto_imposto", schema=
"sc_sec")
public class CompraProdutoImposto
implements Serializable, Identidade
{
private static final long serialVersionUID = 1L
;
private CompraProdutoImpostoId compraProdutoImpostoId
;
private CompraProduto compraProduto
;
private String tipoImposto
;
private Integer codigoSituacaoTributaria
;
private Double valorBaseCalculo
;
private Double valorPercentual
;
private Double valorImposto
;
public CompraProdutoImposto
() {
this.
compraProdutoImpostoId =
new CompraProdutoImpostoId
();
}
public CompraProdutoImposto
(CompraProdutoImpostoId compraProdutoImpostoId
) {
this.
compraProdutoImpostoId = compraProdutoImpostoId
;
}
public CompraProdutoImposto
(CompraProduto compraProduto,
String tipoImposto
) {
compraProdutoImpostoId =
new CompraProdutoImpostoId
();
setCompraProduto
(compraProduto
);
setTipoImposto
(tipoImposto
);
}
@
Override
@Transient
public Object getId
() {
return getCompraProdutoImpostoId
();
}
@
Override
public void setId
(Object id
) {
this.
compraProdutoImpostoId =
(CompraProdutoImpostoId
) id
;
}
@EmbeddedId
public CompraProdutoImpostoId getCompraProdutoImpostoId
() {
return compraProdutoImpostoId
;
}
public void setCompraProdutoImpostoId
(CompraProdutoImpostoId compraProdutoImpostoId
) {
this.
compraProdutoImpostoId = compraProdutoImpostoId
;
}
@ManyToOne
@ForeignKey
(name=
"fk_compraprodutoimposto_compraproduto")
@MapsId
(value=
"sequencialCompraProduto")
@JoinColumn
(name =
"seq_compraproduto", nullable =
false)
public CompraProduto getCompraProduto
() {
return compraProduto
;
}
public void setCompraProduto
(CompraProduto compraProduto
) {
this.
compraProduto = compraProduto
;
}
@Column
(name=
"tip_imposto", nullable =
false, insertable =
false, updatable =
false)
public String getTipoImposto
() {
return tipoImposto
;
}
public void setTipoImposto
(String tipoImposto
) {
this.
tipoImposto = tipoImposto
;
}
@Column
(name=
"cod_situacao_tributaria")
public Integer getCodigoSituacaoTributaria
() {
return codigoSituacaoTributaria
;
}
public void setCodigoSituacaoTributaria
(Integer codigoSituacaoTributaria
) {
this.
codigoSituacaoTributaria = codigoSituacaoTributaria
;
}
@Column
(name=
"val_base_calculo")
public Double getValorBaseCalculo
() {
return valorBaseCalculo
;
}
public void setValorBaseCalculo
(Double valorBaseCalculo
) {
this.
valorBaseCalculo = valorBaseCalculo
;
}
@Column
(name=
"val_percentual")
public Double getValorPercentual
() {
return valorPercentual
;
}
public void setValorPercentual
(Double valorPercentual
) {
this.
valorPercentual = valorPercentual
;
}
@Column
(name=
"val_imposto")
public Double getValorImposto
() {
return valorImposto
;
}
public void setValorImposto
(Double valorImposto
) {
this.
valorImposto = valorImposto
;
}
}