离职人数历史数据补齐、权限bug修复、财务取数口径优化
This commit is contained in:
parent
6f1b07e6e0
commit
24fd7ea032
2318
finereport/kanban/mobile/人力_mobile.sql
Normal file
2318
finereport/kanban/mobile/人力_mobile.sql
Normal file
File diff suppressed because it is too large
Load Diff
@ -452,7 +452,7 @@ FROM
|
||||
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
||||
,'' AS comm_name
|
||||
)B
|
||||
ON A.organ_code = B.hr_organ_id
|
||||
ON A.organ_code = B.organ_code
|
||||
and A.comm_id = B.hr_comm_id
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
@ -805,7 +805,7 @@ FROM
|
||||
FROM ods_hr_collection_target_organ
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
ON B.organ_code = C.organ_code
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY
|
||||
@ -988,8 +988,8 @@ FROM
|
||||
FROM ods_hr_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
AND A.xm = C.comm_id
|
||||
ON B.organ_code = C.organ_code
|
||||
AND B.hr_comm_id = C.comm_id
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
||||
@ -1325,8 +1325,7 @@ SELECT
|
||||
,SUM(index_income_target) AS index_income_target -- 收入目标
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND left(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month < '${p_ym}'
|
||||
AND yr_month = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code
|
||||
)B
|
||||
@ -1342,7 +1341,7 @@ SELECT
|
||||
)C
|
||||
ON A.organ_code = C.organ_code
|
||||
|
||||
${if(and(len(p_area)=0,p_type='人力')," -- 片区排名开始", "*/")}
|
||||
${if(and(len(p_area)=0,p_type='人力')," -- 片区排名开始", "*/")}
|
||||
|
||||
|
||||
${if(and(len(p_area)=0,p_type='行政')," -- 片区排名开始", "/*")}
|
||||
@ -1359,7 +1358,7 @@ SELECT
|
||||
A.organ_name AS organ_comm_name
|
||||
,A.ac_total_fee AS actual_cost -- 成本
|
||||
,B.index_income_fact AS index_income_fact -- 实际收入
|
||||
,ROW_NUMBER() OVER (ORDER BY A.lc_total_fee / B.index_income_fact DESC ) AS 排名 -- 费率排名
|
||||
,ROW_NUMBER() OVER (ORDER BY A.ac_total_fee / B.index_income_fact DESC ) AS 排名 -- 费率排名
|
||||
,A.lc_total_fee / B.index_income_fact AS fee_rate -- 行政成本费率
|
||||
,C.ac_fee_rate_target AS target_fee_rate -- 费率目标
|
||||
FROM
|
||||
@ -1382,8 +1381,7 @@ SELECT
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month <= '${p_ym}'
|
||||
AND yr_month = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code
|
||||
)B
|
||||
@ -1502,13 +1500,12 @@ FROM
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month <= '${p_ym}'
|
||||
AND yr_month = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
)B
|
||||
ON A.organ_code = B.organ_code
|
||||
AND A.comm_id = B.comm_id
|
||||
AND A.erp_comm_id = B.comm_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
@ -1626,13 +1623,12 @@ FROM
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month <= '${p_ym}'
|
||||
AND yr_month = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
)B
|
||||
ON A.organ_code = B.organ_code
|
||||
AND A.comm_id = B.comm_id
|
||||
AND A.erp_comm_id = B.comm_id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
@ -1669,30 +1665,158 @@ with one_to_many AS(
|
||||
WHERE a.username = '${fine_username}'
|
||||
)
|
||||
SELECT
|
||||
T.hr_organ_name AS hr_organ_name
|
||||
,T.lz_rate AS lz_rate
|
||||
,T.lz_rate_target AS lz_rate_target
|
||||
,ROW_NUMBER() OVER(ORDER BY T.lz_rate desc) AS 排名
|
||||
T.hr_organ_name AS hr_organ_name
|
||||
,T.lz_rate AS lz_rate
|
||||
,T.lz_rate_target AS lz_rate_target
|
||||
,ROW_NUMBER() OVER(ORDER BY T.lz_rate desc) AS 排名
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
B.hr_organ_name AS hr_organ_name
|
||||
,CASE WHEN sum(A.zzrs) = 0 THEN 0
|
||||
ELSE SUM(A.zlzrs) / sum(zzrs)
|
||||
END AS lz_rate -- 离职率
|
||||
,SUM(C.lz_rate_target) AS lz_rate_target
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
B.hr_organ_name AS hr_organ_name
|
||||
,CASE WHEN sum(A.zzrs) = 0 THEN 0
|
||||
ELSE SUM(A.zlzrs) / sum(zzrs)
|
||||
END AS lz_rate -- 离职率
|
||||
,SUM(C.lz_rate_target) AS lz_rate_target
|
||||
T.pq as pq
|
||||
,SUM(T.zzrs) AS zzrs
|
||||
,SUM(T.zlzrs) AS zlzrs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,SUM(zzrs) AS zzrs -- 当天在职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 当天总离职人数
|
||||
pq -- 片区
|
||||
,LEFT(rq,7) AS ym
|
||||
,SUM(CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END) AS zzrs -- 在职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 当天总离职人数
|
||||
FROM ods_hr_view_lzbl_d
|
||||
WHERE LEFT(rq,4) = left('${p_ym}',4)
|
||||
AND LEFT(rq,7) <= '${p_ym}'
|
||||
AND pq not in('89','267') -- 排除了佳美、悦汇
|
||||
GROUP BY pq, xm
|
||||
-- 排除了:
|
||||
-- 89:佳美物业公司
|
||||
-- 267:悦汇发展公司
|
||||
GROUP BY pq,LEFT(rq,7)
|
||||
UNION ALL
|
||||
SELECT
|
||||
T1.organ_code AS pq
|
||||
,T1.ym AS ym
|
||||
,(SUM(T1.begin_num ) + SUM(T1.end_num)) / 2 AS zzrs-- 在职人数
|
||||
,SUM(T1.active_quit) + SUM(T1.pass_quit ) AS zlzrs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-01' AS ym
|
||||
,COALESCE(jan_begin_num,0) AS begin_num -- 月初在职
|
||||
,COALESCE(jan_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jan_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jan_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(feb_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(feb_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(feb_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(mar_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(mar_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(mar_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(apr_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(apr_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(apr_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(may_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(may_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(may_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(jun_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jun_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jun_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(jul_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jul_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jul_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(aug_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(aug_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(aug_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(sep_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(sep_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(sep_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
FROM ods_hr_history_erp_date
|
||||
)T1
|
||||
GROUP BY T1.organ_code ,T1.ym
|
||||
)T
|
||||
WHERE LEFT(ym,4) = left('${p_ym}',4)
|
||||
AND LEFT(ym,7) <= '${p_ym}'
|
||||
AND pq not in('89','267') -- 排除了佳美、悦汇
|
||||
group by T.pq
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
@ -1724,13 +1848,12 @@ FROM
|
||||
FROM ods_hr_collection_target_organ
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
ON B.organ_code = C.organ_code
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
GROUP BY
|
||||
B.hr_organ_name
|
||||
)T
|
||||
B.hr_organ_name
|
||||
)T
|
||||
${IF(LEN(p_area)=0,"", "*/")}
|
||||
|
||||
|
||||
@ -1758,19 +1881,148 @@ FROM
|
||||
ELSE SUM(A.zlzrs) / SUM(A.zzrs)
|
||||
END AS lz_rate
|
||||
,SUM(C.lz_rate_target) AS lz_rate_target
|
||||
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
T.pq as pq
|
||||
,T.xm AS xm
|
||||
,SUM(T.zzrs) AS zzrs
|
||||
,sum(T.zlzrs) AS zlzrs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,SUM(zzrs) AS zzrs -- 当天在职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 当天总离职人数
|
||||
FROM ods_hr_view_lzbl_d
|
||||
WHERE LEFT(rq,4) = left('${p_ym}',4)
|
||||
AND LEFT(rq,7) <= '${p_ym}'
|
||||
,LEFT(rq,7) AS ym
|
||||
,SUM(CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END) AS zzrs -- 在职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 当天总离职人数
|
||||
FROM ods_hr_view_lzbl_d
|
||||
GROUP BY pq, xm, rq
|
||||
UNION ALL
|
||||
|
||||
SELECT
|
||||
T1.organ_code AS pq
|
||||
,T1.comm_id AS xm
|
||||
,T1.ym AS ym
|
||||
,(SUM(T1.begin_num ) + SUM(T1.end_num)) / 2 AS zzrs-- 在职人数
|
||||
,SUM(T1.active_quit) + SUM(T1.pass_quit ) AS zlzrs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,'2024-01' AS ym
|
||||
,COALESCE(jan_begin_num,0) AS begin_num -- 月初在职
|
||||
,COALESCE(jan_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jan_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jan_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(feb_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(feb_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(feb_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(mar_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(mar_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(mar_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(apr_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(apr_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(apr_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(may_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(may_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(may_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(jun_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jun_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jun_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(jul_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(jul_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(jul_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(aug_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(aug_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(aug_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
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 -- 月初在职
|
||||
,COALESCE(sep_end_num,0) AS end_num -- 月末在职
|
||||
,COALESCE(sep_active_quit,0) AS active_quit -- 主动离职人数
|
||||
,COALESCE(sep_pass_quit,0) AS pass_quit -- 被动离职人数
|
||||
FROM ods_hr_history_erp_date
|
||||
)T1
|
||||
GROUP BY T1.organ_code, T1.comm_id ,T1.ym
|
||||
)T
|
||||
WHERE LEFT(ym,4) = left('${p_ym}',4)
|
||||
AND LEFT(ym,7) <= '${p_ym}'
|
||||
AND pq not in('89','267') -- 排除了佳美、悦汇
|
||||
GROUP BY pq, xm
|
||||
AND (pq is NOT NULL OR xm IS NOT NULL )
|
||||
group by T.pq,T.xm
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
@ -1781,6 +2033,7 @@ FROM
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
FROM dim_organ_mapping
|
||||
WHERE length(hr_comm_id) > 0
|
||||
@ -1792,6 +2045,7 @@ FROM
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
,comm_name
|
||||
,comm_id
|
||||
UNION ALL
|
||||
SELECT
|
||||
'0000' AS organ_code -- erp片区编码
|
||||
@ -1800,6 +2054,7 @@ FROM
|
||||
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
||||
,'153' AS hr_comm_id -- hr项目id
|
||||
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
||||
,'' AS comm_id
|
||||
,'' AS comm_name
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
@ -1813,8 +2068,8 @@ FROM
|
||||
FROM ods_hr_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
AND A.xm = C.comm_id
|
||||
ON B.organ_code = C.organ_code
|
||||
AND B.hr_comm_id = C.comm_id
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
AND CASE WHEN (SELECT mang_project FROM ods_one_to_many_perm WHERE username = '${fine_username}' AND mang_organ IS NULL) IS NOT NULL
|
||||
@ -1837,27 +2092,25 @@ ${IF(LEN(p_area)>0,"", "*/")}
|
||||
${IF(LEN(p_area)=0,"", "/*")}
|
||||
|
||||
SELECT
|
||||
T.lc_fee_rate AS lc_fee_rate -- 人力成本费率
|
||||
,T.lc_fee_rate_target AS lc_fee_rate_target -- 人力成本费率目标
|
||||
,CASE WHEN T.lc_fee_rate_target = 0 THEN 0
|
||||
ELSE T.lc_fee_rate / T.lc_fee_rate_target END AS lc_target_rate -- 人力成本费率目标占比
|
||||
,T.ac_fee_rate AS ac_fee_rate -- 行政成本费率
|
||||
,T.ac_fee_rate_target AS ac_fee_rate_target -- 行政成本费率目标值
|
||||
,CASE WHEN T.ac_fee_rate_target = 0 THEN 0
|
||||
ELSE T.ac_fee_rate / T.ac_fee_rate_target END AS ac_target_rate -- 行政成本费率目标占比
|
||||
SUM(T.lc_fee_rate) AS lc_fee_rate -- 人力成本费率
|
||||
,SUM(T.lc_fee_rate_target) AS lc_fee_rate_target -- 人力成本费率目标
|
||||
,CASE WHEN sum(T.lc_fee_rate_target) = 0 THEN 0
|
||||
ELSE SUM(T.lc_fee_rate) / sum(T.lc_fee_rate_target) END AS lc_target_rate -- 人力成本费率目标占比
|
||||
,SUM(T.ac_fee_rate) AS ac_fee_rate -- 行政成本费率
|
||||
,SUM(T.ac_fee_rate_target) AS ac_fee_rate_target -- 行政成本费率目标值
|
||||
,CASE WHEN sum(T.ac_fee_rate_target) = 0 THEN 0
|
||||
ELSE sum(T.ac_fee_rate) / sum(T.ac_fee_rate_target) END AS ac_target_rate -- 行政成本费率目标占比
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
coalesce(SUM(CASE WHEN cost_type = '人力成本' THEN actual_amount ELSE 0 END),0)
|
||||
/ (SELECT SUM(index_income_fact) FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND left(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month < '${p_ym}') AS lc_fee_rate -- 人力成本费率
|
||||
AND yr_month = '${p_ym}') AS lc_fee_rate -- 人力成本费率
|
||||
,coalesce(SUM(CASE WHEN cost_type = '行政成本' THEN actual_amount ELSE 0 END),0)
|
||||
/ (SELECT SUM(index_income_fact) FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND left(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month < '${p_ym}') AS ac_fee_rate -- 行政成本费率
|
||||
AND yr_month = '${p_ym}') AS ac_fee_rate -- 行政成本费率
|
||||
,0 AS lc_fee_rate_target -- 人力成本费率
|
||||
,0 AS ac_fee_rate_target -- 行政成本费率
|
||||
from dw.ods_cost_collection_lc_ac
|
||||
@ -1911,8 +2164,7 @@ SELECT
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND left(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month < '${p_ym}'
|
||||
AND yr_month = '${p_ym}'
|
||||
GROUP BY organ_code
|
||||
)B
|
||||
ON A.organ_code = B.organ_code
|
||||
|
@ -27,13 +27,29 @@ SELECT
|
||||
,budget_amount -- 成本预算值
|
||||
,actual_amount -- 成本实际值'
|
||||
FROM ods_cost_collection_lc_ac
|
||||
where organ_code = '0117'
|
||||
WHERE ym = '${p_ym}'
|
||||
AND cost_type = '${p_type}'
|
||||
|
||||
|
||||
拿乌鲁木齐片区核对:
|
||||
人力成本实际值(2024-01月至2024-10月): 809.89万元
|
||||
财务物业实际收入(2024-01月至2024-10月): 6471.01 万元
|
||||
人力成本费率=人力成本实际值/财务物业实际收入: 809.89 / 6471 = 0.1251568537 = 12.52%
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
,SUM(index_income_target) AS index_income_target -- 收入目标
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND left(yr_month,4) = '2024'
|
||||
AND yr_month < '2024-11'
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
|
||||
|
||||
TRUNCATE TABLE ods_cost_collection_lc_ac;
|
||||
|
@ -129,6 +129,8 @@ RIGHT JOIN
|
||||
,hr_organ_name -- hr片区名称
|
||||
,hr_comm_id -- hr项目id
|
||||
,hr_comm_name -- hr项目名称
|
||||
,comm_id
|
||||
,comm_name
|
||||
FROM dim_organ_mapping
|
||||
WHERE length(hr_comm_id) > 0
|
||||
GROUP BY
|
||||
@ -138,6 +140,8 @@ RIGHT JOIN
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
UNION ALL
|
||||
SELECT
|
||||
'0000' AS organ_code -- erp片区编码
|
||||
@ -146,6 +150,8 @@ RIGHT JOIN
|
||||
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
||||
,'153' AS hr_comm_id -- hr项目id
|
||||
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
||||
,'' AS comm_id
|
||||
,'' AS comm_name
|
||||
FROM dual
|
||||
)B
|
||||
ON A.pq = B.hr_organ_id
|
||||
@ -160,8 +166,8 @@ LEFT JOIN
|
||||
FROM ods_hr_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.pq = C.organ_code
|
||||
AND A.xm = C.comm_id
|
||||
ON B.organ_code = C.organ_code
|
||||
AND B.hr_comm_id = C.comm_id
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('" + p_area +"')", "")}
|
||||
GROUP BY
|
||||
|
@ -222,7 +222,7 @@ ${if(p_type='人力',"","/*")}
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND yr_month >= '${p_startym}'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month <= '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
@ -249,8 +249,7 @@ ${if(p_type='人力',"","/*")}
|
||||
,lc_fee_rate_target -- 人力成本费率目标
|
||||
,ac_fee_rate_target -- 行政成本费率目标
|
||||
FROM ods_cost_collection_target
|
||||
WHERE left(ym,4) = left('${p_ym}',4)
|
||||
AND length(ym) = 4
|
||||
WHERE ym = '${p_ym}'
|
||||
)D
|
||||
ON A.organ_code = D.organ_code
|
||||
AND A.comm_id = D.comm_id
|
||||
@ -337,8 +336,8 @@ FROM
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND yr_month >= '${p_startym}'
|
||||
AND yr_month <= '${p_ym}'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
AND yr_month <= '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
)B
|
||||
@ -364,8 +363,8 @@ FROM
|
||||
,lc_fee_rate_target -- 人力成本费率目标
|
||||
,ac_fee_rate_target -- 行政成本费率目标
|
||||
FROM ods_cost_collection_target
|
||||
WHERE left(ym,4) = left('${p_ym}',4)
|
||||
AND length(ym) = 4
|
||||
WHERE ym = '${p_ym}'
|
||||
|
||||
)D
|
||||
ON A.organ_code = D.organ_code
|
||||
AND A.comm_id = D.comm_id
|
||||
|
@ -19,10 +19,10 @@ SELECT * FROM ods_history_today_fee_save;
|
||||
|
||||
INSERT INTO ods_history_today_fee_save
|
||||
SELECT
|
||||
CURRENT_DATE AS dt -- 当天
|
||||
,CURRENT_TIMESTAMP AS extract_date -- 抽数日期
|
||||
,CURRENT_TIME AS extract_time -- 抽数时间
|
||||
,sum(ifnull(pr_paid_amt,0) + ifnull(cu_paid_amt,0) + ifnull(fu_paid_amt,0))/10000 paid_amt
|
||||
LEFT(CURRENT_DATE,10) AS dt -- 当天
|
||||
,CURRENT_TIMESTAMP() AS extract_date -- 抽数日期
|
||||
,CURRENT_TIME() AS extract_time -- 抽数时间
|
||||
,sum(ifnull(pr_paid_amt,0) + ifnull(cu_paid_amt,0) + ifnull(fu_paid_amt,0))/10000 metric_value
|
||||
from dws_finance_today_fees_d
|
||||
WHERE ParentCostCode not in ('0006','0009','0010','0011')
|
||||
and MiddleCostCode not in ('00080013','00080014','00080015','00080016','00080025','00080029','00080033','00080036','00080037')
|
||||
@ -37,8 +37,7 @@ SELECT
|
||||
,t.extract_date AS extract_date
|
||||
,t.extract_time AS extract_time
|
||||
,t.metric_value AS metric_value
|
||||
,row_number() OVER (PARTITION BY dt ORDER BY extract_date desc) as rk -- 根据抽数时间排序
|
||||
|
||||
,row_number() OVER (PARTITION BY LEFT(dt,10) ORDER BY extract_date desc) as rk -- 根据抽数时间排序
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
@ -49,9 +48,11 @@ dt
|
||||
-- 如果一个小时内多次抽数的情况,取最新的
|
||||
,row_number() OVER (PARTITION BY dt,hour(extract_date) ORDER BY extract_date desc) as rk
|
||||
FROM ods_history_today_fee_save
|
||||
WHERE dt = '${s_ym}'
|
||||
WHERE LEFT(dt,10) = '${s_ym}'
|
||||
)t
|
||||
WHERE t.rk = 1
|
||||
AND hour(extract_date) >= 7
|
||||
AND hour(extract_date) <= 24
|
||||
)
|
||||
SELECT
|
||||
a.dt AS dt
|
||||
|
Loading…
Reference in New Issue
Block a user