版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。





信息
iconfalse

目录

产品定位

功能实现可视化人员信息集管理,满足人员信息的子集管理、应用范围、权限分配的要求。

功能路径:组织人事-->人员信息集管理;组织人事-->人员信息集分配

功能特性

•   实现人员信息集的集中管理:之前人员信息、入职管理的子集都是在base模板中配置childs部分实现,没有一个功能集中管理。人员信息集管理功能就是一个集中管理人员信息集的功能,包括主集和子集信息,该功能的配置将代替人员信息(Employee)、入职管理、信息采集(PreEmployee)的base部分的配置,由系统根据使用场景动态生成。该功能理论上可以覆盖Employee和PreEmployee的所有子集配置场景,标准产品中包括:人员信息管理、我的资料(manager、owner、employee)、入职管理(专员端、员工端)、信息采集(专员端、员工端)。

...

该配置基本覆盖了base模板中的内容,系统将根据当前使用场景,动态生成childs配置:

Image Modified

属性说明:

•   编号:唯一值即可。

•   名称:子集管理中使用的名称,方便区分管理即可,比如系统中定义了2个教育经历,分别给正式工、派遣工使用,则该名称可能是“教育经历(正式工)”、“教育经历(派遣工)”以区分。

...

(问题)  一个子集要同时在人员管理、入职、采集中使用,需要配置成3个子集吗?——不用,产品已支持同步生成。

...

注意:

1、在「人员信息集管理」中配置完子集后,要结合「010214 人员信息集分配」这个功能将子集进行授权,才能在对应功能中看到该子集

应用方式解析

人员管理

【乘风破浪有限公司】有二级单位【华东公司】、【西部公司】、【深圳公司】

1、系统中配置了教育经历、工作经历、家庭信息、政治面貌四个子集,正式工全部应用,派遣工只使用教育经历、工作经历,人员信息统一由人事专员维护。

在【人员管理】中的配置方式如下:

子集信息子集分配
名称显示名称模型meta场景子集类型子集适用场景适用组织适用用工类型授权角色
教育经历教育经历EmployeeEducationinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
工作经历工作经历OuterExperienceinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
家庭信息家庭信息FamilyInformationinside人员信息人员管理乘风破浪有限公司正式工人事专员
政治面貌政治面貌EmployeePoliticalLandscapeinside人员信息人员管理乘风破浪有限公司正式工人事专员



2、家庭信息因为涉及员工隐私,规定只有档案管理员、人力资源部总经理可见。

定义一个角色,“档案管理员”,并将该角色分配给 人力资源部总经理,修改子集配置如下:

子集信息子集分配
名称显示名称模型meta场景子集类型子集适用场景适用组织适用用工类型授权角色
教育经历教育经历EmployeeEducationinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
工作经历工作经历OuterExperienceinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
家庭信息家庭信息FamilyInformationinside人员信息人员管理乘风破浪有限公司正式工档案管理员
政治面貌政治面貌EmployeePoliticalLandscapeinside人员信息人员管理乘风破浪有限公司正式工人事专员



3、【华东公司】独有的绩效考核方式,要在子集中体现,只应用在【华东公司】的正式工,人事专员、档案管理员可见。

配置如下:

子集信息子集分配
名称显示名称模型meta场景子集类型子集适用场景适用组织适用用工类型授权角色
教育经历教育经历EmployeeEducationinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
工作经历工作经历OuterExperienceinside人员信息人员管理乘风破浪有限公司正式工,派遣工人事专员
家庭信息家庭信息FamilyInformationinside人员信息人员管理乘风破浪有限公司正式工档案管理员
政治面貌政治面貌EmployeePoliticalLandscapeinside人员信息人员管理乘风破浪有限公司正式工人事专员
考核信息考核信息xxxinside人员信息人员管理华东公司正式工人事专员,档案管理员



基于上述配置,在【人员管理】中:

用户角色被查看的人员教育经历工作经历家庭信息政治面貌考核信息
总公司人事专员总部正式工

华东公司正式工
总部派遣工


华东公司派遣工


总公司档案管理员


总部正式工
华东公司正式工
总部派遣工


华东公司派遣工


华东公司人事专员华东公司正式工

华东公司派遣工


华东公司档案管理员华东公司正式工

华东公司派遣工




员工资料

在“我的资料”中展示 联系信息、教育经历、政治面貌子集,其中正式工有 政治面貌子集,派遣工没有。

且规定:员工查看自己的资料时(employee)可以看到全部子集;领导查看下级资料时,可以查看全部子集;员工之间互查时只能看到联系信息;

在子集管理中配置如下:

子集信息子集分配
名称显示名称模型meta场景子集类型子集适用场景适用组织适用用工类型授权角色
联系信息联系信息ContactInformationowner人员信息

员工资料(本人查看),

员工资料(管理者查看员工),

员工资料(员工互查)

乘风破浪有限公司正式工,派遣工员工
教育经历教育经历EmployeeEducationowner人员信息员工资料(本人查看),

员工资料(管理者查看员工)

乘风破浪有限公司正式工,派遣工员工
政治面貌政治面貌EmployeePoliticalLandscapeowner人员信息员工资料(本人查看),

员工资料(管理者查看员工)

乘风破浪有限公司正式工员工

注意

1、员工资料增强:以前员工资料是无法实现不同类型的人(如正式工、派遣工)有不同的子集的,但有了【子集分配】后,虽然依然只有3个场景(manager、owner、employee),但具体有哪些子集是动态的了,比如上例中,正式工有政治面貌,派遣工则没有。

...

3、在建项目升级:因为以前项目已经按照manager、owner、employee分别配置了模板,所以后续项目升级时会按照多套子集升级。例如上述联系信息子集,会升级成3个子集信息如下。

子集信息子集分配
名称显示名称模型meta场景子集类型子集适用场景适用组织适用用工类型授权角色
联系信息(本人查看)联系信息ContactInformationowner人员信息员工资料(本人查看)乘风破浪有限公司正式工,派遣工员工
联系信息(管理者查看员工)联系信息ContactInformationmanager人员信息员工资料(管理者查看员工)乘风破浪有限公司正式工,派遣工员工
联系信息(员工互查)联系信息ContactInformationemployee人员信息员工资料(员工互查)乘风破浪有限公司正式工,派遣工员工



子集拆分原则

1、不同的【子集类型】,可建成相同的子集:如同样是【教育经历】,在人员信息、入职管理、信息采集中都要使用,可建成1个子集。(产品做了便捷创建功能)。

...

1、生成子集适用场景

路径:组织人事-人事基础设置-信息集应用场景

Image Modified

2、初始化子集管理数据

...

子集管理中没有数据的话直接提交即可,有数据的话传参数"force_init":true,删除现有子集信息重新生成

Image Modified Image Modified

3、切换为走子集管理的功能逻辑

以人员管理为例:在对应的base模板中开启插件(注意,人员管理、我的资料、入职、采集需要分别单独开启)

Image Modified Image Modified

可在功能界面或对象管理中开启插件:

入职对应模版:PreEmployee.meta.base.entry.json;PreEmployee.meta.base.entryPersonal.json

采集对应模版:PreEmployee.meta.base.collect.json;PreEmployee.meta.base.collectPersonal.json

我的资料对应模版:Employee.meta.base.employee.json;Employee.meta.base.manager.json;Employee.meta.base.owner.json;

...

以上是各个功能分别对应开启的明细模版,若想把所有人员、入职、采集、我的资料全部开启子集管理,只需开以下2个模版即可:

(1)Employee.meta.base.json

(2)PreEmployee.meta.base..json

切换为走子集管理还有一个好处是可以支持子集分组可在功能界面或对象管理中开启分组插件subset_group_base_function:

...

主界面子集跳转
{
"functional_state":[{
            "key": "subset_group_base_function",
            "name": "core.base.subset.meta_plugin.SubsetGroupMetaPlugin",
            "plugin_type": "standard",
            "meta_disabled": false
        }]
}

入职对应模版:PreEmployee.meta.base.entry.json;PreEmployee.meta.base.entryPersonal.json

采集对应模版:PreEmployee.meta.base.collect.json;PreEmployee.meta.base.collectPersonal.json

人员信息对应模版:Employee.meta.base.inside.json;

类似地,若想把所有人员、入职、采集全部开启分组,只需开以下2个模版即可:

(1)Employee.meta.base.json

(2)PreEmployee.meta.base..json

启动分组后,在人员信息集管理页面点击【子集分组】,维护上子集组的名称,子集类型和适用场景,组内子集等相关信息,

Image Modified Image Modified

这时再打开人员信息,入职和采集的页面后就会发现已经是分组后的显示了,见下图。

Image Modified Image Modified

4、如何新增一个自定义子集?

维护子集基本信息

弹性子集注意model命名方式  :employee_dynamic_subset.XXX (人员);  pre_employee_dynamic_subset.XXX (待入职/采集)

...

               待入职/采集子集——入职采集弹性模型

Image Modified

(2)在人员信息集管理中新增一个子集,模型名称选择在对象管理器中定义好的子集名称。

Image Modified

Image Modified

子集分配

在功能「人员信息集分配」中,对该子集进行分配

Image Modified

在人员管理中查看,并维护该子集中的字段信息

Image Modified

Image Modified

5、快速创建入职和采集的子集

之前配置子集要在人员管理、入职和采集中配置3遍;

现在子集管理中,提供了快速创建子集的小工具,一键将人员信息中的子集生成到入职和采集中,通过按钮[生成到待入职]、[生成到采集] Image Modified

其他常用功能说明

在使用子集管理时,会有一些常用功能或应用场景,可参考以下内容进行相应配置。

1、自定义子集如何设置跳转1、自定义子集如何设置跳转?

自定义子集配置好后,会发现在主界面切换至自定义子集后,点击跳转有问题。例如:自定义“职业标签”子集,在主界面切换到“职业标签”子集后、点击数据跳转页面会出错。

Image Modified

需要在该子集的元数据配置中,进行如下配置:获取到人员id

...

主界面子集跳转
{
"fields":[{
            "key": "employee_id_id",
            "field": [
                "employee_id"
            ],
            "hide": true
        }]
}

2、自定义子集如何进行权限控制2、自定义子集如何进行权限控制?

新增的自定义子集,如果想要在人员主页进行权限控制(组织树切换),可在场景中配置关联组织树。

...

权限控制
{
    "fields": [{
        "key": "employee_id_id",
        "field": [
            "employee_id"
        ],
        "hide": true
    }],
    "actions": [{
            "key": "new",
            "hide": true
        },
        {
            "key": "edit",
            "hide": true
        },
        {
            "key": "delete",
            "hide": true
        },
        {
            "action": "COMMON_EXPORT",
            "key": "COMMON_EXPORT",
            "label": "页面导出查询结果",
            "data": {
                "file_name": "页面结果导出",
                "celery_mode": true
            }
        }
    ],
    "relations": [{
            "filter": {
                "employee.id": ":employee_id"
            },
            "model": "Employee",
            "name": "人员基础信息",
            "key": "employee"
        },
        {
            "filter": {
                "job_info.employee_id": ":employee_id",
                "job_info.begin_date": {
                    "lte": "=date_"
                },
                "job_info.end_date": {
                    "gt": "=date_"
                },
                "job_info.position_type": 1,
                "job_info.on_job": "1"
            },
            "model": "JobInformation",
            "name": "任职信息",
            "key": "job_info"
        },
        {
            "filter": {
                "job_info.position_id": ":position.origin_id",
                "position.begin_date": {
                    "lte": "=date_"
                },
                "position.end_date": {
                    "gt": "=date_"
                }
            },
            "model": "OrgPositionHistory",
            "type": "outer",
            "name": "岗位信息",
            "key": "position"
        },
        {
            "filter": {
                "position.parent_id": ":department.origin_id",
                "department.begin_date": {
                    "lte": "=date_"
                },
                "department.end_date": {
                    "gt": "=date_"
                }
            },
            "model": "OrgDepartmentHistory",
            "type": "outer",
            "name": "部门信息",
            "key": "department"
        },
        {
            "filter": {
                "department.subordinate_unit_id": ":unit.origin_id",
                "unit.begin_date": {
                    "lte": "=date_"
                },
                "unit.end_date": {
                    "gt": "=date_"
                }
            },
            "model": "OrgUnitHistory",
            "type": "outer",
            "name": "单位信息",
            "key": "unit"
        }
    ],
    "role": {
        "role": "cm-org-emp.emp",
        "field": "department.origin_id"
    }
}

配置好后,可实现在主界面切换子集时,进行权限控制。

Image Modified

3、任职子集只显示年月?

任职子集的“开始日期”在列表界面只展示到年月,不展示具体日期:

a.列表界面

JobInformationMaster.meta.list.inside.json中该字段的fields里配置元数据:

...

"fieldFunc": "=function(_row,col,value){if(value){return value.slice(0,7);}
else{return null;}}"

b.编辑界面

JobInformationMaster.meta.info.inside.json中该字段的fields里元数据配置:

...

"format": "yyyy-MM"

此时,会发现点击info页面保存时报错;因为数据库中必须存到日,可在底层JobInformationMaster.json中加一个插件解决:

...

保存前插件
"plugins": [
    {
      "key": "EmployeeSubDataConvert_pre_edit_data",
      "type": "post_pre_data",
      "name": "apps.emp.emp_model_plugin.ModelPlugInEmployeeSubDataConvert",
      "plugin_type": "standard"
    },
    {
      "key": "EmployeeSubDataConvert_pre_create_data",
      "type": "pre_create_data",
      "name": "apps.emp.emp_model_plugin.ModelPlugInEmployeeSubDataConvert",
      "plugin_type": "standard"
    }
  ]

4、员工修改走审批

在员工资料的本人查看场景,预制了开放员工修改走审批的按钮,开放后会自动开启对应流程并在我的资料中配置修改按钮。要注意的是,如果要取消员工修改走审批,不仅要手动删除或禁用对应流程,还要在我的资料中删除对应子集的元数据按钮配置。

Image Modified

Image Modified