Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java =================================================================== diff -u -r37050 -r37178 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java (.../ClassifiedItemManagerImpl.java) (revision 37050) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedata/becleanitem/service/ClassifiedItemManagerImpl.java (.../ClassifiedItemManagerImpl.java) (revision 37178) @@ -129,14 +129,13 @@ }else{ TousseDefinition td = copyItem.getTousseDefinition(); if(td == null && DatabaseUtil.isPoIdValid(copyItem.getTousseDefinitionID())){ - td = (TousseDefinition)objectDao.getById(TousseDefinition.class.getSimpleName(), copyItem.getTousseDefinitionID()); - + td = (TousseDefinition)objectDao.getById(TousseDefinition.class.getSimpleName(), copyItem.getTousseDefinitionID()); } if(td != null){ - if(TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(copyItem.getTousseDefinition().getTousseType())){//消毒物品需要根据祖先id判断 - id = copyItem.getTousseDefinition().getAncestorID(); + if(TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(td.getTousseType())){//消毒物品需要根据祖先id判断 + id = td.getAncestorID(); }else{ - id = copyItem.getTousseDefinition().getId(); //器械包的id + id = td.getId(); //器械包的id } } int position = getPosition(tousseIds, tousseOrgUnitNames, id, orgUnitName, mergeItemWithDifferentOrgUnit);