Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r13461 -r13465 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 13461) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 13465) @@ -887,12 +887,14 @@ if (onlySearchRecyclingTousse){ sql += " and po.isRecycling = '"+TousseDefinition.STR_YES+"' "; } - if (searchTousseBelonged){ + + //按处理科室查询器械包,改为从CssdHandleTousses表查询,不再按器械包定义里面的查询 + /*if (searchTousseBelonged){ String handlerDepartCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); if(StringUtils.isNotBlank(handlerDepartCode)){ sql += " and po.handlerDepartCode = '" + handlerDepartCode + "' "; } - } + }*/ List> mapList = new ArrayList>(); if (isSeachTousse) { if (includeCoustomTousse) {// 是否包含自定义器械包,是则不排除,否则排除 @@ -935,8 +937,13 @@ .findBySql(TousseDefinition.class.getSimpleName(), sql, index, amount, null); if (tousseDefinitions != null) { + String handlerDepartCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); for (TousseDefinition tousseDefinition : tousseDefinitions) { - + if (searchTousseBelonged){ + if(!getTousseTaskGroupByOrgUnitCode(tousseDefinition , handlerDepartCode)){ + continue; + } + } Map temp = new HashMap(); temp.put("id", tousseDefinition.getId()); temp.put("name", tousseDefinition.getName()); @@ -973,6 +980,29 @@ return mapList; } + + /** + * 根据科室编码查询该科室能否处理该器械包 + * @param td 器械包定义 + * @param orgUnitCoding 处理科室编码 + * @return + */ + private boolean getTousseTaskGroupByOrgUnitCode(TousseDefinition td, String orgUnitCoding){ + boolean result = false; + String sql = "select count(0) from CssdHandleTousses ct where ct.tousseDefinitionId = " + td.getId() + " and orgUnitCode = '" + orgUnitCoding + "'"; + ResultSet rs = null; + try{ + rs = objectDao.executeSql(sql); + if(rs.next()){ + result = true; + } + }catch(Exception e){ + + }finally{ + DatabaseUtil.closeResultSetAndStatement(rs); + } + return result; + } private List> searchTousseOrDiposableGoodsBySpellAndWbCodeWithStock( String simpleSpell) {