BasicCommercialInvoiceDTO.java

package com.tradecloud.dto.api.invoice;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import io.swagger.annotations.ApiModel;

import java.math.BigDecimal;
import java.util.Date;

//blank for now , ci specific field will be here
@ApiModel(description = "Use for adding/updating")
public class BasicCommercialInvoiceDTO extends InvoiceDTO {
    @JsonProperty(required = true)
    private String businessUnit;
    @JsonProperty(required = true)
    private String supplier;
    @JsonPropertyDescription(value = "Indicates whether all costs (Including additional costs) are used in the invoice, or only the item costs")
    private String unitPricePerItem;
    @JsonProperty(required = true)
    @JsonPropertyDescription(value = "The total quantity of goods being shipped")
    private BigDecimal quantity;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    @JsonPropertyDescription(value = "Indicates the quantity field is out by. If the value is zero, the field is balanced.")
    private BigDecimal quantityBalance;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    @JsonPropertyDescription(value = "Indicates the plannedSettlement field is out by. If the value is zero, the field is balanced.")
    private BigDecimal plannedSettlementBalance;

    @JsonProperty(access = JsonProperty.Access.AUTO)
    private Date actualShipmentDate;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private Date estimatedArrivalDate;
    @JsonProperty(access = JsonProperty.Access.AUTO)
    private  Date  estimatedDeliveryDate;

    private long totalNumberOfProducts;

    private BigDecimal totalDirectCosts;

    public String getBusinessUnit() {
        return businessUnit;
    }

    public void setBusinessUnit(String businessUnit) {
        this.businessUnit = businessUnit;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }

    public String getUnitPricePerItem() {
        return unitPricePerItem;
    }

    public void setUnitPricePerItem(String unitPricePerItem) {
        this.unitPricePerItem = unitPricePerItem;
    }

    public BigDecimal getQuantity() {
        return quantity;
    }

    public void setQuantity(BigDecimal quantity) {
        this.quantity = quantity;
    }

    public BigDecimal getQuantityBalance() {
        return quantityBalance;
    }

    public void setQuantityBalance(BigDecimal quantityBalance) {
        this.quantityBalance = quantityBalance;
    }

    public BigDecimal getPlannedSettlementBalance() {
        return plannedSettlementBalance;
    }

    public void setPlannedSettlementBalance(BigDecimal plannedSettlementBalance) {
        this.plannedSettlementBalance = plannedSettlementBalance;
    }

    public Date getActualShipmentDate() {
        return actualShipmentDate;
    }

    public void setActualShipmentDate(Date actualShipmentDate) {
        this.actualShipmentDate = actualShipmentDate;
    }

    public Date getEstimatedArrivalDate() {
        return estimatedArrivalDate;
    }

    public void setEstimatedArrivalDate(Date estimatedArrivalDate) {
        this.estimatedArrivalDate = estimatedArrivalDate;
    }

    public Date getEstimatedDeliveryDate() {
        return estimatedDeliveryDate;
    }

    public void setEstimatedDeliveryDate(Date estimatedDeliveryDate) {
        this.estimatedDeliveryDate = estimatedDeliveryDate;
    }

    @Override
    public CostingDTO getInvoiceCostingDTO() {
        return null;
    }

    public long getTotalNumberOfProducts() {
        return totalNumberOfProducts;
    }

    public void setTotalNumberOfProducts(long totalNumberOfProducts) {
        this.totalNumberOfProducts = totalNumberOfProducts;
    }

    public BigDecimal getTotalDirectCosts() {
        return totalDirectCosts;
    }

    public void setTotalDirectCosts(BigDecimal totalDirectCosts) {
        this.totalDirectCosts = totalDirectCosts;
    }
}