Index: ssts-web/src/main/java/com/forgon/disinfectsystem/problemreportmanager/problemreport/service/ProblemManagerImpl.java =================================================================== diff -u -r39109 -r39332 --- ssts-web/src/main/java/com/forgon/disinfectsystem/problemreportmanager/problemreport/service/ProblemManagerImpl.java (.../ProblemManagerImpl.java) (revision 39109) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/problemreportmanager/problemreport/service/ProblemManagerImpl.java (.../ProblemManagerImpl.java) (revision 39332) @@ -674,16 +674,21 @@ if(StringUtils.isBlank(currentOrgUnitCode)){ throw new SystemException("当前登录科室不能为空!"); } + simpleSpell = simpleSpell.trim(); + simpleSpell = simpleSpell.toUpperCase(); List allOrgUnitList = new ArrayList(); if(!supplyRoomConfigManager.isFirstSupplyRoomOrgUnit(currentOrgUnitCode)){ SupplyRoomConfig firstSupplyRoomConfig = supplyRoomConfigManager.getFirstSupplyRoomConfig(); OrgUnit firstSupplyRoomOrg = orgUnitManager.getByCode(firstSupplyRoomConfig.getOrgUnitCoding()); if(firstSupplyRoomOrg != null){ - allOrgUnitList.add(firstSupplyRoomOrg); + //根据查询关键字判断是否显示一级供应室 + boolean showFirstSupplyRoomOrgUnit = showFirstSupplyRoomOrgUnit(firstSupplyRoomOrg, simpleSpell); + if(showFirstSupplyRoomOrgUnit){ + allOrgUnitList.add(firstSupplyRoomOrg); + } } } String cssdServiceDeptsSql = getCssdServiceDeptsSql(currentOrgUnitCode); - simpleSpell = simpleSpell.toUpperCase(); String sql = " where 1=1 "; if(StringUtils.isNotBlank(cssdServiceDeptsSql)){ sql += cssdServiceDeptsSql; @@ -712,6 +717,50 @@ } /** + * 根据查询关键字判断是否显示一级供应室 + * @param firstSupplyRoomOrg + * @param simpleSpell + * @return + */ + private boolean showFirstSupplyRoomOrgUnit(OrgUnit firstSupplyRoomOrg, String simpleSpell) { + if(firstSupplyRoomOrg == null){ + return false; + } + if(StringUtils.isBlank(simpleSpell)){ + return true; + } + Pattern pat = Pattern.compile("[\\u4E00-\\u9FA5]+"); // 匹配中文字符的正则表达式 + Matcher m = pat.matcher(simpleSpell); + String searchMode = AcegiHelper.getLoginUser().getSearchMode(); + if (m.find()) { + if(StringUtils.isNotBlank(firstSupplyRoomOrg.getName()) && firstSupplyRoomOrg.getName().contains(simpleSpell)){ + return true; + } + } else { + if (StringUtils.isNotBlank(searchMode)) { + if (searchMode.indexOf("拼音") != -1) { + if(StringUtils.isNotBlank(firstSupplyRoomOrg.getSpelling()) && firstSupplyRoomOrg.getSpelling().contains(simpleSpell)){ + return true; + } + } + if (searchMode.indexOf("五笔") != -1) { + if(StringUtils.isNotBlank(firstSupplyRoomOrg.getWbCode()) && firstSupplyRoomOrg.getWbCode().contains(simpleSpell)){ + return true; + } + } + } else { + if(StringUtils.isNotBlank(firstSupplyRoomOrg.getSpelling()) && firstSupplyRoomOrg.getSpelling().contains(simpleSpell)){ + return true; + } + if(StringUtils.isNotBlank(firstSupplyRoomOrg.getWbCode()) && firstSupplyRoomOrg.getWbCode().contains(simpleSpell)){ + return true; + } + } + } + return false; + } + + /** * 问题反馈通知科室的下拉框: * 一级供应室:所有未停用的科室 * 二级供应室:一级供应室、所有在【供应室服务临床科室配置】中设置的当前科室服务的未停用的临床科室;