​金蝶s-HR Cloud关于视图配置domain指令对列表数据过滤说明原创
金蝶云社区-杨天罡
杨天罡
10人赞赏了该文章 159次浏览 未经作者许可,禁止转载编辑于2024年06月12日 15:32:00

金蝶s-HR Cloud针对列表过滤,增加视图配置domain指令,格式大致如下:

<domain>
<![CDATA[
[
('&',
('adminOrgUnit.id','=','$UserAdminRangeFilter'),
(...)
)
]
]]>
</domain>

具体说明:

domain指令通过包装CDATA来完成配置

CDATA里面包含数组

数组用一对()包起来,第一位值目前只支持2中值配置:&和|,&表示后面的过滤条件在where条件中表示并且(AND),|表示后面的过滤条件在where条件中表示或者(OR)


后面是每一个过滤条件,使用()包起来,多个用逗号连接

每一个过滤里面格式是:列的属性,比较符,比较的值


目前产品预置了一些固定的domainFilter供使用

"HROFilter"="com.kingdee.shr.base.syssetting.app.filter.HROFilter"  //获取当前上下文HR业务组织ID
"CUIFilter"="com.kingdee.shr.base.syssetting.app.filter.CUIFilter"//获取当前上下文CU管理单元ID
"UserAdminRangeFilter"="com.kingdee.shr.base.syssetting.app.filter.UserAdminRangeFilter" //当前用户的行政组织范围
"UserHRORangeFilter"="com.kingdee.shr.base.syssetting.app.filter.UserHRORangeFilter" //当前用户的HR业务组织范围
"HROAndUserRangeFilter"="com.kingdee.shr.base.syssetting.app.filter.HROAndUserRangeFilter" //当前用户的HR业务组织和行政组织交集范围
"EmployeeHRAndAdminOrgRangeFilter"="com.kingdee.shr.base.syssetting.app.filter.EmployeeHRAndAdminOrgRangeFilter" //人事当前用户的HR业务组织和行政组织交集范围
"AllHRAndAdminOrgRangeFilter"="com.kingdee.shr.base.syssetting.app.filter.AllHRAndAdminOrgRangeFilter"//用户所有hr与行政组织交集
"EmpPosOrgRelaEFFDTFilter"="com.kingdee.shr.base.syssetting.app.filter.EmpPosOrgRelaEFFDTFilter" //人事生效日期过滤
"EmpPosOrgRelaLEFFDTFilter"="com.kingdee.shr.base.syssetting.app.filter.EmpPosOrgRelaLEFFDTFilter" //人事失效日期过滤
"PPEFFDTFilter"="com.kingdee.shr.base.syssetting.app.filter.PPEFFDTFilter"//人事生效日期过滤
"PPLEFFDTFilter"="com.kingdee.shr.base.syssetting.app.filter.PPLEFFDTFilter"//人事失效日期过滤
"PartTimeInfoFilter"="com.kingdee.shr.base.syssetting.app.filter.PartTimeInfoFilter"//时间过滤器
"PersonOrgNavigationFilter"="com.kingdee.shr.base.syssetting.app.filter.PersonOrgNavigationFilter"//组织人员导航filter
"TreeLongNumberFilter"="com.kingdee.shr.base.syssetting.app.filter.TreeLongNumberFilter"// tree longNumber filter
"EmpPageTreeFilter"="com.kingdee.shr.base.syssetting.app.filter.EmpPageTreeFilter"//人事树页面过滤
"CurrentPersonFilter"="com.kingdee.shr.base.syssetting.app.filter.CurrentPersonFilter" //当前用户对应职员过滤
"CurrentUserFilter"="com.kingdee.shr.base.syssetting.app.filter.CurrentUserFilter"//过滤当前用户所建单据
"SHRBasicItemFilter"="com.kingdee.shr.base.syssetting.app.filter.SHRBasicItemFilter"//基础资料表单F7过滤filter,主要用于处理配置的query
"SHRBaseItemForFastFilter"="com.kingdee.shr.base.syssetting.app.filter.SHRBaseItemForFastFilter"//基础资料元数据F7过滤filter,主要用于去重
"ManagerOrgRangeFilter"="com.kingdee.shr.base.syssetting.app.filter.ManagerOrgRangeFilter" //经理人或者分管领导组织范围,不包含下级 
"AtsSHRBasicItemFilter"="com.kingdee.shr.ats.web.filter.AtsSHRBasicItemFilter" //考勤基础资料过滤器
"AtsProBasicItemFilter"="com.kingdee.shr.ats.web.filter.AtsProBasicItemFilter" //考勤基础资料过滤器
"ManagerOrgRangeIncludeSubFilter"="com.kingdee.shr.base.syssetting.app.filter.ManagerOrgRangeIncludeSubFilter"//经理人或者分管领导组织范围,包含下级 
"NotEqualsCurrentPersonFilter"="com.kingdee.shr.base.syssetting.app.filter.NotEqualsCurrentPersonFilter"//不等于当前用户
"NotEqualsCurrentLoginUserPersonIDFilter"="com.kingdee.shr.base.syssetting.app.filter.NotEqualsCurrentLoginUserPersonIDFilter"//不等于人员IDdomainFilter


一个完整参考例子:


<domain>
<![CDATA[
[
('&',
('adminOrgUnit.id','=','$UserAdminRangeFilter'),
('EFFDT','>=','$EmpPosOrgRelaEFFDTFilter'),
('LEFFDT','<','$EmpPosOrgRelaLEFFDTFilter'),
('pp.EFFDT','>=','$EmpPosOrgRelaEFFDTFilter'),
('pp.LEFFDT','<','$EmpPosOrgRelaLEFFDTFilter')
)
]
]]>
</domain>

赞 10