修改jeecg3.5源码从而支持数字类型区间查询
包:package org.jeecgframework.core.extend.hqlsearch;类:public class HqlGenerateUtil {
方法:private static void installHqlJoinAlias(CriteriaQuery cq, Object searchObj, Map<String, TSDataRule> ruleMap,
Map<String, String[]> parameterMap, String alias)
修改源码如下142行:
} else if (parameterMap != null) {
//支持所有类型数据
Object beginValue_=null , endValue_ =null;
if ("class java.lang.Integer".equals(type)) {
if(!"".equals(beginValue)&&null!=beginValue)
beginValue_ = Integer.parseInt(beginValue);
if(!"".equals(endValue)&&null!=endValue)
endValue_ =Integer.parseInt(endValue);
} else if ("class java.math.BigDecimal".equals(type)) {
if(!"".equals(beginValue)&&null!=beginValue)
beginValue_ = new BigDecimal(beginValue);
if(!"".equals(endValue)&&null!=endValue)
endValue_ = new BigDecimal(endValue);
} else if ("class java.lang.Short".equals(type)) {
if(!"".equals(beginValue)&&null!=beginValue)
beginValue_ =Short.parseShort(beginValue);
if(!"".equals(endValue)&&null!=endValue)
endValue_ =Short.parseShort(endValue);
} else if ("class java.lang.Long".equals(type)) {
if(!"".equals(beginValue)&&null!=beginValue)
beginValue_ = Long.parseLong(beginValue);
if(!"".equals(endValue)&&null!=endValue)
endValue_ =Long.parseLong(endValue);
} else if ("class java.lang.Float".equals(type)) {
if(!"".equals(beginValue)&&null!=beginValue)
beginValue_ = Float.parseFloat(beginValue);
if(!"".equals(endValue)&&null!=endValue)
endValue_ =Float.parseFloat(endValue);
}else{
beginValue_ = beginValue;
endValue_ = endValue;
}
ObjectParseUtil.addCriteria(cq, aliasName,
HqlRuleEnum.GE, beginValue_);
ObjectParseUtil.addCriteria(cq, aliasName,
HqlRuleEnum.LE, endValue_);
}
页:
[1]