Rebel117 发表于 2014-10-19 14:40:20

列表页面字段使用数值范围搜索报错bug

本帖最后由 Rebel117 于 2014-10-19 14:41 编辑

在列表页面使用
<t:dgCol title="数量" field="shuliang"query="true" queryMode="group"></t:dgCol>
类似这种范围搜索,如果输入范围是类似1-1.5这样的,那么会报错,因为在
src/main/java/org/jeecgframework/core/extend/hqlsearch/parse/impl/BigDecimalParseImpl.java
中第30行中的addCriteria方法第二个判断public void addCriteria(CriteriaQuery cq, String name, Object value,
                        String beginValue, String endValue) {
                if (HqlGenerateUtil.isNotEmpty(beginValue)) {
                        cq.ge(name,
                                        beginValue.contains(".") ? BigDecimal
                                                      .valueOf(Double.parseDouble(beginValue))
                                                      : BigDecimal.valueOf(Long
                                                                        .parseLong(beginValue)));
                }
                if (HqlGenerateUtil.isNotEmpty(endValue)) {
                        cq.le(name,
                                     //这里应该是endValue.contains(".")
                                     beginValue.contains(".") ? BigDecimal
                                                      .valueOf(Double.parseDouble(endValue))
                                                      : BigDecimal.valueOf(Long
                                                                        .parseLong(endValue)));
                }
                if (HqlGenerateUtil.isNotEmpty(value)) {
                        cq.eq(name, value);
                }
      }
页: [1]
查看完整版本: 列表页面字段使用数值范围搜索报错bug