Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r20940 -r21145 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 20940) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 21145) @@ -11,6 +11,7 @@ import java.util.Date; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -663,13 +664,51 @@ sqlCondition.put("condition" ,sql); } + String orderColumnSqlByConfig = ""; + //查询待灭菌器械包数据默认排序方式:配置格式为:{"排序字段1","asc(升序,空也为升序)或desc(降序)"}...,{"排序字段3","asc(升序)或desc(降序)"} + String waitSterilizedTousseInstanceDefaultSortOrder = CssdUtils.getSystemSetConfigByName("waitSterilizedTousseInstanceDefaultSortOrder"); + if(StringUtils.isNotBlank(waitSterilizedTousseInstanceDefaultSortOrder)){ + try{ + JSONObject jsonObject = JSONObject.fromObject(waitSterilizedTousseInstanceDefaultSortOrder); + Iterator keys = jsonObject.keys(); + if(keys != null){ + while (keys.hasNext()) { + String columnName = keys.next(); + String order = jsonObject.optString(columnName); + //如果是按审核时间排序 + if("reviewTime".equalsIgnoreCase(columnName)){ + if(StringUtils.isNotBlank(orderColumnSqlByConfig)){ + orderColumnSqlByConfig += ","; + }else{ + orderColumnSqlByConfig += "reviewTime " + order; + } + } + + //如果是按科室排序 + if("depart".equalsIgnoreCase(columnName)){ + if(StringUtils.isNotBlank(orderColumnSqlByConfig)){ + orderColumnSqlByConfig += ","; + }else{ + orderColumnSqlByConfig += "depart " + order; + } + } + } + } + }catch(Exception e){ + e.printStackTrace(); + } + } @SuppressWarnings("unchecked") List list = null; + //如果有分页的参数(比如灭菌装载的待灭菌装载grid的数据源action有调用),则 if(StringUtils.isNumeric(start) && StringUtils.isNumeric(limit)){ + String defaultOrderColumnSql = StringUtils.isBlank(orderColumnSqlByConfig) ? "barcode desc" : orderColumnSqlByConfig; list = objectDao.findBySql( - TousseInstance.class.getSimpleName(), sql,Integer.parseInt(start) , Integer.parseInt(limit),"barcode desc"); + TousseInstance.class.getSimpleName(), sql,Integer.parseInt(start) , Integer.parseInt(limit),defaultOrderColumnSql); }else{ - list = objectDao.findBySql(TousseInstance.class.getSimpleName(), sql, 0, 0, "depart"); + String defaultOrderColumnSql = StringUtils.isBlank(orderColumnSqlByConfig) ? "depart" : orderColumnSqlByConfig; + //不分页时,比如添加灭菌记录的窗口的待灭菌树型grid数据源请求 + list = objectDao.findBySql(TousseInstance.class.getSimpleName(), sql, 0, 0, defaultOrderColumnSql); } return list; } Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r21137 -r21145 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 21137) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 21145) @@ -924,7 +924,10 @@ List vos = tousseInstanceManager .getTousseInstanceVOsInReviewedBasket(basket, taskGroup, null); //对包实例的集合进行排序(排序处理逻辑参见TousseSimpleVO类的compareTo方法) - Collections.sort(vos); + String waitSterilizedTousseInstanceDefaultSortOrder = CssdUtils.getSystemSetConfigByName("waitSterilizedTousseInstanceDefaultSortOrder"); + if(StringUtils.isNotBlank(waitSterilizedTousseInstanceDefaultSortOrder)){ + Collections.sort(vos); + } JSONObject basketObj = new JSONObject(); basketObj.put("objName", container.getContainerName()); basketObj.put("objBarcode", container.getBarcode());