​金蝶s-HR Cloud关于视图配置domain指令对列表数据过滤说明

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:3

​金蝶s-HR Cloud关于视图配置domain指令对列表数据过滤说明

金蝶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>


如果现有的filter,无法满足现有业务,需要进行二开filter

可以参考如下做法:

1、自行实现Filter,该Filter必须实现接口com.kingdee.shr.base.syssetting.app.filter.IHRFilter

2、Filter的包路径前缀,必须是com.kingdee.shr.xxx

3、实现类必须进行注解:@DomainFilterService(filterName="xxxxxxx")

4、二开的Filter需要部署到{安装目录}/eas/server/lib/addon/customer/lib/下


例子:

image.webp






我二开了一个filter  配置后没有效果  打断点压根就没有进去  楼主方便把自己二开的类发一下吗

​金蝶s-HR Cloud关于视图配置domain指令对列表数据过滤说明

金蝶s-HR Cloud针对列表过滤,增加视图配置domain指令,格式大致如下:<domain><![CDATA[[('&',('adminOrgUnit.id','=','$UserAdminRangeFi...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息