Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r35255 -r35257 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 35255) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 35257) @@ -2597,7 +2597,7 @@ ResultSet rs = null; String orderBy = buildTousseDefinitionSearchOrderBy(keyword, "po"); String strlen = sqlFunctionsAdapter.strlen("po.name"); - String querySql = String.format("select distinct %s,id, name from %s po %s", strlen, TousseDefinition.class.getSimpleName() ,sql+orderBy); + String querySql = String.format("select %s,id, name from %s po %s", strlen, TousseDefinition.class.getSimpleName() ,sql+orderBy); try { rs = objectDao.executeSql(querySql); while(rs.next()){ @@ -6168,14 +6168,20 @@ }else{ spellSql = ""; } - String sql = String.format("select distinct name from TousseDefinition po where 1=1 %s %s ", tousseTypeSql,spellSql); + String sql = String.format("select name from TousseDefinition po where 1=1 %s %s ", tousseTypeSql,spellSql); sql += buildTousseDefinitionSearchOrderBy(spell, "po"); JSONArray arr = new JSONArray(); ResultSet rs = null; try { rs = objectDao.executeSql(sql); + //受排序规则影响 不能用distinct name,使用set排重 + Set readed = new HashSet(); while(rs.next()){ String name = rs.getString("name"); + if(readed.contains(name)){ + continue; + } + readed.add(name); JSONObject obj = new JSONObject(); obj.put("name", name); arr.add(obj);