當需要查詢某個行政組織下有那些職員時,可以使用下面這個SQL,可以查到對應行政組織下所有職員的任職情況:
SELECT a.FName_L2, --查詢公司
b.FName_L2, --部門
c.FName_L2, --職位
e.FName_L2 --職員
FROM T_ORG_ADMIN a
LEFT JOIN T_ORG_ADMIN b ON INSTR(b.FLongNumber||'!',a.FLongNumber||'!')=1
LEFT JOIN T_ORG_POSITION c ON c.FAdminOrgUnitID = b.FID
LEFT JOIN T_ORG_POSITIONMEMBER d ON d.FPositionID = c.FID
LEFT JOIN T_BD_PERSON e ON e.FID = d.FPersonID
WHERE 1=1
--AND d.FIsPrimary = 1 --是否主職位
AND d.FID IS NOT NULL --職位上沒有員工
AND a.FID = 'tQfMVwEQEADgAAa/wKgS/sznrtQ='
ORDER BY 1,2,3,4
其中需要注意:
1.每個職員在這個行政組織下任職並不唯一,可能一人身兼多職位,並且可能是在不同的部門,所以統計人數尤其要注意這個問題,一般是以【DISTINCT 人員ID】方式統計
2.每個職員僅有一個主職位,這個職員的主職位可能在當前行政組織下,也可能不是;如果設置只查詢主職位,可能將這些主職位不在當前行政組織下的職員過濾掉
3.職位上可能沒有員工,如果是統計人數,需要忽略,職位上沒人職員的記錄
一羣資深金蝶EAS開發顧問,專業爲您解決金蝶EAS產品開發過程中的疑難問題/培訓/方案指導,涉及產品EAS/EASWEB/EASSHR。如有需要,請加我WX:【kiana520】,備註金蝶技術諮詢。技術/時間有價,收費服務。