package biz.target;
|
|
import java.math.BigDecimal;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import foundation.data.entity.Entity;
|
import foundation.util.Util;
|
|
public class TargetPotentialType {
|
|
private String id;
|
private String name;
|
private BigDecimal increaseRate;
|
private List<TargetModelDetail> modelParam;
|
|
public TargetPotentialType() {}
|
|
public void load(Entity entity) throws Exception {
|
this.id = entity.getId();
|
this.name = entity.getString("title");
|
this.increaseRate = Util.toPercent(entity.getBigDecimal("target_rate_cal"));
|
this.modelParam = new ArrayList<TargetModelDetail>();
|
}
|
|
public boolean isValid(BigDecimal... values) {
|
boolean result = false;
|
BigDecimal value;
|
|
for (TargetModelDetail modelDetail : modelParam) {
|
int valueIndex = modelDetail.getValueIndex();
|
value = values[valueIndex];
|
result = modelDetail.isValid(value);
|
}
|
|
return result;
|
}
|
|
public void calculateModelLevel() {
|
//1. 默认值
|
increaseRate = new BigDecimal(0.05);
|
}
|
|
public void addOneModel(TargetModelDetail detail) {
|
modelParam.add(detail);
|
}
|
|
public void setIncreaseRate(BigDecimal increaseRate) {
|
this.increaseRate = increaseRate;
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public String getName() {
|
return name;
|
}
|
|
public BigDecimal getIncreaseRate() {
|
return increaseRate;
|
}
|
|
public List<TargetModelDetail> getModelParam() {
|
return modelParam;
|
}
|
}
|