Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java =================================================================== diff -u -r17490 -r17496 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 17490) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManagerImpl.java (.../UseRecordManagerImpl.java) (revision 17496) @@ -353,6 +353,11 @@ updateUseRecord_internal(original, modified); } + @Override + public void updateUseRecord_TRANS_REQUIRED_USEINTERFERE(UseRecord original, UseRecord modified, boolean useInterfere) { + this.updateUseRecord_internal(original, modified, true); + } + public void saveUseRecord_TRANS_REQUIRED(UseRecord modified) { saveUseRecord_internal(modified); } @@ -440,13 +445,25 @@ } private void updateUseRecord_internal(UseRecord original, UseRecord modified) { + this.updateUseRecord_internal(original, modified, false); + } + + + /** + * 更新使用记录 + * @param original 原来的使用记录 + * @param modified 修改后的使用记录 + * @param useInterfere 是否从干预管理那里来的 + */ + private void updateUseRecord_internal(UseRecord original, UseRecord modified, Boolean useInterfere) { // 锁定并获取入库单 UseRecord curUseRecord = (UseRecord) objectDao.getByID_ForUpdate( UseRecord.class.getSimpleName(), original.getId()); if (curUseRecord == null) { throw new RuntimeException("该使用记录已被删除!"); } - if (!curUseRecord.isUnaudited()) { + //如果不是使用干预且状态是未审核,则不能更新 + if (!curUseRecord.isUnaudited() && !useInterfere) { throw new RuntimeException(String.format( "使用记录必须为未审核状态才能修改,当前状态为[%s]!", curUseRecord.getStatus())); } Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java =================================================================== diff -u -r17491 -r17496 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java (.../UseRecordManager.java) (revision 17491) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/service/UseRecordManager.java (.../UseRecordManager.java) (revision 17496) @@ -86,6 +86,14 @@ public void updateUseRecord_TRANS_REQUIRED(UseRecord original, UseRecord modified); + /** + * 更新使用记录 + * @param original 原来的记录 + * @param modified 修改后的记录 + * @param useInterfere 用来区分是否来自干预 + */ + void updateUseRecord_TRANS_REQUIRED_USEINTERFERE(UseRecord original, UseRecord modified, boolean useInterfere); + public void saveUseRecord_TRANS_REQUIRED(UseRecord modified); public String createRecyclingApplicationByUseRecords(Collection ids,String applicant, String depart, String departCodeing,Date applicationCreateDate); Index: ssts-web/src/main/webapp/homepage/menuconfigure.js =================================================================== diff -u -r17493 -r17496 --- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 17493) +++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 17496) @@ -384,7 +384,8 @@ {hidden :SSTS_InterfereRecyclingApplication_ViewMenu,text:"申请单干预管理",href:WWWROOT+'/disinfectsystem/interfere/interfereGoodsApplicationView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_InterfereForeigntousseApplication_ViewMenu,text:"外来器械干预管理",href:WWWROOT+'/disinfectsystem/interfere/interfereForeignTousseApplicationView.jsp',hrefTarget:linkTarget,leaf:true}, {hidden :SSTS_InterfereOrgUnit_ViewMenu,text:"科室干预管理",href:WWWROOT+'/disinfectsystem/interfere/processSameOrgunitName/processSameOrgunitNameData.mhtml',hrefTarget:linkTarget,leaf:true}, - {hidden :SSTS_InterfereTerminateInvoicePlan_ViewMenu,text:"批量终止申请单管理",href:WWWROOT+'/disinfectsystem/interfere/interfereTerminateInvoicePlanView.jsp',hrefTarget:linkTarget,leaf:true} + {hidden :SSTS_InterfereTerminateInvoicePlan_ViewMenu,text:"批量终止申请单管理",href:WWWROOT+'/disinfectsystem/interfere/interfereTerminateInvoicePlanView.jsp',hrefTarget:linkTarget,leaf:true}, + {hidden :SSTS_InterfereUeserRecord_ViewMenu,text:"使用记录干预管理",href:WWWROOT+'/disinfectsystem/interfere/interfereUseRecordView.jsp',hrefTarget:linkTarget,leaf:true} ] },{ text:"消毒供应中心物品领用", Index: ssts-web/src/main/resources/systemset/operationDefine.xml =================================================================== diff -u -r17383 -r17496 --- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 17383) +++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 17496) @@ -241,6 +241,7 @@ + Index: ssts-web/src/main/webapp/homepage/menu.jsp =================================================================== diff -u -r17440 -r17496 --- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 17440) +++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 17496) @@ -716,6 +716,13 @@ SSTS_InterfereRecyclingApplication_ViewMenu = false; +//使用记录干预start +var SSTS_InterfereUeserRecord_ViewMenu = true; + + SSTS_InterfereUeserRecord_ViewMenu = false; + +//使用记录干预end + var SSTS_InterfereForeigntousseApplication_ViewMenu = true; SSTS_InterfereForeigntousseApplication_ViewMenu = false; Index: ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java =================================================================== diff -u -r17422 -r17496 --- ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 17422) +++ ssts-userecord/src/main/java/com/forgon/disinfectsystem/useRecord/action/UseRecordAction.java (.../UseRecordAction.java) (revision 17496) @@ -278,7 +278,17 @@ if (StringUtils.isNotBlank(id)) { UseRecord original = buildUseRecordOriginalParamsForUpdate(); buildUseRecordParamsForUpdate( modified); - useRecordManager.updateUseRecord_TRANS_REQUIRED(original, modified); + //是否来自干预管理 + String useInterfere = StrutsParamUtils.getPraramValue("useInterfere", null); + if (StringUtils.isBlank(useInterfere)){ + logger.info("使用普通功能来修改使用记录"); + useRecordManager.updateUseRecord_TRANS_REQUIRED(original, modified); + } + else { + logger.warn(String.format("用户[%s]使用干预功能来修改使用记录[%s]", AcegiHelper.getLoginUserFullName(), modified.getId())); + useRecordManager.updateUseRecord_TRANS_REQUIRED_USEINTERFERE(original, modified, true); + logger.warn(String.format("用户[%s]使用干预功能来修改使用记录[%s]成功", AcegiHelper.getLoginUserFullName(), modified.getId())); + } } else { modified = useRecord; buildUseRecordParamsForSave(modified);