满编率明细使用ERP提供的历史数据
This commit is contained in:
parent
dc011cde90
commit
475f768118
@ -9,61 +9,161 @@ SELECT
|
||||
,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE -- 月均满编率
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
,bzs -- 编制数
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE ny >= '${p_startym}'
|
||||
AND ny <= '${p_ym}'
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
AND pq NOT IN('89','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项目名称
|
||||
FROM dim_organ_mapping
|
||||
WHERE length(hr_comm_id) > 0
|
||||
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项目名称
|
||||
FROM dual
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
and A.xm = B.hr_comm_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
comm_id
|
||||
,organ_code
|
||||
,full_rate_target -- 满编率目标
|
||||
,avg_full_rate_target -- 月均满编率目标
|
||||
FROM ods_hr_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
AND A.xm = C.comm_id
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('" + p_area +"')", "")}
|
||||
GROUP BY
|
||||
B.hr_comm_name
|
||||
,B.hr_organ_name
|
||||
SELECT
|
||||
A1.pq AS pq
|
||||
,A1.xm AS xm
|
||||
,A1.zzs AS zzs
|
||||
,A1.bzs AS bzs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm
|
||||
,ny
|
||||
,SUM(CASE WHEN ny >= '2024-10' THEN zzs ELSE 0 end) AS zzs -- 在职数
|
||||
,SUM(bzs) AS bzs -- 编制数
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE pq NOT IN ('89','267') -- 这里剔除了佳美物业公司/悦汇发展公司
|
||||
GROUP BY pq,ny,xm
|
||||
UNION ALL
|
||||
SELECT
|
||||
T1.organ_code AS pq
|
||||
,T1.comm_id AS xm
|
||||
,T1.ym AS ny
|
||||
,SUM(T1.begin_num ) AS zzs-- 月初在职
|
||||
,0 AS bzs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-01' AS ym
|
||||
,COALESCE(jan_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-02' AS ym
|
||||
,COALESCE(feb_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-03' AS ym
|
||||
,COALESCE(mar_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-04' AS ym
|
||||
,COALESCE(apr_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-05' AS ym
|
||||
,COALESCE(may_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-06' AS ym
|
||||
,COALESCE(jun_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-07' AS ym
|
||||
,COALESCE(jul_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-08' AS ym
|
||||
,COALESCE(aug_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
UNION ALL
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-09' AS ym
|
||||
,COALESCE(sep_begin_num,0) AS begin_num -- 月初在职
|
||||
FROM ods_hr_history_erp_date
|
||||
)T1
|
||||
GROUP BY T1.ym,T1.organ_code,T1.comm_id
|
||||
)A1
|
||||
WHERE A1.ny >= '${p_startym}'
|
||||
AND A1.ny <= '${p_ym}'
|
||||
)A
|
||||
RIGHT 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
|
||||
WHERE length(hr_comm_id) > 0
|
||||
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项目名称
|
||||
FROM dual
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
and A.xm = B.hr_comm_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
comm_id
|
||||
,organ_code
|
||||
,full_rate_target -- 满编率目标
|
||||
,avg_full_rate_target -- 月均满编率目标
|
||||
FROM ods_hr_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
AND A.xm = C.comm_id
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('" + p_area +"')", "")}
|
||||
GROUP BY
|
||||
B.hr_comm_name
|
||||
,B.hr_organ_name
|
Loading…
Reference in New Issue
Block a user