Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r13471 -r13474 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 13471) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 13474) @@ -812,8 +812,6 @@ private void setPackingTask(RecyclingRecord recyclingRecord, List itemJsonList, Map idToTDMap,boolean confirmation) throws RecyclingRecordException { - Map tousseItemMap = getRecyclingTousseItemMap(recyclingRecord); - for (JSONObject json : itemJsonList) { String tousseName = json.optString("tousseName"); Long tousseDefinitionID = json.optLong("tousseDefinitionID"); @@ -863,35 +861,12 @@ packingManager.delete(task); continue; } - TousseItem item = tousseItemMap.get(tousseDefinitionID); task.setStartTime(new Date()); task.setAmount(task.getAmount() + amount); task.setUnPackAmount(task.getUnPackAmount() + amount); // 设置装配任务状态 task.setStatus(PackingTask.STATUS_AWAIT_PACKING); - boolean materialsLost = false;// 是否有丢失材料 - boolean tousseMaterialsLostOrDamage = false;// 是否有丢失器械材料 - boolean idCardLost = false;// 是否有丢失标识牌 - - if (item != null){ - materialsLost = item.isMaterialsLostOrDamage(); - tousseMaterialsLostOrDamage = item.isTousseMaterialsLostOrDamage(); - idCardLost = item.isIDCardLost(); - } - - // 丢失的如果是器械包标识牌,那么不需要确认。 - if(materialsLost){ - if(tousseMaterialsLostOrDamage){ - // 有丢失材料,并且有丢失器械材料,那么装配任务要设置为待确认状态 - task.setStatus(PackingTask.STATUS_AWAIT_VERIFYING); - }else if(idCardLost){ - // 只有标识牌丢失,那么设置为已确认 TODO(目前没有已确认状态,暂时设置为待装配) - task.setStatus(PackingTask.STATUS_AWAIT_PACKING); - } - }else { - task.setStatus(PackingTask.STATUS_AWAIT_PACKING); - } task.setTousseDefinition(tousseDefinition); //生成的装配任务的处理科室由原器械包的处理科室更改为回收单的处理科室 String orgUnitCoding = recyclingRecord.getOrgUnitCoding(); @@ -957,7 +932,7 @@ } error.setPackingTask_ID(historyPackingTaskId); } - setPackingTaskStatus(historyPackingTaskId,confirmation); + setPackingTaskStatus(historyPackingTaskId,confirmation,item); } } if(item.getRecyclingDamages().size() > 0){ @@ -970,21 +945,27 @@ } damage.setPackingTask_ID(historyPackingTaskId); } - setPackingTaskStatus(historyPackingTaskId,confirmation); + setPackingTaskStatus(historyPackingTaskId,confirmation,item); } } } } } - private void setPackingTaskStatus(Long packingTaskId,boolean confirmation){ + private void setPackingTaskStatus(Long packingTaskId,boolean confirmation,TousseItem item){ if(packingTaskId != null){ PackingTask packingTask = packingManager.getPackingTaskById("" + packingTaskId); if(packingTask == null){ throw new RuntimeException("ID = " + packingTaskId +"的装配任务已不存在!"); } if(!confirmation){ - packingTask.setStatus(PackingTask.STATUS_AWAIT_VERIFYING); + boolean isIDcardLost = item.isIDCardLost(); + boolean isMaterialLost = item.isTousseMaterialsLostOrDamage(); + if(isIDcardLost && !isMaterialLost){ + packingTask.setStatus(PackingTask.STATUS_AWAIT_PACKING); + }else{ + packingTask.setStatus(PackingTask.STATUS_AWAIT_VERIFYING); + } }else{ packingTask.setStatus(PackingTask.STATUS_AWAIT_PACKING); }