package biz.target;
|
|
import java.math.BigDecimal;
|
|
import foundation.data.entity.Entity;
|
|
public class TargetModelDetail {
|
|
private String id;
|
private TargetModel targetModel;
|
private BigDecimal base;
|
private BigDecimal top;
|
private String unit;
|
private String remark;
|
private int valueIndex;
|
|
public TargetModelDetail(TargetModel targetModel) {
|
this.targetModel = targetModel;
|
}
|
|
public void load(Entity entity) throws Exception {
|
id = entity.getId();
|
BigDecimal exRate = targetModel.getExRate();
|
base = entity.getBigDecimal("left_step_level") ;
|
base = base == null ? null : exRate.multiply(base);
|
top = entity.getBigDecimal("right_step_level");
|
top = top == null ? null : exRate.multiply(top);
|
unit = entity.getString("unit");
|
remark = entity.getString("step_param_value");
|
|
parseValueIndex();
|
}
|
|
public void parseValueIndex() {
|
String parentId = targetModel.getId();
|
|
if ("s_increase".equals(parentId)) {
|
valueIndex = 0;
|
}
|
else if ("s_increase_amt".equals(parentId)) {
|
valueIndex = 1;
|
}
|
else if ("s_sale".equals(parentId)) {
|
valueIndex = 2;
|
}
|
else {
|
valueIndex = 2;
|
}
|
}
|
|
public boolean isValid(BigDecimal value) {
|
return overBase(value) && underTop(value);
|
}
|
|
public boolean overBase(BigDecimal value) {
|
if (base == null || base.compareTo(value) <= 0) {
|
return true;
|
}
|
|
return false;
|
}
|
|
public boolean underTop(BigDecimal value) {
|
if (top == null || top.compareTo(value) > 0) {
|
return true;
|
}
|
|
return false;
|
}
|
|
public String getId() {
|
return id;
|
}
|
|
public String getParentId() {
|
return targetModel.getId();
|
}
|
|
public BigDecimal getBase() {
|
return base;
|
}
|
|
public BigDecimal getTop() {
|
return top;
|
}
|
|
public String getUnit() {
|
return unit;
|
}
|
|
public String getRemark() {
|
return remark;
|
}
|
|
public int getValueIndex() {
|
return valueIndex;
|
}
|
|
}
|