Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r37808 -r37821 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 37808) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 37821) @@ -6288,6 +6288,7 @@ "未入筐物品查询时间:" + (afterWithoutReviewedBasket - startTime) + "ms,入筐物品查询时间:" + (afterInReviewedBasket - afterWithoutReviewedBasket) + "ms,后台运算时间:" + (new Date().getTime() - afterInReviewedBasket) + "ms"); + sortSterilizationGoods(jsonArray); return jsonArray; } //循环每一个篮筐 @@ -6396,37 +6397,7 @@ for (Entry object : cMap.entrySet()) { tousseInBasketArray.add(object.getValue()); } - tousseInBasketArray.sort(new Comparator() { - @Override - public int compare(JSONObject o1, JSONObject o2) { - int gradeComparison = Integer.compare(o2.getInt("urgentGrade"), o1.getInt("urgentGrade")); - if (gradeComparison != 0) { - return gradeComparison; - } - // 如果加急等级相同,则按科室排序(升序) - String o1Depart = o1.optString("depart"); - if(StringUtils.isBlank(o1Depart)){ - o1Depart = ""; - } - String o2Depart = o2.optString("depart"); - if(StringUtils.isBlank(o2Depart)){ - o2Depart = ""; - } - int departReuslt = o1Depart.compareTo(o2Depart); - if (departReuslt != 0) { - return departReuslt; - } - String o1Barcode = o1.optString("barcode"); - if(StringUtils.isBlank(o1Barcode)){ - o1Barcode = ""; - } - String o2Barcode = o2.optString("barcode"); - if(StringUtils.isBlank(o2Barcode)){ - o2Barcode = ""; - } - return o1Barcode.compareTo(o2Barcode); - } - }); + sortSterilizationGoodsOfTousseInBasketArray(tousseInBasketArray); jsonObj.put("children", tousseInBasketArray); //只要有一个包加急,篮筐就显示加急 //获取器械包中最高的加急等级,默认加急等级为0,便于排序 @@ -6446,37 +6417,7 @@ jsonArray.add(jsonObj); } - jsonArray.sort(new Comparator() { - @Override - public int compare(JSONObject o1, JSONObject o2) { - int gradeComparison = Integer.compare(o2.getInt("maxUrgentGrade"), o1.getInt("maxUrgentGrade")); - if (gradeComparison != 0) { - return gradeComparison; - } - // 如果加急等级相同,则按科室排序(升序) - String o1Depart = o1.optString("depart"); - if(StringUtils.isBlank(o1Depart)){ - o1Depart = ""; - } - String o2Depart = o2.optString("depart"); - if(StringUtils.isBlank(o2Depart)){ - o2Depart = ""; - } - int departReuslt = o1Depart.compareTo(o2Depart); - if (departReuslt != 0) { - return departReuslt; - } - String o1Barcode = o1.optString("barcode"); - if(StringUtils.isBlank(o1Barcode)){ - o1Barcode = ""; - } - String o2Barcode = o2.optString("barcode"); - if(StringUtils.isBlank(o2Barcode)){ - o2Barcode = ""; - } - return o1Barcode.compareTo(o2Barcode); - } - }); + sortSterilizationGoods(jsonArray); // Collections.sort(jsonArray, ); appLogManager.saveLog(AcegiHelper.getLoginUser(), Log.MODEL_STERILIZATION, Log.TYPE_QUERY, "未入筐物品查询时间:" + (afterWithoutReviewedBasket - startTime) @@ -6559,6 +6500,82 @@ // } // return jsonArray; } + /** + * 对灭菌篮筐内的物品排序 + * @param jsonArray + */ + @SuppressWarnings("unchecked") + private void sortSterilizationGoodsOfTousseInBasketArray(JSONArray tousseInBasketArray){ + tousseInBasketArray.sort(new Comparator() { + @Override + public int compare(JSONObject o1, JSONObject o2) { + int gradeComparison = Integer.compare(o2.getInt("urgentGrade"), o1.getInt("urgentGrade")); + if (gradeComparison != 0) { + return gradeComparison; + } + // 如果加急等级相同,则按科室排序(升序) + String o1Depart = o1.optString("depart"); + if(StringUtils.isBlank(o1Depart)){ + o1Depart = ""; + } + String o2Depart = o2.optString("depart"); + if(StringUtils.isBlank(o2Depart)){ + o2Depart = ""; + } + int departReuslt = o1Depart.compareTo(o2Depart); + if (departReuslt != 0) { + return departReuslt; + } + String o1Barcode = o1.optString("barcode"); + if(StringUtils.isBlank(o1Barcode)){ + o1Barcode = ""; + } + String o2Barcode = o2.optString("barcode"); + if(StringUtils.isBlank(o2Barcode)){ + o2Barcode = ""; + } + return o1Barcode.compareTo(o2Barcode); + } + }); + } + /** + * 对灭菌物品排序 + * @param jsonArray + */ + @SuppressWarnings("unchecked") + private void sortSterilizationGoods(JSONArray jsonArray){ + jsonArray.sort(new Comparator() { + @Override + public int compare(JSONObject o1, JSONObject o2) { + int gradeComparison = Integer.compare(o2.getInt("maxUrgentGrade"), o1.getInt("maxUrgentGrade")); + if (gradeComparison != 0) { + return gradeComparison; + } + // 如果加急等级相同,则按科室排序(升序) + String o1Depart = o1.optString("depart"); + if(StringUtils.isBlank(o1Depart)){ + o1Depart = ""; + } + String o2Depart = o2.optString("depart"); + if(StringUtils.isBlank(o2Depart)){ + o2Depart = ""; + } + int departReuslt = o1Depart.compareTo(o2Depart); + if (departReuslt != 0) { + return departReuslt; + } + String o1Barcode = o1.optString("barcode"); + if(StringUtils.isBlank(o1Barcode)){ + o1Barcode = ""; + } + String o2Barcode = o2.optString("barcode"); + if(StringUtils.isBlank(o2Barcode)){ + o2Barcode = ""; + } + return o1Barcode.compareTo(o2Barcode); + } + }); + } private Set getTdIdIsTraceable(List reviewedBasketList, List tousseAllForReviewedBasket){ Set tdIdIsTraceable = new HashSet(); //循环每一个篮筐