Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r18592 -r18630 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 18592) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 18630) @@ -981,9 +981,11 @@ @Override public void voluntarilyUrgent(String department, List tousseItemJson, JSONArray urgentTousseItems, JSONObject params) { + //先把tousseItemJson里面的启用标识牌的器械包合并 + Collection tousseItemJsonTemp = mergeIdCardTousse(tousseItemJson); JSONArray voluntarilyUrgentItems = new JSONArray(); - if (tousseItemJson != null) { - for (JSONObject json : tousseItemJson) { + if (CollectionUtils.isNotEmpty(tousseItemJsonTemp)) { + for (JSONObject json : tousseItemJsonTemp) { Long tousseDefinitionID = json.optLong("tousseDefinitionID"); String tousseName = json.optString("tousseName"); String orgUnitCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); @@ -1047,6 +1049,36 @@ } /** + * 把tousseItemJson里面的启用标识牌的器械包合并 + * @param tousseItemJson + * @return + */ + private Collection mergeIdCardTousse(List tousseItemJson) { + Map map = new HashMap(); + if (CollectionUtils.isNotEmpty(tousseItemJson)) { + for (JSONObject jsonObj : tousseItemJson) { + String tousseDefinitionID = jsonObj.optString("tousseDefinitionID"); + String tousseName = jsonObj.optString("tousseName"); + int amount = jsonObj.optInt("amount"); + if (StringTools.isNotBlank(tousseDefinitionID)) { + JSONObject temp = map.get(tousseDefinitionID); + if (temp == null) { + temp = new JSONObject(); + temp.put("tousseDefinitionID", tousseDefinitionID); + temp.put("tousseName", tousseName); + temp.put("amount", amount); + map.put(tousseDefinitionID, temp); + } else { + temp.put("amount", (temp.optInt("amount") + amount)); + } + } + } + } + Collection tousseItemJsonTemp = map.values(); + return tousseItemJsonTemp; + } + + /** * 已清洗完成或或清洗中篮筐修改后重新计算清洗工作量 * @param toReSetWorkloadMap */