Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r26243 -r26250 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 26243) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 26250) @@ -4134,19 +4134,20 @@ ) { isNeedToBeMerged = true; } - //2.已打印或者已发货、部分发货的申请单不合并。 - if(InvoicePlan.PRINT_STATUS_PRINTED == recyclingApplication.getPrinted() || InvoicePlan.DELIVERSTATUS_DELIVERED.equals(deliverStatus) - || InvoicePlan.DELIVERSTATUS_PARTDELIVERED.equals(deliverStatus)){ - isNeedToBeMerged = false; - } + //2.再根据科室供应室的配置进行判断该项目、该申请科室是否启用或符合合并条件来决定该单是否需要合并(因为这个判断需要对比查询科室供应室的数据出来进行比较所以效率高、所以放在第二步) if(isNeedToBeMerged){ isNeedToBeMerged = isApplicationFormMerge(recyclingApplication,supplyRoomConfig, autoMerge); } - + existApplication = getSameStatusRecyclingApplicationForUpdate(recyclingApplication,isCommit); + //2.已打印或者已发货、部分发货的申请单不合并。 + if(InvoicePlan.PRINT_STATUS_PRINTED == existApplication.getPrinted() || InvoicePlan.DELIVERSTATUS_DELIVERED.equals(existApplication.getDeliverStatus()) + || InvoicePlan.DELIVERSTATUS_PARTDELIVERED.equals(existApplication.getDeliverStatus())){ + isNeedToBeMerged = false; + } //如果需要合并,则进行相应的处理 if (isNeedToBeMerged) { - existApplication = getSameStatusRecyclingApplicationForUpdate(recyclingApplication,isCommit); + if (existApplication != null) { List needToBeAdded = new ArrayList();