Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r14956 -r14963 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 14956) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 14963) @@ -1226,8 +1226,15 @@ } } } + /** + * 由于退货重装生成的装配任务(无篮筐)和回收生成的装配任务(有篮筐)放在一起, + * 退货重装的装配任务需要等到回收的装配任务装配完了才能装配,所以在此做了改造 + */ + //需要扫篮筐的装配任务 + Map scanBasketTaskMap = new HashMap(); + //不用扫篮筐的装配任务 + Map unScanBasketTaskMap = new HashMap(); - Map taskMap = new HashMap(); if (taskList != null) { Map> errorsMap = loadWaitSupplementRecyclingErrors(); @@ -1279,7 +1286,14 @@ itemVo.setTousseID(tousseID); String nodeText = tousseName; itemVo.setText(nodeText); - WaitPackingTaskVo vo = taskMap.get(nodeText); + + WaitPackingTaskVo vo = null; + + if(PackingTask.TASK_RECYCLINGRECORD.equals(task.getTaskType())){ + vo = scanBasketTaskMap.get(nodeText); + }else{ + vo = unScanBasketTaskMap.get(nodeText); + } if(vo == null){ vo = new WaitPackingTaskVo(); vo.setAmount(task.getUnPackAmount()); @@ -1296,7 +1310,12 @@ vo.setTaskType(task.getTaskType()); vo.setUuid_vedioNames(td.getUuid_vedioNames()); vo.setHaveIDCard(haveIDCard); - taskMap.put(nodeText, vo); + + if(PackingTask.TASK_RECYCLINGRECORD.equals(task.getTaskType())){ + scanBasketTaskMap.put(nodeText, vo); + }else{ + unScanBasketTaskMap.put(nodeText, vo); + } } else { vo.setAmount(vo.getAmount() + task.getUnPackAmount()); Integer urgentAmount = vo.getUrgentAmount() == null ? 0 : vo.getUrgentAmount(); @@ -1345,11 +1364,17 @@ } } } - Iterator itr = taskMap.keySet().iterator(); - while(itr.hasNext()){ - String name = itr.next(); - taskVos.add(taskMap.get(name)); + + if(scanBasketTaskMap.size() > 0){ + for (String name : scanBasketTaskMap.keySet()) { + taskVos.add(scanBasketTaskMap.get(name)); + } } + if(unScanBasketTaskMap.size() > 0){ + for (String name : unScanBasketTaskMap.keySet()) { + taskVos.add(unScanBasketTaskMap.get(name)); + } + } return taskVos; }