Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java =================================================================== diff -u -r31269 -r32175 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 31269) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManagerImpl.java (.../InvoicePlanManagerImpl.java) (revision 32175) @@ -4392,7 +4392,7 @@ * @return */ @Override - public String valideApplication(InvoicePlan recyclingApplication, Integer oldVersion){ + public String valideApplication(InvoicePlan recyclingApplication, Integer oldVersion, boolean isInterfereAmount){ String result = ""; // (1)修改已经提交的申请单时,比较客户端传入的version值和数据库中该记录的值是否相同,相同则允许保存,保存前将version值递增加1; // 如果不相同,则不允许保存,并且提示用户:申请单已经被其他用户修改,请重新打开该申请单进行处理!(BJ307YY-47) @@ -4404,6 +4404,7 @@ return "申请单已经被其他用户修改,请重新打开该申请单进行处理!"; } } + //(2)终止状态检查:如果状态为“部分终止”或者“已终止”,则提示:申请单已经进行了终止,不能进行修改! if(StringUtils.equals(recyclingApplication.getEndStatus(), RecyclingApplication.STATUS_PART_END) || StringUtils.equals(recyclingApplication.getEndStatus(), RecyclingApplication.STATUS_END)){ @@ -4415,12 +4416,14 @@ return "申请单已经发货,不能进行修改!"; } //(4)回收状态检查:如果状态为“部分回收”或者“已回收”,则提示:申请单已经回收,不能进行修改! - if(StringUtils.equals(recyclingApplication.getRecyclingStatus(), RecyclingApplication.RECYCLINGSTATUS_PARTRECYCLE) - || StringUtils.equals(recyclingApplication.getRecyclingStatus(), RecyclingApplication.RECYCLINGSTATUS_RECYCLED)){ + if((StringUtils.equals(recyclingApplication.getRecyclingStatus(), RecyclingApplication.RECYCLINGSTATUS_PARTRECYCLE) + || StringUtils.equals(recyclingApplication.getRecyclingStatus(), RecyclingApplication.RECYCLINGSTATUS_RECYCLED)) + && !isInterfereAmount){ return "申请单已经回收,不能进行修改!"; } // (5)打印状态检查:如果状态为“已打印”或者“部分打印”,则提示:申请单已经回收,不能进行修改! - if(recyclingApplication.getPrinted() != InvoicePlan.PRINT_STATUS_UNPRINT){ + if(recyclingApplication.getPrinted() != InvoicePlan.PRINT_STATUS_UNPRINT + && !isInterfereAmount){ // 允许用户修改已打印的申请单,值为true:申请单的已打印状态为“是”或者“部分”,也允许用户修改申请单(GDSRMYY-537) Boolean enableEditPrintedApplication = ConfigUtils.getSystemSetConfigByNameBool("enableEditPrintedApplication"); if(!enableEditPrintedApplication){ Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java =================================================================== diff -u -r32090 -r32175 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 32090) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/RecyclingApplicationManagerImpl.java (.../RecyclingApplicationManagerImpl.java) (revision 32175) @@ -425,7 +425,7 @@ boolean updateSuccess = true; if(application != null){ List appItems = application.getApplicationItems(); - String valide = invoicePlanManager.valideApplication(application, application.getVersion()); + String valide = invoicePlanManager.valideApplication(application, application.getVersion(), false); if(StringUtils.isNotBlank(valide)){ throw new SystemException(valide); } @@ -4352,7 +4352,8 @@ ip.setDeliverStatus(oldRecyclingApplication.getDeliverStatus()); ip.setEndStatus(oldRecyclingApplication.getEndStatus()); ip.setPrinted(oldRecyclingApplication.getPrinted() == null ? InvoicePlan.PRINT_STATUS_UNPRINT : oldRecyclingApplication.getPrinted().intValue()); - String valide = invoicePlanManager.valideApplication(ip, recyclingApplication.getOldVersion()); + boolean isInterfereAmount = "true".equals(isInterveneAmount); + String valide = invoicePlanManager.valideApplication(ip, recyclingApplication.getOldVersion(), isInterfereAmount); if(StringUtils.isNotBlank(valide)){ throw new SystemException(valide); } Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java =================================================================== diff -u -r29896 -r32175 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 29896) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/service/InvoicePlanManager.java (.../InvoicePlanManager.java) (revision 32175) @@ -461,7 +461,8 @@ * 以上检查,只要发现有一项条件满足不能修改的条件,即可提示用户,不需要进行下一项检查。 * @param recyclingApplication * @param oldVersion 版本号(页面传参) + * @param isInterfereAmount 是否干预申请单 * @return */ - public String valideApplication(InvoicePlan recyclingApplication, Integer oldVersion); + public String valideApplication(InvoicePlan recyclingApplication, Integer oldVersion, boolean isInterfereAmount); }