8.5员工信息维护列表 人员查询逻辑

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

8.5员工信息维护列表 人员查询逻辑

【免责声明】:本文档或课程仅用于学习使用,未经授权,禁止转载。本文档或课程中所用数据均为虚构的模拟数据,不代表任何一家企业的真实情况, 如有权利人认为其中的任何内容存在侵权情况,请反馈给金蝶官方邮箱(DataSubjectRequest@kingdee.com),我们将在7个工作日内处理。


8.5员工信息维护列表 人员查询逻辑  :查询当前登录用户的行政组织范围和业务组织范围的交集数据  和  代管的员工
如下截图,查询用户范围内所有员工


对应后台sql是:
参数说明:                                                                                                                                                                                               1、@baseDate 查询日期,请输入当时查询日期 如2019-12-20                                                                                                        2、@ExtRptCurrentUserInfoID 用户ID,当前登录的用户FID
  3、@adminOrg 根组织编码
修改以下sql中的所有参数为现场环境的具体参数值后可以进行查询操作

SELECT
       "PERSON".FNumber AS "person.number" ,
       "ADMINORGUNIT".FID AS "adminOrgUnit.id" ,
       "EMPHRORELATIONHIS".FUseDefault AS "empHRORelationHis.useDefault" ,
       "POSITION".FName_l2 AS "position.name" ,
       "PERSON".FName_l2 AS "person.name" ,
       "HRORG".FID AS "hrOrg.id" ,
       "COMPANY".FName_l2 AS "company.name" ,
       "PERSON".FID AS "person.id" ,
       "EMPORGRELATION".FID AS "empOrgRelation.id" ,
       "HRORG".FName_l2 AS "hrOrg.name" ,
       "EMPTYPE".FName_l2 AS "empType.name"
   FROM
       T_BD_PERSON AS "PERSON"
   LEFT JOIN
       T_HR_EMPORGRELATION AS "EMPORGRELATION"
           ON "EMPORGRELATION".FPersonID="PERSON".FID
           AND "EMPORGRELATION".FIsSystem=1
           AND (
               "EMPORGRELATION".FAssignType= 1
           )
           AND "EMPORGRELATION".FIsLatestInAday = 1
   LEFT JOIN
       T_ORG_ADMIN AS "ADMINORGUNIT"
           ON "ADMINORGUNIT".FID="EMPORGRELATION".FADMINORGID
   LEFT JOIN
       T_HR_EMPHRORELATIONHIS AS "EMPHRORELATIONHIS"
           ON "EMPHRORELATIONHIS".FEmpOrgRelationID="EMPORGRELATION".FID
   LEFT JOIN
       T_ORG_POSITION AS "POSITION"
           ON "POSITION".FID="EMPORGRELATION".FPOSITIONID
   LEFT JOIN
       T_ORG_HRO AS "HRORG"
           ON "HRORG".FID="EMPHRORELATIONHIS".FHRORGUNITID
   LEFT JOIN
       T_ORG_ADMIN AS "COMPANY"
           ON "COMPANY".FID="ADMINORGUNIT".FCOMPANYID
   LEFT JOIN
       T_HR_EMPLABORRELATION AS "LABORRELA"
           ON "LABORRELA".FPersonID="EMPORGRELATION".FPERSONID
           AND "LABORRELA".FStartDateTime<="EMPORGRELATION".FENDDATETIME
           AND "LABORRELA".FEndDateTime>="EMPORGRELATION".FENDDATETIME
           AND "LABORRELA".FIsSystem=1
   LEFT JOIN
       T_HR_BDEMPLOYEETYPE AS "EMPTYPE"
           ON "EMPTYPE".FID="LABORRELA".FLABORRELATIONSTATEID
   LEFT JOIN
       T_HR_PERSONPOSITION AS "PP"
           ON "PP".FPersonID="EMPORGRELATION".FPERSONID
           AND "PP".FStartDateTime<="EMPORGRELATION".FENDDATETIME
           AND "PP".FEndDateTime>="EMPORGRELATION".FENDDATETIME
   WHERE
       (
           (
               (
                   "EMPORGRELATION".FIsLatestInAday= 1
                   and "EMPHRORELATIONHIS".FState= 1
               )
               AND (
                   (
                       (
                           "EMPHRORELATIONHIS".FHrOrgUnitID in (
                               '00000000-0000-0000-0000-000000000000CCE7AED4','KnzJuJxnQhmiIMe5hLsiMcznrtQ=','83hQUBxEQo+AuDxLVL4LSMznrtQ=','CgiXs92ORo+wKYkEYDCfqcznrtQ='
                           )
                           and "EMPHRORELATIONHIS".FUseDefault= 1
                       )
                       and (
                           (
                               "ADMINORGUNIT".FLongNumber= '@adminOrg'
                               or "ADMINORGUNIT".FLongNumber like '@adminOrg!%'
                           )
                           and (
                               "ADMINORGUNIT".FID in (
                                   select
                                       t0.fid FAdminOrgID
                                   from
                                       T_ORG_ADMIN t0
                                   where
                                       exists(
                                           select
                                               1
                                           from
                                               T_PM_OrgRange t1
                                           where
                                               t0.fid = t1.FORGID
                                               AND t1.FUserID = '@ExtRptCurrentUserInfoID'
                                               and t1.FType = 20
                                       )
                                       AND t0.FISSTARTSHR = 1
                                   )
                           )
                       )
                   )
                   OR (
                       "EMPHRORELATIONHIS".FUseDefault= 0
                       and "EMPHRORELATIONHIS".FHrOrgUnitID in (
                           '00000000-0000-0000-0000-000000000000CCE7AED4','代管业务1组织fid' ,'代管业务2组织fid' ,...所有代管组织
                       )
                   )
               )
           )
           AND (
               "PERSON".FEFFDT<= {ts '@baseDate'}
               and "PERSON".FLEFFDT>= {ts '@baseDate'}
               and "PP".FEFFDT<= {ts '@baseDate'}
               and "PP".FLEFFDT>= {ts '@baseDate'}
               and "EMPORGRELATION".FEFFDT<= {ts '@baseDate'}
               and "EMPORGRELATION".FLEFFDT>= {ts '@baseDate'}
           )
       )

8.5员工信息维护列表 人员查询逻辑

【免责声明】:本文档或课程仅用于学习使用,未经授权,禁止转载。本文档或课程中所用数据均为虚构的模拟数据,不代表任何一家企业的真实情...
点击下载文档
分享:
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息