Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java =================================================================== diff -u -r35742 -r35743 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 35742) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/PrepareRecycleTousseManagerImpl.java (.../PrepareRecycleTousseManagerImpl.java) (revision 35743) @@ -102,35 +102,24 @@ for (int i = 0; i < array.size(); i++) { JSONObject obj = array.optJSONObject(i); long tdId = obj.optLong("td_id"); - long tousseItemId = obj.optLong("id"); - if(DatabaseUtil.isPoIdValid(tousseItemId)){ - tousseItemIdList.add(tousseItemId); - } if(DatabaseUtil.isPoIdValid(tdId)){ tdIdList.add(tdId); } } //未提交到后台的申请项 List unSubmitTousseItemList = new ArrayList<>(); + Map tdIdTousseItemMap = new HashMap(); for(TousseItem tousseItem : orginalTousseItemList){ - if(!tousseItemIdList.contains(tousseItem.getId())){ + if(!tdIdList.contains(tousseItem.getTousseDefinitionId())){ unSubmitTousseItemList.add(tousseItem); } + tdIdTousseItemMap.put(tousseItem.getTousseDefinitionId(), tousseItem); } if(CollectionUtils.isNotEmpty(unSubmitTousseItemList)){ for(TousseItem ti : unSubmitTousseItemList){ ti.setPrepareRecycleAmount(0); } } - 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 -> { @@ -142,9 +131,10 @@ } }); Map tdIdToTousseItemIdMap = new HashMap(); + for (int i = 0; i < array.size(); i++) { JSONObject obj = array.optJSONObject(i); - Long tousseItemId = obj.optLong("id"); + long td_id = obj.optLong("td_id"); //材料明细清单 String materialInstances = obj.optString("materialInstancesJsonArray"); JSONArray materialInstancesJsonArray = null; @@ -158,14 +148,7 @@ e.printStackTrace(); } } - TousseItem item = null; - if(DatabaseUtil.isPoIdValid(tousseItemId)){ - //item = tousseItemManager.get(id); - item = idToTousseItemMap.get(tousseItemId); - if(item == null){ - throw new SystemException(tousseItemId+"物品已经被删除"); - } - } + TousseItem item = tdIdTousseItemMap.get(td_id); Integer prepareRecycleAmount = obj .optInt("prepareRecycleAmount"); @@ -186,8 +169,6 @@ } } } else { //2.如果为新添加的申请项 - //包定义的id(消毒物品的祖先包定义id) - Long td_id = obj.optLong("td_id"); //对于新添加的消毒物品的申请项,此时的td为祖先包定义 TousseDefinition td = idToTousseDefinitionMap.get(td_id); if (td != null) { @@ -198,7 +179,7 @@ + TousseDefinition.class.getSimpleName() +" td on td.id=ti.tousseDefinitionId where ti.recyclingApplication_ID=" + plan.getId() - +" and td.id="+ td_id) > 0){ + +" and td.name='"+ td.getName() + "' ") > 0){ success = false; error = "申请单已存在"+td.getName() + ",不可以重复添加"; break out;