云之家与shr同步逻辑及相关数据库表说明原创
金蝶云社区-胡浪2023
胡浪2023
6人赞赏了该文章 535次浏览 未经作者许可,禁止转载编辑于2023年02月02日 08:43:04

同步逻辑简述

image.png

将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 '%组织名称%'


赞 6