Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r26777 -r26876 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26777) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 26876) @@ -3658,7 +3658,7 @@ } } }else{ - setForeignTousseProperty(record, application); + setForeignTousseProperty(record, application, recyclingContext); } tousseTransitionPlanManager.recycled(application); }else{ @@ -3810,7 +3810,7 @@ } } private void setForeignTousseProperty(RecyclingRecord record, - InvoicePlan application) { + InvoicePlan application,RecyclingContext recyclingContext) { if(application instanceof ForeignTousseApplication){ ForeignTousseApplication ftApplication = (ForeignTousseApplication)application; String oldRecyclingStatus = ftApplication.getRecyclingStatus(); @@ -3823,7 +3823,9 @@ ftApplication.setOrderByFiled(InvoicePlan.DELIVER_DELIVERED); // record.setRecyclingApplication(null); }else if(InvoicePlan.RECYCLINGSTATUS_AWAITRECYCLE.equals(oldRecyclingStatus)){ - ftApplication.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_RECYCLED); + if(!DatabaseUtil.isPoIdValid(recyclingContext.getId())){ + ftApplication.setRecyclingStatus(InvoicePlan.RECYCLINGSTATUS_RECYCLED); + } ftApplication.setRecylingTime(new Date()); ftApplication.setRecyclingMan(AcegiHelper.getLoginUserFullName()); ftApplication.setPackageStatus(ForeignTousseApplication.APPLICATION_STATUS_RECYCLING);