Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java =================================================================== diff -u -r34770 -r34864 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 34770) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/dwr/table/ForeignTousseApplicationTableManager.java (.../ForeignTousseApplicationTableManager.java) (revision 34864) @@ -185,7 +185,7 @@ if (DatabaseUtil.isPoIdValid(id)) { ForeignTousseApplication ftApplication = foreignTousseApplicationManager.get(id); if (ftApplication != null && - ftApplication.recyclingStatusRecycled() && + (ftApplication.recyclingStatusRecycled() || ForeignTousseApplication.RECYCLINGSTATUS_PARTRECYCLE.equals(ftApplication.getRecyclingStatus())) && !ForeignTousseApplication.APPLICATION_STATUS_RETRUN.equals(ftApplication.calReturnStatus())) { disableReturn = false; } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java =================================================================== diff -u -r34860 -r34864 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34860) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/foreigntousseapplication/service/ForeignTousseApplicationManagerImpl.java (.../ForeignTousseApplicationManagerImpl.java) (revision 34864) @@ -2780,6 +2780,11 @@ } for (TousseItem tousseItem : tousseItems) { + + if(StringUtils.equals(tousseItem.getPackageStatus(), InvoicePlan.RECYCLINGSTATUS_AWAITRECEIVE)){ + throw new SystemException(String.format("%s的包状态为“%s”,无法进行归还。", tousseItem.getTousseName(), tousseItem.getPackageStatus())); + } + if(StringUtils.equals(tousseItem.getPackageStatus(), InvoicePlan.RETURN_STATUS_RETURNED) || StringUtils.equals(tousseItem.getPackageStatus(), InvoicePlan.RETURN_STATUS_INADVANCERETURNED)){ throw new SystemException(String.format("%s的包状态为“%s”,无法再进行归还。", tousseItem.getTousseName(), tousseItem.getPackageStatus())); @@ -2884,6 +2889,10 @@ } for (TousseItem tousseItem : tousseItemList) { + if(!InvoicePlan.RECYCLINGSTATUS_RECYCLED.equals(tousseItem.getPackageStatus()) + && !InvoicePlan.RECYCLINGSTATUS_SECRECYCLED.equals(tousseItem.getPackageStatus())){ + throw new SystemException(String.format("%s的包状态为“%s”,无法进行归还。", tousseItem.getTousseName(), tousseItem.getPackageStatus())); + } if(StringUtils.equals(tousseItem.getPackageStatus(), InvoicePlan.RETURN_STATUS_RETURNED) || StringUtils.equals(tousseItem.getPackageStatus(), InvoicePlan.RETURN_STATUS_INADVANCERETURNED)){ throw new SystemException(String.format("%s的包状态为“%s”,无法再进行归还。", tousseItem.getTousseName(), tousseItem.getPackageStatus()));