ConsignmentClientConfig.java
package com.tradecloud.domain.configuration;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.common.DecisionType;
import org.hibernate.annotations.ForeignKey;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.*;
import java.util.HashSet;
import java.util.Set;
/**
* A holder for consignment client configuration values.
*/
@Entity
@Table(name = "consignmentclientconfig")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ConsignmentClientConfig")
public class ConsignmentClientConfig extends PersistenceBase {
private static final long serialVersionUID = 1L;
/**
* Determines if the client requires validation or a warning at the point of consignment finalise and sign off.
* Defaults to {@link DecisionType#NO}.
*/
@Enumerated(value = EnumType.STRING)
@XmlAttribute
@NotNull
private DecisionType allowLatestShippingDateInThePast;
/**
* Defaults to true.
*/
@XmlAttribute
@NotNull
private boolean latestShipmentDateIncludesToday;
/**
* The number of days apart that the availability dates of two Orders can be before they are linked.
* Valid values are 0-50 inclusive, defaults to 14
*/
@XmlAttribute
@NotNull
private int availabilityDateSpread;
/**
* The number of days apart that the required onsite dates of two Orders can be before they are linked.
* Valid values are 0-50 inclusive, defaults to 14
*/
@XmlAttribute
@NotNull
private int requiredOnSiteDateSpread;
/**
* The number of days apart that the latest shipment dates of two Orders can be before they are linked.
* Valid values are 0-50 inclusive, defaults to 14
*/
@XmlAttribute
@NotNull
private int latestShipmentDateSpread;
@XmlAttribute
@NotNull
private boolean autoGenerateConsignmentOnErpOrderIntegration;
@XmlAttribute
@NotNull
private boolean autoGenerateConsignmentForManualOrder;
@XmlAttribute
private boolean lclContainerToIntegratedOrder;
@XmlAttribute
private boolean forceUnFinaliseReason;
@ElementCollection
@CollectionTable(name = "consignmentclientconfig_unfinalisereasons", joinColumns = {@JoinColumn(name = "config_id", unique = false)})
@Column(name = "reason", unique = true)
@ForeignKey(name = "fk_consignmentclientconfig_unfinalisereasons", inverseName = "fk_ unfinaliseReason")
@XmlElementWrapper(name = "unfinaliseReasons")
@XmlElement(name = "unfinaliseReason")
private Set<String> unfinaliseReasons = new HashSet<>();
public DecisionType getAllowLatestShippingDateInThePast() {
return allowLatestShippingDateInThePast;
}
public void setAllowLatestShippingDateInThePast(DecisionType allowLatestShippingDateInThePast) {
this.allowLatestShippingDateInThePast = allowLatestShippingDateInThePast;
}
public boolean isLatestShipmentDateIncludesToday() {
return latestShipmentDateIncludesToday;
}
public void setLatestShipmentDateIncludesToday(boolean latestShipmentDateIncludesToday) {
this.latestShipmentDateIncludesToday = latestShipmentDateIncludesToday;
}
public int getAvailabilityDateSpread() {
return availabilityDateSpread;
}
public void setAvailabilityDateSpread(int availabilityDateSpread) {
this.availabilityDateSpread = availabilityDateSpread;
}
public int getRequiredOnSiteDateSpread() {
return requiredOnSiteDateSpread;
}
public void setRequiredOnSiteDateSpread(int requiredOnSiteDateSpread) {
this.requiredOnSiteDateSpread = requiredOnSiteDateSpread;
}
public int getLatestShipmentDateSpread() {
return latestShipmentDateSpread;
}
public void setLatestShipmentDateSpread(int latestShipmentDateSpread) {
this.latestShipmentDateSpread = latestShipmentDateSpread;
}
public boolean isAutoGenerateConsignmentOnErpOrderIntegration() {
return autoGenerateConsignmentOnErpOrderIntegration;
}
public void setAutoGenerateConsignmentOnErpOrderIntegration(boolean autoGenerateConsignmentOnErpOrderIntegration) {
this.autoGenerateConsignmentOnErpOrderIntegration = autoGenerateConsignmentOnErpOrderIntegration;
}
public boolean isAutoGenerateConsignmentForManualOrder() {
return autoGenerateConsignmentForManualOrder;
}
public void setAutoGenerateConsignmentForManualOrder(boolean autoGenerateConsignmentForManualOrder) {
this.autoGenerateConsignmentForManualOrder = autoGenerateConsignmentForManualOrder;
}
public boolean isLclContainerToIntegratedOrder() {
return lclContainerToIntegratedOrder;
}
public void setLclContainerToIntegratedOrder(boolean lclContainerToIntegratedOrder) {
this.lclContainerToIntegratedOrder = lclContainerToIntegratedOrder;
}
public boolean isForceUnFinaliseReason() {
return forceUnFinaliseReason;
}
public void setForceUnFinaliseReason(boolean forceUnFinaliseReason) {
this.forceUnFinaliseReason = forceUnFinaliseReason;
}
public Set<String> getUnfinaliseReasons() {
return unfinaliseReasons;
}
public void setUnfinaliseReasons(Set<String> unfinaliseReasons) {
this.unfinaliseReasons = unfinaliseReasons;
}
}