jeecg 3.7 解決Double 類型範圍查詢出現類型轉換問題

在使用jeecg3.7時,爲了實現表單的範圍查詢,發現使用Double類型的數據時,出現了類型轉換問題,通過查詢資料和斷點,在工具類HqlGenerateUtil中的installHqlJoinAlias方法中發現,在組合查詢條件過程中,對Integer、BigDecimal、Short、Long、Float進行判斷,並將Objecg類型轉換爲該類型,唯獨缺少對Double類型的判斷,在這裏只要仿照其餘類型,添加上對Double的判斷即可解決之一問題。

java

                    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);
                        //少寫了一個double
                    } else if("class java.lang.Double".equals(type)) {
                        if(!"".equals(beginValue)&&null!=beginValue)
                            beginValue_ = Double.parseDouble(beginValue);
                        if(!"".equals(endValue)&&null!=endValue)
                            endValue_ = Double.parseDouble(endValue);
                    } else{
                         beginValue_ = beginValue;
                         endValue_ = endValue;
                    }
                    ObjectParseUtil.addCriteria(cq, aliasName,
                            HqlRuleEnum.GE, beginValue_);
                    ObjectParseUtil.addCriteria(cq, aliasName,
                            HqlRuleEnum.LE, endValue_);

“`

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章