Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java =================================================================== diff -u -r14674 -r21137 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 14674) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/vo/TousseSimpleVO.java (.../TousseSimpleVO.java) (revision 21137) @@ -1,14 +1,21 @@ package com.forgon.disinfectsystem.vo; -import com.forgon.disinfectsystem.vo.ItemDefinitionVO; +import java.util.Iterator; +import net.sf.json.JSONObject; + +import org.apache.commons.lang.StringUtils; + +import com.forgon.disinfectsystem.common.CssdUtils; + + /** * * @author Liu Jie * * Date:2014-10-29 */ -public class TousseSimpleVO { +public class TousseSimpleVO implements Comparable { private Long id; private String validUntil; private String sterilingType; @@ -148,6 +155,57 @@ public void setDepartCoding(String departCoding) { this.departCoding = departCoding; } - - + + @Override + public int compareTo(Object o) { + TousseSimpleVO vo = (TousseSimpleVO)o; + int compareResult = 0; + //灭菌管理的待灭菌器械包默认排序方式:配置格式为:{"排序字段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()) { + if(compareResult != 0){ + return compareResult; + } + String columnName = keys.next(); + String order = jsonObject.optString(columnName); + //如果是按审核时间排序 + if("reviewTime".equalsIgnoreCase(columnName)){ + if("desc".equalsIgnoreCase(order)){ + compareResult = vo.getReviewTime().compareTo(this.getReviewTime()); + }else{ + compareResult = this.getReviewTime().compareTo(vo.getReviewTime()); + } + } + + if(compareResult != 0){ + return compareResult; + } + + //如果是按科室排序 + if("depart".equalsIgnoreCase(columnName)){ + if("desc".equalsIgnoreCase(order)){ + compareResult = vo.getDepart().compareTo(this.getDepart()); + }else{ + compareResult = this.getDepart().compareTo(vo.getDepart()); + } + } + + if(compareResult != 0){ + return compareResult; + } + } + } + }catch(Exception e){ + e.printStackTrace(); + return 0; + } + } + return compareResult; + } + } Index: ssts-web/src/main/webapp/disinfectsystem/config/fsfy/config.js =================================================================== diff -u -r21130 -r21137 --- ssts-web/src/main/webapp/disinfectsystem/config/fsfy/config.js (.../config.js) (revision 21130) +++ ssts-web/src/main/webapp/disinfectsystem/config/fsfy/config.js (.../config.js) (revision 21137) @@ -91,5 +91,7 @@ //只有装配完成才能使用清洗篮筐回收.默认为true recycleClassifyBasketAfterPacked:false, //回收的时候,添加的器械包是否在最后一行 - addTousseAtLastForRecycle:true + addTousseAtLastForRecycle:true, + //灭菌管理的待灭菌器械包默认排序方式(目前仅支持对depart与reviewTime字段排序,可配多个):配置格式为:{"排序字段1","asc(升序,空也为升序)或desc(降序)"},{"排序字段2","asc(升序)或desc(降序)"}....,{"排序字段3","asc(升序)或desc(降序)"} + waitSterilizedTousseInstanceDefaultSortOrder : {"reviewTime":"asc"} } \ No newline at end of file Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r20940 -r21137 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 20940) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 21137) @@ -923,7 +923,8 @@ Container container = basket.getContainer(); List vos = tousseInstanceManager .getTousseInstanceVOsInReviewedBasket(basket, taskGroup, null); - + //对包实例的集合进行排序(排序处理逻辑参见TousseSimpleVO类的compareTo方法) + Collections.sort(vos); JSONObject basketObj = new JSONObject(); basketObj.put("objName", container.getContainerName()); basketObj.put("objBarcode", container.getBarcode());