关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、418799587 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 8826|回复: 0

修改jeecg3.5源码从而支持数字类型区间查询

[复制链接]
发表于 2015-12-22 15:22:17 | 显示全部楼层 |阅读模式
包: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_);
                                        }

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表