GlcAlcVarianceReportSearch.java

package com.tradecloud.dto.invoice;

import com.tradecloud.domain.base.utils.DateRange;
import com.tradecloud.domain.base.utils.ObjectUtil;
import com.tradecloud.domain.costing.clean.ActualCostSummary;
import com.tradecloud.domain.dto.base.SearchBase;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.party.Employee;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 *
 * @author jonwork
 */
@Component
@Scope("view")
public class GlcAlcVarianceReportSearch extends SearchBase implements Serializable {

    // Don't like this. But can generate the report/s in one of two ways.
    // Supply the summary, and you get the corresponding report, or supply search params
    // and get all that meet the criteria
    private ActualCostSummary actualCostSummary;
    private OrganisationalUnit organisationalUnit;
    private OrganisationalUnitSupplier organisationalUnitSupplier;
    private final DateRange createDateRange = new DateRange();
    private final DateRange signOffDateRange = new DateRange();
    private final DateRange goodsReceivedDateRange = new DateRange();
    private final DateRange requiredOnSiteDateRange = new DateRange();
    private ShippingMode shippingMode;
    private Employee buyer;
    private String OrderReference;
    private boolean includeItems = true;

    private List<OrganisationalUnit> organisationalUnitList;

    public GlcAlcVarianceReportSearch() {
    }

    public GlcAlcVarianceReportSearch(ActualCostSummary actualCostSummary) {
        this.actualCostSummary = actualCostSummary;
    }

    /**
     * @return the actualCostSummary
     */
    public ActualCostSummary getActualCostSummary() {
        return actualCostSummary;
    }

    /**
     * @param actualCostSummary the actualCostSummary to set
     */
    public void setActualCostSummary(ActualCostSummary actualCostSummary) {
        this.actualCostSummary = actualCostSummary;
    }

    /**
     * @return the createDateRange
     */
    public DateRange getCreateDateRange() {
        return createDateRange;
    }

    /**
     * @return the signOffDateRange
     */
    public DateRange getSignOffDateRange() {
        return signOffDateRange;
    }

    /**
     * @return the organisationalUnit
     */
    public OrganisationalUnit getOrganisationalUnit() {
        return organisationalUnit;
    }

    /**
     * @param organisationalUnit the organisationalUnit to set
     */
    public void setOrganisationalUnit(OrganisationalUnit organisationalUnit) {
        this.organisationalUnit = organisationalUnit;
    }

    /**
     * @return the organisationalUnitSupplier
     */
    public OrganisationalUnitSupplier getOrganisationalUnitSupplier() {
        return organisationalUnitSupplier;
    }

    /**
     * @param organisationalUnitSupplier the organisationalUnitSupplier to set
     */
    public void setOrganisationalUnitSupplier(OrganisationalUnitSupplier organisationalUnitSupplier) {
        this.organisationalUnitSupplier = organisationalUnitSupplier;
    }

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

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

    public ShippingMode getShippingMode() {
        return shippingMode;
    }

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

    public Employee getBuyer() {
        return buyer;
    }

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

    public DateRange getGoodsReceivedDateRange() {
        return goodsReceivedDateRange;
    }

    public DateRange getRequiredOnSiteDateRange() {
        return requiredOnSiteDateRange;
    }

    public String getOrderReference() {
        return OrderReference;
    }

    public void setOrderReference(String orderReference) {
        OrderReference = orderReference;
    }

    public boolean isIncludeItems() {
        return includeItems;
    }

    public void setIncludeItems(boolean includeItems) {
        this.includeItems = includeItems;
    }

    @Override
    public void setOrganisationalUnits2(List<OrganisationalUnit> organisationalUnits) {
        this.organisationalUnitList=organisationalUnits;
    }

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

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