|
@@ -602,4 +602,151 @@ FROM
|
|
|
|
|
|
</select>
|
|
|
|
|
|
+<!-- 根据申请人获取他的部门信息-->
|
|
|
+ <select id="getOrgType" parameterType="java.util.Map" resultType="java.util.Map">
|
|
|
+ SELECT
|
|
|
+ PERSON.FCELL AS phone,
|
|
|
+ PERSON.FNUMBER AS EHR,
|
|
|
+ PERSON.FNAME_L2 AS name,
|
|
|
+ PERSON.CFYWM AS ename,
|
|
|
+ ZHIJI.FNAME_L2 AS zhijiName,
|
|
|
+ ZHIJI.FNUMBER AS zhijiCode,
|
|
|
+ (CASE
|
|
|
+ WHEN laborrela.FENTERDATE IS NULL THEN personpos.FENTERDATE
|
|
|
+ ELSE laborrela.FENTERDATE
|
|
|
+ END) AS HireDate,
|
|
|
+ (CASE
|
|
|
+ WHEN laborrela.FACTUALFORMALDATE IS NULL THEN laborrela.FPLANFORMALDATE
|
|
|
+ ELSE laborrela.FACTUALFORMALDATE
|
|
|
+ END) AS FormDate,
|
|
|
+-- 职位
|
|
|
+ (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNAME_L2
|
|
|
+ ELSE STANDARLIB.FNAME_L2
|
|
|
+ END) AS positionName,
|
|
|
+ (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNUMBER
|
|
|
+ ELSE STANDARLIB.FNUMBER
|
|
|
+ END) AS positionCode,
|
|
|
+-- 部门
|
|
|
+ (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXDEP.FNAME_L2
|
|
|
+ ELSE ADMIN.FNAME_L2
|
|
|
+ END) AS orgName,
|
|
|
+ (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXDEP.FNUMBER
|
|
|
+ ELSE ADMIN.FNUMBER
|
|
|
+ END) AS orgNum,
|
|
|
+ (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXDEP.FDISPLAYNAME_L2
|
|
|
+ ELSE ADMIN.FDISPLAYNAME_L2
|
|
|
+ END) AS orgLineName,
|
|
|
+-- 公司
|
|
|
+ (CASE
|
|
|
+ WHEN EXDEP.FCOMPANYID = '00000000-0000-0000-0000-000000000000CCE7AED4' THEN EXCOM.FNAME_L2
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNAME_L2
|
|
|
+ ELSE STANDARLIB.FNAME_L2
|
|
|
+ END) LIKE '%校长%' THEN EXCOL.FNAME_L2
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN EXDEP.FOFFICEID = EXDEP.FID THEN EXCOM.FNAME_L2
|
|
|
+ WHEN EXDEP.FOFFICEID IS NOT NULL THEN EXCOL.FNAME_L2
|
|
|
+ ELSE EXCOM.FNAME_L2
|
|
|
+ END)
|
|
|
+ END)
|
|
|
+ END) AS companyName,
|
|
|
+ -- company code逻辑调整
|
|
|
+ (CASE
|
|
|
+ WHEN EXDEP.FCOMPANYID = '00000000-0000-0000-0000-000000000000CCE7AED4' THEN EXCOM.FNUMBER
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNAME_L2
|
|
|
+ ELSE STANDARLIB.FNAME_L2
|
|
|
+ END) LIKE '%校长%' THEN EXCOL.FNUMBER
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN EXDEP.FOFFICEID = EXDEP.FID THEN EXCOM.FNUMBER
|
|
|
+ WHEN EXDEP.FOFFICEID IS NOT NULL THEN EXCOL.FNUMBER
|
|
|
+ ELSE EXCOM.FNUMBER
|
|
|
+ END)
|
|
|
+ END)
|
|
|
+ END) AS companyCode,
|
|
|
+-- 分部
|
|
|
+ (CASE
|
|
|
+ WHEN EXDEP.FCOMPANYID = '00000000-0000-0000-0000-000000000000CCE7AED4' THEN EXCOM.FNAME_L2
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNAME_L2
|
|
|
+ ELSE STANDARLIB.FNAME_L2
|
|
|
+ END) LIKE '%校长%' THEN EXCOL.FNAME_L2
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN EXDEP.FOFFICEID = EXDEP.FID THEN EXCOM.FNAME_L2
|
|
|
+ WHEN EXDEP.FOFFICEID IS NOT NULL THEN EXCOL.FNAME_L2
|
|
|
+ ELSE EXCOM.FNAME_L2
|
|
|
+ END)
|
|
|
+ END)
|
|
|
+ END) AS PARENTORGNAME,
|
|
|
+ -- parent code逻辑调整
|
|
|
+ (CASE
|
|
|
+ WHEN EXDEP.FCOMPANYID = '00000000-0000-0000-0000-000000000000CCE7AED4' THEN EXCOM.FNUMBER
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN (CASE
|
|
|
+ WHEN POSMEMBER.FISPRIMARY = '1' THEN EXPOS.FNAME_L2
|
|
|
+ ELSE STANDARLIB.FNAME_L2
|
|
|
+ END) LIKE '%校长%' THEN EXCOL.FNUMBER
|
|
|
+ ELSE (CASE
|
|
|
+ WHEN EXDEP.FOFFICEID = EXDEP.FID THEN EXCOM.FNUMBER
|
|
|
+ WHEN EXDEP.FOFFICEID IS NOT NULL THEN EXCOL.FNUMBER
|
|
|
+ ELSE EXCOM.FNUMBER
|
|
|
+ END)
|
|
|
+ END)
|
|
|
+ END) AS PARENTORGNUM,
|
|
|
+ EMPHIREBILL.FBIZDATE AS empDate,
|
|
|
+ POSMEMBER.FISPRIMARY AS FISPRIMARY
|
|
|
+ FROM
|
|
|
+ T_BD_PERSON PERSON
|
|
|
+ LEFT JOIN T_HR_EmpHireBizBill EMPHIREBILL ON EMPHIREBILL.FAPPLIERID = PERSON.FID
|
|
|
+ LEFT JOIN T_ORG_POSITIONMEMBER POSMEMBER ON POSMEMBER.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_HR_PERSONPOSITION PERPOS ON PERPOS.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_ORG_POSITION EXPOS ON PERPOS.FPRIMARYPOSITIONID = EXPOS.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN EXDEP ON EXPOS.FADMINORGUNITID = EXDEP.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN EXCOL ON EXDEP.FOFFICEID = EXCOL.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN EXCOM ON EXDEP.FCOMPANYID = EXCOM.FID
|
|
|
+ LEFT JOIN T_HR_PERSONCONTACTMETHOD HRPERSON ON HRPERSON.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_ORG_POSITION POSITION ON POSMEMBER.FPOSITIONID = POSITION.FID
|
|
|
+ LEFT JOIN T_ORG_POSITION UPPOSITION ON POSITION.FPARENTID = UPPOSITION.FID
|
|
|
+ LEFT JOIN T_ORG_POSITIONMEMBER UPPOSMEMBER ON UPPOSMEMBER.FPOSITIONID = UPPOSITION.FID
|
|
|
+ LEFT JOIN T_BD_PERSON UPPERSON ON UPPOSMEMBER.FPERSONID = UPPERSON.FID
|
|
|
+ LEFT JOIN T_HR_BDEMPLOYEETYPE EMPLOYEE ON EMPLOYEE.FID = PERSON.FEMPLOYEETYPEID
|
|
|
+ LEFT JOIN T_HR_PERSONPOSITION PERSONPOS ON PERSON.FID = PERSONPOS.FPERSONID
|
|
|
+ LEFT JOIN CT_HR_ZHIJI ZHIJI ON ZHIJI.FID = POSITION.CFZHIJIID
|
|
|
+ LEFT JOIN T_HR_EMPENROLLBIZBILLENTRY ENROLLBIZENTRY ON ENROLLBIZENTRY.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_HR_EMPENROLLBIZBILL ENROLLBIZ ON ENROLLBIZ.FID = ENROLLBIZENTRY.FBILLID
|
|
|
+ LEFT JOIN (
|
|
|
+ SELECT C.*
|
|
|
+ FROM (
|
|
|
+ SELECT FPERSONID, MAX(FBIZDATE) FBIZDATE
|
|
|
+ FROM T_HR_RESIGNBIZBILLENTRY A
|
|
|
+ GROUP BY FPERSONID
|
|
|
+ ) B, T_HR_RESIGNBIZBILLENTRY C
|
|
|
+ WHERE B.FPERSONID = C.FPERSONID AND B.FBIZDATE = C.FBIZDATE
|
|
|
+ ) RESIGNENTRY ON RESIGNENTRY.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_HR_RESIGNBIZBILL RESIGN ON RESIGN.FID = RESIGNENTRY.FBILLID
|
|
|
+ LEFT JOIN T_HR_RESIGNBACKBIZBILLENTRY BACKENTRY ON BACKENTRY.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_HR_RELBETWEENPOSITIONANDLIB RELLIB ON POSITION.FID = RELLIB.FPOSITIONID
|
|
|
+ LEFT JOIN T_HR_POSITIONSTANDARDLIB STANDARLIB ON STANDARLIB.FID = RELLIB.FPOSITIONSTANDARDLIBID
|
|
|
+ LEFT JOIN T_HR_PERSONPOSITION PERSONPOSITION ON PERSONPOSITION.FPERSONID = PERSON.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN ADMIN ON PERSONPOSITION.FPERSONDEP = ADMIN.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN FADMIN ON PERSONPOSITION.FCOMPANYID = FADMIN.FID
|
|
|
+ LEFT JOIN T_ORG_ADMIN PARENTADMIN ON ADMIN.FPARENTID = PARENTADMIN.FID
|
|
|
+ LEFT JOIN T_HR_SHRADMINORGUNITEXTEND EXTEND ON EXTEND.FADMINORGUNITID = ADMIN.FID
|
|
|
+ LEFT JOIN T_HR_ENTERPRISENATURE NATURE ON EXTEND.FENTERPRISENATUREID = NATURE.FID
|
|
|
+ LEFT JOIN V_COS_ORG COSORG ON ADMIN.FNUMBER = COSORG.ORGNUMBER
|
|
|
+ LEFT JOIN T_HR_EmpLaborRelation laborrela ON laborrela.FPERSONID = person.fid
|
|
|
+ LEFT JOIN t_pm_user pu ON person.fid = pu.fpersonid
|
|
|
+ WHERE nvl(POSMEMBER.FISPRIMARY, '1') = '1'
|
|
|
+ AND PERSON.FNUMBER = #{peopleCode};
|
|
|
+
|
|
|
+ </select>
|
|
|
+
|
|
|
</mapper>
|