Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java =================================================================== diff -u -r31086 -r31438 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 31086) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 31438) @@ -77,10 +77,26 @@ tousseDefIdPrepareRecycleAmountMap = new HashMap(); } List tdIdList = new ArrayList(); + List tousseItemIdList = new ArrayList(); for (int i = 0; i < array.size(); i++) { JSONObject obj = array.optJSONObject(i); - tdIdList.add(obj.optLong("td_id")); + long tdId = obj.optLong("td_id"); + long tousseItemId = obj.optLong("id"); + if(DatabaseUtil.isPoIdValid(tousseItemId)){ + tousseItemIdList.add(tousseItemId); + }else if(DatabaseUtil.isPoIdValid(tdId)){ + tdIdList.add(tdId); + } } + Map idToTousseItemMap = new HashMap<>(); + if(CollectionUtils.isNotEmpty(tousseItemIdList)){ + List tousseItemList = tousseItemManager.getCollection(tousseItemIdList); + if(CollectionUtils.isNotEmpty(tousseItemList)){ + tousseItemList.stream().forEach(tousseItem -> { + idToTousseItemMap.put(tousseItem.getId(), tousseItem); + }); + } + } List tdList = tousseDefinitionManager.getCollection(tdIdList); Map idToTousseDefinitionMap = new HashMap<>(); tdList.stream().forEach(td -> { @@ -93,7 +109,7 @@ }); for (int i = 0; i < array.size(); i++) { JSONObject obj = array.optJSONObject(i); - String id = obj.optString("id"); + Long tousseItemId = obj.optLong("id"); //材料明细清单 String materialInstances = obj.optString("materialInstancesJsonArray"); JSONArray materialInstancesJsonArray = null; @@ -108,8 +124,9 @@ } } TousseItem item = null; - if(DatabaseUtil.isPoIdValid(id)){ - item = tousseItemManager.get(id); + if(DatabaseUtil.isPoIdValid(tousseItemId)){ + //item = tousseItemManager.get(id); + item = idToTousseItemMap.get(tousseItemId); } Integer prepareRecycleAmount = obj .optInt("prepareRecycleAmount");