Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r30153 -r30161 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 30153) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 30161) @@ -7358,13 +7358,15 @@ return; } + List tousseDefinitionIdList = new ArrayList(); for (TousseItemVo tousseItemVo : splitedItemVos) { if(StringUtils.equals(tousseItemVo.getDiposable(), com.forgon.Constants.STR_YES)){ throw new SystemException("一次性物品暂不支持拆单!"); } if(StringUtils.equals(tousseItemVo.getTousseType(), TousseDefinition.PACKAGE_TYPE_DISINFECTION)){ throw new SystemException("消毒物品不支持拆单!"); } + tousseDefinitionIdList.add(tousseItemVo.getTousseDefinitionId()); } RecyclingRecord oldRecyclingRecord = oldRecyclingApplication.getRecyclingRecord(objectDao); @@ -7374,7 +7376,15 @@ List splitItems = new ArrayList(); if(CollectionUtils.isNotEmpty(oldClassifyBaskets)){ for (ClassifyBasket basket : oldClassifyBaskets) { - items.addAll(basket.getClassfiedItems()); + for (ClassifiedItem classifiedItem : basket.getClassfiedItems()) { + if(classifiedItem.getRecyclingRecordId().longValue() == oldRecyclingRecord.getId().longValue() + && tousseDefinitionIdList.contains(classifiedItem.getTousseDefinitionID())){ + if(StringUtils.equals(classifiedItem.getItemType(), ClassifiedItem.TYPE_MATERIAL)){ + throw new SystemException(classifiedItem.getTousseNameForMaterial() + "不是整包清洗的包,不能进行拆分!"); + } + items.add(classifiedItem); + } + } } splitItems = splitClassifiedItem(items, splitedItemVos); }