Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r14736 -r14771 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 14736) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 14771) @@ -1476,10 +1476,26 @@ List applicationItems = invoicePlan.getApplicationItems(); terminateTousseItems(applicationItems); + setInvoicePlanToTerminateStatus(invoicePlan);// 某些情况下,计算状态的方法有问题 objectDao.saveOrUpdate(invoicePlan); } /** + * 整张单终止时直接设置为终止状态 + */ + private void setInvoicePlanToTerminateStatus(InvoicePlan invoicePlan){ + if(StringUtils.isBlank(invoicePlan.getRecyclingStatus())){ + invoicePlan.setRecyclingStatus(InvoicePlan.STATUS_END); + } + if(StringUtils.isBlank(invoicePlan.getDeliverStatus())){ + invoicePlan.setDeliverStatus(InvoicePlan.STATUS_END); + } + if(StringUtils.isBlank(invoicePlan.getReturnStatus())){ + invoicePlan.setReturnStatus(InvoicePlan.STATUS_END); + } + invoicePlan.setEndStatus(InvoicePlan.STATUS_END); + } + /** * 终止多个申请单(同步方法) * @param invoicePlanIds * @param userName