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_imposto_icms", schema=
"sc_sec")
public class ImpostoIcms
implements Serializable, Identidade
{
private static final long serialVersionUID = 1L
;
private ImpostoIcmsId impostoIcmsId
;
private CompraProduto compraProduto
;
private String tipoImposto
;
private Integer codigoOrigem
; //orig
private Integer modalidadeDeterminacaoBC
; //modBC
private Double percentualReducaoBC
; //predBC
private Integer modalidadeDeterminacaoBCST
; //modBCST
private Double percentualMagemValorAdicionadoST
; //pmvast
private Double baseCalculoST
; //val_bcst
private Double aliquotaIcmsST
; //picmsst
private Double valorIcmsST
; //icmsst
public ImpostoIcms
() {
this.
impostoIcmsId =
new ImpostoIcmsId
();
}
public ImpostoIcms
(ImpostoIcmsId impostoIcmsId
) {
this.
impostoIcmsId = impostoIcmsId
;
}
public ImpostoIcms
(CompraProduto compraProduto,
String tipoImposto
) {
impostoIcmsId =
new ImpostoIcmsId
();
setCompraProduto
(compraProduto
);
setTipoImposto
(tipoImposto
);
}
@
Override
@Transient
public Object getId
() {
return getImpostoIcmsId
();
}
@
Override
public void setId
(Object id
) {
this.
impostoIcmsId =
(ImpostoIcmsId
) id
;
}
@EmbeddedId
public ImpostoIcmsId getImpostoIcmsId
() {
return impostoIcmsId
;
}
public void setImpostoIcmsId
(ImpostoIcmsId impostoIcmsId
) {
this.
impostoIcmsId = impostoIcmsId
;
}
@ManyToOne
@ForeignKey
(name=
"fk_impostoicms_compraprodutoimposto")
@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_origem")
public Integer getCodigoOrigem
() {
return codigoOrigem
;
}
public void setCodigoOrigem
(Integer codigoOrigem
) {
this.
codigoOrigem = codigoOrigem
;
}
@Column
(name=
"cod_modbc")
public Integer getModalidadeDeterminacaoBC
() {
return modalidadeDeterminacaoBC
;
}
public void setModalidadeDeterminacaoBC
(Integer modalidadeDeterminacaoBC
) {
this.
modalidadeDeterminacaoBC = modalidadeDeterminacaoBC
;
}
@Column
(name=
"val_predbc")
public Double getPercentualReducaoBC
() {
return percentualReducaoBC
;
}
public void setPercentualReducaoBC
(Double percentualReducaoBC
) {
this.
percentualReducaoBC = percentualReducaoBC
;
}
@Column
(name=
"cod_modbcst")
public Integer getModalidadeDeterminacaoBCST
() {
return modalidadeDeterminacaoBCST
;
}
public void setModalidadeDeterminacaoBCST
(Integer modalidadeDeterminacaoBCST
) {
this.
modalidadeDeterminacaoBCST = modalidadeDeterminacaoBCST
;
}
@Column
(name=
"val_pmvast")
public Double getPercentualMagemValorAdicionadoST
() {
return percentualMagemValorAdicionadoST
;
}
public void setPercentualMagemValorAdicionadoST
(Double percentualMagemValorAdicionadoST
) {
this.
percentualMagemValorAdicionadoST = percentualMagemValorAdicionadoST
;
}
@Column
(name=
"val_bcst")
public Double getBaseCalculoST
() {
return baseCalculoST
;
}
public void setBaseCalculoST
(Double baseCalculoST
) {
this.
baseCalculoST = baseCalculoST
;
}
@Column
(name=
"val_picmsst")
public Double getAliquotaIcmsST
() {
return aliquotaIcmsST
;
}
public void setAliquotaIcmsST
(Double aliquotaIcmsST
) {
this.
aliquotaIcmsST = aliquotaIcmsST
;
}
@Column
(name=
"val_icmsst")
public Double getValorIcmsST
() {
return valorIcmsST
;
}
public void setValorIcmsST
(Double valorIcmsST
) {
this.
valorIcmsST = valorIcmsST
;
}
}