ItacPermit.java
package com.tradecloud.domain.duties;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.item.ItemType;
import com.tradecloud.domain.item.UnitOfMeasure;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
import java.math.BigDecimal;
import java.util.Date;
@Entity
@Table(name = "ItacPermit")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ItacPermit")
public class ItacPermit extends PersistenceBase {
@XmlAttribute
@Enumerated(EnumType.STRING)
private ItacPermitOptions itacPermit;
@XmlAttribute
private String itacPermitNumber;
@XmlAttribute
private Date expiryDate;
@XmlAttribute
private BigDecimal goodsToBeImportedValue;
@XmlAttribute
private BigDecimal quantityAllowed;
@XmlAttribute
@Enumerated(EnumType.STRING)
private UnitOfMeasure.UnitType unitOfMeasure;
@Enumerated(EnumType.STRING)
@XmlAttribute(name = "rebateSchedule")
private ItemType rebateSchedule;
@Enumerated(EnumType.STRING)
private LinkType integratedLinkType;
public ItacPermitOptions getItacPermit() {
return itacPermit;
}
public void setItacPermit(ItacPermitOptions itacPermit) {
this.itacPermit = itacPermit;
}
public String getItacPermitNumber() {
return itacPermitNumber;
}
public void setItacPermitNumber(String itacPermitNumber) {
this.itacPermitNumber = itacPermitNumber;
}
public Date getExpiryDate() {
return expiryDate;
}
public void setExpiryDate(Date expiryDate) {
this.expiryDate = expiryDate;
}
public BigDecimal getGoodsToBeImportedValue() {
return goodsToBeImportedValue;
}
public void setGoodsToBeImportedValue(BigDecimal goodsToBeImportedValue) {
this.goodsToBeImportedValue = goodsToBeImportedValue;
}
public BigDecimal getQuantityAllowed() {
return quantityAllowed;
}
public void setQuantityAllowed(BigDecimal quantityAllowed) {
this.quantityAllowed = quantityAllowed;
}
public UnitOfMeasure.UnitType getUnitOfMeasure() {
return unitOfMeasure;
}
public void setUnitOfMeasure(UnitOfMeasure.UnitType unitOfMeasure) {
this.unitOfMeasure = unitOfMeasure;
}
public ItemType getRebateSchedule() {
return rebateSchedule;
}
public boolean isS3P1Rebate() {
return rebateSchedule == ItemType.INDUSTRIAL_REBATE;
}
public boolean isS4P1Rebate() {
return rebateSchedule == ItemType.GENERAL_REBATE;
}
public void setRebateSchedule(ItemType itemType) {
if (itemType == ItemType.GENERAL_REBATE || itemType == ItemType.INDUSTRIAL_REBATE) {
this.rebateSchedule = itemType;
}
}
public void copy(ItacPermit itacPermit) {
if (getUnitOfMeasure() == null)
setUnitOfMeasure(itacPermit.getUnitOfMeasure());
if (getItacPermitNumber() == null)
setItacPermitNumber(itacPermit.getItacPermitNumber());
if (getGoodsToBeImportedValue() == null)
setGoodsToBeImportedValue(itacPermit.getGoodsToBeImportedValue());
if (getExpiryDate() == null)
setExpiryDate(itacPermit.getExpiryDate());
if (getQuantityAllowed() == null)
setQuantityAllowed(itacPermit.getQuantityAllowed());
if (getItacPermit() == null)
setItacPermit(itacPermit.getItacPermit());
if (getRebateSchedule() == null)
setRebateSchedule(itacPermit.getRebateSchedule());
}
public LinkType getIntegratedLinkType() {
return integratedLinkType;
}
public void setIntegratedLinkType(LinkType integratedLinkType) {
this.integratedLinkType = integratedLinkType;
}
}