Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java =================================================================== diff -u -r33911 -r33927 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 33911) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/TousseInstanceTableManager.java (.../TousseInstanceTableManager.java) (revision 33927) @@ -451,20 +451,29 @@ //加急级别查询 //ZJYY-100 器械包信息模块的查询项新增扩展项【加急级别】和【影像记录】 String urgentLevel = sqlWhereParamMap.get("urgentLevel"); - if(StringUtils.isNotBlank(urgentLevel) && expandColoumnsConfigIncludeFieldName("expandQueryFieldsConfigOfTousseInfoQuery", "urgentLevel")){ - if(StringUtils.contains(urgentLevel, "全部")){ - sqlBuilder.append(" AND po.urgentLevel is not null "); - }else{ - String[] urgentLevelIDArr = urgentLevel.split(","); - List urgentLevelIDList = new ArrayList(); - for (String idStr : urgentLevelIDArr) { - if(DatabaseUtil.isPoIdValid(idStr)){ - urgentLevelIDList.add(Long.valueOf(idStr)); - } + if(StringUtils.isNotBlank(urgentLevel) + && expandColoumnsConfigIncludeFieldName("expandQueryFieldsConfigOfTousseInfoQuery", "urgentLevel") + && urgentLevel.indexOf("全部") == -1){ + String noUrgentLevelSql = ""; + if(StringUtils.contains(urgentLevel, "无")){ + noUrgentLevelSql = " (po.urgentLevel is null) "; + } + String[] urgentLevelIDArr = urgentLevel.split(","); + List urgentLevelIDList = new ArrayList(); + for (String idStr : urgentLevelIDArr) { + if(DatabaseUtil.isPoIdValid(idStr)){ + urgentLevelIDList.add(Long.valueOf(idStr)); } + } + + if(StringUtils.isNotBlank(noUrgentLevelSql)){ if(CollectionUtils.isNotEmpty(urgentLevelIDList)){ - sqlBuilder.append(" AND " + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.urgentLevel.id", urgentLevelIDList)); + sqlBuilder.append(" AND (" + (SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.urgentLevel.id", urgentLevelIDList) + " or " + noUrgentLevelSql + ") ")); + }else{ + sqlBuilder.append(" AND " + noUrgentLevelSql); } + }else if(CollectionUtils.isNotEmpty(urgentLevelIDList)){ + sqlBuilder.append(" AND " + (SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.urgentLevel.id", urgentLevelIDList))); } }