明细表逻辑&看板取数优化为填报表作为数据来源
This commit is contained in:
parent
ed9e566ae1
commit
23c49af1f2
@ -42,11 +42,12 @@
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/总裁.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/法务.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/3_property/1_各项目客户满意度得分.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/1_月度合同到期提醒.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/2_人力看板目标值填报.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/3_人力看板目标值填报-公司整体.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/4_人力看板目标值填报-片区.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/5_费控人力行政成本填报.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/6_费控目标值填报.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/人力看板目标值填报-公司整体.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/人力看板目标值填报-片区.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/5_manpower/人力看板目标值填报.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/6_innovation/多经四大业务指标完成情况填报表.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/tianbao/EARLY_WARNING/看板数据预警-项目维度.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/2_operation/住服比异常项目.sql" dialect="MySQL" />
|
||||
@ -57,6 +58,7 @@
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/3_property/4_投诉明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/4_engine/1_异常抬杆下钻明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/2_员工满编率明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/3_员工离职率明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/4_人力行政成本费率明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/5_manpower/5_在职人员明细.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/6_innovation/4_小悦到家服务销售明细.sql" dialect="MySQL" />
|
||||
|
File diff suppressed because it is too large
Load Diff
49
finereport/tianbao/5_manpower/1_月度合同到期提醒.sql
Normal file
49
finereport/tianbao/5_manpower/1_月度合同到期提醒.sql
Normal file
@ -0,0 +1,49 @@
|
||||
DROP TABLE ods_renli_contract_terminate;
|
||||
CREATE TABLE ods_renli_contract_terminate (
|
||||
contract_code varchar(50) COMMENT '合同编号'
|
||||
,organ_code varchar(50) COMMENT 'erp片区code'
|
||||
,organ_name varchar(100) COMMENT 'erp片区名称'
|
||||
,comm_id varchar(50) COMMENT '项目id'
|
||||
,comm_name varchar(100) COMMENT '项目名称'
|
||||
,contract_type varchar(100) COMMENT '合同类型'
|
||||
,contract_name varchar(100) COMMENT '合同名称'
|
||||
,contract_amount decimal(16,8) COMMENT '合同金额'
|
||||
,party_a varchar(50) COMMENT '合作甲方'
|
||||
,party_b varchar(50) COMMENT '合作乙方'
|
||||
,start_date varchar(50) COMMENT '生效日期'
|
||||
,end_date varchar(50) COMMENT '结束日期'
|
||||
,update_by varchar(50) COMMENT '数据更新人'
|
||||
,update_time datetime COMMENT '数据更新时间'
|
||||
-- ,PRIMARY KEY (contract_code)
|
||||
) COMMENT='月度合同到到期提醒填报';
|
||||
|
||||
SELECT
|
||||
contract_code -- 合同编号
|
||||
,organ_code -- erp片区code
|
||||
,organ_name -- erp片区名称
|
||||
,comm_id -- 项目id
|
||||
,comm_name -- 项目名称
|
||||
,contract_type -- 合同类型
|
||||
,contract_name -- 合同名称
|
||||
,contract_amount -- 合同金额
|
||||
,party_a -- 合作甲方
|
||||
,party_b -- 合作乙方
|
||||
,start_date -- 生效日期
|
||||
,end_date -- 结束日期
|
||||
FROM ods_renli_contract_terminate
|
||||
;
|
||||
|
||||
|
||||
1、合同到期日-当期日期=90天提醒。显示到期合同总数量,并可下钻明细。
|
||||
2、合同到期日-当期日期=60天提醒,显示到期合同总数量,并可下钻明细。
|
||||
3、合同到期日-当期日期=30天提醒,显示到期合同总数量,并可下钻明细。
|
||||
4、合同到期日-当期日期=15天提醒,显示到期合同总数量,并可下钻明细。
|
||||
5、合同到期日-当期日期=7天提醒,显示到期合同总数量,并可下钻明细。"
|
||||
|
||||
|
||||
|
||||
|
||||
-- VALUE("dict_片区_项目",3,4,D4)
|
||||
|
||||
-- VALUE("dict_片区",1,2,B2)
|
||||
-- VALUE("dict_片区_项目",3,4,C2)
|
@ -1,31 +1,22 @@
|
||||
|
||||
SELECT
|
||||
T1.hr_comm_name AS hr_comm_name
|
||||
,T1.hr_organ_name AS hr_organ_name
|
||||
,T1.bzs AS bzs -- 当月编制数
|
||||
,T1.zzs AS zzs -- 当月在职数
|
||||
,'0' AS target_full_rate -- 月均满编率目标
|
||||
,CASE when T1.bzs = 0 then 0 else T1.zzs / T1.bzs end AS full_rate -- 月度满编率
|
||||
,'0' AS target_rate -- 月均满编率目标
|
||||
,T1.rate AS rate -- 月均满编率实际
|
||||
B.hr_comm_name AS hr_comm_name -- 片区
|
||||
,B.hr_organ_name AS hr_organ_name -- 项目
|
||||
,SUM(A.bzs) AS bzs -- 编制数
|
||||
,SUM(A.zzs) AS zzs -- 在职数
|
||||
,SUM(C.full_rate_target) AS full_rate_target -- 满编率目标值
|
||||
,SUM(C.avg_full_rate_target) AS avg_full_rate_target -- 月均满编率目标值
|
||||
,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE -- 月均满编率
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
B.hr_comm_name AS hr_comm_name
|
||||
,B.hr_organ_name AS hr_organ_name
|
||||
,SUM(A.bzs) AS bzs
|
||||
,SUM(A.zzs) AS zzs
|
||||
,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
,bzs -- 编制数
|
||||
,rq
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE rq = '${p_ym}'
|
||||
WHERE ny >= '${p_startym}'
|
||||
AND ny <= '${p_ym}'
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
AND pq NOT IN('89','267')
|
||||
)A
|
||||
@ -39,7 +30,7 @@ FROM
|
||||
,hr_comm_id -- hr项目id
|
||||
,hr_comm_name -- hr项目名称
|
||||
FROM dim_organ_mapping
|
||||
WHERE hr_organ_name IS NOT NULL
|
||||
WHERE length(hr_comm_id) > 0
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
@ -47,7 +38,6 @@ FROM
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
|
||||
UNION ALL
|
||||
SELECT
|
||||
'0000' AS organ_code -- erp片区编码
|
||||
@ -60,9 +50,20 @@ FROM
|
||||
)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
|
||||
)T1
|
||||
,B.hr_organ_name
|
@ -1,38 +1,164 @@
|
||||
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 -- 总离职人数
|
||||
,SUM(A.StartOfmonth_zzrs) AS StartOfmonth_zzrs -- 月初在职人数
|
||||
,SUM(A.EndOfmonth_zsrs) AS EndOfmonth_zsrs -- 月末在职人数
|
||||
,sum(A.zdlzrs) AS zdlzrs -- 主动离职人数
|
||||
,CASE WHEN SUM(A.zzrs) = 0 THEN 0 ELSE sum(A.zdlzrs) / SUM(A.zzrs) END AS zdlz_rate
|
||||
,sum(A.bdlzrs) AS bdlzrs -- 当天被动离职人数
|
||||
,CASE WHEN SUM(A.zzrs) = 0 THEN 0 ELSE sum(A.bdlzrs) / SUM(A.zzrs) END AS bdlz_rate
|
||||
,SUM(A.zlzrs) AS zlzrs -- 总离职人数
|
||||
,CASE WHEN SUM(A.zzrs) = 0 THEN 0 ELSE sum(A.zlzrs) / SUM(A.zzrs) 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 -- 月末在职人数
|
||||
SELECT
|
||||
pq, xm, ym, StartOfmonth_zzrs, EndOfmonth_zsrs, zdlzrs, bdlzrs, zlzrs
|
||||
,(StartOfmonth_zzrs + EndOfmonth_zsrs) / 2 AS zzrs
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,LEFT(rq,7) AS ym
|
||||
,SUM(CASE WHEN rq = CONCAT('${p_ym}','-01') THEN zzrs ELSE 0 END) AS StartOfmonth_zzrs -- 月初在职人数
|
||||
,SUM(CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END) AS EndOfmonth_zsrs -- 月末在职人数
|
||||
,SUM(zdlzrs) AS zdlzrs -- 当天主动离职人数
|
||||
,SUM(bdlzrs) AS bdlzrs -- 当天被动离职人数
|
||||
,SUM(zlzrs) AS zlzrs -- 当天总离职人数
|
||||
FROM ods_hr_view_lzbl_d
|
||||
WHERE LEFT(rq,7) = '${p_ym}'
|
||||
AND pq not in('89','267')
|
||||
-- 排除了:
|
||||
-- 89:佳美物业公司
|
||||
-- 153:领悦集团总部
|
||||
-- 267:悦汇发展公司
|
||||
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 ) AS StartOfmonth_zzrs-- 月初在职
|
||||
,SUM(T1.end_num ) AS EndOfmonth_zsrs-- 月末在职
|
||||
,SUM(T1.active_quit) AS zdlzrs-- 主动离职人数
|
||||
,SUM(T1.pass_quit ) AS bdlzrs-- 被动离职人数
|
||||
,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 ym >= '${p_startym}'
|
||||
AND ym <= '${p_ym}'
|
||||
AND pq not in('89','267')
|
||||
AND (pq is NOT NULL OR xm IS NOT NULL )
|
||||
|
||||
)A
|
||||
LEFT JOIN
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code -- erp片区编码
|
||||
@ -42,6 +168,7 @@ LEFT JOIN
|
||||
,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
|
||||
@ -65,56 +192,193 @@ 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")}
|
||||
ORDER BY ${IF(LEN(p_area)>0,"B.hr_comm_name", "hr_organ_name")}
|
||||
|
||||
-- 离职原因占比
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 天问提供历史数据处理
|
||||
-- ======================================
|
||||
|
||||
|
||||
DROP TABLE ods_hr_history_erp_date;
|
||||
|
||||
CREATE TABLE ods_hr_history_erp_date (
|
||||
organ_name varchar(100) COMMENT 'erp片区名称'
|
||||
,organ_code varchar(100) COMMENT 'erp片区编码'
|
||||
,comm_name varchar(100) COMMENT '项目名称'
|
||||
,comm_id varchar(100) COMMENT '项目id'
|
||||
,sep_end_num int COMMENT '9月末在职人数'
|
||||
,sep_pass_quit int COMMENT '9月被动离职人数'
|
||||
,sep_active_quit int COMMENT '9月主动离职人数'
|
||||
,sep_begin_num int COMMENT '9月初在职'
|
||||
|
||||
,aug_end_num int COMMENT '8月末在职人数'
|
||||
,aug_pass_quit int COMMENT '8月被动离职人数'
|
||||
,aug_active_quit int COMMENT '8月主动离职人数'
|
||||
,aug_begin_num int COMMENT '8月初在职'
|
||||
|
||||
,jul_end_num int COMMENT '7月末在职人数'
|
||||
,jul_pass_quit int COMMENT '7月被动离职人数'
|
||||
,jul_active_quit int COMMENT '7月主动离职人数'
|
||||
,jul_begin_num int COMMENT '7月初在职'
|
||||
|
||||
,jun_end_num int COMMENT '6月末在职人数'
|
||||
,jun_pass_quit int COMMENT '6月被动离职人数'
|
||||
,jun_active_quit int COMMENT '6月主动离职人数'
|
||||
,jun_begin_num int COMMENT '6月初在职'
|
||||
|
||||
,may_end_num int COMMENT '5月末在职人数'
|
||||
,may_pass_quit int COMMENT '5月被动离职人数'
|
||||
,may_active_quit int COMMENT '5月主动离职人数'
|
||||
,may_begin_num int COMMENT '5月初在职'
|
||||
|
||||
,apr_end_num int COMMENT '4月末在职人数'
|
||||
,apr_pass_quit int COMMENT '4月被动离职人数'
|
||||
,apr_active_quit int COMMENT '4月主动离职人数'
|
||||
,apr_begin_num int COMMENT '4月初在职'
|
||||
|
||||
,mar_end_num int COMMENT '3月末在职人数'
|
||||
,mar_pass_quit int COMMENT '3月被动离职人数'
|
||||
,mar_active_quit int COMMENT '3月主动离职人数'
|
||||
,mar_begin_num int COMMENT '3月初在职'
|
||||
|
||||
,feb_end_num int COMMENT '2月末在职人数'
|
||||
,feb_pass_quit int COMMENT '2月被动离职人数'
|
||||
,feb_active_quit int COMMENT '2月主动离职人数'
|
||||
,feb_begin_num int COMMENT '2月初在职'
|
||||
|
||||
,jan_end_num int COMMENT '1月末在职人数'
|
||||
,jan_pass_quit int COMMENT '1月被动离职人数'
|
||||
,jan_active_quit int COMMENT '1月主动离职人数'
|
||||
,jan_begin_num int COMMENT '1月初在职'
|
||||
) COMMENT='erp系统历史离职人数';
|
||||
|
||||
|
||||
SELECT * FROM ods_hr_history_erp_date
|
||||
|
||||
|
||||
-- 列转行处理
|
||||
|
||||
SELECT
|
||||
A.lzlx AS lzlx -- 离职类型id
|
||||
,A.lzlxname AS lzlxname -- 离职类型名称
|
||||
,A.lzyy AS lzyy -- 离职原因id
|
||||
,A.lzyyname AS lzyyname -- 离职原因名称
|
||||
,A.lzrs AS lzrs -- 离职人数
|
||||
T1.organ_code AS organ_code
|
||||
,T1.organ_name AS organ_name
|
||||
,T1.comm_id AS comm_id
|
||||
,T1.comm_name AS comm_name
|
||||
,T1.ym AS ym
|
||||
,SUM(T1.begin_num ) AS begin_num-- 月初在职
|
||||
,SUM(T1.end_num ) AS end_num-- 月末在职
|
||||
,SUM(T1.active_quit) AS active_quit-- 主动离职人数
|
||||
,SUM(T1.pass_quit ) AS pass_quit-- 被动离职人数
|
||||
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,"','")+"')", "")}
|
||||
(
|
||||
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.organ_name, T1.comm_id, T1.comm_name,T1.ym
|
||||
|
||||
|
@ -140,3 +140,237 @@ FROM
|
||||
|
||||
${if(p_type='行政',"","*/")}
|
||||
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 使用填报数据来源
|
||||
-- ======================================
|
||||
|
||||
|
||||
${if(p_type='人力',"","/*")}
|
||||
|
||||
|
||||
SELECT
|
||||
A.organ_name AS organ_name -- 片区
|
||||
,A.comm_name AS comm_name -- 项目
|
||||
,SUM(D.lc_fee_rate_target) AS lc_fee_rate_target -- 人力费率年度目标值
|
||||
,SUM(B.index_market_target) AS index_market_target-- 收入累计目标值
|
||||
,SUM(A.lc_target_fee) AS lc_target_fee -- 人力成本累计目标值
|
||||
,SUM(C.lc_fee_rate_target) AS lc_fee_rate_target -- 人力成本费率目标值
|
||||
,SUM(B.index_income_fact) AS index_income_fact -- 实际收入累计值
|
||||
,SUM(A.lc_total_fee) AS lc_total_fee -- 人力成本累计实际
|
||||
,CASE WHEN sum(B.index_income_fact) = 0 THEN 0
|
||||
ELSE SUM(A.lc_total_fee) / SUM(B.index_income_fact) END AS fee_rate -- 费率实际值
|
||||
|
||||
FROM
|
||||
( -- 费控人力行政成本填报
|
||||
SELECT
|
||||
organ_code -- 片区id
|
||||
,organ_name -- 片区名称
|
||||
,comm_id -- 项目id
|
||||
,comm_name -- 项目名称
|
||||
,coalesce(SUM(CASE WHEN cost_type = '人力成本' THEN actual_amount ELSE 0 END),0) AS lc_total_fee -- 人力成本费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '人力成本' THEN budget_amount ELSE 0 END),0) AS lc_target_fee -- 人力成本预算费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '行政成本' THEN actual_amount ELSE 0 END),0) AS ac_total_fee -- 行政成本费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '行政成本' THEN budget_amount ELSE 0 END),0) AS ac_target_fee -- 行政成本预算费用
|
||||
from dw.ods_cost_collection_lc_ac
|
||||
WHERE ym >= '${p_startym}'
|
||||
AND ym <= '${p_ym}'
|
||||
GROUP BY organ_code, organ_name, comm_id, comm_name
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
FROM dim_organ_mapping
|
||||
WHERE length(hr_comm_id) > 0
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_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片区名称
|
||||
,'' AS comm_id
|
||||
,'' AS comm_name
|
||||
,'153' AS hr_organ_id -- hr片区编码
|
||||
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
||||
,'153' AS hr_comm_id -- hr项目id
|
||||
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
||||
)A1
|
||||
ON A.organ_code = A1.organ_code
|
||||
and A.comm_id = A1.hr_comm_id
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,SUM(index_market_target) AS index_market_target -- 收入目标值
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND yr_month >= '${p_startym}'
|
||||
AND yr_month <= '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
)B
|
||||
ON A1.organ_code = B.organ_code
|
||||
AND A1.comm_id = B.comm_id
|
||||
LEFT JOIN
|
||||
(-- 费控月度目标值
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,lc_fee_rate_target -- 人力成本费率目标
|
||||
,ac_fee_rate_target -- 行政成本费率目标
|
||||
FROM ods_cost_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.organ_code = C.organ_code
|
||||
AND A.comm_id = C.comm_id
|
||||
LEFT JOIN
|
||||
(-- 费控年度目标值
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,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
|
||||
)D
|
||||
ON A.organ_code = D.organ_code
|
||||
AND A.comm_id = D.comm_id
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND A.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY A.organ_name
|
||||
,A.comm_name
|
||||
|
||||
${if(p_type='人力',"","*/")}
|
||||
|
||||
|
||||
${if(p_type='行政',"","/*")}
|
||||
|
||||
|
||||
SELECT
|
||||
A.organ_name AS organ_name -- 片区
|
||||
,A.comm_name AS comm_name -- 项目
|
||||
,SUM(D.ac_fee_rate_target) AS lc_fee_rate_target -- 人力费率年度目标值
|
||||
,SUM(B.index_market_target) AS index_market_target-- 收入累计目标值
|
||||
,SUM(A.ac_target_fee) AS lc_target_fee -- 人力成本累计目标值
|
||||
,SUM(C.ac_fee_rate_target) AS lc_fee_rate_target -- 人力成本费率目标值
|
||||
,SUM(B.index_income_fact) AS index_income_fact -- 实际收入累计值
|
||||
,SUM(A.ac_total_fee) AS lc_total_fee -- 人力成本累计实际
|
||||
,CASE WHEN sum(B.index_income_fact) = 0 THEN 0
|
||||
ELSE SUM(A.ac_total_fee) / SUM(B.index_income_fact) END AS fee_rate -- 费率实际值
|
||||
|
||||
FROM
|
||||
( -- 费控人力行政成本填报
|
||||
SELECT
|
||||
organ_code -- 片区id
|
||||
,organ_name -- 片区名称
|
||||
,comm_id -- 项目id
|
||||
,comm_name -- 项目名称
|
||||
,coalesce(SUM(CASE WHEN cost_type = '人力成本' THEN actual_amount ELSE 0 END),0) AS lc_total_fee -- 人力成本费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '人力成本' THEN budget_amount ELSE 0 END),0) AS lc_target_fee -- 人力成本预算费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '行政成本' THEN actual_amount ELSE 0 END),0) AS ac_total_fee -- 行政成本费用
|
||||
,coalesce(SUM(CASE WHEN cost_type = '行政成本' THEN budget_amount ELSE 0 END),0) AS ac_target_fee -- 行政成本预算费用
|
||||
from dw.ods_cost_collection_lc_ac
|
||||
WHERE ym >= '${p_startym}'
|
||||
AND ym <= '${p_ym}'
|
||||
GROUP BY organ_code, organ_name, comm_id, comm_name
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
FROM dim_organ_mapping
|
||||
WHERE length(hr_comm_id) > 0
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_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片区名称
|
||||
,'' AS comm_id
|
||||
,'' AS comm_name
|
||||
,'153' AS hr_organ_id -- hr片区编码
|
||||
,'领悦集团总部' AS hr_organ_name -- hr片区名称
|
||||
,'153' AS hr_comm_id -- hr项目id
|
||||
,'领悦集团总部' AS hr_comm_name -- hr项目名称
|
||||
)A1
|
||||
ON A.organ_code = A1.organ_code
|
||||
and A.comm_id = A1.hr_comm_id
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,SUM(index_market_target) AS index_market_target -- 收入目标值
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND yr_month >= '${p_startym}'
|
||||
AND yr_month <= '${p_ym}'
|
||||
GROUP BY
|
||||
organ_code,comm_id
|
||||
)B
|
||||
ON A1.organ_code = B.organ_code
|
||||
AND A1.comm_id = B.comm_id
|
||||
LEFT JOIN
|
||||
(-- 费控月度目标值
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,lc_fee_rate_target -- 人力成本费率目标
|
||||
,ac_fee_rate_target -- 行政成本费率目标
|
||||
FROM ods_cost_collection_target
|
||||
WHERE ym = '${p_ym}'
|
||||
)C
|
||||
ON A.organ_code = C.organ_code
|
||||
AND A.comm_id = C.comm_id
|
||||
LEFT JOIN
|
||||
(-- 费控年度目标值
|
||||
SELECT
|
||||
organ_code
|
||||
,comm_id
|
||||
,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
|
||||
)D
|
||||
ON A.organ_code = D.organ_code
|
||||
AND A.comm_id = D.comm_id
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND A.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY A.organ_name
|
||||
,A.comm_name
|
||||
${if(p_type='行政',"","*/")}
|
||||
|
@ -42,6 +42,70 @@ GROUP BY nld
|
||||
|
||||
|
||||
|
||||
|
||||
-- 年龄分布
|
||||
-- 年龄<30岁;30岁≤年龄<40岁;40岁≤年龄<50岁;50岁≤年龄<60岁;60岁≤年龄<65岁;年龄≥65岁;
|
||||
SELECT
|
||||
CASE WHEN A.nl < 30.00 THEN '年龄<30岁'
|
||||
WHEN A.nl >= 30.00 AND A.nl < 40.00 THEN '30岁≤年龄<40岁'
|
||||
WHEN A.nl >= 40.00 AND A.nl < 50.00 THEN '40岁≤年龄<50岁'
|
||||
WHEN A.nl >= 50.00 AND A.nl < 60.00 THEN '50岁≤年龄<60岁'
|
||||
WHEN A.nl >= 60.00 AND A.nl < 65.00 THEN '60岁≤年龄<65岁'
|
||||
WHEN A.nl >= 65.00 THEN '年龄≥65岁'
|
||||
END AS nld
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,nl
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
CASE WHEN nl < 30.00 THEN '年龄<30岁'
|
||||
WHEN nl >= 30.00 AND nl < 40.00 THEN '30岁≤年龄<40岁'
|
||||
WHEN nl >= 40.00 AND nl < 50.00 THEN '40岁≤年龄<50岁'
|
||||
WHEN nl >= 50.00 AND nl < 60.00 THEN '50岁≤年龄<60岁'
|
||||
WHEN nl >= 60.00 AND nl < 65.00 THEN '60岁≤年龄<65岁'
|
||||
WHEN nl >= 65.00 THEN '年龄≥65岁'
|
||||
END
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 司龄分布
|
||||
-- ======================================
|
||||
@ -84,9 +148,69 @@ where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY sld
|
||||
|
||||
-- 司龄<3个月内;3个月≤司龄<1年;1年≤司龄<3年;3年≤司龄<5年;5年≤司龄<10年;10年≤司龄<15年;司龄≥15年;
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
CASE WHEN A.sl < 0.30 THEN '司龄<3个月内'
|
||||
WHEN A.sl >= 0.30 AND A.sl < 1.00 THEN '3个月≤司龄<1年'
|
||||
WHEN A.sl >= 1.00 AND A.sl < 3.00 THEN '1年≤司龄<3年'
|
||||
WHEN A.sl >= 3.00 AND A.sl < 5.00 THEN '3年≤司龄<5年'
|
||||
WHEN A.sl >= 5.00 AND A.sl < 10.00 THEN '5年≤司龄<10年'
|
||||
WHEN A.sl >= 10.00 AND A.sl < 15.00 THEN '10年≤司龄<15年'
|
||||
WHEN A.sl >= 15.00 THEN '司龄≥15年'
|
||||
END AS sld
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,sl
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
CASE WHEN A.sl < 0.30 THEN '司龄<3个月内'
|
||||
WHEN A.sl >= 0.30 AND A.sl < 1.00 THEN '3个月≤司龄<1年'
|
||||
WHEN A.sl >= 1.00 AND A.sl < 3.00 THEN '1年≤司龄<3年'
|
||||
WHEN A.sl >= 3.00 AND A.sl < 5.00 THEN '3年≤司龄<5年'
|
||||
WHEN A.sl >= 5.00 AND A.sl < 10.00 THEN '5年≤司龄<10年'
|
||||
WHEN A.sl >= 10.00 AND A.sl < 15.00 THEN '10年≤司龄<15年'
|
||||
WHEN A.sl >= 15.00 THEN '司龄≥15年'
|
||||
END
|
||||
|
||||
-- ======================================
|
||||
-- 学历分布
|
||||
@ -132,6 +256,54 @@ where 1 = 1
|
||||
GROUP BY xl
|
||||
|
||||
|
||||
SELECT
|
||||
A.xlmc
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,xlmc
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
A.xlmc
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 职务角色
|
||||
@ -176,7 +348,63 @@ where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
GROUP BY zwje
|
||||
|
||||
-- 总部职能中心/一级部门负责人及以上人员
|
||||
-- 总部二级职能部门负责人
|
||||
-- 片区负责人
|
||||
-- 片区职能部门负责人
|
||||
-- 项目负责人
|
||||
-- 项目部门负责人
|
||||
-- 案场负责人
|
||||
-- 案场部门负责人
|
||||
-- 员工
|
||||
|
||||
SELECT
|
||||
zwmc AS zwje
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,zwmc
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
A.zwmc
|
||||
|
||||
|
||||
|
||||
@ -226,6 +454,53 @@ GROUP BY swtx
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
A.zycjname
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,zycjname
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
A.zycjname
|
||||
|
||||
-- ======================================
|
||||
-- 一级专业条线
|
||||
@ -271,6 +546,60 @@ where 1 = 1
|
||||
GROUP BY zytx
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
A.zytxmc
|
||||
,count(1) AS sl
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,xm
|
||||
,zytxmc
|
||||
FROM ods_hr_view_zaizhi_user_d
|
||||
WHERE ny <= '${p_ym}'
|
||||
AND ny >= '${p_startym}'
|
||||
)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
|
||||
where 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
GROUP BY
|
||||
A.zytxmc
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 人员明细
|
||||
-- ======================================
|
||||
@ -349,4 +678,9 @@ LEFT JOIN
|
||||
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 +"')", "")}
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+ p_area +"')", "")}
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 使用ods_hr_view_zaizhi_user_d表计算人员分布占比
|
||||
-- ======================================
|
||||
|
Loading…
Reference in New Issue
Block a user