云之家与shr同步逻辑及相关数据库表说明
同步逻辑简述
将EAS数据创建到中间表(映射关系)中,扫描并标识数据是否可同步,然后中间表再上传数据到云之家,同时将云之家的数据拉取到中间表(云之家数据),通过组织、人员的映射关系进行EAS数据和云之家数据的绑定。同步结论更新至中间表日志中。
1、组织同步
前提条件:EAS组织必须是行政组织,才能与云之家同步。
新增组织:EAS组织是正常状态。
删除组织:EAS组织是封存状态,且已与云之家组织映射。
映射关系:EAS组织长名称与云之家一致。(若组织未绑定,会导致后续人员、部门负责人等接口出现问题,必须优先解决)
2、人员同步
前提条件:必须是有职位的职员,才能与云之家同步。
新增人员:
状态为正常、试用、返聘员工(职员表t_bd_person的FEmployeeTypeID对应T_HR_BDEmployeeType表中的FinService等于1或者4);
关联用户的职员:职员未禁用(T_BD_Person中职员禁用状态FDELETEDSTATUS =1) 、用户未删除(EAS用户表T_PM_USER中用户删除FIsDelete = 0);
未关联用户的职员:职员未禁用(T_BD_Person中职员禁用状态FDELETEDSTATUS =1)。
手机或者邮箱正常。(不为空,不重复)
与云之家未绑定。(T_PM_EASXTUSERMAP中FXtId为空)
必须满足以上所有条件才能上传云之家。
映射关系:EAS人员与云之家人员的手机号一致,则建立映射关系。(若人员未绑定,会导致后续上级、兼职等接口出现问题,必须优先解决)
删除人员:
前提条件已与云之家绑定(T_PM_EASXTUSERMAP中FXtId不为空)
状态不是正常、试用、返聘员工(职员表t_bd_person的FEmployeeTypeID对应T_HR_BDEmployeeType表中的FinService不等于1和4);
职员禁用(T_BD_Person中职员禁用状态FDELETEDSTATUS =2)
用户删除(EAS用户表T_PM_USER中用户删除FIsDelete =1)。
满足以上3个条件任意其一,则删除云之家人员。(T_PM_EASXTUSERMAP的同步状态设置为离职,Fstatus=0)
检查HR的用工状态是否符合同步规则:
select h.FINSERVICE ,h.* from T_HR_BDEmployeeType h
需上传用工状态类型必须为1或者4.
组织问题
文件名:EAS组织表
select o.FNAME_L2,o.FISADMINORGUNIT,o.FISSEALUP ,o.FISFREEZE from T_ORG_ADMIN o where fname_l2 LIKE '%部门名称%' ;
文件名:组织关联中间表
select * from T_PM_EASXTORGMAP where forglongname LIKE '%部门名称%' ;
文件名:云之家组织数据
select * from T_XT_ORG where forglongname LIKE '%部门名称%' ;
文件名:同步组织日志
select * from T_XT_SYNCDEPTLOG where foldorglongname LIKE '%部门名称%' ;
文件名:人员关联中间表
select * from T_PM_EASXTUSERMAP where forglongname LIKE '%部门名称%';
文件名:云之家人员数据
select * from T_XT_USER where forglongname LIKE '%部门名称%';
文件名:同步人员日志
select * from T_XT_SYNCPERSONLOG where foldorgname LIKE '%部门名称%' ;
人员问题
文件名:EAS职员表
有关联用户的职员:
select h.FNAME_L2 ,h.FINSERVICE ,p.fNAME_L2,p.FDELETEDSTATUS,p.FCELL,p.FEMAIL,u.FIsDelete,u.FFORBIDDEN ,u.FCELL ,u.FEMAIL from T_BD_PERSON p,T_HR_BDEmployeeType h, T_PM_USER u where u.FPERSONID=p.fid and p.FEMPLOYEETYPEID =h.fid and p.fname_L2 LIKE '%人员名称%' ;
无关联用户的职员:
select h.FNAME_L2 ,h.FINSERVICE ,p.fNAME_L2,p.FDELETEDSTATUS ,p.FCELL,p.FEMAIL from T_BD_PERSON p,T_HR_BDEmployeeType h where p.FEMPLOYEETYPEID =h.fid and p.fname_L2 LIKE '%人员名称%' ;
文件名:人员关联中间表
select * from T_PM_EASXTUSERMAP where fpersonname LIKE '%人员名称%';
文件名:云之家人员数据
select * from T_XT_USER where fpersonname LIKE '%人员名称%';
文件名:同步人员日志
select * from T_XT_SYNCPERSONLOG where fpersonname LIKE '%人员名称%';
若与职位名称变更有关,则还要查询以下表
文件名:EAS职位表
Select p.fID ,p.fname_L2 ,pm.FISPRIMARY ,pos.* fromT_ORG_Position pos,T_ORG_PositionMember pm,T_BD_PERSON p where p.fname_L2 LIKE '%人员名称%' and p.fid = pm.FPERSONID and pm.FPOSITIONID =pos.fID
部门负责人问题
文件名:EAS部门负责人信息
select p.fname_L2,pos.fname_l2,org.fname_L2,org.FDISPLAYNAME_L2 from T_ORG_Position pos,T_ORG_ADMIN org,T_ORG_PositionMember pm,T_BD_PERSON p where pos.FADMINORGUNITID = org.FID and p.fid = pm.FPERSONID and pm.FPOSITIONID =pos.fID and pos.FISRESPPOSITION = 1 and org.FNAME_L2 LIKE '%部门名称%'
文件名:部门负责人关联中间表
select * from T_PM_EASXTORGLEADER where forglongname LIKE '%部门名称%'
文件名:云之家部门负责人数据
select * from T_XT_ORGLEADER where forglongname LIKE '%部门名称%';
文件名:同步负责人日志
select * from T_XT_SYNCORGLEADERLOG where forglongname LIKE '%部门名称%';
兼职问题
文件名:人员职位信息
select p.fname_L2,org.fname_L2,org.FDISPLAYNAME_L2,pos.fname_l2,pm.FISPRIMARY from T_ORG_Position pos,T_ORG_ADMIN org,T_ORG_PositionMember pm,T_BD_PERSON p where pos.FADMINORGUNITID = org.FID and p.fid = pm.FPERSONID and pm.FPOSITIONID =pos.fID and p.fname_L2 LIKE '%人员名称%'
文件名:兼职关联中间表
select * from T_PM_EASXTPARTMAP where fjobtitle LIKE '%兼职名称%'
文件名:云之家兼职数据
select * from T_XT_PART where fjobtitle LIKE '%兼职名称%'
文件名:同步兼职日志
select * from T_XT_SYNCPARTLOG where fjobtitle LIKE '%兼职名称%'
文件名:云之家人员数据
select * from T_PM_EASXTUSERMAP where fpersonname LIKE '%人员姓名%'
文件名:云之家组织数据
select * from T_XT_ORG where fname LIKE '%组织名称%'
云之家与shr同步逻辑及相关数据库表说明
本文2024-09-16 23:48:02发表“s-hr cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-shr-56881.html