2024-10-28 17:31:37 +08:00
|
|
|
SELECT
|
|
|
|
${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")} AS hr_organ_name
|
|
|
|
,CASE WHEN ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2) = 0 THEN 0
|
|
|
|
ELSE SUM(zlzrs) / ((SUM(StartOfmonth_zzrs) + SUM(EndOfmonth_zsrs)) / 2)
|
|
|
|
END AS lz_rate
|
|
|
|
,SUM(StartOfmonth_zzrs) AS StartOfmonth_zzrs -- 月初在职人数
|
|
|
|
,SUM(EndOfmonth_zsrs) AS EndOfmonth_zsrs -- 月末在职人数
|
|
|
|
,sum(zdlzrs) AS zdlzrs -- 主动离职人数
|
|
|
|
,sum(bdlzrs) AS bdlzrs -- 当天被动离职人数
|
|
|
|
,SUM(zlzrs) AS zlzrs -- 总离职人数
|
|
|
|
FROM
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
nd -- 年度
|
|
|
|
,jd -- 季度
|
|
|
|
,yd -- 月度
|
|
|
|
,rq -- 日期
|
|
|
|
,zb -- 总部
|
|
|
|
,pq -- 片区
|
|
|
|
,xm -- 项目
|
|
|
|
,zzrs -- 当天在职人数
|
|
|
|
,zdlzrs -- 当天主动离职人数
|
|
|
|
,bdlzrs -- 当天被动离职人数
|
|
|
|
,zlzrs -- 当天总离职人数
|
|
|
|
,CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END AS StartOfmonth_zzrs -- 月初在职人数
|
|
|
|
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
|
|
|
|
FROM ods_hr_view_lzbl_d
|
|
|
|
WHERE LEFT(rq,7) = '${p_ym}'
|
2024-10-29 16:54:07 +08:00
|
|
|
AND pq not in('89','267')
|
2024-10-28 17:31:37 +08:00
|
|
|
-- 排除了:
|
|
|
|
-- 89:佳美物业公司
|
|
|
|
-- 153:领悦集团总部
|
|
|
|
-- 267:悦汇发展公司
|
|
|
|
)A
|
|
|
|
LEFT JOIN
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
,hr_organ_id -- hr片区编码
|
|
|
|
,hr_organ_name -- hr片区名称
|
|
|
|
,hr_comm_id -- hr项目id
|
|
|
|
,hr_comm_name -- hr项目名称
|
2024-10-29 16:54:07 +08:00
|
|
|
FROM dim_organ_mapping
|
2024-10-28 17:31:37 +08:00
|
|
|
GROUP BY
|
|
|
|
organ_code
|
|
|
|
,organ_name
|
|
|
|
,hr_organ_id
|
|
|
|
,hr_organ_name
|
|
|
|
,hr_comm_id
|
|
|
|
,hr_comm_name
|
2024-10-29 16:54:07 +08:00
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
|
|
|
FROM dual
|
2024-10-28 17:31:37 +08:00
|
|
|
)B
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
and A.xm = b.hr_comm_id
|
|
|
|
where 1 = 1
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('" + p_area +"')", "")}
|
|
|
|
GROUP BY
|
|
|
|
${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")}
|
2024-10-29 16:54:07 +08:00
|
|
|
|
|
|
|
-- 离职原因占比
|
|
|
|
|
|
|
|
SELECT
|
|
|
|
A.lzlx AS lzlx -- 离职类型id
|
|
|
|
,A.lzlxname AS lzlxname -- 离职类型名称
|
|
|
|
,A.lzyy AS lzyy -- 离职原因id
|
|
|
|
,A.lzyyname AS lzyyname -- 离职原因名称
|
|
|
|
,A.lzrs AS lzrs -- 离职人数
|
|
|
|
FROM
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
pq -- 片区
|
|
|
|
,xm -- 项目
|
|
|
|
,lzlx -- 离职类型id
|
|
|
|
,lzlxname -- 离职类型名称
|
|
|
|
,lzyy -- 离职原因id
|
|
|
|
,lzyyname -- 离职原因名称
|
|
|
|
,lzrs -- 离职人数
|
|
|
|
FROM ods_hr_view_lzrs_fl_d
|
|
|
|
WHERE LEFT(rq,7) = '${p_ym}'
|
|
|
|
)A
|
|
|
|
LEFT JOIN
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
organ_code -- erp片区编码
|
|
|
|
,organ_name -- erp片区名称
|
|
|
|
,hr_organ_id -- hr片区编码
|
|
|
|
,hr_organ_name -- hr片区名称
|
|
|
|
,hr_comm_id -- hr项目id
|
|
|
|
,hr_comm_name -- hr项目名称
|
|
|
|
FROM dim_organ_mapping
|
|
|
|
GROUP BY
|
|
|
|
organ_code
|
|
|
|
,organ_name
|
|
|
|
,hr_organ_id
|
|
|
|
,hr_organ_name
|
|
|
|
,hr_comm_id
|
|
|
|
,hr_comm_name
|
|
|
|
UNION ALL
|
|
|
|
SELECT
|
|
|
|
'0000' AS organ_code -- erp片区编码
|
|
|
|
,'' AS organ_name -- erp片区名称
|
|
|
|
,'153' AS hr_organ_id -- hr片区编码
|
|
|
|
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
|
|
|
,'153' AS hr_comm_id -- hr项目id
|
|
|
|
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
|
|
|
)B
|
|
|
|
ON A.pq = B.hr_organ_id
|
|
|
|
and A.xm = B.hr_comm_id
|
|
|
|
where 1 = 1
|
|
|
|
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
|
|
|
|