DemurragePreAlertSearch.java

package com.tradecloud.dto.demurrage;

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.party.ServiceProvider;
import com.tradecloud.domain.place.Depot;
import com.tradecloud.domain.place.PlaceOfDischarge;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

/**
 * https://connect.devstream.net/display/Dev/Overstay+and+Storage+Pre-Alert+Report.
 * https://connect.devstream.net/display/Dev/Detention+Pre-Alert+Report. Re-using this class for both Overstay and Storage, and Turn In. Could
 * probably do a class hierarchy, but it is just a DTO.
 */
@Component
@Scope("view")
public class DemurragePreAlertSearch extends SearchBase {

    private String containerReference;

    private String shipmentReference;

    private String shipmentNumber;

    private DateRange freePeriodEndDateRange = new DateRange();

    private ServiceProvider carrier;

    // Overstay and Storage only.
    private PlaceOfDischarge placeOfDischarge;

    private ServiceProvider clearingAgent;

    // Turn in only.
    private Depot turnInDepot;

    private OrganisationalUnit organisationalUnit;

    public String getContainerReference() {
        return containerReference;
    }

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

    public String getShipmentReference() {
        return shipmentReference;
    }

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

    public String getShipmentNumber() {
        return shipmentNumber;
    }

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

    public DateRange getFreePeriodEndDateRange() {
        return freePeriodEndDateRange;
    }

    public void setFreePeriodEndDateRange(DateRange freePeriodEndDateRange) {
        this.freePeriodEndDateRange = freePeriodEndDateRange;
    }

    public ServiceProvider getCarrier() {
        return carrier;
    }

    public void setCarrier(ServiceProvider carrier) {
        this.carrier = carrier;
    }

    public PlaceOfDischarge getPlaceOfDischarge() {
        return placeOfDischarge;
    }

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

    public Depot getTurnInDepot() {
        return turnInDepot;
    }

    public void setTurnInDepot(Depot turnInDepot) {
        this.turnInDepot = turnInDepot;
    }

    public ServiceProvider getClearingAgent() {
        return clearingAgent;
    }

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

    @Override
    public String getTableName() {
        return null;
    }

    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

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

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