FreightRateSearch.java
package com.tradecloud.dto.rate;
import com.tradecloud.domain.container.ContainerType;
import com.tradecloud.domain.model.organisationalunit.OrganisationalUnit;
import com.tradecloud.domain.model.shipment.ShippingMode;
import com.tradecloud.domain.party.ServiceProvider;
import com.tradecloud.domain.place.Country;
import com.tradecloud.domain.place.PlaceOfDischarge;
import com.tradecloud.domain.place.PlaceOfLoading;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import java.math.BigDecimal;
@Component
@Scope("view")
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
public class FreightRateSearch extends RateSearch {
private static final long serialVersionUID = 1L;
private ShippingMode shippingMode;
private ShippingMode multiModalShippingMode;
private ContainerType containerType;
private PlaceOfLoading placeOfLoading;
private PlaceOfDischarge placeOfDischarge;
private ServiceProvider freightForwarder;
private ServiceProvider carrier;
private Country country;
private BigDecimal weight;
private BigDecimal weightFrom;
private BigDecimal weightTo;
private OrganisationalUnit company;
public FreightRateSearch(FreightRateSearch search) {
super(search);
this.shippingMode = search.shippingMode;
this.multiModalShippingMode = search.multiModalShippingMode;
this.containerType = search.containerType;
this.placeOfLoading = search.placeOfLoading;
this.placeOfDischarge = search.placeOfDischarge;
this.freightForwarder = search.freightForwarder;
this.carrier = search.carrier;
this.country = search.country;
this.organisationalUnit = search.organisationalUnit;
this.weight = search.weight;
this.company = search.company;
}
public ServiceProvider getFreightForwarder() {
return freightForwarder;
}
public void setFreightForwarder(ServiceProvider freightForwarder) {
this.freightForwarder = freightForwarder;
}
public ContainerType getContainerType() {
return containerType;
}
public void setContainerType(ContainerType containerType) {
this.containerType = containerType;
}
public ShippingMode getShippingMode() {
return shippingMode;
}
public void setShippingMode(ShippingMode shippingMode) {
this.shippingMode = shippingMode;
}
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 Country getCountry() {
return country;
}
public void setCountry(Country country) {
this.country = country;
}
@Override
public String toString() {
return super.toString() + " FreightRateSearch{" +
"shippingMode=" + shippingMode +
", containerType=" + containerType +
", company " + (company != null ? company.getName() : "null") +
", placeOfDischarge=" + placeOfDischarge +
", freightForwarder=" + freightForwarder +
", carrier=" + carrier +
", country=" + country +
", weight=" + weight +
",costCompareOnly:" + costCompareOnly +
",Business unit '" + (organisationalUnit != null ? organisationalUnit.getName() : null) +
'}';
/*", placeOfLoading=" + placeOfLoading +*/
}
public ServiceProvider getCarrier() {
return carrier;
}
public void setCarrier(ServiceProvider carrier) {
this.carrier = carrier;
}
@Override
public void reset() {
super.reset();
shippingMode = null;
multiModalShippingMode = null;
containerType = null;
placeOfLoading = null;
placeOfDischarge = null;
freightForwarder = null;
carrier = null;
country = null;
weight = null;
organisationalUnit = null;
company = null;
}
public BigDecimal getWeight() {
return weight;
}
public void setWeight(BigDecimal weight) {
this.weight = weight;
}
public BigDecimal getWeightFrom() {
return weightFrom;
}
public void setWeightFrom(BigDecimal weightFrom) {
this.weightFrom = weightFrom;
}
public BigDecimal getWeightTo() {
return weightTo;
}
public void setWeightTo(BigDecimal weightTo) {
this.weightTo = weightTo;
}
@Override
public int hashCode() {
return generate(getCostLine(), getCarrier(),
getContainerType(), getCountry(), getCostingType(), getCurrency(), getFreightForwarder(), getPlaceOfDischarge(), getPlaceOfLoading(),
getPlaceOfLoading(), getPriorityConfig(), getShippingMode(), getEffectiveDateLower(), getEffectiveDateUpper(),
getOrganisationalUnit(), getSearchMetaParams(), getRateUnit(), getWeight(), isCostCompareOnly(), getMultiModalShippingMode(), company);
}
}