Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r14418 -r14427 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14418) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14427) @@ -1069,7 +1069,9 @@ Long historyPackingTaskId = item.getHistoryPackingTaskId(); TousseDefinition td = getTousseDefinition(idToTDMap,item.getTousseDefinitionId()); if(TousseDefinition.STR_YES.equals(td.getIsPacking())){ + boolean haveErrorOrDamage = false; if(item.getRecyclingErrors().size() > 0){ + haveErrorOrDamage = true; for (RecyclingError error : item.getRecyclingErrors()) { if (!error.getIsUnionPackingTask()) { if (historyPackingTaskId == null) { @@ -1083,6 +1085,7 @@ } } if(item.getRecyclingDamages().size() > 0){ + haveErrorOrDamage = true; for (RecyclingDamageItem damage : item.getRecyclingDamages()) { if(!damage.getIsUnionPackingTask()){ if(historyPackingTaskId == null){ @@ -1095,6 +1098,20 @@ setPackingTaskStatus(historyPackingTaskId,confirmation,item); } } + //添加了丢失或报损记录后,最终又改为0了 + if(!haveErrorOrDamage){ + List taskList = packingManager + .getPackingTask(records.getId(), + item.getTousseDefinitionId(), + PackingTask.TASK_RECYCLINGRECORD); + if(taskList != null){ + for (PackingTask packingTask : taskList) { + if(PackingTask.STATUS_AWAIT_VERIFYING.equals(packingTask.getStatus())){ + packingTask.setStatus(PackingTask.STATUS_AWAIT_PACKING); + } + } + } + } } } } @@ -1106,7 +1123,6 @@ throw new RuntimeException("ID = " + packingTaskId +"的装配任务已不存在!"); } if(!confirmation){ - boolean isIDcardLost = item.isIDCardLost(); boolean isMaterialLost = item.isTousseMaterialsLostOrDamage(); if(isMaterialLost){ packingTask.setStatus(PackingTask.STATUS_AWAIT_VERIFYING);