Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r26185 -r26186 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 26185) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 26186) @@ -2282,7 +2282,7 @@ Set predicates, JSONObject retObj, boolean useAssetsBelong) { List list = null; int totalCount = 0; - String whereSql = " where fordisplay = 1 and id in (select tousseDefinitionId from " + + String whereSql = " where fordisplay = 1 and po.id in (select tousseDefinitionId from " + CssdHandleTousses.class.getSimpleName() + " where orgUnitCode = '" + cssdOrgUnit.getOrgUnitCoding() + "')"; whereSql += " and (spelling like '%" + spell + "%' or wbCode like '%" + spell + "%' or externalCode like '" + spell @@ -2328,8 +2328,10 @@ String orgUnitCoding = AcegiHelper.getCurrentOrgUnitCode(); //判断当前科室是否是供应室 不过滤供应室 boolean isFirstOrSecondSupplyRoomOrgUnit = supplyRoomConfigManager.isFirstOrSecondSupplyRoomOrgUnit(orgUnitCoding); - if(isFirstOrSecondSupplyRoomOrgUnit){//只查询归属本科室的包 - sql += " and ( (po.assetsBelong like '%\"departCode\":\""+orgUnitCoding+"\"%') or po.assetsBelong is null or po.assetsBelong = '')"; + if(!isFirstOrSecondSupplyRoomOrgUnit){//只查询归属本科室的包 + sql = String.format(" %s and ((po.id in (select distinct tousseDefinitionId from TousseDefinitionBelongDepart where orgUnitCoding='%s'))" + + " or " + + "(po.id not in (select distinct tousseDefinitionId from TousseDefinitionBelongDepart)))", sql, orgUnitCoding); } } return sql;