Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java =================================================================== diff -u -r15439 -r15506 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 15439) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/foreignproxydisinfection/service/ForeignProxyDisinfectionManagerImpl.java (.../ForeignProxyDisinfectionManagerImpl.java) (revision 15506) @@ -60,6 +60,8 @@ import com.forgon.tools.json.JSONUtil; import com.forgon.tools.util.ForgonDateUtils; +import edu.emory.mathcs.backport.java.util.Collections; + /** * * @author qjw @@ -328,6 +330,7 @@ if(tousseList == null){ tousseList = new ArrayList(); } + Collections.sort(tousseList,TousseInstance.TousseInstanceBarcodeComparator); JSONArray tousseInstancesPrintInfo = buildTousseInstancesPrintInfo(tousseList, foreignProxyDisinfection); jsonObj.put("tousseList", tousseInstancesPrintInfo); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java =================================================================== diff -u -r15405 -r15506 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 15405) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseInstance.java (.../TousseInstance.java) (revision 15506) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition; import java.text.DateFormat; +import java.util.Comparator; import java.util.Date; import javax.persistence.Entity; @@ -17,6 +18,7 @@ import com.fasterxml.jackson.annotation.JsonFilter; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatch; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyDisinfection; import com.forgon.disinfectsystem.entity.sterilizationmanager.foreignproxydisinfection.ForeignProxyItem; import com.forgon.disinfectsystem.entity.sterilizationmanager.sterilizationrecord.SterilizationRecord; @@ -1057,4 +1059,21 @@ this.isRoutine = isRoutine; } + public static final Comparator TousseInstanceBarcodeComparator = new Comparator() { + @Override + public int compare(TousseInstance o1, TousseInstance o2) { + String b1 = o1.getBarcode(); + String b2 = o2.getBarcode(); + if (b1 == null && b2 == null) { + return 0; + } else if (b1 == null) { + return -1; + } else if (b2 == null) { + return 1; + } else { + return b1.compareTo(b2); + } + } + }; + } \ No newline at end of file