|
|
@@ -208,6 +208,12 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
for(Map.Entry<Integer,FeeFactorInfoDto> entry : factorToBeVerified.entrySet()){
|
|
|
Integer key=entry.getKey();
|
|
|
FeeFactorInfoDto checkFactorInfo=entry.getValue();
|
|
|
+ //特殊处理,如果跟单是客车时,不关注配置的核定载质量字段
|
|
|
+ if("客车".equals(matchKeys[4])){
|
|
|
+ if(checkFactorInfo.getMatchSequence()==8){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ }
|
|
|
//先看该方案是否需要匹配该因子,不需要则跳过本条因子
|
|
|
if(!checkFactorInfo.isNeedMatch()){
|
|
|
continue;
|
|
|
@@ -245,9 +251,9 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
break;
|
|
|
}
|
|
|
}else if("3".equals(checkFactorInfo.getMatchType())){//3.区间范围比较(左闭右闭)
|
|
|
- if(matchKeys[key]!=null&&NumberUtils.isDigits(matchKeys[key])){
|
|
|
+ if(matchKeys[key]!=null&&NumberUtils.isCreatable(matchKeys[key])){
|
|
|
//如果需要匹配,且匹配成功,则跳过本次循环,继续校验下一因子
|
|
|
- if(Integer.parseInt(matchKeys[key])>=checkFactorInfo.getMinRangeVal()&&Integer.parseInt(matchKeys[key])<=checkFactorInfo.getMaxRangeVal()){
|
|
|
+ if(Double.parseDouble(matchKeys[key])>=checkFactorInfo.getMinRangeVal()&&Double.parseDouble(matchKeys[key])<=checkFactorInfo.getMaxRangeVal()){
|
|
|
result=true;
|
|
|
continue;
|
|
|
}else{
|
|
|
@@ -729,7 +735,7 @@ public class FeeRuleSchemeServiceImpl implements FeeRuleSchemeService {
|
|
|
String comlevel = "";
|
|
|
do{//循环操作
|
|
|
SysDept sysDeptTemp = sysDeptService.getById(parentId);
|
|
|
- if(StringUtils.isNotEmpty(sysDeptTemp.getParentId())){
|
|
|
+ if(sysDeptTemp!=null&&StringUtils.isNotEmpty(sysDeptTemp.getParentId())){
|
|
|
parentId = sysDeptTemp.getParentId();
|
|
|
}else{
|
|
|
break;
|