Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r20282 -r20290 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 20282) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 20290) @@ -2506,20 +2506,25 @@ TousseDefinition tousseDefinition = tousseDefinitionIdToTousseDefinitionMap.get(key); if (tousseDefinition != null && tousseDefinition.getUrgentWarningValue() != null && tousseDefinition.getUrgentWarningValue() > 0) { - Integer amount = tousseDefinitionIdToAmount.get(key); - Integer urgentAmount = amount - tousseDefinition.getUrgentWarningValue(); + Integer amount = tousseDefinitionIdToAmount.get(key); //库存数量 + Integer urgentAmount = amount - tousseDefinition.getUrgentWarningValue(); //应该的加急数量(待会再改一次) + Integer actualUrgentAmount = tousseDefinitionIdToUrgentAmount.get(key); //时间加急数量 + + Integer deviation = 0; //误差 if (urgentAmount > 0) { - Integer deviation = tousseDefinitionIdToUrgentAmount.get(key) - urgentAmount; - if (deviation > 0) { - updateUrgentTousse(key, deviation); - } + deviation = actualUrgentAmount - urgentAmount; + } else { + deviation = actualUrgentAmount; } + if (deviation > 0) { + updateUrgentTousse(key, deviation); + } } } } /** - * 把之前自动加急的器械包还原成非紧急状态. + * 把之前自动加急的器械包还原成非紧急状态(优先从装配任务开始找加急的器械包,再去找器械包实例). * @param tousseDefinitionId 器械包id * @param deviation 还原的个数 */