From 2c583cc42a824be1140da2de53646634084db9ae Mon Sep 17 00:00:00 2001 From: yangkunan Date: Sun, 27 Oct 2024 11:54:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A6=BB=E8=81=8C=E7=8E=87=E6=8E=92=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- finereport/kanban/pc/人力.sql | 70 +++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/finereport/kanban/pc/人力.sql b/finereport/kanban/pc/人力.sql index 234636a..9447603 100644 --- a/finereport/kanban/pc/人力.sql +++ b/finereport/kanban/pc/人力.sql @@ -652,3 +652,73 @@ FROM ON A.organ_code = B.organ_code ${if(p_type='行政',"","*/")} + + + +-- ====================================== +-- 离职率排名 +-- ====================================== + + +SELECT + T.hr_organ_name AS hr_organ_name + ,T.lz_rate AS lz_rate + ,0 AS lz_rate_target + ,ROW_NUMBER() OVER(ORDER BY T.lz_rate desc) AS 排名 +FROM + ( + 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 + + 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}' + AND pq not in('89','153','267') + -- 排除了: + -- 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项目名称 + FROM dim_organ_mapping_kunan_tmp + GROUP BY + organ_code + ,organ_name + ,hr_organ_id + ,hr_organ_name + ,hr_comm_id + ,hr_comm_name + )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,"','")+"')", "")} + GROUP BY + ${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")} + )T \ No newline at end of file