Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r34090 -r34221 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 34090) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 34221) @@ -3846,6 +3846,8 @@ private void setPackingTaskUrgentAmount(RecyclingRecord recyclingRecord, List urgentTousseItems,List tousseDefinitions,Map tousseItemIdAndUrgentAmountMap) { + InvoicePlan invoicePlan = null; + List tousseItems = null; for (int i = 0; i < urgentTousseItems.size(); i++) { UrgentTousseItem urgentTousseItem = urgentTousseItems.get(i); String tousseName = urgentTousseItem.getTousseName(); @@ -3872,15 +3874,20 @@ throw new RuntimeException(tousseName + "已装配,不能修改加急数量!"); } }else{ - InvoicePlan invoicePlan = recyclingRecord.getRecyclingApplication(); - if(invoicePlan != null){ - List tousseItems = invoicePlan.getApplicationItems(); - if(CollectionUtils.isNotEmpty(tousseItems)){ - for(TousseItem tousseItem : tousseItems){ - if(tousseItemIdAndUrgentAmountMap.containsKey(tousseItem.getId()) && tousseItemIdAndUrgentAmountMap.get(tousseItem.getId()).intValue() != urgentAmount.intValue()){ - throw new RuntimeException(tousseName + "未回收,不能修改加急数量!"); - } + if(invoicePlan == null){ + invoicePlan = recyclingRecord.getRecyclingApplication(); + if(invoicePlan != null){ + tousseItems = invoicePlan.getApplicationItems(); + } + } + if(invoicePlan != null && CollectionUtils.isNotEmpty(tousseItems)){ + for(TousseItem tousseItem : tousseItems){ + if(!(MathTools.equals(tousseItem.getAncestorID(), td.getId()) || MathTools.equals(tousseItem.getTousseDefinitionId(), td.getId()))){ + continue; } + if(tousseItemIdAndUrgentAmountMap.containsKey(tousseItem.getId()) && tousseItemIdAndUrgentAmountMap.get(tousseItem.getId()).intValue() != urgentAmount.intValue()){ + throw new RuntimeException(tousseName + "未回收,不能修改加急数量!"); + } } } }