ContainersAvailNotDelivToFDSearch.java

package com.tradecloud.dto.container;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.domain.base.utils.ObjectUtil;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.shipment.ShipmentState;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.party.Employee;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.domain.place.FinalDestination;
import com.tradecloud.domain.place.PlaceOfDischarge;
import com.tradecloud.domain.place.PlaceOfLoading;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.util.Collection;
import java.util.Date;
import java.util.List;

/**
 * Containers available not delivered to Final Destination.
 */
@Component
@Scope("view")
public class ContainersAvailNotDelivToFDSearch extends SearchBase {

    protected ServiceProvider clearingAgent;
    protected ServiceProvider transporter;

    private Date pickupDateFrom;

    private Date pickupDateTo;

    private Date shipmentCreatedFrom;

    private Date shipmentCreatedTo;

    private OrganisationalUnitSupplier supplier;

    protected OrganisationalUnit organisationalUnit;

    protected ShippingMode shippingMode;

    protected ServiceProvider freightForwarder;

    private String shippingReference;

    private Date estArrivalDateAtPlaceOfDischargeTo;

    private Date estArrivalDateAtPlaceOfDischargeFrom;
    private boolean goodsReceived = Boolean.FALSE;
    private Date goodsReceivedDateFrom;
    private Date goodsReceivedDateTo;

    private PlaceOfLoading placeOfLoading;

    private PlaceOfDischarge placeOfDischarge;

    private String orderReference;

    private Employee buyer;

    private Date requiredOnSiteDateFrom;
    private Date requiredOnSiteDateTo;

    private OrganisationalUnit division;
    private List<OrganisationalUnit> organisationalUnitList;

    protected ShipmentState state;

    private Date shippedOnBoardDateFrom;
    private Date shippedOnBoardDateTo;
    private List<FinalDestination> finalDestinationList;

    private List<String> orderReferences;

    private boolean clearingIntegrationEnabled;

    private DateRange billOfLadingDate = new DateRange();
    private DateRange actualDepartureDate = new DateRange();

    public Date getRequiredOnSiteDateFrom() {
        return requiredOnSiteDateFrom;
    }

    public void setRequiredOnSiteDateFrom(Date requiredOnSiteDateFrom) {
        this.requiredOnSiteDateFrom = requiredOnSiteDateFrom;
    }

    public Date getRequiredOnSiteDateTo() {
        return requiredOnSiteDateTo;
    }

    public void setRequiredOnSiteDateTo(Date requiredOnSiteDateTo) {
        this.requiredOnSiteDateTo = requiredOnSiteDateTo;
    }

    public OrganisationalUnit getDivision() {
        return division;
    }

    public void setDivision(OrganisationalUnit division) {
        this.division = division;
    }

    public Employee getBuyer() {
        return buyer;
    }

    public void setBuyer(Employee buyer) {
        this.buyer = buyer;
    }

    public String getOrderReference() {
        return orderReference;
    }

    public void setOrderReference(String orderReference) {
        this.orderReference = orderReference;
    }

    public Date getGoodsReceivedDateFrom() {
        return goodsReceivedDateFrom;
    }

    public void setGoodsReceivedDateFrom(Date goodsReceivedDateFrom) {
        this.goodsReceivedDateFrom = goodsReceivedDateFrom;
    }

    public Date getGoodsReceivedDateTo() {
        return goodsReceivedDateTo;
    }

    public void setGoodsReceivedDateTo(Date goodsReceivedDateTo) {
        this.goodsReceivedDateTo = goodsReceivedDateTo;
    }

    public PlaceOfLoading getPlaceOfLoading() {
        return placeOfLoading;
    }

    public void setPlaceOfLoading(PlaceOfLoading placeOfLoading) {
        this.placeOfLoading = placeOfLoading;
    }

    public PlaceOfDischarge getPlaceOfDischarge() {
        return placeOfDischarge;
    }

    public void setPlaceOfDischarge(PlaceOfDischarge placeOfDischarge) {
        this.placeOfDischarge = placeOfDischarge;
    }

    public Date getEstArrivalDateAtPlaceOfDischargeTo() {
        return estArrivalDateAtPlaceOfDischargeTo;
    }

    public void setEstArrivalDateAtPlaceOfDischargeTo(Date estArrivalDateAtPlaceOfDischargeTo) {
        this.estArrivalDateAtPlaceOfDischargeTo = estArrivalDateAtPlaceOfDischargeTo;
    }

    public Date getEstArrivalDateAtPlaceOfDischargeFrom() {
        return estArrivalDateAtPlaceOfDischargeFrom;
    }

    public void setEstArrivalDateAtPlaceOfDischargeFrom(Date estArrivalDateAtPlaceOfDischargeFrom) {
        this.estArrivalDateAtPlaceOfDischargeFrom = estArrivalDateAtPlaceOfDischargeFrom;
    }

    public ServiceProvider getClearingAgent() {
        return clearingAgent;
    }

    public void setClearingAgent(ServiceProvider clearingAgent) {
        this.clearingAgent = clearingAgent;
    }

    public ServiceProvider getTransporter() {
        return transporter;
    }

    public void setTransporter(ServiceProvider transporter) {
        this.transporter = transporter;
    }

    public Date getPickupDateFrom() {
        return pickupDateFrom;
    }

    public void setPickupDateFrom(Date pickupDateFrom) {
        this.pickupDateFrom = pickupDateFrom;
    }

    public Date getPickupDateTo() {
        return pickupDateTo;
    }

    public void setPickupDateTo(Date pickupDateTo) {
        this.pickupDateTo = pickupDateTo;
    }

    public Date getShipmentCreatedFrom() {
        return shipmentCreatedFrom;
    }

    public void setShipmentCreatedFrom(Date shipmentCreatedFrom) {
        this.shipmentCreatedFrom = shipmentCreatedFrom;
    }

    public Date getShipmentCreatedTo() {
        return shipmentCreatedTo;
    }

    public void setShipmentCreatedTo(Date shipmentCreatedTo) {
        this.shipmentCreatedTo = shipmentCreatedTo;
    }

    public OrganisationalUnitSupplier getSupplier() {
        return supplier;
    }

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

    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

    public void setOrganisationalUnit(OrganisationalUnit organisationalUnit) {
        this.organisationalUnit = organisationalUnit;
    }

    public ShippingMode getShippingMode() {
        return shippingMode;
    }

    public void setShippingMode(ShippingMode shippingMode) {
        this.shippingMode = shippingMode;
    }

    public ServiceProvider getFreightForwarder() {
        return freightForwarder;
    }

    public void setFreightForwarder(ServiceProvider freightForwarder) {
        this.freightForwarder = freightForwarder;
    }

    public String getShippingReference() {
        return shippingReference;
    }

    public void setShippingReference(String shippingReference) {
        this.shippingReference = shippingReference;
    }

    public ShipmentState getState() {
        return state;
    }

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

    @Override
    public String getTableName() {
        return "PurchaseOrder";
    }

    public boolean isGoodsReceived() {
        return goodsReceived;
    }

    public void setGoodsReceived(boolean goodsReceived) {
        this.goodsReceived = goodsReceived;
    }

    @Override
    public boolean noSelectedOrgUnit() {
        return ObjectUtil.allNull(organisationalUnit,organisationalUnitList);
    }

    public Date getShippedOnBoardDateFrom() {
        return shippedOnBoardDateFrom;
    }

    public void setShippedOnBoardDateFrom(Date shippedOnBoardDateFrom) {
        this.shippedOnBoardDateFrom = shippedOnBoardDateFrom;
    }

    public Date getShippedOnBoardDateTo() {
        return shippedOnBoardDateTo;
    }

    public void setShippedOnBoardDateTo(Date shippedOnBoardDateTo) {
        this.shippedOnBoardDateTo = shippedOnBoardDateTo;
    }

    public List<FinalDestination> getFinalDestinationList() {
        return finalDestinationList;
    }

    public void setFinalDestinationList(List<FinalDestination> finalDestinationList) {
        this.finalDestinationList = finalDestinationList;
    }

    public List<String> getOrderReferences() {
        return orderReferences;
    }

    public void setOrderReferences(List<String> orderReferences) {
        this.orderReferences = orderReferences;
    }

    public boolean isClearingIntegrationEnabled() {
        return clearingIntegrationEnabled;
    }

    public void setClearingIntegrationEnabled(boolean clearingIntegrationEnabled) {
        this.clearingIntegrationEnabled = clearingIntegrationEnabled;
    }

    public DateRange getBillOfLadingDate() {
        return billOfLadingDate;
    }

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

    public DateRange getActualDepartureDate() {
        return actualDepartureDate;
    }

    public void setActualDepartureDate(DateRange actualDepartureDate) {
        this.actualDepartureDate = actualDepartureDate;
    }

    public List<OrganisationalUnit> getOrganisationalUnitList() {
        return organisationalUnitList;
    }

    public void setOrganisationalUnitList(List<OrganisationalUnit> organisationalUnitList) {
        this.organisationalUnitList = organisationalUnitList;
    }

    @Override
    public void setOrganisationalUnits2(List<OrganisationalUnit> organisationalUnits) {
        setOrganisationalUnitList(organisationalUnits);

    }

    @Override
    public Collection<OrganisationalUnit> getOrganisationalUnits2() {
        return getOrganisationalUnitList();
    }

    public void setOrganisationalUnit2(OrganisationalUnit organisationalUnit) {
        setOrganisationalUnit(organisationalUnit);
    }
}