Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r29511 -r29526 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29511) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 29526) @@ -3994,7 +3994,11 @@ if(needPackingAmount <= 0){ break; } - + List currentPackingTaskAsList = new ArrayList(); + int packingAmountForThisTask = taskIdToAmountMap.containsKey(currentPackingTask.getId())?taskIdToAmountMap.get(currentPackingTask.getId()):needPackingAmount;//本任务装配数量 + if(packingAmountForThisTask > needPackingAmount){ + packingAmountForThisTask = needPackingAmount; + } tdOfPackingTask = currentPackingTask.getTousseDefinition(); String tousseType = tdOfPackingTask.getTousseType(); @@ -4072,9 +4076,6 @@ double toussePrice = 0;//单价 double fluctuationPrice = 0; Integer tousseAmount = null; - - List currentPackingTaskAsList = new ArrayList(); - int packingAmountForThisTask = taskIdToAmountMap.containsKey(currentPackingTask.getId())?taskIdToAmountMap.get(currentPackingTask.getId()):needPackingAmount;//本任务装配数量 // 如果器械包定义设置为不打印标签,则将对应的变量设置为false if (TousseDefinition.STR_NO.equals(tdOfPackingTask.getIsPrint())) { isPrint = false;