Index: ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java =================================================================== diff -u -r14607 -r14707 --- ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 14607) +++ ssts-recyclingapplication/src/main/java/com/forgon/disinfectsystem/recyclingapplication/dwr/table/RecyclingApplicationTableManager.java (.../RecyclingApplicationTableManager.java) (revision 14707) @@ -134,10 +134,19 @@ String applicationShowAll = sqlWhereParamMap.get("applicationShowAll"); String sql = "where po.type = '" + InvoicePlan.TYPE_BORROWINGSINGLE + "'"; - + + //是否有配置科室申领下的‘查看所有申请单’(借物单)的权限 if (!"true".equals(applicationShowAll)) { - sql += " and po.departCoding = '" - + AcegiHelper.getLoginUser().getCurrentOrgUnitCode()+ "'"; + String currentOrgUnitCode = AcegiHelper.getCurrentOrgUnitCode(); + //如未配置此权限,则根据当前用户是否为供应室用户 + if(supplyRoomConfigManager.isSupplyRoomUser()){ + sql += " and (po.departCoding = '" + + currentOrgUnitCode+ "' or po.handleDepartCoding = '" + + currentOrgUnitCode+ "')"; + }else{ + sql += " and po.departCoding = '" + + AcegiHelper.getLoginUser().getCurrentOrgUnitCode()+ "'"; + } } return gridManager.renderGrid(parameterMap, InvoicePlan.class.getSimpleName(), sql, new String[] { @@ -395,6 +404,8 @@ "recyclingRecord", "recyclingApplications", "parent", "recyclingRecords" }); config.setJsonPropertyFilter(propertyFilter); + //设置hibernate延时加载器句柄,以防申请单的submitTime值为空时调用JSONObject.fromObject报错 + config.setExcludes(new String[]{"handler","hibernateLazyInitializer"}); json = JSONObject .fromObject( recyclingApplicationManager