Index: ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java =================================================================== diff -u -r18467 -r18805 --- ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 18467) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 18805) @@ -797,12 +797,25 @@ String temFilterSql = "po." + filedName; - // TODO:还要考虑list的情况 - if ("string".equals(type) || comparison == null) { + if ("list".equals(type)) { String temFilterSql1 = ""; if(value.indexOf(",") >=0){ String[] split = value.split(","); + List inElementList = new ArrayList(); for(String tempValue : split){ + inElementList.add("'" + tempValue + "'"); + } + temFilterSql1 += temFilterSql+" in (" + StringUtils.join(inElementList, ",") + ")"; + }else{ + temFilterSql1 += temFilterSql+" = '" + value + "'"; + } + + temFilterSql = temFilterSql1; + } else if ("string".equals(type) || comparison == null) { + String temFilterSql1 = ""; + if(value.indexOf(",") >=0){ + String[] split = value.split(","); + for(String tempValue : split){ temFilterSql1 += temFilterSql+" like '%" + tempValue + "%' or "; } int index = temFilterSql1.lastIndexOf(" or "); @@ -811,7 +824,7 @@ temFilterSql1 += temFilterSql+" like '%" + value + "%'"; } - temFilterSql = temFilterSql1; + temFilterSql = "(" + temFilterSql1 + ")"; } else if ("date".equals(type)) { // temFilterSql += comparison + "'" + value + "'"; Pattern patterm = Pattern