Index: ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java =================================================================== diff -u -r39473 -r40382 --- ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 39473) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/component/grid/GridManagerImpl.java (.../GridManagerImpl.java) (revision 40382) @@ -23,6 +23,7 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.Predicate; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.commons.lang.StringUtils; import org.hibernate.Query; import org.springframework.util.Assert; @@ -1102,6 +1103,7 @@ if (CollectionUtils.isNotEmpty(queryList) && CollectionUtils.isNotEmpty(fieldsList)) { String query = queryList.get(0); if (StringUtils.isNotBlank(query)) { + query = StringEscapeUtils.escapeSql(query); query = query.toUpperCase(); for (String fieldsStr : fieldsList) { if (StringUtils.isNotBlank(fieldsStr)) { Index: forgon-tools/src/main/java/com/forgon/tools/util/ConfigUtils.java =================================================================== diff -u -r39824 -r40382 --- forgon-tools/src/main/java/com/forgon/tools/util/ConfigUtils.java (.../ConfigUtils.java) (revision 39824) +++ forgon-tools/src/main/java/com/forgon/tools/util/ConfigUtils.java (.../ConfigUtils.java) (revision 40382) @@ -173,6 +173,39 @@ return jsonObj; } + public static JSONArray getConfigInfoJSONArray(String configFilePath){ + JSONArray jsonObj = null; + + ObjectMapper mapper = new ObjectMapper().configure( + Feature.ALLOW_COMMENTS, true); + + mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); + mapper.configure(Feature.ALLOW_UNQUOTED_CONTROL_CHARS, true); + mapper.configure(Feature.ALLOW_SINGLE_QUOTES, true); + Scanner scan = null; + try { + String rootPath = Path.getWebAppRoot() + "/disinfectsystem/config/"; + String content = readFullFile(rootPath + configFilePath); + int startIndex = content.indexOf("["); + int endIndex = (content.lastIndexOf("]") + 1); + if (startIndex != -1 && endIndex != -1 && startIndex < endIndex) { + content = content.substring(startIndex, endIndex); + } + + jsonObj = mapper + .readValue( + content, + JSONArray.class); + } catch (IOException e) { + e.printStackTrace(); + }finally{ + if(scan != null){ + scan.close(); + } + } + return jsonObj; + } + private static JSONObject writeWebConfigInfo(String configFilePath , String key , String value){ JSONObject jsonObj = null; Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessUtil.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessUtil.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessUtil.java (revision 40382) @@ -0,0 +1,230 @@ +package com.forgon.disinfectsystem.security.access; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import javax.servlet.http.HttpServletRequest; + +import net.sf.json.JSONArray; +import net.sf.json.JSONObject; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.security.access.AccessDecisionVoter; + +import com.forgon.tools.util.ConfigUtils; + +/** + * 请求访问权限控制的类 + */ +public class RequestAccessUtil { + + /** + * 解析menuconfigure.json后生成的请求uri及访问控制配置的map + */ + private static volatile Map> requestAccessConfigureMap = null; + + /** + * 判断当前请求是否有权限访问 + * @param request 请求 + * @return AccessDecisionVoter.ACCESS_GRANTED 允许访问 + * AccessDecisionVoter.ACCESS_ABSTAIN 弃权 + * AccessDecisionVoter.ACCESS_DENIED 拒绝访问 + */ + public static int requestAccessVote(HttpServletRequest request){ + try { + RequestAccessConfigure page = getPageConfigureByRequest(request); + if(page == null){ + //非配置项文件中配置的页面,不做权限控制,弃权 + return AccessDecisionVoter.ACCESS_ABSTAIN; + } + return requestAccessVote(page); + } catch (Exception e) { + e.printStackTrace(); + } + return AccessDecisionVoter.ACCESS_ABSTAIN; + } + + /** + * 根据menuconfigure.json中配置的页面访问配置,确定是否允许访问页面 + * 1、权限控制; + * 2、配置项控制; + * 3、入参控制; + * @param configure 请求访问配置 + * @return + */ + private static int requestAccessVote(RequestAccessConfigure configure) { + if(configure == null){ + //非配置项文件中配置的页面,不做权限控制,弃权 + return AccessDecisionVoter.ACCESS_ABSTAIN; + } + return configure.accessVote(); + } + + /** + * 根据请求的uri+请求参数匹配请求访问配置 + * @param request 请求 + * @return 请求访问配置 + */ + public static RequestAccessConfigure getPageConfigureByRequest(HttpServletRequest request) { + try { + + //读取/menu/menuconfigure.json,返回uri及请求访问配置RequestAccessConfigure的map + requestAccessConfigureMap = getRequestAccessConfigureMap(); + if(MapUtils.isEmpty(requestAccessConfigureMap)){ + return null; + } + + //根据uri匹配请求访问配置 + List sameUriConfigureList = requestAccessConfigureMap.get(request.getRequestURI()); + if(CollectionUtils.isEmpty(sameUriConfigureList)){ + return null; + } + + //请求没有入参或者入参没有匹配到“需要请求参数的请求访问配置”时,返回不需要参数的请求访问配置 + RequestAccessConfigure firstNoParameterConfigure = null; + for (RequestAccessConfigure configure : sameUriConfigureList) { + if(MapUtils.isEmpty(configure.getParameter())){ + if(firstNoParameterConfigure == null){ + //不需要参数的请求,和所有带参数的请求访问配置都不满足时,返回第一个不需要参数的请求访问配置 + firstNoParameterConfigure = configure; + } + continue; + } + //入参匹配 + boolean allParamMatch = true; + for (Entry configParameterEntry : configure.getParameter().entrySet()) { + String configParamName = configParameterEntry.getKey(); + String configParamValue = configParameterEntry.getValue(); + //请求参数值 + String[] requestParmValues = request.getParameterValues(configParamName); + if(requestParmValues == null || requestParmValues.length == 0){ + allParamMatch = false; + break; + } + + //入参参数值匹配 + boolean paramValueMatch = false; + //入参可能有多个 + for (String requestParmValue : requestParmValues) { + if(StringUtils.equals(requestParmValue, configParamValue)){ + //多个入参只要有一个满足就可以 + paramValueMatch = true; + break; + } + } + if(!paramValueMatch){ + allParamMatch = false; + break; + } + } + if(allParamMatch){ + //参数满足条件,直接返回 + return configure; + } + } + return firstNoParameterConfigure; + } catch (Exception e) { + e.printStackTrace(); + } + return null; + } + + /** + * 读取/menu/menuconfigure.json,返回uri及请求访问配置RequestAccessConfigure的map + * @return + */ + private static Map> getRequestAccessConfigureMap() { + + if(ConfigUtils.getSystemSetConfigByNameBool("loadMenuConfigureJsonFileRealTime")){ + //每次都读取menuconfigure.json + requestAccessConfigureMap = buildURIRequestAccessConfigureByMenuConfigureMap(); + }else{ + //第一次从menuconfigure.json文件中读取配置,之后不再读取文件 + if(requestAccessConfigureMap != null){ + return requestAccessConfigureMap; + } + + synchronized (RequestAccessUtil.class) { + if(requestAccessConfigureMap != null){ + return requestAccessConfigureMap; + } + requestAccessConfigureMap = buildURIRequestAccessConfigureByMenuConfigureMap(); + } + + } + return requestAccessConfigureMap; + } + + /** + * 解析menuconfigure.json返回RequestAccessConfigure的map + * @return uri和RequestAccessConfigure的map + */ + @SuppressWarnings("unchecked") + private static Map> buildURIRequestAccessConfigureByMenuConfigureMap() { + Map> configureMap = new HashMap>(); + String configFilePath = ConfigUtils.getProjectName() + "/menu/menuconfigure.json"; + JSONArray menuconfigureJsonArray = ConfigUtils.getConfigInfoJSONArray(configFilePath); + if(menuconfigureJsonArray == null || menuconfigureJsonArray.size() == 0){ + return configureMap; + } + for (Object object : menuconfigureJsonArray) { + if(object instanceof JSONObject){ + JSONObject menuconfigureJson = (JSONObject) object; + String requestName = menuconfigureJson.optString("requestName"); + String uri = menuconfigureJson.optString("URI"); + JSONArray operationIds = menuconfigureJson.optJSONArray("operationIds"); + JSONObject parameter = menuconfigureJson.optJSONObject("parameter"); + JSONObject systemSetConfig = menuconfigureJson.optJSONObject("systemSetConfig"); + + RequestAccessConfigure configure = new RequestAccessConfigure(); + configure.setRequestName(requestName); + configure.setUri(uri); + if(operationIds != null && operationIds.size() > 0){ + configure.setOperationIds(operationIds); + } + if(parameter != null){ + Map parameterMap = new HashMap(); + Iterator keys = parameter.keys(); + while (keys.hasNext()) { + String key = keys.next(); + String value = parameter.optString(key); + if(StringUtils.isBlank(key) || StringUtils.isBlank(value)){ + continue; + } + parameterMap.put(key, value); + } + configure.setParameter(parameterMap); + } + if(systemSetConfig != null){ + Map systemSetConfigMap = new HashMap(); + Iterator keys = systemSetConfig.keys(); + while (keys.hasNext()) { + String key = keys.next(); + String value = systemSetConfig.optString(key); + if(StringUtils.isBlank(key) || StringUtils.isBlank(value)){ + continue; + } + systemSetConfigMap.put(key, value); + } + configure.setSystemSetConfig(systemSetConfigMap); + } + + List tempConfigureList = configureMap.get(uri); + if(tempConfigureList == null){ + tempConfigureList = new ArrayList(); + } + tempConfigureList.add(configure); + configureMap.put(uri, tempConfigureList); + } + } + + return configureMap; + } + +} Index: ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/menu/menuconfigure.json =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/menu/menuconfigure.json (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/menu/menuconfigure.json (revision 40382) @@ -0,0 +1,3510 @@ +[ + { + "requestName": "全部申请单", + "URI": "/disinfectsystem/recyclingApplication/goodsApplicationView.jsp", + "parameter": { + "listType": "all" + }, + "operationIds": [ + "SSTS_Application_Custom_Create,SSTS_DisposableGoods_Create,SSTS_Disinfection_Create,SSTS_PACKAGE_Create,SSTS_RecycApplication_Create,SSTS_RecycApplication_Update,SSTS_RecycApplication_Select,SSTS_RecycApplication_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "全部申请单", + "URI": "/disinfectsystem/recyclingApplication/goodsApplicationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Application_Custom_Create,SSTS_DisposableGoods_Create,SSTS_Disinfection_Create,SSTS_PACKAGE_Create,SSTS_RecycApplication_Create,SSTS_RecycApplication_Update,SSTS_RecycApplication_Select,SSTS_RecycApplication_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "待处理申请单", + "URI": "/disinfectsystem/recyclingApplication/goodsApplicationView.jsp", + "parameter": { + "listType": "todoList" + }, + "operationIds": [ + "SSTS_Application_ShowTodoOnly" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械包申请", + "URI": "/disinfectsystem/foreigntousseapplication/foreignTousseApplicationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseApplication_Create,SSTS_ForeignTousseApplication_Update,SSTS_ForeignTousseApplication_Select,SSTS_ForeignTousseApplication_Delete,SSTS_ForeignTousseApplication_Terminate" + ], + "systemSetConfig": { + "moduleWhiteList": "foreignTousseManage" + } + }, + { + "requestName": "借物单管理", + "URI": "/disinfectsystem/borrow/borrowingTousseView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_borrow_Create,SSTS_borrow_Update,SSTS_borrow_Select,SSTS_borrow_Delete,SSTS_borrow_InsteadReturn" + ], + "systemSetConfig": { + "moduleWhiteList": "borrowManage" + } + }, + { + "requestName": "科室互借管理", + "URI": "/disinfectsystem/borrowRecord/borrowRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_borrowRecord_Create,SSTS_borrowRecord_Update,SSTS_borrowRecord_Select,SSTS_borrowRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "clinicalDepartmentBorrow" + } + }, + { + "requestName": "回收清点", + "URI": "/disinfectsystem/touchScreen/recycle/awaitForRecycleList.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycRecord_Create,SSTS_RecycRecord_Update,SSTS_RecycRecord_Select,SSTS_RecycRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "recycle" + } + }, + { + "requestName": "器械交接", + "URI": "/disinfectsystem/recycle/tousseTransition/tousseTransitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycRecord_Create,SSTS_RecycRecord_Update,SSTS_RecycRecord_Select,SSTS_RecycRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "recycle" + } + }, + { + "requestName": "器械分类记录", + "URI": "/disinfectsystem/becleanitem/becleanitem.jsp", + "parameter": { }, + "operationIds": [ + "/disinfectsystem/becleanitem/becleanitem.jsp" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗消毒记录", + "URI": "/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/washAndDisinfectView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashRecord_Create,SSTS_WashRecord_Update,SSTS_WashRecord_Select,SSTS_WashRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "washAndDisinfection" + } + }, + { + "requestName": "清洗交接记录", + "URI": "/disinfectsystem/washanddisinfectmanager/washTransitionRecord/washTransitionRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashTransitionRecord_Create,SSTS_WashTransitionRecord_Select" + ], + "systemSetConfig": { + "enableWashTransitionRecordView": "true", + "moduleWhiteList": "washTransition" + } + }, + { + "requestName": "发货计划管理", + "URI": "/disinfectsystem/invoice/invoicePlanExtractedView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "高值耗材发货", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/invoice/expensiveGoodsInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "enableExpensiveGoods": "true", + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "手术预约管理", + "URI": "/disinfectsystem/invoice/operationReservationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_OR_Select,SSTS_OR_Create,SSTS_OR_Delete" + ], + "systemSetConfig": { + "enableOperationReservation": "true", + "moduleWhiteList": "operationReservationDelivery" + } + }, + { + "requestName": "手术预约发货", + "URI": "/disinfectsystem/invoice/operationReservationInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_OR_Select,SSTS_OR_Create,SSTS_OR_Delete" + ], + "systemSetConfig": { + "enableOperationReservation": "true", + "moduleWhiteList": "operationReservationDelivery" + } + }, + { + "requestName": "手术预约汇总发货", + "URI": "/disinfectsystem/invoice/operationReservationMergeInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_OR_Select,SSTS_OR_Create,SSTS_OR_Delete" + ], + "systemSetConfig": { + "enableOperationReservation": "true", + "moduleWhiteList": "operationReservationDelivery" + } + }, + { + "requestName": "自定义发货", + "URI": "/disinfectsystem/invoice/customInvoiceForm.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomDelivery_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "customDelivery" + } + }, + { + "requestName": "快速发货", + "URI": "/disinfectsystem/invoice/expressInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "发货科室分组设置", + "URI": "/disinfectsystem/invoice/invoiceDepartmentView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "发货单管理", + "URI": "/disinfectsystem/invoice/invoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "材料发货管理", + "URI": "/disinfectsystem/invoice/materialInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Invoice_Create,SSTS_Invoice_Update,SSTS_Invoice_Select,SSTS_Invoice_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "发货单批量打印", + "URI": "/disinfectsystem/invoice/invoicePrintView.jsp", + "parameter": { }, + "operationIds": [ + "/disinfectsystem/invoice/invoicePrintView.jsp" + ], + "systemSetConfig": { } + }, + { + "requestName": "发货物品查询", + "URI": "/disinfectsystem/reportforms/invoiceQueryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeliverGoodsQuqery" + ], + "systemSetConfig": { + "moduleWhiteList": "deliveryManage" + } + }, + { + "requestName": "手术排班物品查询", + "URI": "/disinfectsystem/reportforms/operationReservationInvoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_OperationReservationInvoice" + ], + "systemSetConfig": { + "enableOperationReservationInvoiceReport": "true", + "moduleWhiteList": "operationReservationDelivery" + } + }, + { + "requestName": "病人使用记录", + "URI": "/disinfectsystem/useRecord/useRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_UseRecord_SeeAll,SSTS_UseRecord_SeeAllDepart,SSTS_UseRecord_Convert,SSTS_UseRecord_Review,SSTS_UseRecord_Create,SSTS_UseRecord_Update,SSTS_UseRecord_Select,SSTS_UseRecord_Delete,SSTS_ScheduleExpeditedOfUseRecord_Manager,SSTS_ScheduleExpeditedOfUseRecord_GroupSetting_Manager,SSTS_ScheduleExpeditedOfUseRecord_GroupSetting_list" + ], + "systemSetConfig": { + "disableUseRecord": "false", + "enableDepartmentUseRecord": "false", + "moduleWhiteList": "useRecord" + } + }, + { + "requestName": "科室使用记录", + "URI": "/disinfectsystem/useRecord/useRecordView.jsp", + "parameter": { + "departmentUseRecord": "true" + }, + "operationIds": [ + "SSTS_DepartmentUseRecord_SeeAll,SSTS_DepartmentUseRecord_SeeAllDepart,SSTS_DepartmentUseRecord_Convert,SSTS_DepartmentUseRecord_Review,SSTS_DepartmentUseRecord_Create,SSTS_DepartmentUseRecord_Update,SSTS_DepartmentUseRecord_Select,SSTS_DepartmentUseRecord_Delete" + ], + "systemSetConfig": { + "disableUseRecord": "false", + "enableDepartmentUseRecord": "true", + "moduleWhiteList": "useRecord" + } + }, + { + "requestName": "器械包返消", + "URI": "/disinfectsystem/tousseReturnDisinfect/tousseReturnDisinfectView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseReturnDisinfect_ViewMenu,SSTS_TousseReturnDisinfect_Create" + ], + "systemSetConfig": { + "moduleWhiteList": "tousseExpireRedisinfection" + } + }, + { + "requestName": "器械包返消统计报表", + "URI": "/disinfectsystem/reportforms/tousseReturnDisinfectionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseReturnDisinfectionReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "满意度调查表定义", + "URI": "/disinfectsystem/satisfactionsurvey/satisfactionSurveyTemplateView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SatisfactionSurveyTemplate_Create,SSTS_SatisfactionSurveyTemplate_Update,SSTS_SatisfactionSurveyTemplate_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "satisfactionSurvey" + } + }, + { + "requestName": "满意度调查表", + "URI": "/disinfectsystem/satisfactionsurvey/satisfactionSurveyTableView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SatisfactionSurveyTable_ViewAll,SSTS_SatisfactionSurveyTable_Update,SSTS_SatisfactionSurveyTable_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "satisfactionSurvey" + } + }, + { + "requestName": "满意度调查汇总报表", + "URI": "/disinfectsystem/reportforms/departSatisfyView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SatisfactionSurveyTemplate_Create,SSTS_SatisfactionSurveyTemplate_Update,SSTS_SatisfactionSurveyTemplate_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "satisfactionSurvey" + } + }, + { + "requestName": "满意度调查明细报表", + "URI": "/disinfectsystem/reportforms/departSatisfyDetailView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SatisfactionSurveyTemplate_Create,SSTS_SatisfactionSurveyTemplate_Update,SSTS_SatisfactionSurveyTemplate_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "satisfactionSurvey" + } + }, + { + "requestName": "消毒供应中心运作监控", + "URI": "/homepage/supplyRoomOperate.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_supplyRoomOperate" + ], + "systemSetConfig": { } + }, + { + "requestName": "消毒供应中心未完成工作列表", + "URI": "/homepage/supplyRoomUnfinishedWork.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_supplyRoomOperate" + ], + "systemSetConfig": { } + }, + { + "requestName": "科室运作监控", + "URI": "/disinfectsystem/reportforms/tousseOperate.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseOperateCountReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "人员档案管理", + "URI": "/disinfectsystem/staffArchives/staffArchiveView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_StaffArchive_Add,SSTS_StaffArchive_Update,SSTS_StaffArchive_Delete" + ], + "systemSetConfig": { + "hideStaffArchive": "false" + } + }, + { + "requestName": "培训管理", + "URI": "/knowledge/view.do", + "parameter": { + "moduleId": "trainingManage" + }, + "operationIds": [ + "SSTS_StaffArchive_Add,SSTS_StaffArchive_Update,SSTS_StaffArchive_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "收费记录管理", + "URI": "/disinfectsystem/chargeRecord/chargeRecord.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_chargeRecordgManage_Select" + ], + "systemSetConfig": { + "isEnableChargeFunction": "true" + } + }, + { + "requestName": "库位管理", + "URI": "/disinfectsystem/storageLocationManage/storageLocationManageView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_storageLocation_Create,SSTS_storageLocation_Update,SSTS_storageLocation_Delete" + ], + "systemSetConfig": { + "enableWarehousePositionModule": "true" + } + }, + { + "requestName": "库存查看", + "URI": "/disinfectsystem/storageLocationManage/storageLocationLookView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_storageLocationLook_Manager" + ], + "systemSetConfig": { + "enableWarehousePositionModule": "true" + } + }, + { + "requestName": "物品存取", + "URI": "/disinfectsystem/storageLocationManage/goodsAccess.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_goodsAccess_Manager" + ], + "systemSetConfig": { + "enableWarehousePositionModule": "true" + } + }, + { + "requestName": "各任务组装配", + "URI": "/disinfectsystem/packing/packingView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PackingTask_Delete,SSTS_HistoryPacking_Manager,SSTS_HistoryPacking_Update,SSTS_RecyclingDetail_Print" + ], + "systemSetConfig": { + "moduleWhiteList": "packageManage" + } + }, + { + "requestName": "各任务组审核", + "URI": "/disinfectsystem/packing/reviewView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Tousse_Review,SSTS_Tousse_List,SSTS_PackHandover_Select" + ], + "systemSetConfig": { + "moduleWhiteList": "reviewManage" + } + }, + { + "requestName": "自定义装配", + "URI": "/disinfectsystem/packing/directPacking.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomPacking_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "customPackage" + } + }, + { + "requestName": "历史装配记录", + "URI": "/disinfectsystem/packing/historyPackingView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_HistoryPacking_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "packageManage" + } + }, + { + "requestName": "当天灭菌记录管理、历史灭菌记录管理", + "URI": "/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Sterilization_Create,SSTS_Sterilization_Update,SSTS_Sterilization_Select,SSTS_Sterilization_Delete,SSTS_SterilizationTransition_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "sterilizationManage" + } + }, + { + "requestName": "灭菌交接", + "URI": "/disinfectsystem/sterilizationmanager/sterilizationTransition/sterilizationTransitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationTransition_Manager" + ], + "systemSetConfig": { + "enableSterilizationTransition": "true" + } + }, + { + "requestName": "灭菌物品装载", + "URI": "/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationLoadingView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Sterilization_Loading,SSTS_Sterilization_remove" + ], + "systemSetConfig": { + "moduleWhiteList": "sterilizationLoading" + } + }, + { + "requestName": "代理灭菌管理 ", + "URI": "/disinfectsystem/sterilizationmanager/sterilizationrecord/proxyDisinfectionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ProxyDisinfection_Create,SSTS_ProxyDisinfection_Update,SSTS_ProxyDisinfection_Select,SSTS_ProxyDisinfection_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "proxySterilizationManage" + } + }, + { + "requestName": "外部代理灭菌管理", + "URI": "/disinfectsystem/sterilizationmanager/sterilizationrecord/foreignProxyDisinfectionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignProxyDisinfection_Select,SSTS_ForeignProxyDisinfection_Create,SSTS_ForeignProxyDisinfection_Update,SSTS_ForeignProxyDisinfection_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "foreignProxySterilizationManage" + } + }, + { + "requestName": "定期监测记录", + "URI": "/disinfectsystem/routineMonitoring/routineMonitoringView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RoutineMonitoring_Create,SSTS_RoutineMonitoring_Update,SSTS_RoutineMonitoring_Select,SSTS_RoutineMonitoring_Delete,SSTS_RoutineMonitoring_Review,SSTS_RoutineMonitoring_DefaultSelect" + ], + "systemSetConfig": { } + }, + { + "requestName": "质量监测记录", + "URI": "/disinfectsystem/qualitymonitoring/qualitymonitoringInstanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "moduleWhiteList": "qualityMonitoringRelatedReports" + } + }, + { + "requestName": "质量监测定义", + "URI": "/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.jsp", + "parameter": { + "listType": "lastDefinition", + "formType": "质量监测" + }, + "operationIds": [ + "SSTS_QualityMonitoring_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "已部署质量监测定义", + "URI": "/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.jsp", + "parameter": [ + { + "listType": "deployed", + "formType": "质量监测" + } + ], + "operationIds": [ + "SSTS_QualityRecord_Create,SSTS_QualityRecord_Update,SSTS_QualityRecord_Select,SSTS_QualityRecord_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "定期监测定义", + "URI": "/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.jsp", + "parameter": { + "listType": "definitionList", + "formType": "定期监测" + }, + "operationIds": [ + "SSTS_routineMonitoring_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "已部署定期监测定义", + "URI": "/disinfectsystem/basedatamanager/qualitymonitoringConfig/qualityMonitoringDefinitionView.jsp", + "parameter": { + "listType": "deployed", + "formType": "定期监测" + }, + "operationIds": [ + "SSTS_routineMonitoring_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械报损", + "URI": "/disinfectsystem/recyclingdamagerecord/recyclingDamageRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DamageRecord_Create,SSTS_DamageRecord_Update,SSTS_DamageRecord_Select,SSTS_DamageRecord_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械丢失", + "URI": "/disinfectsystem/recyclingError/recyclingErrorView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DamageRecord_Create,SSTS_DamageRecord_Update,SSTS_DamageRecord_Select,SSTS_DamageRecord_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗篮筐监控", + "URI": "/disinfectsystem/washanddisinfectmanager/basketMonitor/washBasketMonitor.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WASHRECORD_BASKET_VIEW,SSTS_STERILIZATION_MONITOR,SSTS_VIRTUAL_BASKET_MONITOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌篮筐监控", + "URI": "/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitor.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_STERILIZATION_MONITOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "虚拟篮筐监控", + "URI": "/disinfectsystem/washanddisinfectmanager/basketMonitor/virtualBasketMonitor.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_VIRTUAL_BASKET_MONITOR" + ], + "systemSetConfig": { + "disableLoadToVirtualBasket": "false" + } + }, + { + "requestName": "一次性物品管理", + "URI": "/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Delete,SSTS_DiposableGoods_Sync" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "停用一次性物品", + "URI": "/disinfectsystem/assestManagement/diposableGoods/diposableGoodsView.jsp", + "parameter": { + "isDisable": "是" + }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Delete,SSTS_DiposableGoods_Sync" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "高值耗材使用记录", + "URI": "/disinfectsystem/assestManagement/disposableGoods/expensiveDisposableGoodsUseRecordView.jsp", + "parameter": { + "isDisable": "是" + }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Delete,SSTS_DiposableGoods_Sync" + ], + "systemSetConfig": { + "enableExpensiveDisposableGoods": "true", + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品库存", + "URI": "/disinfectsystem/assestManagement/disposableGoods/disposableGoodsStockView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsStock_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "库存对比", + "URI": "/disinfectsystem/assestManagement/disposableGoods/batchStockCompare.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsStock_Manager" + ], + "systemSetConfig": { + "enableBatchStockCompare": "true", + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品出入库记录", + "URI": "/disinfectsystem/assestManagement/disposableGoods/storageRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsOutOfStorage_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品入库单管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/godownEntryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsGodownEntry_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品退库单管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/godownOutView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsCancellingStocks_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品调拨单管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/appropriationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsAllot_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品盘盈盘亏管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/godownStockTakeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DisposableGoodsProfitAndLoss_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "settleAccounts" + } + }, + { + "requestName": "一次性物品盘点管理", + "URI": "/disinfectsystem/stocktakerecordmanager/inventoryrecordView2.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "enableInventorySettlementFunctionStandarEdition": "false", + "inventoryDisposableVersion": "2" + } + }, + { + "requestName": "一次性物品盘点管理", + "URI": "/disinfectsystem/stocktakerecordmanager/inventoryrecordView.jsp", + "parameter": {"type":"disposableGoods"}, + "operationIds": ["SSTS_DisposableGoodsStock_Manager,SSTS_DisposableGoodsOutOfStorage_Manager,SSTS_DisposableGoodsGodownEntry_Manager,SSTS_DisposableGoodsCancellingStocks_Manager,SSTS_DisposableGoodsAllot_Manager,SSTS_DisposableGoodsProfitAndLoss_Manager,SSTS_DisposableGoodsCheck_Manager,SSTS_BaseAmountinventoryCheck_Manager,SSTS_DisposableGoodSsettleAccounts_Manager"], + "systemSetConfig": { + "moduleWhiteList":"disposableGoodsManage", + "enableInventorySettlementFunctionStandarEdition": "false", + "inventoryDisposableVersion": "!2" + } + }, + { + "requestName": "一次性物品月盘点记录", + "URI": "/disinfectsystem/stocktakerecordmanager/stocktakerecordView.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "enableInventorySettlementFunctionStandarEdition": "true" + } + }, + { + "requestName": "一次性物品结算管理", + "URI": "/disinfectsystem/reportforms/stocktakeView.jsp", + "parameter": { }, + "operationIds": ["SSTS_DisposableGoodsStock_Manager,SSTS_DisposableGoodsOutOfStorage_Manager,SSTS_DisposableGoodsGodownEntry_Manager,SSTS_DisposableGoodsCancellingStocks_Manager,SSTS_DisposableGoodsAllot_Manager,SSTS_DisposableGoodsProfitAndLoss_Manager,SSTS_DisposableGoodsCheck_Manager,SSTS_BaseAmountinventoryCheck_Manager,SSTS_DisposableGoodSsettleAccounts_Manager"], + "systemSetConfig": { + "moduleWhiteList":"disposableGoodsManage", + "enableInventorySettlementFunctionStandarEdition": "false" + } + }, + { + "requestName": "高值耗材定义管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsDefinition_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "导入高值耗材", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/importExpensiveGoods.mhtml", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsImport_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材实例列表", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsInstance/expensiveGoodsInstanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoods_Select" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材库存", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsStockView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsStock_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材申请单", + "URI": "/disinfectsystem/recyclingApplication/expensiveGoodsApplication/expensiveGoodsApplicationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoods_Create,SSTS_ExpensiveGoods_Update,SSTS_ExpensiveGoods_Select,SSTS_ExpensiveGoods_Delete,SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager,SSTS_ExpensiveGoodsPrepareGodownEntry_Manager,SSTS_ExpensiveGoodsInventoryRecord_Manager,SSTS_ExpensiveGoodsStockTakeInOrOut_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "expensiveGoodsManage", + "enableExpensiveGoods": "true" + } + }, + { + "requestName": "高值耗材自购入库单管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryView.jsp", + "parameter": {"entryType":"自购入库"}, + "operationIds": [ + "SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材预入库单管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownEntryView.jsp", + "parameter": {"entryType":"预入库"}, + "operationIds": [ + "SSTS_ExpensiveGoodsPrepareGodownEntry_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材退库单管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownOutEntryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsGodownOutEntryManagement" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材盘盈盘亏管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsGodownStockTakeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsStockTakeInOrOut_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材盘点管理", + "URI": "/disinfectsystem/stocktakerecordmanager/inventoryrecordView.jsp", + "parameter": { + "type": "expensiveGoods" + }, + "operationIds": [ + "SSTS_ExpensiveGoodsInventoryRecord_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材发票管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsBill/expensiveGoodsBillView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsBill_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材授权管理", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsAuthorizationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsAuthorization_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "我的待办任务", + "URI": "/systemmanage/workFlow/workFlowApprovalTask.jsp", + "parameter": { + "FormType": "高值耗材申请单" + }, + "operationIds": [ + "SSTS_ExpensiveGoodsWorkFlowApprovalTask_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "我的已办任务", + "URI": "/systemmanage/workFlow/workFlowFinishedApprovalTask.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsWorkFlowFinishedApprovalTask_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "采购计划", + "URI": "/disinfectsystem/assestManagement/godownEntry/goodPurchasePlanView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PurchasePlan_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "purchasePlan" + } + }, + { + "requestName": "高值耗材采购计划", + "URI": "/disinfectsystem/assestManagement/godownEntry/expensiveGoodPurchasePlanView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsPurcahsePlan_Manager,SSTS_ExpensiveGoods_Create,SSTS_ExpensiveGoods_Update,SSTS_ExpensiveGoods_Select,SSTS_ExpensiveGoods_Delete,SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager,SSTS_ExpensiveGoodsPrepareGodownEntry_Manager,SSTS_ExpensiveGoodsInventoryRecord_Manager,SSTS_ExpensiveGoodsStockTakeInOrOut_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "expensiveGoodsManage", + "enableExpensiveGoods": "true" + } + }, + { + "requestName": "设备合同管理", + "URI": "/disinfectsystem/assestManagement/contract/contractView.jsp", + "parameter": { + "contractType": "设备" + }, + "operationIds": [ + "SSTS_Contract_Create,SSTS_Contract_Update,SSTS_Contract_Select,SSTS_Contract_Delete" + ], + "systemSetConfig": { + "showContractManage": "true", + "moduleWhiteList": "contract" + } + }, + { + "requestName": "试剂合同管理", + "URI": "/disinfectsystem/assestManagement/contract/contractView.jsp", + "parameter": { + "contractType": "试剂" + }, + "operationIds": [ + "SSTS_Contract_Create,SSTS_Contract_Update,SSTS_Contract_Select,SSTS_Contract_Delete" + ], + "systemSetConfig": { + "showContractManage": "true", + "moduleWhiteList": "contract" + } + }, + { + "requestName": "药品合同管理", + "URI": "/disinfectsystem/assestManagement/contract/contractView.jsp", + "parameter": { + "contractType": "药品" + }, + "operationIds": [ + "SSTS_Contract_Create,SSTS_Contract_Update,SSTS_Contract_Select,SSTS_Contract_Delete" + ], + "systemSetConfig": { + "showContractManage": "true", + "moduleWhiteList": "contract" + } + }, + { + "requestName": "其他合同管理", + "URI": "/disinfectsystem/assestManagement/contract/contractView.jsp", + "parameter": { + "contractType": "其他" + }, + "operationIds": [ + "SSTS_Contract_Create,SSTS_Contract_Update,SSTS_Contract_Select,SSTS_Contract_Delete" + ], + "systemSetConfig": { + "showContractManage": "true", + "moduleWhiteList": "contract" + } + }, + { + "requestName": "材料管理", + "URI": "/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Material_Create,SSTS_Material_Update,SSTS_Material_Select,SSTS_Material_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "停用的材料", + "URI": "/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp", + "parameter": { + "onlyShowDisable": "yes" + }, + "operationIds": [ + "SSTS_Material_Create,SSTS_Material_Update,SSTS_Material_Select,SSTS_Material_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料入库管理", + "URI": "/disinfectsystem/materialmanager/materialEntryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MaterialGodownEntry_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料退库管理", + "URI": "/disinfectsystem/materialmanager/materialOutView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MaterialCancellingStocks_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料盘点管理", + "URI": "/disinfectsystem/stocktakerecordmanager/inventoryrecordView.jsp", + "parameter": { + "type": "material" + }, + "operationIds": [ + "SSTS_MaterialCheck_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械材料月盘点记录", + "URI": "/disinfectsystem/stocktakerecordmanager/materialCheckView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MaterialMonthCheck_list" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料调拨管理", + "URI": "/disinfectsystem/materialmanager/materialAppropriationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MaterialAppropriation_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "同步入库单", + "URI": "/disinfectsystem/datasynchronization/inventory/syncStorageEntry.jsp", + "parameter": { + "type": "入库单" + }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Sync,SSTS_DiposableGoods_Delete,SSTS_WarehouseEntry_Create,SSTS_WarehouseEntry_Update,SSTS_WarehouseEntry_Select,SSTS_WarehouseEntry_Delete" + ], + "systemSetConfig": { + "hiddSyncGodownEntryParentMenu": "false", + "hiddSyncGodownEntryMenu": "false" + } + }, + { + "requestName": "同步退库单", + "URI": "/disinfectsystem/datasynchronization/inventory/syncStorageEntry.jsp", + "parameter": { + "type": "退库单" + }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Sync,SSTS_DiposableGoods_Delete,SSTS_WarehouseEntry_Create,SSTS_WarehouseEntry_Update,SSTS_WarehouseEntry_Select,SSTS_WarehouseEntry_Delete" + ], + "systemSetConfig": { + "hiddSyncGodownEntryParentMenu": "false", + "hiddSyncGodownOutEntryMenu": "false" + } + }, + { + "requestName": "同步退货单", + "URI": "/disinfectsystem/datasynchronization/inventory/syncStorageEntry.jsp", + "parameter": { + "type": "退货单" + }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Sync,SSTS_DiposableGoods_Delete,SSTS_WarehouseEntry_Create,SSTS_WarehouseEntry_Update,SSTS_WarehouseEntry_Select,SSTS_WarehouseEntry_Delete" + ], + "systemSetConfig": { + "hiddSyncGodownEntryParentMenu": "false", + "hiddSyncGodownReturnEntryMenu": "false" + } + }, + { + "requestName": "材料同步管理", + "URI": "/disinfectsystem/basedatamanager/materialDefinition/syncMaterialDefinition.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Sync,SSTS_DiposableGoods_Delete,SSTS_WarehouseEntry_Create,SSTS_WarehouseEntry_Update,SSTS_WarehouseEntry_Select,SSTS_WarehouseEntry_Delete" + ], + "systemSetConfig": { + "hiddSyncGodownEntryParentMenu": "false", + "hiddSyncHisMaterialDefinitionMenu": "false" + } + }, + { + "requestName": "器械包种类定义", + "URI": "/disinfectsystem/basedatamanager/tousse/tousseType.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseInstanceType_list" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包定义管理", + "URI": "/disinfectsystem/basedatamanager/tousse/tousseView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Tousse_Create,SSTS_Tousse_Update,SSTS_Tousse_Select,SSTS_Tousse_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "停用的器械包", + "URI": "/disinfectsystem/basedatamanager/tousse/tousseView.jsp", + "parameter": { + "onlyShowDisable": "yes" + }, + "operationIds": [ + "SSTS_Tousse_Create,SSTS_Tousse_Update,SSTS_Tousse_Select,SSTS_Tousse_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "自定义器械包管理", + "URI": "/disinfectsystem/basedatamanager/tousse/customTousseDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomTousse" + ], + "systemSetConfig": { + "moduleWhiteList": "customTousseManage" + } + }, + { + "requestName": "外来器械包管理", + "URI": "/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseApplication_Create,SSTS_ForeignTousseApplication_Update,SSTS_ForeignTousseApplication_Select,SSTS_ForeignTousseApplication_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "foreignTousseManage" + } + }, + { + "requestName": "停用的外来器械包", + "URI": "/disinfectsystem/basedatamanager/tousse/foreignTousseView.jsp", + "parameter": { + "onlyShowDisable": "yes" + }, + "operationIds": [ + "SSTS_ForeignTousseApplication_Create,SSTS_ForeignTousseApplication_Update,SSTS_ForeignTousseApplication_Select,SSTS_ForeignTousseApplication_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "foreignTousseManage" + } + }, + { + "requestName": "器械包信息", + "URI": "/disinfectsystem/toussemanager/tousseinstancemanager/tousseInstanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseInstanceManager_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "标识牌信息", + "URI": "/disinfectsystem/basedatamanager/tousse/idCardInstanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseInstanceManager_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包库存", + "URI": "/disinfectsystem/toussemanager/toussegoodsstock/tousseGoodsStockView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Tousse_Create,SSTS_Tousse_Update,SSTS_Tousse_Select,SSTS_Tousse_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包保养", + "URI": "/disinfectsystem/toussemanager/toussemaintain/tousseMaintainView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseMaintain_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "tousseMaintain", + "disableTousseMaintain": "false" + } + }, + { + "requestName": "聚合包定义管理", + "URI": "/disinfectsystem/basedatamanager/tousse/comboTousse.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ComboTousseManager" + ], + "systemSetConfig": { + "enableComboTousse": "true" + } + }, + { + "requestName": "基数管理", + "URI": "/disinfectsystem/departmentStock/departmentStockInputView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartMentTousseManager" + ], + "systemSetConfig": { + "moduleWhiteList": "soreAndBaseManage" + } + }, + { + "requestName": "基数盘点历史记录", + "URI": "/disinfectsystem/stocktakerecordmanager/inventoryrecordView.jsp", + "parameter": { + "type": "基数盘点" + }, + "operationIds": [ + "SSTS_BaseAmountinventoryCheck_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "仪器班物品管理", + "URI": "/disinfectsystem/toussemanager/instrumentGoodsManagement/instrumentRoomGoodsManagement.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InstrumentGoodsManagement,SSTS_Tousse_Create,SSTS_Tousse_Update,SSTS_Tousse_Select,SSTS_Tousse_Delete" + ], + "systemSetConfig": { + "enableSurgicalInstrumentsManagement": "true" + } + }, + { + "requestName": "手术仪器追溯查询", + "URI": "/disinfectsystem/reportforms/tousseTraceabilityInquiry.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InstrumentGoodsManagement,SSTS_TousseTraceabilityInquiry" + ], + "systemSetConfig": { + "enableSurgicalInstrumentsManagement": "true" + } + }, + { + "requestName": "一次性物品干预管理", + "URI": "/disinfectsystem/assestManagement/disposableGoods/interfere/diposableGoodsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu,SSTS_InterfereWashAndDisinfectRecord_ViewMenu,SSTS_InterfereRecyclingApplication_ViewMenu,SSTS_InterfereForeigntousseApplication_ViewMenu,SSTS_InterfereOrgUnit_ViewMenu,SSTS_InterfereTerminateInvoicePlan_ViewMenu,SSTS_InterfereUeserRecord_ViewMenu", + "SSTS_DiposableGoods_Create,SSTS_DiposableGoods_Update,SSTS_DiposableGoods_Select,SSTS_DiposableGoods_Delete,SSTS_DiposableGoods_Sync" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品入库单干预管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/interfere/godownEntryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu,SSTS_InterfereWashAndDisinfectRecord_ViewMenu,SSTS_InterfereRecyclingApplication_ViewMenu,SSTS_InterfereForeigntousseApplication_ViewMenu,SSTS_InterfereOrgUnit_ViewMenu,SSTS_InterfereTerminateInvoicePlan_ViewMenu,SSTS_InterfereUeserRecord_ViewMenu", + "SSTS_DisposableGoodsGodownEntry_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "一次性物品退库单干预管理", + "URI": "/disinfectsystem/assestManagement/godownEntry/interfere/godownOutView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu,SSTS_InterfereWashAndDisinfectRecord_ViewMenu,SSTS_InterfereRecyclingApplication_ViewMenu,SSTS_InterfereForeigntousseApplication_ViewMenu,SSTS_InterfereOrgUnit_ViewMenu,SSTS_InterfereTerminateInvoicePlan_ViewMenu,SSTS_InterfereUeserRecord_ViewMenu", + "SSTS_DisposableGoodsCancellingStocks_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "disposableGoodsManage" + } + }, + { + "requestName": "消毒供应中心物品领用", + "URI": "/disinfectsystem/assestManagement/godownEntry/interfere/godownOutToSupplyRoomView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu,SSTS_InterfereWashAndDisinfectRecord_ViewMenu,SSTS_InterfereRecyclingApplication_ViewMenu,SSTS_InterfereForeigntousseApplication_ViewMenu,SSTS_InterfereOrgUnit_ViewMenu,SSTS_InterfereTerminateInvoicePlan_ViewMenu,SSTS_InterfereUeserRecord_ViewMenu", + "SSTS_ASSESTS_Get" + ], + "systemSetConfig": { + "moduleWhiteList": "supplyRoomUseGoods" + } + }, + { + "requestName": "申请单干预管理", + "URI": "/disinfectsystem/interfere/interfereGoodsApplicationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereRecyclingApplication_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌器械包干预管理", + "URI": "/disinfectsystem/interfere/interfereSterilizationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "回收记录干预管理", + "URI": "/disinfectsystem/interfere/recycling/recyclingRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterferePacking_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "装配记录干预管理", + "URI": "/disinfectsystem/interfere/packing/historyPackingView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterferePacking_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "发货记录干预管理", + "URI": "/disinfectsystem/interfere/invoice/invoiceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterferePacking_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌记录干预管理", + "URI": "/disinfectsystem/interfere/interfereSterilizationView1.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗记录干预管理", + "URI": "/disinfectsystem/interfere/interfereWashAndDisinfectRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereWashAndDisinfectRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "代理灭菌单干预管理", + "URI": "/disinfectsystem/interfere/interfereProxyDisinfectionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereSterilizationRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械干预管理", + "URI": "/disinfectsystem/interfere/interfereForeignTousseApplicationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereForeigntousseApplication_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "科室干预管理", + "URI": "/disinfectsystem/interfere/processSameOrgunitName/processSameOrgunitNameData.mhtml", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereOrgUnit_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "批量终止申请单管理", + "URI": "/disinfectsystem/interfere/interfereTerminateInvoicePlanView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereTerminateInvoicePlan_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录干预管理", + "URI": "/disinfectsystem/interfere/interfereUseRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereUeserRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "reviewViewText2器械包干预管理", + "URI": "/disinfectsystem/interfere/interfereReviewView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_InterfereReviewRecord_ViewMenu" + ], + "systemSetConfig": { } + }, + { + "requestName": "消毒供应中心物品领用", + "URI": "/disinfectsystem/assestManagement/godownEntry/godownOutToSupplyRoomView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ASSESTS_Get" + ], + "systemSetConfig": { + "moduleWhiteList": "supplyRoomUseGoods" + } + }, + { + "requestName": "消息发布管理", + "URI": "/disinfectsystem/message/message.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ProblemReport_Create,SSTS_ProblemReport_Update,SSTS_ProblemReport_Select,SSTS_ProblemReport_Delete" + ], + "systemSetConfig": { + "disableDepartmentProblemFeedback": "false" + } + }, + { + "requestName": "科室问题反馈类型设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "question_feedback" + }, + "operationIds": [ + "SSTS_ProblemReport_Create,SSTS_ProblemReport_Update,SSTS_ProblemReport_Select,SSTS_ProblemReport_Delete" + ], + "systemSetConfig": { + "disableDepartmentProblemFeedback": "false" + } + }, + { + "requestName": "一次性物品告警", + "URI": "/disinfectsystem/assestManagement/diposableGoods/diposableGoodsWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_DiposableGoods" + ], + "systemSetConfig": { + "moduleWhiteList": "systemWarningFunction" + } + }, + { + "requestName": "器械包告警", + "URI": "/disinfectsystem/assestManagement/tousseGoods/tousseGoodsWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_TousseGoods" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料库存告警", + "URI": "/disinfectsystem/basedatamanager/materialDefinition/materialDefinitionView.jsp", + "parameter": { + "warning": "warning" + }, + "operationIds": [ + "SSTS_SystemWarning_MATERIAL_MIN_STOCK" + ], + "systemSetConfig": { } + }, + { + "requestName": "供应商注册证告警", + "URI": "/disinfectsystem/basedatamanager/supplier/supplierCertificationWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_RegistrationCertification" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材库存告警", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_RegistrationCertification" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材可结算实例告警", + "URI": "/disinfectsystem/assestManagement/expensiveGoods/expensiveGoodsBillWarning/expensiveGoodsBIllInstanceWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_ExpensiveGoodsBill" + ], + "systemSetConfig": { } + }, + { + "requestName": "供应商证件告警", + "URI": "/disinfectsystem/basedatamanager/supplier/supplierView.jsp", + "parameter": { + "warningStatus": "true" + }, + "operationIds": [ + "SSTS_SystemWarning_Supplier_Certificate" + ], + "systemSetConfig": { } + }, + { + "requestName": "合同告警", + "URI": "/disinfectsystem/assestManagement/contract/contractWarningView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SystemWarning_Contract" + ], + "systemSetConfig": { } + }, + { + "requestName": "退货记录信息", + "URI": "/disinfectsystem/returnGoodsRecord/returnGoodsRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ReturnGoodsRecord_Create,SSTS_ReturnGoodsRecord_Update,SSTS_ReturnGoodsRecord_Select,SSTS_ReturnGoodsRecord_Delete,SSTS_ReturnGoodsRecord_Sign" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料退货记录", + "URI": "/disinfectsystem/returnMaterialRecord/returnMaterialRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ReturnGoodsRecord_Create,SSTS_ReturnGoodsRecord_Update,SSTS_ReturnGoodsRecord_Select,SSTS_ReturnGoodsRecord_Delete,SSTS_ReturnGoodsRecord_Sign" + ], + "systemSetConfig": { } + }, + { + "requestName": "召回记录管理", + "URI": "/disinfectsystem/recallRecord/recallRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecallRecord_Create,SSTS_RecallRecord_Delete,SSTS_RecallRecord_EXCHANGE,SSTS_RecallRecord_CLOSE,SSTS_RecallRecord_Update,SSTS_RecallRecord_Select" + ], + "systemSetConfig": { + "moduleWhiteList": "recallManage" + } + }, + { + "requestName": "不良事件表单登记列表", + "URI": "/disinfectsystem/customform/forminstanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomFormInput_Create" + ], + "systemSetConfig": { } + }, + { + "requestName": "不良事件表单查询统计", + "URI": "/disinfectsystem/customform/formInstanceReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomFormInput_Create" + ], + "systemSetConfig": { } + }, + { + "requestName": "不良事件表单定义列表", + "URI": "/disinfectsystem/customform/formdefinitionView.jsp", + "parameter": { + "listType": "lastDefinition" + }, + "operationIds": [ + "SSTS_CustomForm_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "已部署表单列表", + "URI": "/disinfectsystem/customform/formdefinitionView.jsp", + "parameter": { + "listType": "deployed" + }, + "operationIds": [ + "SSTS_CustomForm_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "设备维护信息", + "URI": "/disinfectsystem/deviceMaintenance/deviceMaintenanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeviceMonitoring_Create,SSTS_DeviceMonitoring_Update,SSTS_DeviceMonitoring_Select,SSTS_DeviceMonitoring_Delete,SSTS_DeviceMaintenance_Create,SSTS_DeviceMaintenance_Update,SSTS_DeviceMaintenance_Select,SSTS_DeviceMaintenance_Delete" + ], + "systemSetConfig": { + "isDeviceMaintenanceCus": "false" + } + }, + { + "requestName": "设备维护信息", + "URI": "/disinfectsystem/deviceMaintenance/deviceMaintenanceCostomInsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeviceMonitoring_Create,SSTS_DeviceMonitoring_Update,SSTS_DeviceMonitoring_Select,SSTS_DeviceMonitoring_Delete,SSTS_DeviceMaintenance_Create,SSTS_DeviceMaintenance_Update,SSTS_DeviceMaintenance_Select,SSTS_DeviceMaintenance_Delete" + ], + "systemSetConfig": { + "isDeviceMaintenanceCus": "true" + } + }, + { + "requestName": "设备维护定义列表", + "URI": "/disinfectsystem/deviceMaintenance/deviceMaintenanceCostomDefView.jsp", + "parameter": { + "listType": "lastDefinition" + }, + "operationIds": [ + "SSTS_CustomForm_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "已部署设备维护列表", + "URI": "/disinfectsystem/deviceMaintenance/deviceMaintenanceCostomDefView.jsp", + "parameter": { + "listType": "deployed" + }, + "operationIds": [ + "SSTS_CustomForm_Config" + ], + "systemSetConfig": { } + }, + { + "requestName": "摄像头定义", + "URI": "/disinfectsystem/videoMonitor/cameraDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_cameraDefinition_Create,SSTS_cameraDefinition_Update,SSTS_cameraDefinition_Delete" + ], + "systemSetConfig": { + "enableVideoMonitorModule": "true" + } + }, + { + "requestName": "电脑工作站定义", + "URI": "/disinfectsystem/videoMonitor/computerDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_computerDefinition_Create,SSTS_computerDefinition_Update,SSTS_computerDefinition_Delete" + ], + "systemSetConfig": { + "enableVideoMonitorModule": "true" + } + }, + { + "requestName": "视频管理", + "URI": "/disinfectsystem/videoMonitor/videoManage.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_videoManage_Play,SSTS_videoManage_Delete" + ], + "systemSetConfig": { + "enableVideoMonitorModule": "true" + } + }, + { + "requestName": "消毒供应中心年度工作量统计报表(新)", + "URI": "/disinfectsystem/report/cssdWorkloadCountByDate/cssdWorkloadMainReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload" + ], + "systemSetConfig": { + "enableNewYearWorkloadReport": "true" + } + }, + { + "requestName": "消毒供应中心年度工作量统计报表", + "URI": "/disinfectsystem/reportforms/yearWorkloadReportView2.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload" + ], + "systemSetConfig": { } + }, + { + "requestName": "消毒供应中心员工绩效评分表", + "URI": "/disinfectsystem/reportforms/statisticalWorkloadView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_StatisticalWorkload" + ], + "systemSetConfig": { } + }, + { + "requestName": "工作量积分统计报表", + "URI": "/disinfectsystem/reportforms/workloadScoreStatisticView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload,SSTS_StatisticalWorkload,SSTS_USERECORD_TOTAL,SSTS_USERECORD_Item,SSTS_USERECORD_OperatorTotal,SSTS_USERECORD_ForGoods,SSTS_USERECORD_TypeForDoctorAccountDepart,SSTS_USERECORD_SumForDoctorAccountDepart,SSTS_WashingMachineStoveUseCountReport,SSTS_SterilizingStoveUseCountReport,SSTS_TousseWorkLoadTotalReport,SSTS_WaitPackingTaskReport,SSTS_CleaningAreaWorkloadForUser,SSTS_DepartPackingDetailSummaryReport,SSTS_DeviceUptimeStatisticsReport" + ], + "systemSetConfig": { + "enableWorkloadScoreStatisticReport": "true" + } + }, + { + "requestName": "使用记录录入统计报表", + "URI": "/disinfectsystem/reportforms/useRecordTotalView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_USERECORD_TOTAL" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录录入明细报表", + "URI": "/disinfectsystem/reportforms/useRecordItemView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_USERECORD_Item" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录人员汇总报表", + "URI": "/disinfectsystem/reportforms/useRecordOperatorTotalView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_USERECORD_OperatorTotal" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录物品分类汇总表", + "URI": "/disinfectsystem/reportforms/summaryUseRecordForGoodsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_USERECORD_ForGoods" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录物品分类汇总表(病人所在科室)", + "URI": "/disinfectsystem/reportforms/summaryUseRecordForGoodsAndDepartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload,SSTS_StatisticalWorkload,SSTS_USERECORD_TOTAL,SSTS_USERECORD_Item,SSTS_USERECORD_OperatorTotal,SSTS_USERECORD_ForGoods,SSTS_USERECORD_TypeForDoctorAccountDepart,SSTS_USERECORD_SumForDoctorAccountDepart,SSTS_WashingMachineStoveUseCountReport,SSTS_SterilizingStoveUseCountReport,SSTS_TousseWorkLoadTotalReport,SSTS_WaitPackingTaskReport,SSTS_CleaningAreaWorkloadForUser,SSTS_DepartPackingDetailSummaryReport,SSTS_DeviceUptimeStatisticsReport" + ], + "systemSetConfig": { + "enableUseRecordByPatientDept": "true" + } + }, + { + "requestName": "使用记录物品汇总表(病人所在科室)", + "URI": "/disinfectsystem/reportforms/summaryUseRecordView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload,SSTS_StatisticalWorkload,SSTS_USERECORD_TOTAL,SSTS_USERECORD_Item,SSTS_USERECORD_OperatorTotal,SSTS_USERECORD_ForGoods,SSTS_USERECORD_TypeForDoctorAccountDepart,SSTS_USERECORD_SumForDoctorAccountDepart,SSTS_WashingMachineStoveUseCountReport,SSTS_SterilizingStoveUseCountReport,SSTS_TousseWorkLoadTotalReport,SSTS_WaitPackingTaskReport,SSTS_CleaningAreaWorkloadForUser,SSTS_DepartPackingDetailSummaryReport,SSTS_DeviceUptimeStatisticsReport" + ], + "systemSetConfig": { + "enableUseRecordByPatientDept": "true" + } + }, + { + "requestName": "清洗机使用次数统计报表", + "URI": "/disinfectsystem/reportforms/washingMachineStoveUseCountView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashingMachineStoveUseCountReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌炉使用次数统计报表", + "URI": "/disinfectsystem/reportforms/sterilizingStoveUseCountView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizingStoveUseCountReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包工作量统计报表", + "URI": "/disinfectsystem/reportforms/tousseWorkLoadView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseWorkLoadTotalReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "物品风险级别统计报表", + "URI": "/disinfectsystem/reportforms/goodsRiskLevelReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWorkload,SSTS_StatisticalWorkload,SSTS_USERECORD_TOTAL,SSTS_USERECORD_Item,SSTS_USERECORD_OperatorTotal,SSTS_USERECORD_ForGoods,SSTS_USERECORD_TypeForDoctorAccountDepart,SSTS_USERECORD_SumForDoctorAccountDepart,SSTS_WashingMachineStoveUseCountReport,SSTS_SterilizingStoveUseCountReport,SSTS_TousseWorkLoadTotalReport,SSTS_WaitPackingTaskReport,SSTS_CleaningAreaWorkloadForUser,SSTS_DepartPackingDetailSummaryReport,SSTS_DeviceUptimeStatisticsReport" + ], + "systemSetConfig": { + "enableRiskLevelOfTousseDefinition": "true" + } + }, + { + "requestName": "清洗区人员工作量统计报表", + "URI": "/disinfectsystem/reportforms/cleaningAreaWorkloadForUser.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CleaningAreaWorkloadForUser" + ], + "systemSetConfig": { + "enableCleaningAreaWorkloadForUser": "true" + } + }, + { + "requestName": "待装配任务工作表", + "URI": "/disinfectsystem/reportforms/waitPackingTaskReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WaitPackingTaskReport" + ], + "systemSetConfig": { + "enableWaitPackingTaskReport": "true" + } + }, + { + "requestName": "排班统计报表", + "URI": "/disinfectsystem/reportforms/scheduleReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ScheduleReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "供应室护理质量指标统计表", + "URI": "/disinfectsystem/reportforms/supplyRoomQualityQuota.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic" + ], + "systemSetConfig": { } + }, + { + "requestName": "十八项指标分析报表", + "URI": "/disinfectsystem/reportforms/quotaReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QuotaReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "工作质量持续收集统计报表/工作质量持续收集统计报表", + "URI": "/disinfectsystem/reportforms/workQualityCollectionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WorkQualityCountReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "回收器械材料明细报表", + "URI": "/disinfectsystem/reportforms/recycleMaterialDetailView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycleMaterialDetailReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "中医器具消毒合格率报表", + "URI": "/disinfectsystem/reportforms/chineseMedicineInstrTypeQuaRateReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "enableChineseMedicineApparatusFunction": "true" + } + }, + { + "requestName": "清洗区工作量及不合格率月报", + "URI": "/disinfectsystem/reportforms/washWorkloadReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashWorkloadReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗区材料类型工作量统计报表", + "URI": "/disinfectsystem/reportforms/materialTypeWorkloadReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashMaterialTypeWorkloadReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "包装区工作量及不合格率月报", + "URI": "/disinfectsystem/reportforms/packingUnqualifieReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PackingUnqualifieReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌区工作量及不合格率月报", + "URI": "/disinfectsystem/reportforms/sterilizationWorkloadReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationWorkloadReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌区工作量统计报表", + "URI": "/disinfectsystem/reportforms/sterilizationAreaWorkLoadView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_sterilizationAreaWorkLoadReport" + ], + "systemSetConfig": { + "enableSterilizationAreaWorkLoadReport": "true" + } + }, + { + "requestName": "器械消毒灭菌检查情况报表", + "URI": "/disinfectsystem/reportforms/tousseSterilizationInspectSituation.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_tousseSterilizationInspectSituation" + ], + "systemSetConfig": { + "enableTousseSterilizationInspectSituationReport": "true" + } + }, + { + "requestName": "设备维护报表", + "URI": "/disinfectsystem/reportforms/deviceMaintenanceView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeviceMaintenanceReport" + ], + "systemSetConfig": { + "isDeviceMaintenanceCus": "false" + } + }, + { + "requestName": "设备维护报表", + "URI": "/disinfectsystem/reportforms/deviceMaintenanceCusReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeviceMaintenanceReport" + ], + "systemSetConfig": { + "isDeviceMaintenanceCus": "true" + } + }, + { + "requestName": "质量监测报表", + "URI": "/disinfectsystem/reportforms/qualityMonitoringView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityMonitoringReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "质量监测项统计月报/质量监测项统计分析报表", + "URI": "/disinfectsystem/reportforms/qualityMonitoringMonthView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityMonitoringReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "各任务组质量监测汇总报表", + "URI": "/disinfectsystem/reportforms/qualityMonitoringReportTaskGroup.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityMonitoringReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械清洗不合格部位数量统计报表", + "URI": "/disinfectsystem/reportforms/materialWashUnqualifiedPositionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityMonitoringReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械清洗不合格评估方法数量统计报表", + "URI": "/disinfectsystem/reportforms/materialWashUnqualifiedAssessMethodView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityMonitoringReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械材料清洗不合格统计报表", + "URI": "/disinfectsystem/reportforms/washUnUnqualifiedReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "enableMaterialWashUnUnqualifiedReport": "true", + "moduleWhiteList": "qualityMonitoringRelatedReports" + } + }, + { + "requestName": "清洗不合格率环比折线图报表", + "URI": "/disinfectsystem/reportforms/yearWashReportChartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_YearWashReportChart" + ], + "systemSetConfig": { } + }, + { + "requestName": "装配不合格率环比折线图报表", + "URI": "/disinfectsystem/reportforms/packingFailureRateReportChartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PackingFailureRateReportChart" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌不合格率环比折线图报表", + "URI": "/disinfectsystem/reportforms/sterilizationFailureRateReportChartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationFailureRateReportChart" + ], + "systemSetConfig": { } + }, + { + "requestName": "器材丢失汇总统计报表", + "URI": "/disinfectsystem/reportforms/materialMissTotalView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW" + ], + "systemSetConfig": { } + }, + { + "requestName": "器材丢失明细统计报表", + "URI": "/disinfectsystem/reportforms/materialMissItemView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW" + ], + "systemSetConfig": { } + }, + { + "requestName": "器材报损汇总统计报表", + "URI": "/disinfectsystem/reportforms/materialDamageTotalView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW" + ], + "systemSetConfig": { } + }, + { + "requestName": "器材报损明细统计报表", + "URI": "/disinfectsystem/reportforms/materialDamageItemView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW" + ], + "systemSetConfig": { } + }, + { + "requestName": "器材丢失报损分类统计月报", + "URI": "/disinfectsystem/reportforms/materialDamageMissMonthView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌情况报表", + "URI": "/disinfectsystem/reportforms/sterilizationRecordInfoView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationRecordInfoReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌效果监测结果报表", + "URI": "/disinfectsystem/reportforms/sterilizationEffectMonitorView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationEffectMonitorReport" + ], + "systemSetConfig": { + "moduleWhiteList": "enableSterilizationEffectMonitorReport" + } + }, + { + "requestName": "清洗情况报表", + "URI": "/disinfectsystem/reportforms/washAndDisinfectRecordInfoView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_WashAndDisinfectRecordInfoReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包实际负载组合统计报表", + "URI": "/disinfectsystem/reportforms/tousseOverLoad.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "enableTousseOverloadReport": "true" + } + }, + { + "requestName": "器械包次日下送率统计报表", + "URI": "/disinfectsystem/reportforms/tousseMorrowSend.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "enableTousseMorrowSend": "true" + } + }, + { + "requestName": "护理工作质量指标报表", + "URI": "/disinfectsystem/reportforms/nurseWorkload.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "enableNurseWorkload": "true" + } + }, + { + "requestName": "灭菌物品质量监测统计报表", + "URI": "/disinfectsystem/reportforms/sterilizerQuality.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "showSterilizerQualityReport": "true" + } + }, + { + "requestName": "预处理不合格报表", + "URI": "/disinfectsystem/reportforms/unqualifiedPretreatmentReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QualityControlOfClinic,SSTS_QuotaReport,SSTS_WorkQualityCountReport,SSTS_RecycleMaterialDetailReport,SSTS_WashWorkloadReport,SSTS_WashMaterialTypeWorkloadReport,SSTS_PackingUnqualifieReport,SSTS_SterilizationWorkloadReport,SSTS_sterilizationAreaWorkLoadReport,SSTS_tousseSterilizationInspectSituation,SSTS_DeviceMaintenanceReport,SSTS_QualityMonitoringReport,SSTS_YearWashReportChart,SSTS_PackingFailureRateReportChart,SSTS_SterilizationFailureRateReportChart,SSTS_MATERIAL_MISS_ITEM_TOTAL_VIEW,SSTS_SterilizationRecordInfoReport,SSTS_SterilizationEffectMonitorReport,SSTS_WashAndDisinfectRecordInfoReport,SSTS_SterilizationOmitReport,SSTS_BiologicalMonitoringReport,SSTS_InstrumentRepairReport,SSTS_ChineseMedicineInstrTypeQuaRateReport" + ], + "systemSetConfig": { + "showUnqualifiedPretreatmentReport": "true" + } + }, + { + "requestName": "灭菌遗漏检查表", + "URI": "/disinfectsystem/reportforms/sterilizationOmitReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilizationOmitReport" + ], + "systemSetConfig": { + "enableSterilizationOmitReport": "true" + } + }, + { + "requestName": "核算月报", + "URI": "/disinfectsystem/reportforms/departmentMonthlyView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartmentMonthly" + ], + "systemSetConfig": { } + }, + { + "requestName": "明细核算月报", + "URI": "/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartmentMonthlyDetail" + ], + "systemSetConfig": { } + }, + { + "requestName": "科研项目明细核算月报", + "URI": "/disinfectsystem/reportforms/sciProjectAccountingMonthlyView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartmentMonthly,SSTS_DepartmentMonthlyDetail,SSTS_EOGoodsDetailReport,SSTS_GodownEntryStatistic,SSTS_ReturnGoodsDetailReport,SSTS_GoodsDistributeReportChart,SSTS_TousseDeliverReport,SSTS_DisposableGoodsDeliverReport,SSTS_ForeignTousseReport,SSTS_ApparatusInfusionisType,SSTS_TousseMaterialMonthCheckReport,SSTS_BorrowReport,SSTS_ForeignTousseSterilizationMonitorAndDelivery,SSTS_ForeignTousseAfterUseDelivery,SSTS_UrgentNeedGoodsProcessingCycle,SSTS_TousseSpecificationSizeStatistics,SSTS_TousseApplySummary,SSTS_DepartMonthlyDetailForAll_Select,SSTS_QurryAllGoodsDistribute,SSTS_ForeignTousseSupplierChargeReport,SSTS_MaterialStockReport" + ], + "systemSetConfig": { + "enableSciProjectAccountingMonthlyReport": "true", + "moduleWhiteList": "financeAccountRelatedReports" + } + }, + { + "requestName": "发货物品统计月报(按灭菌程序)", + "URI": "/disinfectsystem/reportforms/EOGoodsDetailView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_EOGoodsDetailReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "消耗物品月盘点统计报表", + "URI": "/disinfectsystem/reportforms/disposableGoodsInventoryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "一次性物品三类查询报表", + "URI": "/disinfectsystem/reportforms/goodsAmountSummaryByGradeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { } + }, + { + "requestName": "入(退)库物品统计报表", + "URI": "/disinfectsystem/reportforms/godownEntryStatisticView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "入/退库物品统计报表(按供应商)", + "URI": "/disinfectsystem/reportforms/godownEntrySummaryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "入(退)库物品明细统计报表", + "URI": "/disinfectsystem/reportforms/godownEntryDetailStatisticView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "一次性物品发货量对比报表", + "URI": "/disinfectsystem/reportforms/invoiceAmountContrastChartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GodownEntryStatistic" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "材料库存统计报表", + "URI": "/disinfectsystem/reportforms/materialStockReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_MaterialStockReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "签收统计报表", + "URI": "/disinfectsystem/reportforms/signGoodsDetailView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ReturnGoodsDetailReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "退货统计报表", + "URI": "/disinfectsystem/reportforms/returnGoodsDetailView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ReturnGoodsDetailReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "物品发放分布饼图", + "URI": "/disinfectsystem/reportforms/goodsDistributeReportChartView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GoodsDistributeReportChart" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包发货统计报表", + "URI": "/disinfectsystem/reportforms/tousseDeliverStatisticsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseDeliverReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械申请单统计报表", + "URI": "/disinfectsystem/reportforms/foreignTousseApplicationReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械包大小统计报表", + "URI": "/disinfectsystem/reportforms/foreignTousseSizeReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartmentMonthly,SSTS_DepartmentMonthlyDetail,SSTS_EOGoodsDetailReport,SSTS_GodownEntryStatistic,SSTS_ReturnGoodsDetailReport,SSTS_GoodsDistributeReportChart,SSTS_TousseDeliverReport,SSTS_DisposableGoodsDeliverReport,SSTS_ForeignTousseReport,SSTS_ApparatusInfusionisType,SSTS_TousseMaterialMonthCheckReport,SSTS_BorrowReport,SSTS_ForeignTousseSterilizationMonitorAndDelivery,SSTS_ForeignTousseAfterUseDelivery,SSTS_UrgentNeedGoodsProcessingCycle,SSTS_TousseSpecificationSizeStatistics,SSTS_TousseApplySummary,SSTS_DepartMonthlyDetailForAll_Select,SSTS_QurryAllGoodsDistribute,SSTS_ForeignTousseSupplierChargeReport,SSTS_MaterialStockReport" + ], + "systemSetConfig": { + "foreignTousseSizeSetting": "true", + "moduleWhiteList": "financeAccountRelatedReports" + } + }, + { + "requestName": "各类型输液器报表", + "URI": "/disinfectsystem/reportforms/apparatusInfusionisTypeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ApparatusInfusionisType" + ], + "systemSetConfig": { } + }, + { + "requestName": "消毒供应中心器械月盘点统计报表", + "URI": "/disinfectsystem/reportforms/supplyRoomApplianceMonthStatisticsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseMaterialMonthCheckReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "借还物品统计报表", + "URI": "/disinfectsystem/reportforms/borrowReportView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_BorrowReport" + ], + "systemSetConfig": { } + }, + { + "requestName": "含植入物器械包灭菌监测及发放情况报表", + "URI": "/disinfectsystem/reportforms/foreignTousseSterilizationMonitorAndDelivery.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseSterilizationMonitorAndDelivery" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械使用后交接报表", + "URI": "/disinfectsystem/reportforms/foreignTousseAfterUseDelivery.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseAfterUseDelivery" + ], + "systemSetConfig": { } + }, + { + "requestName": "急用物品处理周期统计报表", + "URI": "/disinfectsystem/reportforms/urgentNeedGoodsProcessingCycleView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_UrgentNeedGoodsProcessingCycle" + ], + "systemSetConfig": { + "enableUrgentNeedGoodsProcessingCycleReport": "true" + } + }, + { + "requestName": "器械包规格大小统计报表", + "URI": "/disinfectsystem/reportforms/tousseSpecificationSizeStatistics.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseSpecificationSizeStatistics" + ], + "systemSetConfig": { + "enableTousseSpecificationSizeStatistics": "true" + } + }, + { + "requestName": "各部门器械包申请汇总报表", + "URI": "/disinfectsystem/reportforms/tousseApplySummary.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseApplySummary" + ], + "systemSetConfig": { + "enableTousseApplySummary": "true" + } + }, + { + "requestName": "手术室器械包使用分摊费用报表", + "URI": "/disinfectsystem/reportforms/operatingRoomInstrumentSetUsageAndApportionmentExpenseReport.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DepartmentMonthly,SSTS_DepartmentMonthlyDetail,SSTS_EOGoodsDetailReport,SSTS_GodownEntryStatistic,SSTS_ReturnGoodsDetailReport,SSTS_GoodsDistributeReportChart,SSTS_TousseDeliverReport,SSTS_DisposableGoodsDeliverReport,SSTS_ForeignTousseReport,SSTS_ApparatusInfusionisType,SSTS_TousseMaterialMonthCheckReport,SSTS_BorrowReport,SSTS_ForeignTousseSterilizationMonitorAndDelivery,SSTS_ForeignTousseAfterUseDelivery,SSTS_UrgentNeedGoodsProcessingCycle,SSTS_TousseSpecificationSizeStatistics,SSTS_TousseApplySummary,SSTS_DepartMonthlyDetailForAll_Select,SSTS_QurryAllGoodsDistribute,SSTS_ForeignTousseSupplierChargeReport,SSTS_MaterialStockReport" + ], + "systemSetConfig": { + "enableOperatingRoomInstrumentSetUsageAndApportionmentExpenseReport": "true", + "moduleWhiteList": "financeAccountRelatedReports" + } + }, + { + "requestName": "排班信息查看", + "URI": "/disinfectsystem/schedule/scheduleInformationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycRecord_Create,SSTS_RecycRecord_Update,SSTS_RecycRecord_Select,SSTS_RecycRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "recycle" + } + }, + { + "requestName": "班次定义", + "URI": "/disinfectsystem/schedule/scheduleDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycRecord_Create,SSTS_RecycRecord_Update,SSTS_RecycRecord_Select,SSTS_RecycRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "recycle" + } + }, + { + "requestName": "班次定义修改历史纪录", + "URI": "/disinfectsystem/schedule/scheduleDefinitionHistoryView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_RecycRecord_Create,SSTS_RecycRecord_Update,SSTS_RecycRecord_Select,SSTS_RecycRecord_Delete" + ], + "systemSetConfig": { + "moduleWhiteList": "recycle" + } + }, + { + "requestName": "考试难度", + "URI": "/disinfectsystem/onlineExams/examsDifficult/examsDifficultView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExamsDifficult_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "考题类别", + "URI": "/disinfectsystem/onlineExams/httpTreeOptionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExamsType_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "题库信息", + "URI": "/disinfectsystem/onlineExams/question/questionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Question_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "试题模板信息", + "URI": "/disinfectsystem/onlineExams/questionSet/questionSetView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_QuestionSet_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "生成试卷", + "URI": "/disinfectsystem/onlineExams/examsDefinition/examsDefinitionView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExamsDefinition_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "答卷信息管理", + "URI": "/disinfectsystem/onlineExams/examsAnswer/examAnswerView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExamsAnswer_Manage" + ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "报表定义", + "URI": "/disinfectsystem/customizedreports/reportList.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomizeReport_ReportCustomize" + ], + "systemSetConfig": { } + }, + { + "requestName": "文件夹定义", + "URI": "/disinfectsystem/customizedreports/folderList.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CustomizeReport_FolderCustomize" + ], + "systemSetConfig": { } + }, + { + "requestName": "组织机构", + "URI": "/systemmanage/orgUnitExtView.jsp", + "parameter": { }, + "operationIds": [ + "System_Orgunit_Select" + ], + "systemSetConfig": { } + }, + { + "requestName": "停用的组织机构", + "URI": "/systemmanage/disabledOrgUnitExtView.jsp", + "parameter": { }, + "operationIds": [ + "System_Orgunit_Select" + ], + "systemSetConfig": { } + }, + { + "requestName": "用户管理", + "URI": "/systemmanage/userExtView.jsp", + "parameter": { }, + "operationIds": [ + "System_User_Select" + ], + "systemSetConfig": { + "moduleWhiteList": "userManage" + } + }, + { + "requestName": "权限管理", + "URI": "/systemmanage/roleList.jsp", + "parameter": { }, + "operationIds": [ + "System_Role_Select" + ], + "systemSetConfig": { } + }, + { + "requestName": "日志管理", + "URI": "/log/loggrid.jsp", + "parameter": { }, + "operationIds": [ + "System_Log_Select,System_Log_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "初始化演示数据", + "URI": "/systemmanage/initData.jsp", + "parameter": { }, + "operationIds": [ + "ROLE_ADMINISTRATOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "导出邮件", + "URI": "/email/exportMailForm.mhtml", + "parameter": { }, + "operationIds": [ + "ROLE_ADMINISTRATOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "备份数据库", + "URI": "/databaseBackupAndRestore/backup.jsp", + "parameter": { }, + "operationIds": [ + "ROLE_ADMINISTRATOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "还原数据库", + "URI": "/databaseBackupAndRestore/restore.jsp", + "parameter": { }, + "operationIds": [ + "ROLE_ADMINISTRATOR" + ], + "systemSetConfig": { } + }, + { + "requestName": "活动管理", + "URI": "/systemmanage/system/activityView.jsp", + "parameter": { }, + "operationIds": [ + "System_Orgunit_Select,System_User_Select,System_Role_Select,System_Log_Select,System_Check" + ], + "systemSetConfig": { } + }, + { + "requestName": "系统体检", + "URI": "/systemmanage/system/systemCheck.jsp", + "parameter": { }, + "operationIds": [ + "System_Check" + ], + "systemSetConfig": { } + }, + { + "requestName": "系统信息", + "URI": "/systemmanage/system/systemInfo.jsp", + "parameter": { }, + "operationIds": [ + "System_Orgunit_Select,System_User_Select,System_Role_Select,System_Log_Select,System_Check" + ], + "systemSetConfig": { } + }, + { + "requestName": "科室申领模版", + "URI": "/disinfectsystem/basedatamanager/departmentapptemplate/departmentAppTemplateView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_departMentApplication_Create,SSTS_departMentApplication_ManageAll,SSTS_departMentApplication_Update,SSTS_departMentApplication_Select,SSTS_departMentApplication_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "班次类型配置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "shiftType" + }, + "operationIds": [ + "SSTS_ShiftConfig_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "打印发货计划设置", + "URI": "/disinfectsystem/printRecyclingConfig/printRecyclingConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { + "printRecyclingConfigFormVersion": "1" + } + }, + { + "requestName": "打印发货计划设置", + "URI": "/disinfectsystem/printRecyclingConfig2/printRecyclingConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { + "printRecyclingConfigFormVersion": "2" + } + }, + { + "requestName": "打印发货单设置", + "URI": "/disinfectsystem/printInvoiceConfig/printInvoiceConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { + "printInvoiceVersion": "2" + } + }, + { + "requestName": "标签模板管理", + "URI": "/disinfectsystem/labelTemplateDesign/labelTemplateView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "标签输出打印机设置", + "URI": "/disinfectsystem/computerLabelPrinterSetting/computerLabelPrinterSettingView.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "enablePrintLabelsOutputPrinterSettingsFunction": "true" + } + }, + { + "requestName": "科室分组设置", + "URI": "/disinfectsystem/basedatamanager/departmentgroup/departmentgroupCommonView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "手术器械科室分组设置", + "URI": "/disinfectsystem/basedatamanager/departmentgroup/operationTousse/gridView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "回收科室分组设置", + "URI": "/disinfectsystem/basedatamanager/departmentgroup/departmentgroupView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "包装/审核科室分组设置", + "URI": "/disinfectsystem/basedatamanager/departmentgroupOption/departmentgroupOptionView.jsp", + "parameter": { + "type": "审核科室分组" + }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "物品科室共用配置", + "URI": "/disinfectsystem/goodsDepartShareConfig/goodsDepartShareConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "使用记录转换配置", + "URI": "/disinfectsystem/basedatamanager/useRecordConvertConfig/useRecordConvertConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_UseRecordConvertConfig_Manager" + ], + "systemSetConfig": { + "enableUseRecordConvertConfig": "true" + } + }, + { + "requestName": "器械包回收备注设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "recycleItem_remark" + }, + "operationIds": [ + "SSTS_PrintConfig_Create,SSTS_PrintConfig_Update,SSTS_PrintConfig_Select,SSTS_PrintConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "特殊感染类型设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "specialInfection" + }, + "operationIds": [ + "SSTS_SpecialInfection_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "病区设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "patientArea" + }, + "operationIds": [ ], + "systemSetConfig": { + "enablePatientAreaSetting": "true" + } + }, + { + "requestName": "申请单终止原因设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "application_end_cause" + }, + "operationIds": [ + "SSTS_application_end_cause_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包废弃原因设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "tousse_discard_cause" + }, + "operationIds": [ + "SSTS_application_end_cause_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "外部代理灭菌分组设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "foreignProxyGroup1" + }, + "operationIds": [ + "SSTS_foreignProxyGroup_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械处理方式", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "foreignTousseProcessType" + }, + "operationIds": [ + "SSTS_foreignTousseProcessType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "材料类型设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "materialType" + }, + "operationIds": [ + "SSTS_Material_Create,SSTS_Material_Update,SSTS_Material_Select,SSTS_Material_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "中医器具类型设置", + "URI": "/disinfectsystem/basedatamanager/chineseMedicineApparatus/chineseMedicineApparatusView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ChineseMedicineApparatus_manager" + ], + "systemSetConfig": { + "moduleWhiteList": "enableChineseMedicineApparatusFunction" + } + }, + { + "requestName": "材料清洗分类设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "materialWashClasify" + }, + "operationIds": [ + "SSTS_Material_Create,SSTS_Material_Update,SSTS_Material_Select,SSTS_Material_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "任务组设置", + "URI": "/disinfectsystem/basedatamanager/taskGroup/taskGroupView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TaskGroup_Create,SSTS_TaskGroup_Update,SSTS_TaskGroup_Select,SSTS_TaskGroup_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "丢失报损类型设置", + "URI": "/disinfectsystem/basedatamanager/damageErrorMaterialType/damageErrorMaterialTypeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Damage_Create,SSTS_Damage_Update,SSTS_Damage_Select,SSTS_Damage_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "丢失报损备注设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "error_damage_remark" + }, + "operationIds": [ + "SSTS_Error_Damage_Remark" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包分组设置", + "URI": "/disinfectsystem/basedatamanager/tousseGroup/tousseGroupView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_TousseGroup_Create,SSTS_TousseGroup_Update,SSTS_TousseGroup_Select,SSTS_TousseGroup_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "手术名称设置", + "URI": "/systemmanage/operationNameView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Operation_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "设备维护项目名称设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "projectName" + }, + "operationIds": [ + "SSTS_ProjectName_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "包装类型设置", + "URI": "/systemmanage/httpOptionByValue.mhtml", + "parameter": { + "listId": "packType" + }, + "operationIds": [ + "SSTS_PackType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "设备设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "equipment" + }, + "operationIds": [ + "SSTS_equipment_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗方式设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "washMethod" + }, + "operationIds": [ + "SSTS_equipment_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "器械包重量设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "tousseWeight" + }, + "operationIds": [ + "SSTS_Tousse_Update" + ], + "systemSetConfig": { } + }, + { + "requestName": "一次性物品类型设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "diposableGoodsType" + }, + "operationIds": [ + "SSTS_DiposableGoodsType_manager" + ], + "systemSetConfig": { + "disableDisposableGoods": "false" + } + }, + { + "requestName": "高值耗材类型设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "expensiveGoodsType" + }, + "operationIds": [ + "SSTS_ExpensiveGoods_Create,SSTS_ExpensiveGoods_Update,SSTS_ExpensiveGoods_Select,SSTS_ExpensiveGoods_Delete,SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager,SSTS_ExpensiveGoodsPrepareGodownEntry_Manager,SSTS_ExpensiveGoodsInventoryRecord_Manager,SSTS_ExpensiveGoodsStockTakeInOrOut_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "容器管理", + "URI": "/disinfectsystem/basedatamanager/container/containerView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Container_Create,SSTS_Container_Update,SSTS_Container_Select,SSTS_Container_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "供应商管理", + "URI": "/disinfectsystem/basedatamanager/supplier/supplierView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Supplier_Create,SSTS_Supplier_Update,SSTS_Supplier_Select,SSTS_Supplier_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "高值耗材供应商管理", + "URI": "/disinfectsystem/basedatamanager/supplier/expensiveGoodsSupplierView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoodsSupplier_Manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "条码信息", + "URI": "/disinfectsystem/basedatamanager/barcodeInformation/barcodeInformation.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "位置管理", + "URI": "/disinfectsystem/basedatamanager/position/positionView.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "haveRinserPosition": "true" + } + }, + { + "requestName": "清洗程序管理", + "URI": "/disinfectsystem/basedatamanager/cleanmethod/cleanMethodView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_CleanMethod_Create,SSTS_CleanMethod_Update,SSTS_CleanMethod_Select,SSTS_CleanMethod_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "清洗机管理", + "URI": "/disinfectsystem/basedatamanager/rinser/rinserView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Rinser_Create,SSTS_Rinser_Update,SSTS_Rinser_Select,SSTS_Rinser_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "设备维护分组设置", + "URI": "/disinfectsystem/basedatamanager/deviceMaintenanceCusGroup/deviceMaintenanceCusGroupView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_DeviceMaintenanceCusGroup_manager" + ], + "systemSetConfig": { + "enableGroupManagementOfDeviceMaintenanceFunction": "true" + } + }, + { + "requestName": "灭菌炉分组设置", + "URI": "/disinfectsystem/basedatamanager/sterilerGroup/sterilerGroupView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SterilerGroup_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌炉管理", + "URI": "/disinfectsystem/basedatamanager/sterilizer/sterilizerView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Sterilizer_Create,SSTS_Sterilizer_Update,SSTS_Sterilizer_Select,SSTS_Sterilizer_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌目的设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "sterilizationPurpose" + }, + "operationIds": [ + "SSTS_SterilizationPurpose_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌方式设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "sterilizationMode" + }, + "operationIds": [ + "SSTS_SterilizationMode_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "灭菌程序管理", + "URI": "/disinfectsystem/basedatamanager/sterilisation/sterilisationView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Sterilisation_Create,SSTS_Sterilisation_Update,SSTS_Sterilisation_Select,SSTS_Sterilisation_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "生物阅读器管理", + "URI": "/disinfectsystem/basedatamanager/bioreader/bioreaderView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Bioreader_Create,SSTS_Bioreader_Update,SSTS_Bioreader_Select,SSTS_Bioreader_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "设备接口管理", + "URI": "/disinfectsystem/basedatamanager/deviceInterface/deviceInterfaceView.jsp", + "parameter": { }, + "operationIds": [], + "systemSetConfig": { + "disableDeviceInterface": "false" + } + }, + { + "requestName": "物品失效期管理", + "URI": "/disinfectsystem/basedatamanager/expirationDateInfo/expirationDateInfoView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Expiration_Create,SSTS_Expiration_Update,SSTS_Expiration_Delete,SSTS_Expiration_Select" + ], + "systemSetConfig": { } + }, + { + "requestName": "PDA参数设置", + "URI": "/personalSetting/modifyExitLoginTime.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "仓库管理", + "URI": "/disinfectsystem/basedatamanager/warehouse/wareHouseView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "各环节超时设置", + "URI": "/systemmanage/timeoutSetting.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "流水号设置", + "URI": "/disinfectsystem/basedatamanager/serialnumconfig/serialNumConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SerialNumber_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "导入导出基础数据", + "URI": "/disinfectsystem/basedatamanager/importbasedata/importBasedata.mhtml", + "parameter": { }, + "operationIds": [ + "SSTS_ImportBaseData_manager" + ], + "systemSetConfig": { + "moduleWhiteList": "baseDataManage" + } + }, + { + "requestName": "IP对应的默认科室配置", + "URI": "/disinfectsystem/basedatamanager/iPAndOrgUnitMapping/iPAndOrgUnitMappingView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_IPAndOrgUnitMapping_Create,SSTS_IPAndOrgUnitMapping_Update,SSTS_IPAndOrgUnitMapping_Select,SSTS_IPAndOrgUnitMapping_Delete" + ], + "systemSetConfig": { + "enableIPAndOrgUnitMapping": "true" + } + }, + { + "requestName": "物品绑定", + "URI": "/disinfectsystem/goodsBindingConfig/goodsBindingConfigView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GoodsBindingConfig_Create,SSTS_GoodsBindingConfig_Update,SSTS_GoodsBindingConfig_Select,SSTS_GoodsBindingConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "外来器械包组合", + "URI": "/disinfectsystem/CombinationKits/CombinationKitsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ForeignTousseApplication_Combo" + ], + "systemSetConfig": { + "enableForeignTousseApplicationCombo": "true" + } + }, + { + "requestName": "物品黑白名单过滤设置", + "URI": "/disinfectsystem/goodFilterConfig/goodFilterTemplate.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_GoodsFilterConfig_Create,SSTS_GoodsFilterConfig_Update,SSTS_GoodsFilterConfig_Select,SSTS_GoodsFilterConfig_Delete" + ], + "systemSetConfig": { } + }, + { + "requestName": "加急级别管理", + "URI": "/disinfectsystem/basedatamanager/urgentLevel/urgentLevelView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_UrgentLevel_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "手术间管理", + "URI": "/disinfectsystem/basedatamanager/operationRoom/operationRoom.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_OperationRoom_manager" + ], + "systemSetConfig": { + "enableOperationRoomManagerViwe": "true" + } + }, + { + "requestName": "流程定义管理", + "URI": "/systemmanage/workFlow/workFlow.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoods_Create,SSTS_ExpensiveGoods_Update,SSTS_ExpensiveGoods_Select,SSTS_ExpensiveGoods_Delete,SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager,SSTS_ExpensiveGoodsPrepareGodownEntry_Manager,SSTS_ExpensiveGoodsInventoryRecord_Manager,SSTS_ExpensiveGoodsStockTakeInOrOut_Manager,SSTS_ExpensiveGoodsWorkFlow_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "expensiveGoodsManage", + "enableExpensiveGoods": "true" + } + }, + { + "requestName": "流程审批权限代理配置", + "URI": "/systemmanage/workFlow/workFlowAuthorize/workFlowApprovalAuthorization.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_ExpensiveGoods_Create,SSTS_ExpensiveGoods_Update,SSTS_ExpensiveGoods_Select,SSTS_ExpensiveGoods_Delete,SSTS_ExpensiveGoodsPurchaseGodownEntry_Manager,SSTS_ExpensiveGoodsPrepareGodownEntry_Manager,SSTS_ExpensiveGoodsInventoryRecord_Manager,SSTS_ExpensiveGoodsStockTakeInOrOut_Manager,,SSTS_ExpensiveGoodsWorkFloAuthorization_Manager" + ], + "systemSetConfig": { + "moduleWhiteList": "expensiveGoodsManage", + "enableExpensiveGoods": "true" + } + }, + { + "requestName": "常用医生设置", + "URI": "/disinfectsystem/basedatamanager/commonlyUsedDoctor/comUsedDoctorView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_UsedDoctor_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "交接模块管理", + "URI": "/disinfectsystem/basedatamanager/handover/handoverView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_Handover_manager" + ], + "systemSetConfig": { + "enableHandoverModule": "true" + } + }, + { + "requestName": "责任环节", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "responsibilityPart" + }, + "operationIds": [ + "SSTS_ResponsibilityPart_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "缺陷信息登记类型分组", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "defectiveMessageRegisterType" + }, + "operationIds": [ + "SSTS_DefectiveMessageRegisterType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "职称设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "positionalTitle" + }, + "operationIds": [ ], + "systemSetConfig": { + "hideStaffArchive": "false" + } + }, + { + "requestName": "院区设置", + "URI": "/disinfectsystem/basedatamanager/branchesOfHospital/branchesOfHospitalView.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "enableMultipleBranchesOfHospital": "true" + } + }, + { + "requestName": "收费项目设置", + "URI": "/systemmanage/httpOption.mhtml", + "parameter": { + "listId": "chargeItem" + }, + "operationIds": [ + "SSTS_chargeRecordgManage_Select" + ], + "systemSetConfig": { + "isEnableChargeFunction": "true" + } + }, + { + "requestName": "供应室处理器械包配置", + "URI": "/disinfectsystem/basedatamanager/supplyroomtype/cssdHandleToussesView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "供应室服务临床科室配置", + "URI": "/disinfectsystem/basedatamanager/supplyroomtype/cssdServiceDeptsView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "科室供应室设置", + "URI": "/disinfectsystem/basedatamanager/supplyroomtype/supplyRoomTypeView.jsp", + "parameter": { }, + "operationIds": [ + "SSTS_SupplyRoomType_manager" + ], + "systemSetConfig": { } + }, + { + "requestName": "在线考试", + "URI": "/disinfectsystem/onlineExams/examsDefinition/examsDefinitionView.jsp", + "parameter": { + "exam": "true" + }, + "operationIds": [ ], + "systemSetConfig": { + "enableOnlineExamsFunction": "true" + } + }, + { + "requestName": "配包需逐一检查材料的物品", + "URI": "/disinfectsystem/basedatamanager/packingMaterialsCheck/packingMaterialsCheckView.jsp", + "parameter": { }, + "operationIds": [ ], + "systemSetConfig": { + "enablePackingMaterialsCheckFunction": "true" + } + } +] \ No newline at end of file Index: ssts-web/src/main/java/com/forgon/disinfectsystem/directory/service/SysUserManagerImpl.java =================================================================== diff -u -r40318 -r40382 --- ssts-web/src/main/java/com/forgon/disinfectsystem/directory/service/SysUserManagerImpl.java (.../SysUserManagerImpl.java) (revision 40318) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/directory/service/SysUserManagerImpl.java (.../SysUserManagerImpl.java) (revision 40382) @@ -189,11 +189,19 @@ return user; } + @SuppressWarnings("unchecked") @Override public User getUserByPropertyWithLower(String propertyName, String name) { - User user = (User) objectDao.getBySql(User.class.getSimpleName(), + /*User user = (User) objectDao.getBySql(User.class.getSimpleName(), String.format("where lower(%s)='%s'", propertyName,StringUtils.lowerCase(name))); - return user; + return user;*/ + String sql = String.format("select po from %s po where lower(%s)=?", User.class.getSimpleName(), propertyName); + Object[] array = new String[]{name}; + List list = objectDao.findByParam(sql, array); + if(CollectionUtils.isEmpty(list)){ + return null; + } + return list.get(0); } /** Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessConfigure.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessConfigure.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessConfigure.java (revision 40382) @@ -0,0 +1,225 @@ +package com.forgon.disinfectsystem.security.access; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import net.sf.json.JSONArray; + +import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.collections.MapUtils; +import org.apache.commons.lang.StringUtils; +import org.springframework.security.access.AccessDecisionVoter; + +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.vo.LoginUserData; +import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ConfigUtils; + +/** + * 请求访问配置 + * 通过请求uri及入参匹配"请求访问配置",然后根据权限、配置项判断是否允许访问 + */ +public class RequestAccessConfigure { + + /** + * 请求名称 + */ + private String requestName; + + /** + * 请求的uri + */ + private String uri; + + /** + * 参数的map + */ + private Map parameter; + + /** + * 权限id + * 部分页面需要多组权限共同控制,例如:["权限1,权限2","权限3,权限4"] + */ + private List operationIds; + + /** + * config.js中的配置项 + */ + private Map systemSetConfig; + + /** + * 表示反逻辑的符号 + * 例如“一次性物品盘点管理”有两个页面: + * inventoryDisposableVersion=2时,访问inventoryrecordView2.jsp; + * inventoryDisposableVersion!=2时,访问inventoryrecordView.jsp; + */ + private static final String NEGATION = "!"; + + @Override + public String toString() { + return "RequestAccessConfigure [uri=" + uri + + ", parameter=" + parameter + ", operationIds=" + operationIds + + ", systemSetConfig=" + systemSetConfig + "]"; + } + + public String getRequestName() { + return requestName; + } + + public void setRequestName(String requestName) { + this.requestName = requestName; + } + + public String getUri() { + return uri; + } + + public void setUri(String uri) { + this.uri = uri; + } + + public Map getParameter() { + return parameter; + } + + public void setParameter(Map parameter) { + this.parameter = parameter; + } + + public List getOperationIds() { + return operationIds; + } + + public void setOperationIds(List operationIds) { + this.operationIds = operationIds; + } + + public Map getSystemSetConfig() { + return systemSetConfig; + } + + public void setSystemSetConfig(Map systemSetConfig) { + this.systemSetConfig = systemSetConfig; + } + + /** + * 判断是否有访问权限 + * 1、权限控制; + * 2、配置项控制; + * @return AccessDecisionVoter.ACCESS_GRANTED 允许访问 + * AccessDecisionVoter.ACCESS_ABSTAIN 弃权 + * AccessDecisionVoter.ACCESS_DENIED 拒绝访问 + */ + public int accessVote() { + if(CollectionUtils.isEmpty(operationIds) && MapUtils.isEmpty(systemSetConfig)){ + //不做权限控制,弃权 + return AccessDecisionVoter.ACCESS_ABSTAIN; + } + //无权限,拒绝访问 + if(CollectionUtils.isNotEmpty(operationIds)){ + for (String tempOperationIds : operationIds) { + if(!isCurrentUserHaveAnyOperation(tempOperationIds)){ + return AccessDecisionVoter.ACCESS_DENIED; + } + } + } + //配置项不满足,拒绝访问 + if(MapUtils.isNotEmpty(systemSetConfig) && !systemSetConfigVote()){ + return AccessDecisionVoter.ACCESS_DENIED; + } + return AccessDecisionVoter.ACCESS_GRANTED; + } + + /** + * 判断配置项是否满足条件 + * @return + */ + private boolean systemSetConfigVote() { + if(MapUtils.isEmpty(systemSetConfig)){ + return true; + } + for (Entry systemSetConfigEntry : systemSetConfig.entrySet()) { + String systemSetConfigKey = systemSetConfigEntry.getKey(); + String systemSetConfigValue = systemSetConfigEntry.getValue(); + if(StringUtils.isBlank(systemSetConfigKey) || StringUtils.isBlank(systemSetConfigValue)){ + continue; + } + if(StringUtils.equals(systemSetConfigKey, "moduleWhiteList")){ + //白名单,例如moduleWhiteList:['washAndDisinfection','packageManage'] + //没开启白名单,或者开启白名单并包含功能模块名称,才允许访问 + String moduleWhiteListConfig_jsStr = ConfigUtils.getSystemSetConfigByName("moduleWhiteList"); + if(StringUtils.isBlank(moduleWhiteListConfig_jsStr)){ + continue; + } + try { + //menuConfig.js的配置项 + Collection moduleWhiteListCollectionMenuConfig_json = StringTools.toCollectionIgnoreNullAndBlank(systemSetConfigValue, ","); + if(CollectionUtils.isEmpty(moduleWhiteListCollectionMenuConfig_json)){ + continue; + } + //config.js的配置项 + JSONArray moduleWhiteListArrConfig_js = JSONArray.fromObject(moduleWhiteListConfig_jsStr); + if(moduleWhiteListArrConfig_js != null && moduleWhiteListArrConfig_js.size() > 0){ + continue; + } + for (Object moduleMenuConfig_json : moduleWhiteListCollectionMenuConfig_json) { + boolean includeModule = false; + for (Object moduleConfig_js : moduleWhiteListArrConfig_js) { + if(StringUtils.equals((String)moduleMenuConfig_json, (String)moduleConfig_js)){ + includeModule = true; + break; + } + } + if(!includeModule){ + return false; + } + } + } catch (Exception e) {} + }else { + if(systemSetConfigValue.startsWith(NEGATION)){ + //没有开启配置项某个配置项时,才允许访问 + if(StringUtils.equals(systemSetConfigValue.substring(1), ConfigUtils.getSystemSetConfigByName(systemSetConfigKey))){ + return false; + } + }else{ + //开启配置项某个配置项时,才允许访问 + String systemSetConfigKeyConfigjs = ConfigUtils.getSystemSetConfigByName(systemSetConfigKey); + if(StringUtils.isBlank(systemSetConfigKeyConfigjs) && StringUtils.equals(systemSetConfigValue, "false")){ + continue; + } + if(!StringUtils.equals(systemSetConfigValue, systemSetConfigKeyConfigjs)){ + return false; + } + } + } + } + return true; + } + + /** + * 判断用户是否具有传入的操作中的任何一个操作的权限 + * @author Terry + * @param operationIds 操作的id + */ + public boolean isCurrentUserHaveAnyOperation(String operationIds) { + boolean haveOperation = false; + String userOperationIds = ""; + LoginUserData loginUserData = AcegiHelper.getLoginUser(); + if (loginUserData != null){ + userOperationIds = loginUserData.getUserOperationIds(); + } + if (StringUtils.isNotBlank(operationIds) && StringUtils.isNotBlank(userOperationIds)) { + String[] operationIdsArr = operationIds.split(","); + for (String operationId : operationIdsArr) { + if (userOperationIds.indexOf("," + operationId + ",") != -1) { + haveOperation = true; + break; + } + } + } + return haveOperation; + } + +} Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionManager.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionManager.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionManager.java (revision 40382) @@ -0,0 +1,68 @@ +package com.forgon.disinfectsystem.security.access; + +import java.util.Collection; +import java.util.List; + +import org.springframework.security.access.AccessDecisionVoter; +import org.springframework.security.access.AccessDeniedException; +import org.springframework.security.access.ConfigAttribute; +import org.springframework.security.access.vote.AbstractAccessDecisionManager; +import org.springframework.security.authentication.InsufficientAuthenticationException; +import org.springframework.security.core.Authentication; + +/** + * 请求访问控制的manager + * 自定义的投票器RequestAccessDecisionVoter投反对票时,就直接拒绝访问 + */ +public class RequestAccessDecisionManager extends AbstractAccessDecisionManager { + + public RequestAccessDecisionManager(){ + + } + + @SuppressWarnings("rawtypes") + public RequestAccessDecisionManager(List decisionVoters) { + super(decisionVoters); + } + + @Override + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void decide(Authentication authentication, Object object, Collection configAttributes) throws AccessDeniedException, InsufficientAuthenticationException { + int deny = 0; + + for (AccessDecisionVoter voter : getDecisionVoters()) { + int result = voter.vote(authentication, object, configAttributes); + + /*if (logger.isDebugEnabled()) { + logger.debug("Voter: " + voter + ", returned: " + result); + }*/ + + switch (result) { + case AccessDecisionVoter.ACCESS_GRANTED: + return; + + case AccessDecisionVoter.ACCESS_DENIED: + if(voter instanceof RequestAccessDecisionVoter){ + //自定义的投票器验证不通过时,就直接拒绝访问 + throw new AccessDeniedException(messages.getMessage("AbstractAccessDecisionManager.accessDenied", + "Access is denied")); + } + deny++; + + break; + + default: + break; + } + } + + if (deny > 0) { + throw new AccessDeniedException(messages.getMessage("AbstractAccessDecisionManager.accessDenied", + "Access is denied")); + } + + // To get this far, every AccessDecisionVoter abstained + checkAllowIfAllAbstainDecisions(); + } + +} Index: ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionVoter.java =================================================================== diff -u --- ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionVoter.java (revision 0) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/security/access/RequestAccessDecisionVoter.java (revision 40382) @@ -0,0 +1,27 @@ +package com.forgon.disinfectsystem.security.access; + +import java.util.Collection; + +import org.springframework.security.access.AccessDecisionVoter; +import org.springframework.security.access.ConfigAttribute; +import org.springframework.security.core.Authentication; +import org.springframework.security.web.FilterInvocation; + +public class RequestAccessDecisionVoter implements AccessDecisionVoter { + + @Override + public boolean supports(ConfigAttribute attribute) { + return true; + } + + @Override + public boolean supports(Class clazz) { + return FilterInvocation.class.isAssignableFrom(clazz); + } + + @Override + public int vote(Authentication authentication, FilterInvocation fi, Collection attributes) { + return RequestAccessUtil.requestAccessVote(fi.getRequest()); + } + +} Index: ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/spring/security/applicationContext-acegi-security.xml =================================================================== diff -u -r40302 -r40382 --- ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/spring/security/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 40302) +++ ssts-web/src/main/webapp/disinfectsystem/config/gzszyy/spring/security/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 40382) @@ -31,7 +31,7 @@ - + @@ -133,13 +133,30 @@ - + + + + + + + + + + + + + + + +