离职人数历史数据补齐、权限bug修复、财务取数口径优化

This commit is contained in:
yangkunan 2024-11-14 19:22:13 +08:00
parent 6f1b07e6e0
commit 24fd7ea032
6 changed files with 2669 additions and 77 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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

View File

@ -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-012024-10): 809.89
(2024-012024-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;

View File

@ -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

View File

@ -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

View File

@ -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