Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r31650 -r31742 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 31650) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 31742) @@ -3892,8 +3892,7 @@ } if (historyPackingTaskId == null) { historyPackingTaskId = getUnionPackingTaskId( - record, confirmation, item, - historyPackingTaskId,detail); + record, confirmation, item, detail); } detail.setPackingTaskId(historyPackingTaskId); if(historyPackingTaskId == null){ @@ -3903,7 +3902,7 @@ setPackingTaskStatus(detail.getPackingTaskId(),confirmation,item); //丢失报损关联的器械包实例改为已回收 TousseInstance ti = tousseInstanceManager.getTousseInstanceByBarcode(detail.getTousseBarcode()); - if(ti != null){ + if(ti != null && !TousseInstance.STATUS_RECYCLED.equals(ti.getStatus())){ ti.setStatus(TousseInstance.STATUS_RECYCLED); tousseInstanceManager.save(ti); } @@ -3998,18 +3997,19 @@ } private Long getUnionPackingTaskId(RecyclingRecord records, - boolean confirmation, RecyclingItem item, Long historyPackingTaskId,MaterialErrorDamageDetail detail) { + boolean confirmation, RecyclingItem item, MaterialErrorDamageDetail detail) { List taskList = packingManager .getPackingTask(records.getId(), item.getTousseDefinitionId(), PackingTask.TASK_RECYCLINGRECORD); + Long historyPackingTaskId = null; if (CollectionUtils.isNotEmpty(taskList)) { PackingTask packingTask = taskList.get(0); historyPackingTaskId = packingTask.getId(); - } else { + }/* else { throw new RuntimeException(item.getTousseName() + ",装配任务已不存在!"); - } + }*/ return historyPackingTaskId; } private void addApplicationItem(SimpleTousseItem recyclingBasketItem,Map appTousseItemMap,