AgentRateSearch.java
package com.tradecloud.dto.rate;
import com.tradecloud.domain.agent.Agent;
import com.tradecloud.domain.supplier.OrganisationalUnitSupplier;
import com.tradecloud.domain.supplier.Supplier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope("view")
public class AgentRateSearch extends RateSearch {
private Agent agent;
private Supplier supplier;
//not used in search, used to set supplier
private OrganisationalUnitSupplier organisationalUnitSupplier;
public AgentRateSearch() {
super();
}
public AgentRateSearch(AgentRateSearch agentRateSearch) {
super(agentRateSearch);
this.agent = agentRateSearch.agent;
this.organisationalUnit = agentRateSearch.organisationalUnit;
this.supplier = agentRateSearch.supplier;
this.organisationalUnitSupplier = agentRateSearch.organisationalUnitSupplier;
}
public Supplier getSupplier() {
return supplier;
}
public void setSupplier(Supplier supplier) {
this.supplier = supplier;
}
@Override
public String toString() {
return "Cost line '" + costLine + "'. " + "Business unit '" + (organisationalUnit != null ? organisationalUnit.getName() : null) + "'. "
+ "Division '" + "Supplier '" + (supplier != null ? supplier.getName() : null) + "'." + "Rate Type '" + costingType + "'. "
+ " costCompareOnly:" + costCompareOnly;
}
public OrganisationalUnitSupplier getOrganisationalUnitSupplier() {
return organisationalUnitSupplier;
}
public void setOrganisationalUnitSupplier(OrganisationalUnitSupplier organisationalUnitSupplier) {
this.organisationalUnitSupplier = organisationalUnitSupplier;
if (organisationalUnitSupplier != null)
supplier = organisationalUnitSupplier.getSupplier();
}
public Agent getAgent() {
return agent;
}
public void setAgent(Agent agent) {
this.agent = agent;
}
@Override
public void reset() {
super.reset();
agent = null;
organisationalUnit = null;
supplier = null;
organisationalUnitSupplier = null;
}
@Override
public int hashCode() {
return generate(getAgent(), getCurrency(), getCostLine(), getCostingType(), getEffectiveDateLower(), getEffectiveDateUpper(),
getOrganisationalUnit(), getPriorityConfig(), getSupplier(), getSearchMetaParams(), getRateUnit(), isCostCompareOnly());
}
}