Invoice.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.tradecloud.domain.invoice;

import com.tradecloud.common.base.PersistenceBase;

import javax.persistence.*;
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;

@Entity
@Table(name = "invoice")
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "ExportInvoice")
public abstract class Invoice extends PersistenceBase {

    private static final long serialVersionUID = 1L;
    @NotNull(message = "Active is required")
    @Column(nullable = false)
    private boolean active;
    private BigDecimal amount;
    @Temporal(TemporalType.TIMESTAMP)
    private Date billOfLadingDate;
    private String billOfLadingReference;
    private String containerReference;
    @NotNull(message = "ERP invoice integration is required")
    @Column(nullable = false)
    private boolean erpInvoiceIntegration;
    @NotNull(message = "Export is required")
    @Column(nullable = false)
    private Boolean export;
    private BigDecimal forwardRoe;
    private String itemSourceType;
    private int paymentBasis;
    private String paymentMethod;
    @Temporal(TemporalType.TIMESTAMP)
    private Date paymentOrSettlementDate;
    private String paymentTerm;
    @Temporal(TemporalType.TIMESTAMP)
    private Date reinvoiceDate;
    private Integer reinvoicePayer;
    private BigDecimal reinvoicePercent;
    private BigDecimal reinvoiceRoe;
    private String shipmentNumber;
    private String shipmentReference;
    @Temporal(TemporalType.TIMESTAMP)
    private Date spotDate;
    private BigDecimal spotRoe;
    private String unitPriceIncoterm;
    private BigDecimal valueExcVat;
    private BigDecimal vatPercentage;
    @NotNull(message = "VAT is required")
    @Column(nullable = false)
    private Boolean vatSelected;



    /*
     * @ForeignKey(name = "fk74d6432dfef8b56b") @XmlElement(name="Consignee")
     * private Employee consignee; @ForeignKey(name = "fk74d6432d6d1acafb")
     * @XmlElement(name="Currency") private Currency costingCurrency;
     * @ForeignKey(name = "fk74d6432dd4bf504c") @XmlElement(name="Customer")
     * private Employee customer; @ForeignKey(name = "fk74d6432d4768011c")
     * @XmlElement(name="OrganisationalUnit") private OrganisationalUnit
     * organisationalUnit; @ForeignKey(name = "fk74d6432d8d19c950")
     * @XmlElement(name="Incoterm") private Incoterm incoterm; private Integer
     * incotermNamedPlaceId; private Integer namedPlaceId; /*@ForeignKey(name =
     * "fk74d6432d71fa4fb5") @XmlElement(name="PlannedSettlement") private
     * PlannedSettlement plannedSettlement; @ForeignKey(name =
     * "fk74d6432d75c9276") @XmlElement(name="ReinvoiceCurrency") private
     * Currency reinvoiceCurrency; @ForeignKey(name = "fk74d6432d8a70b8e9")
     * @XmlElement(name="SaleCurrency") private Currency saleCurrency;
     * @ForeignKey(name = "fk74d6432da4591c56") @XmlElement(name="Shipment")
     * private Shipment shipment;
     */

    public Invoice() {
    }

    public boolean isActive() {
        return active;
    }

    public void setActive(boolean active) {
        this.active = active;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public Date getBillOfLadingDate() {
        return billOfLadingDate;
    }

    public void setBillOfLadingDate(Date billOfLadingDate) {
        this.billOfLadingDate = billOfLadingDate;
    }

    public String getBillOfLadingReference() {
        return billOfLadingReference;
    }

    public void setBillOfLadingReference(String billOfLadingReference) {
        this.billOfLadingReference = billOfLadingReference;
    }

    public String getContainerReference() {
        return containerReference;
    }

    public void setContainerReference(String containerReference) {
        this.containerReference = containerReference;
    }

    public boolean isErpInvoiceIntegration() {
        return erpInvoiceIntegration;
    }

    public void setErpInvoiceIntegration(boolean erpInvoiceIntegration) {
        this.erpInvoiceIntegration = erpInvoiceIntegration;
    }

    public Boolean getExport() {
        return export;
    }

    public void setExport(Boolean export) {
        this.export = export;
    }

    public BigDecimal getForwardRoe() {
        return forwardRoe;
    }

    public void setForwardRoe(BigDecimal forwardRoe) {
        this.forwardRoe = forwardRoe;
    }

    public String getItemSourceType() {
        return itemSourceType;
    }

    public void setItemSourceType(String itemSourceType) {
        this.itemSourceType = itemSourceType;
    }

    public int getPaymentBasis() {
        return paymentBasis;
    }

    public void setPaymentBasis(int paymentBasis) {
        this.paymentBasis = paymentBasis;
    }

    public String getPaymentMethod() {
        return paymentMethod;
    }

    public void setPaymentMethod(String paymentMethod) {
        this.paymentMethod = paymentMethod;
    }

    public Date getPaymentOrSettlementDate() {
        return paymentOrSettlementDate;
    }

    public void setPaymentOrSettlementDate(Date paymentOrSettlementDate) {
        this.paymentOrSettlementDate = paymentOrSettlementDate;
    }

    public String getPaymentTerm() {
        return paymentTerm;
    }

    public void setPaymentTerm(String paymentTerm) {
        this.paymentTerm = paymentTerm;
    }

    public Date getReinvoiceDate() {
        return reinvoiceDate;
    }

    public void setReinvoiceDate(Date reinvoiceDate) {
        this.reinvoiceDate = reinvoiceDate;
    }

    public Integer getReinvoicePayer() {
        return reinvoicePayer;
    }

    public void setReinvoicePayer(Integer reinvoicePayer) {
        this.reinvoicePayer = reinvoicePayer;
    }

    public BigDecimal getReinvoicePercent() {
        return reinvoicePercent;
    }

    public void setReinvoicePercent(BigDecimal reinvoicePercent) {
        this.reinvoicePercent = reinvoicePercent;
    }

    public BigDecimal getReinvoiceRoe() {
        return reinvoiceRoe;
    }

    public void setReinvoiceRoe(BigDecimal reinvoiceRoe) {
        this.reinvoiceRoe = reinvoiceRoe;
    }

    public String getShipmentNumber() {
        return shipmentNumber;
    }

    public void setShipmentNumber(String shipmentNumber) {
        this.shipmentNumber = shipmentNumber;
    }

    public String getShipmentReference() {
        return shipmentReference;
    }

    public void setShipmentReference(String shipmentReference) {
        this.shipmentReference = shipmentReference;
    }

    public Date getSpotDate() {
        return spotDate;
    }

    public void setSpotDate(Date spotDate) {
        this.spotDate = spotDate;
    }

    public BigDecimal getSpotRoe() {
        return spotRoe;
    }

    public void setSpotRoe(BigDecimal spotRoe) {
        this.spotRoe = spotRoe;
    }

    public String getUnitPriceIncoterm() {
        return unitPriceIncoterm;
    }

    public void setUnitPriceIncoterm(String unitPriceIncoterm) {
        this.unitPriceIncoterm = unitPriceIncoterm;
    }

    public BigDecimal getValueExcVat() {
        return valueExcVat;
    }

    public void setValueExcVat(BigDecimal valueExcVat) {
        this.valueExcVat = valueExcVat;
    }

    public BigDecimal getVatPercentage() {
        return vatPercentage;
    }

    public void setVatPercentage(BigDecimal vatPercentage) {
        this.vatPercentage = vatPercentage;
    }

    public Boolean getVatSelected() {
        return vatSelected;
    }

    public void setVatSelected(Boolean vatSelected) {
        this.vatSelected = vatSelected;
    }



    /*
     * public Employee getConsignee() { return consignee; }
     *
     * public void setConsignee(Employee consignee) { this.consignee =
     * consignee; }
     *
     * public Currency getCostingCurrency() { return costingCurrency; }
     *
     * public void setCostingCurrency(Currency costingCurrency) {
     * this.costingCurrency = costingCurrency; }
     *
     * public Employee getCustomer() { return customer; }
     *
     * public void setCustomer(Employee customer) { this.customer = customer; }
     *
     * public OrganisationalUnit getOrganisationalUnit() { return
     * organisationalUnit; }
     *
     * public void setOrganisationalUnit(OrganisationalUnit organisationalUnit)
     * { this.organisationalUnit = organisationalUnit; }
     *
     * public Incoterm getIncoterm() { return incoterm; }
     *
     * public void setIncoterm(Incoterm incoterm) { this.incoterm = incoterm; }
     *
     * public Integer getIncotermNamedPlaceId() { return incotermNamedPlaceId; }
     *
     * public void setIncotermNamedPlaceId(Integer incotermNamedPlaceId) {
     * this.incotermNamedPlaceId = incotermNamedPlaceId; }
     *
     * public Integer getNamedPlaceId() { return namedPlaceId; }
     *
     * public void setNamedPlaceId(Integer namedPlaceId) { this.namedPlaceId =
     * namedPlaceId; }
     *
     * /* public PlannedSettlement getPlannedSettlement() { return
     * plannedSettlement; }
     *
     * public void setPlannedSettlement(PlannedSettlement plannedSettlement) {
     * this.plannedSettlement = plannedSettlement; }
     *
     * public Currency getReinvoiceCurrency() { return reinvoiceCurrency; }
     *
     * public void setReinvoiceCurrency(Currency reinvoiceCurrency) {
     * this.reinvoiceCurrency = reinvoiceCurrency; }
     *
     * public Currency getSaleCurrency() { return saleCurrency; }
     *
     * public void setSaleCurrency(Currency saleCurrency) { this.saleCurrency =
     * saleCurrency; }
     *
     * public Shipment getShipment() { return shipment; }
     *
     * public void setShipment(Shipment shipment) { this.shipment = shipment;
    }
     */
}