Index: ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java =================================================================== diff -u -r31123 -r31199 --- ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 31123) +++ ssts-webservice/src/main/java/com/forgon/disinfectsystem/webservice/service/ServiceManagerImpl.java (.../ServiceManagerImpl.java) (revision 31199) @@ -671,22 +671,27 @@ if(p != null){ List applicationItems = p.getApplicationItems(); if(CollectionUtils.isNotEmpty(applicationItems)){ - int itemSize = applicationItems.size(); - for (int i = 0;i < itemSize;i++) { - TousseItem item = applicationItems.get(i); + //进入待预回收的for循环之前,先将不符合预回收条件的项过滤掉再循环 + applicationItems = applicationItems.stream().filter(item -> { String tousseType = item.getTousseType(); - if ("一次性物品".equals(tousseType) + if (TousseItem.TYPE_DIPOSABLE_GOODS.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DRESSING .equals(tousseType) || TousseDefinition.PACKAGE_TYPE_FOREIGN .equals(tousseType) || (TousseDefinition.PACKAGE_TYPE_DISINFECTION - .equals(tousseType) && "否".equals(item + .equals(tousseType) && Constants.STR_NO.equals(item .getIsCleanedEntirely())) || (item.getIsTerminated() != null && item .getIsTerminated())) { - continue; + return false; } + return true; + }).collect(Collectors.toList()); + int itemSize = applicationItems.size(); + for (int i = 0;i < itemSize;i++) { + TousseItem item = applicationItems.get(i); + String tousseType = item.getTousseType(); TousseDefinition td = tousseDefinitionManager.get(item.getTousseDefinitionId()); if (td != null && TousseDefinition.STR_YES.equals(td