SaleCustomer.java
package com.tradecloud.domain.party;
import com.tradecloud.domain.model.payment.ActualPaymentBasis;
import com.tradecloud.domain.model.payment.EstimatedPaymentBasis;
import com.tradecloud.domain.model.payment.PaymentMethod;
import com.tradecloud.domain.model.payment.PaymentTerm;
import com.tradecloud.domain.party.base.Company;
import org.hibernate.annotations.ForeignKey;
import org.springframework.stereotype.Component;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@Component(value = "saleCustomer")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "SaleCustomer")
@Table(name = "salecustomer", uniqueConstraints = {@UniqueConstraint(columnNames = {"name"})})
public class SaleCustomer extends Company implements Comparable<SaleCustomer> {
private static final long serialVersionUID = 1L;
@XmlElement(name = "PaymentTerm", required = true)
@ManyToOne
@ForeignKey(name = "fk_paymentterm")
private PaymentTerm paymentTerm;
@ManyToOne
@ForeignKey(name = "fk_paymentmethod")
private PaymentMethod paymentMethod;
@XmlElement(name = "EstimatedPaymentBasis", required = true)
@ManyToOne
@ForeignKey(name = "fk_estimatedpaymentbasis_code")
private EstimatedPaymentBasis estimatedPaymentBasis;
@XmlElement(name = "ActualPaymentBasis", required = true)
@ManyToOne
@ForeignKey(name = "fk_actualpaymentbasis_code")
private ActualPaymentBasis actualPaymentBasis;
@ManyToOne
@ForeignKey(name = "fk_salecustomertype")
private SaleCustomerType saleCustomerType;
public PaymentTerm getPaymentTerm() {
return paymentTerm;
}
public void setPaymentTerm(PaymentTerm paymentTerm) {
this.paymentTerm = paymentTerm;
}
public PaymentMethod getPaymentMethod() {
return paymentMethod;
}
public void setPaymentMethod(PaymentMethod paymentMethod) {
this.paymentMethod = paymentMethod;
}
public EstimatedPaymentBasis getEstimatedPaymentBasis() {
return estimatedPaymentBasis;
}
public void setEstimatedPaymentBasis(EstimatedPaymentBasis estimatedPaymentBasis) {
this.estimatedPaymentBasis = estimatedPaymentBasis;
}
public ActualPaymentBasis getActualPaymentBasis() {
return actualPaymentBasis;
}
public void setActualPaymentBasis(ActualPaymentBasis actualPaymentBasis) {
this.actualPaymentBasis = actualPaymentBasis;
}
public SaleCustomerType getSaleCustomerType() {
return saleCustomerType;
}
public void setSaleCustomerType(SaleCustomerType saleCustomerType) {
this.saleCustomerType = saleCustomerType;
}
@Override
public int compareTo(SaleCustomer saleCustomer) {
if (getName() != null) {
if (getName().compareTo(saleCustomer.getName()) != 0) {
return getName().compareTo(saleCustomer.getName());
}
}
return 0;
}
}