InvoiceSearchDTO.java

package com.tradecloud.dto.api.invoice;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.dto.api.SearchDTO;
import io.swagger.annotations.ApiModel;

import java.util.List;

@ApiModel(description = "Invoice Search Model")
public class InvoiceSearchDTO extends SearchDTO {

    private String invoiceType;
    @JsonPropertyDescription(value = "applies if invoiceType is provided")
    private String creditor;
    private String reference;
    private String invoiceNumber;
    private String state;
    private DateRange createdDate = new DateRange();
    @JsonPropertyDescription(value = "applies only to commercial invoice,if provided search results will be based only on commercial invoice")
    private DateRange settlementDate = new DateRange();
    private List<String> organisations;
    private String orderBy;

    private String shipmentReference;
    private String currency;
    private DateRange documentDate = new DateRange();
    private Boolean withSubShipments;
    private Boolean includeLinkedToCompleteShipments;

    public Boolean getIncludeLinkedToCompleteShipments() {
        return includeLinkedToCompleteShipments;
    }

    public void setIncludeLinkedToCompleteShipments(Boolean includeLinkedToCompleteShipments) {
        this.includeLinkedToCompleteShipments = includeLinkedToCompleteShipments;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getShipmentReference() {
        return shipmentReference;
    }

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

    public Boolean getWithSubShipments() {
        return withSubShipments;
    }

    public void setWithSubShipments(Boolean withSubShipments) {
        this.withSubShipments = withSubShipments;
    }

    public String getInvoiceType() {
        return invoiceType;
    }

    public void setInvoiceType(String invoiceType) {
        this.invoiceType = invoiceType;
    }

    public String getCreditor() {
        return creditor;
    }

    public void setCreditor(String creditor) {
        this.creditor = creditor;
    }

    public String getReference() {
        return reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public DateRange getDocumentDate() {
        return documentDate;
    }

    public void setDocumentDate(DateRange documentDate) {
        this.documentDate = documentDate;
    }

    public DateRange getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(DateRange createdDate) {
        this.createdDate = createdDate;
    }

    public List<String> getOrganisations() {
        return organisations;
    }

    public void setOrganisations(List<String> organisations) {
        this.organisations = organisations;
    }

    public String getOrderBy() {
        return orderBy;
    }

    public void setOrderBy(String orderBy) {
        this.orderBy = orderBy;
    }

    public String getInvoiceNumber() {
        return invoiceNumber;
    }

    public void setInvoiceNumber(String invoiceNumber) {
        this.invoiceNumber = invoiceNumber;
    }

    public DateRange getSettlementDate() {
        return settlementDate;
    }

    public void setSettlementDate(DateRange settlementDate) {
        this.settlementDate = settlementDate;
    }
}