ContainerRate.java
package com.tradecloud.domain.rate;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.common.Currency;
import com.tradecloud.domain.container.ContainerType;
import com.tradecloud.domain.costing.CostGroup;
import com.tradecloud.domain.costing.CostLineTemplate;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.domain.place.Country;
import com.tradecloud.domain.place.FinalDestination;
import com.tradecloud.domain.place.PlaceOfDischarge;
import com.tradecloud.domain.place.PlaceOfLoading;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.ForeignKey;
import javax.persistence.*;
import javax.validation.constraints.Digits;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import java.math.BigDecimal;
import java.util.Date;
/**
* Container Rate abstract super class.
* There are 3 types of container rates 1) Freight 2) Clearing 3) Forwarding Table "public.containerrate" Column |
* Type | Modifiers -------------------+-----------------------------+----------- id | integer | not null clientid | integer | not null shippingmode |
* character varying(255) | containertypeid | integer | not null sourceid | integer | sourcetype | integer | not null destinationid | integer |
* destinationtype | integer | not null serviceproviderid | integer | leadtime | integer | costtype | smallint | not null unit | character
* varying(255) | not null rate | double precision | not null fromdate | timestamp without time zone | not null todate | timestamp without time zone |
*/
@Entity
@Table(name = "containerrate")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ContainerRate")
@Getter
@Setter
public class ContainerRate extends PersistenceBase {
private static final long serialVersionUID = 1L;
@NotNull
@Enumerated(EnumType.STRING)
private ShippingMode shippingMode;
@Enumerated(EnumType.STRING)
private ShippingMode multiModalShippingMode;
@ManyToOne
@ForeignKey(name = "fk_costlinetemplate")
@NotNull
private CostLineTemplate costLineTemplate;
@Enumerated(EnumType.STRING)
@NotNull
private CostGroup costGroup;
@NotNull
@ManyToOne
private ContainerType containerType;
@NotNull
@ManyToOne
private Currency currency;
@NotNull
@Digits(integer = 8, fraction = 2)
private BigDecimal rate;
@NotNull
private Date fromDate;
@NotNull
private Date toDate;
@ManyToOne
ServiceProvider clearingAgent;
@ManyToOne
PlaceOfDischarge placeOfDischarge;
@ManyToOne
FinalDestination finalDestination;
@ManyToOne
Country origin;
@ManyToOne
ServiceProvider forwardingAgent;
@ManyToOne
PlaceOfLoading placeOfLoading;
@ManyToOne
private ServiceProvider shippingLine;
private Integer leadTime;
public ShippingMode getShippingMode() {
return shippingMode;
}
public void setShippingMode(ShippingMode shippingMode) {
this.shippingMode = shippingMode;
}
public CostLineTemplate getCostLineTemplate() {
return costLineTemplate;
}
public void setCostLineTemplate(CostLineTemplate costLineTemplate) {
this.costLineTemplate = costLineTemplate;
}
public ContainerType getContainerType() {
return containerType;
}
public void setContainerType(ContainerType containerType) {
this.containerType = containerType;
}
public BigDecimal getRate() {
return rate;
}
public void setRate(BigDecimal rate) {
this.rate = rate;
}
public Date getFromDate() {
return fromDate;
}
public void setFromDate(Date fromDate) {
this.fromDate = fromDate;
}
public Date getToDate() {
return toDate;
}
public void setToDate(Date toDate) {
this.toDate = toDate;
}
public ServiceProvider getClearingAgent() {
return clearingAgent;
}
public void setClearingAgent(ServiceProvider clearingAgent) {
this.clearingAgent = clearingAgent;
}
public Country getOrigin() {
return origin;
}
public void setOrigin(Country origin) {
this.origin = origin;
}
public ServiceProvider getForwardingAgent() {
return forwardingAgent;
}
public void setForwardingAgent(ServiceProvider forwardingAgent) {
this.forwardingAgent = forwardingAgent;
}
public PlaceOfDischarge getPlaceOfDischarge() {
return placeOfDischarge;
}
public void setPlaceOfDischarge(PlaceOfDischarge placeOfDischarge) {
this.placeOfDischarge = placeOfDischarge;
}
public FinalDestination getFinalDestination() {
return finalDestination;
}
public void setFinalDestination(FinalDestination finalDestination) {
this.finalDestination = finalDestination;
}
public PlaceOfLoading getPlaceOfLoading() {
return placeOfLoading;
}
public void setPlaceOfLoading(PlaceOfLoading placeOfLoading) {
this.placeOfLoading = placeOfLoading;
}
public ServiceProvider getShippingLine() {
return shippingLine;
}
public void setShippingLine(ServiceProvider shippingLine) {
this.shippingLine = shippingLine;
}
public Integer getLeadTime() {
return leadTime;
}
public void setLeadTime(Integer leadTime) {
this.leadTime = leadTime;
}
public Currency getCurrency() {
return currency;
}
public void setCurrency(Currency currency) {
this.currency = currency;
}
public CostGroup getCostGroup() {
return costGroup;
}
public void setCostGroup(CostGroup costGroup) {
this.costGroup = costGroup;
}
}