人力看板指标第二版:使用组织映射表关联
This commit is contained in:
parent
b4b656c681
commit
1bcba21c50
@ -19,6 +19,8 @@
|
||||
<file url="file://$PROJECT_DIR$/dw/dwd/dwd_law_trans_record_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_business_bill_m.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_business_rent_rate_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_cost_ac_summary_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_cost_lc_summary_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_engine_equipment_in_good_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_engine_equipment_inspect_task_m.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_engine_stat_exception_rate_w.sql" dialect="MySQL" />
|
||||
@ -28,10 +30,12 @@
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_law_not_tran_payment_m.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_law_tran_coll_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/dws/dws_operation_subcompany_plan_level_d.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/dw/ods/ods_cost_adjust_data_d.sql" dialect="Oracle" />
|
||||
<file url="file://$PROJECT_DIR$/dw/ods/ods_cost_budget_data_d.sql" dialect="Oracle" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/创新生态_mobile.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/工程_mobile.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/mobile/物业_mobile.sql" dialect="MySQL" />
|
||||
<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/kanban/pc/商业.sql" dialect="MySQL" />
|
||||
<file url="file://$PROJECT_DIR$/finereport/kanban/pc/工程.sql" dialect="MySQL" />
|
||||
|
@ -17,9 +17,9 @@ CREATE TABLE IF NOT EXISTS dw.dwd_cost_budget_data_d (
|
||||
,budgetfee_rate VARCHAR(50) COMMENT '预算执行率'
|
||||
)COMMENT = '费控预算金额明细表'
|
||||
|
||||
-------------------------------------
|
||||
-- -----------------------------------
|
||||
-- 费控预算金额明细表转换
|
||||
-------------------------------------
|
||||
-- -----------------------------------
|
||||
INSERT INTO dw.dwd_cost_budget_data_d
|
||||
select
|
||||
dimaccountcode -- 预算科目编码
|
||||
|
@ -1,25 +1,25 @@
|
||||
DROP TABLE IF EXISTS dw.dws_cost_ac_summary_d;
|
||||
CREATE TABLE IF NOT EXISTS dw.dws_cost_ac_summary_d (
|
||||
yearname VARCHAR(50) COMMENT '年'
|
||||
,monthname VARCHAR(50) COMMENT '月'
|
||||
,organ_code VARCHAR(255) COMMENT '片区ID'
|
||||
,organ_name VARCHAR(255) COMMENT '片区名称'
|
||||
,dimsubjectcode VARCHAR(255) COMMENT '组织机构编码'
|
||||
,dimsubjectname VARCHAR(255) COMMENT '组织机构名称'
|
||||
,office_rent VARCHAR(255) COMMENT '办公室租金'
|
||||
,office_repair_fee VARCHAR(255) COMMENT '办公维修费'
|
||||
,office_fee VARCHAR(255) COMMENT '办公费'
|
||||
,travel_fee VARCHAR(255) COMMENT '差旅费'
|
||||
,phone_fee VARCHAR(255) COMMENT '电话费'
|
||||
,ad_fee VARCHAR(255) COMMENT '广告宣传费'
|
||||
,business_fee VARCHAR(255) COMMENT '业务接待费'
|
||||
,water_power_fee VARCHAR(255) COMMENT '水电费'
|
||||
,management_fee VARCHAR(255) COMMENT '物管费'
|
||||
,book_fee VARCHAR(255) COMMENT '书报资料费'
|
||||
,other_fee VARCHAR(255) COMMENT '其他费用'
|
||||
,total_fee VARCHAR(255) COMMENT '当期小计'
|
||||
,fee_type VARCHAR(50) COMMENT '费用类型'
|
||||
)COMMENT = '费控人力成本科目汇总表'
|
||||
yearname VARCHAR(50) COMMENT '年'
|
||||
,monthname VARCHAR(50) COMMENT '月'
|
||||
,organ_code VARCHAR(100) COMMENT '片区ID'
|
||||
,organ_name VARCHAR(100) COMMENT '片区名称'
|
||||
,dimsubjectcode VARCHAR(100) COMMENT '组织机构编码'
|
||||
,dimsubjectname VARCHAR(100) COMMENT '组织机构名称'
|
||||
,salary_fee VARCHAR(100) COMMENT '工资'
|
||||
,year_performance_fee VARCHAR(100) COMMENT '季度/年终绩效'
|
||||
,social_insur_fee VARCHAR(100) COMMENT '社会保险'
|
||||
,accumu_fund_fee VARCHAR(100) COMMENT '公积金'
|
||||
,liab_insur_fee VARCHAR(100) COMMENT '雇主责任险'
|
||||
,smock_fee VARCHAR(100) COMMENT '工作服'
|
||||
,train_fee VARCHAR(100) COMMENT '培训'
|
||||
,recr_fee VARCHAR(100) COMMENT '招聘'
|
||||
,emp_bene_fee VARCHAR(100) COMMENT '员工福利'
|
||||
,laborrela_fee VARCHAR(100) COMMENT '劳动关系成本'
|
||||
,other_fee VARCHAR(100) COMMENT '其他费用'
|
||||
,total_fee VARCHAR(100) COMMENT '当期小计'
|
||||
,fee_type VARCHAR(100) COMMENT '费用类型'
|
||||
)COMMENT = '费控人力成本科目汇总表';
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
drop table if exists dw.ods_cost_adjust_data_d;
|
||||
CREATE TABLE IF NOT EXISTS dw.ods_cost_adjust_data_d (
|
||||
originalcurrency VARCHAR(255) COMMENT '调整金额'
|
||||
originalcurrency VARCHAR(255) COMMENT '调整金额'
|
||||
,dimaccountcode VARCHAR(255) COMMENT '调整预算科目编码'
|
||||
,dimaccountname VARCHAR(255) COMMENT '调整预算科目名称'
|
||||
,dimsubjectcode VARCHAR(255) COMMENT '调整组织机构编码'
|
||||
@ -12,13 +12,13 @@ CREATE TABLE IF NOT EXISTS dw.ods_cost_adjust_data_d (
|
||||
|
||||
|
||||
select
|
||||
sum(originalcurrency) as originalcurrency --调整金额
|
||||
,dimaccountcode as dimaccountcode --调整预算科目编码
|
||||
,dimaccountname as dimaccountname --调整预算科目名称
|
||||
,DimSubjectcode as DimSubjectcode --调整组织机构编码
|
||||
,DimSubjectname as DimSubjectname --调整组织结构名称
|
||||
,year as year --年
|
||||
,month as month --月
|
||||
sum(originalcurrency) as originalcurrency -- 调整金额
|
||||
,dimaccountcode as dimaccountcode -- 调整预算科目编码
|
||||
,dimaccountname as dimaccountname -- 调整预算科目名称
|
||||
,DimSubjectcode as DimSubjectcode -- 调整组织机构编码
|
||||
,DimSubjectname as DimSubjectname -- 调整组织结构名称
|
||||
,year as year -- 年
|
||||
,month as month -- 月
|
||||
from
|
||||
(
|
||||
select
|
||||
@ -30,7 +30,7 @@ from
|
||||
,substr(d.budgetdetaildate,0,4)as year
|
||||
,substr(d.budgetdetaildate,6,7)as month
|
||||
,d.originalcurrency
|
||||
from e7fssc_ld.t_cc_billmaindata m
|
||||
from(SELECT * FROM e7fssc_ld.t_cc_billmaindata where billtype=6 and currentstate=21) m
|
||||
left join e7fssc_ld.t_cc_billdetaildata d on d.billmaindataid=d.billmaindataid
|
||||
left join e7fssc_ld.t_cc_object o on o.objectid=d.dimaccount
|
||||
left join e7fssc_ld.t_cc_object o1 on o1.objectid=d.dimsubject
|
||||
@ -39,12 +39,12 @@ from
|
||||
and budgetdetaildate is not null
|
||||
) a
|
||||
where 1=1
|
||||
---根据实际业务需求去添加 start
|
||||
-- and a.dimaccountcode='' --调整预算科目编码,如果查该组织机构下所有的科目,把该条件注释掉即可
|
||||
--and a.DimSubjectcode='010201011105' --调整预算组织名称
|
||||
and a.year='2024' --调整年
|
||||
--and a.month='01' --调整月
|
||||
---根据实际业务需求去添加 end
|
||||
-- 根据实际业务需求去添加 start
|
||||
-- and a.dimaccountcode='' -- 调整预算科目编码,如果查该组织机构下所有的科目,把该条件注释掉即可
|
||||
-- and a.DimSubjectcode='010201011105' -- 调整预算组织名称
|
||||
and a.year='2024' --调整年
|
||||
-- and a.month='01' --调整月
|
||||
-- 根据实际业务需求去添加 end
|
||||
group by
|
||||
dimaccountcode
|
||||
,dimaccountname
|
||||
|
@ -70,40 +70,33 @@ CREATE TABLE IF NOT EXISTS dw.ods_cost_budget_data_d(
|
||||
,decbudgetrate VARCHAR(100) COMMENT '12月预算执行率'
|
||||
|
||||
)COMMENT = '费控预算数据'
|
||||
|
||||
;
|
||||
|
||||
select
|
||||
dimaccountcode as dimaccountcode --预算科目编码
|
||||
dimaccountcode as dimaccountcode --预算科目编码
|
||||
,dimaccountname as dimaccountname --预算科目名称
|
||||
,DimSubjectcode as DimSubjectcode --组织机构编码
|
||||
,DimSubjectname as DimSubjectname --组织机构名称
|
||||
,yearname as yearname --年
|
||||
,totalcode as totalcode --组织机构层级编码
|
||||
|
||||
|
||||
,z.Janbuget as Janbuget --1月预算金额
|
||||
,z.Janocc as Janocc --1月已占用金额
|
||||
,z.Janreal as Janreal --1月已使用金额
|
||||
,z.Janbuget-z.Janocc-z.Janreal as Janavailable --1月剩余可用金额
|
||||
,case when z.Janbuget<> 0 then (round(((z.Janocc+z.Janreal)/z.Janbuget)*100,2) ||'%') else '0%' end
|
||||
as Janbugetrate --1月预算执行率
|
||||
|
||||
|
||||
,z.Febbudget as Febbudget --2月预算金额
|
||||
,z.Febocc as Febocc --2月已占用金额
|
||||
,z.Febreal as Febreal --2月已使用金额
|
||||
,z.Febbudget-z.Febocc-z.Febreal as Febavailable --2月剩余可用金额
|
||||
,case when z.Febbudget<> 0 then (round(((z.Febocc+z.Febreal)/z.Febbudget)*100,2) ||'%') else '0%' end
|
||||
as Febbudgetrate --2月预算执行率
|
||||
|
||||
,z.Marbudget as Marbudget --3月预算金额
|
||||
,z.Marocc as Marocc --3月已占用金额
|
||||
,z.Marreal as Marreal --3月已使用金额
|
||||
,z.Marbudget-z.Marocc-z.Marreal as Maravailable -- 3月剩余可用金额
|
||||
,case when z.Marbudget<> 0 then (round(((z.Marocc+z.Marreal)/z.Marbudget)*100,2) ||'%') else '0%' end
|
||||
as Marbudgetrate --3月预算执行率
|
||||
|
||||
|
||||
,z.Aprilbudget as Aprilbudget --4月预算金额
|
||||
,z.Aprilocc as Aprilocc --4月已占用金额
|
||||
,z.Aprilreal as Aprilreal --4月已使用金额
|
||||
@ -117,50 +110,42 @@ select
|
||||
,z.Maybudget-z.Mayocc-z.Mayreal as Mayavailable --5月剩余可用金额
|
||||
,case when z.Maybudget<> 0 then (round(((z.Mayocc+z.Mayreal)/z.Maybudget)*100,2) ||'%') else '0%' end
|
||||
as Maybudgetrate --5月预算执行率
|
||||
|
||||
,z.Junebudget as Junebudget --6月预算金额
|
||||
,z.Juneocc as Juneocc --6月已占用金额
|
||||
,z.Junereal as Junereal --6月已使用金额
|
||||
,z.Junebudget-z.Juneocc-z.Junereal as Juneavailable --6月剩余可用金额
|
||||
,case when z.Junebudget<> 0 then (round(((z.Juneocc+z.Junereal)/z.Junebudget)*100,2) ||'%') else '0%' end
|
||||
as Junebudgetrate --6月预算执行率
|
||||
|
||||
,z.Julybudget as Julybudget --7月预算金额
|
||||
,z.Julyocc as Julyocc --7月已占用金额
|
||||
,z.Julyreal as Julyreal --7月已使用金额
|
||||
,z.Julybudget-z.Julyocc-z.Julyreal as Julyavailable --7月剩余可用金额
|
||||
,case when z.Julybudget<> 0 then (round(((z.Julyocc+z.Julyreal)/z.Julybudget)*100,2) ||'%') else '0%' end
|
||||
as Julybudgetrate --7月预算执行率
|
||||
|
||||
,z.Augbudget as Augbudget --8月预算金额
|
||||
,z.Augocc as Augocc --8月已占用金额
|
||||
,z.Augreal as Augreal --8月已使用金额
|
||||
,z.Augbudget-z.Augocc-z.Augreal as Augavailable -- 8月剩余可用金额
|
||||
,case when z.Augbudget<> 0 then (round(((z.Augocc+z.Augreal)/z.Augbudget)*100,2) ||'%') else '0%' end
|
||||
as Augbudgetrate --8月预算执行率
|
||||
|
||||
|
||||
,z.Sepbudget as Sepbudget --9月预算金额
|
||||
,z.Sepocc as Sepocc --9月已占用金额
|
||||
,z.Sepreal as Sepreal --9月已使用金额
|
||||
,z.Sepbudget-z.Sepocc-z.Sepreal as Sepavailable --9月剩余可用金额
|
||||
,case when z.Sepbudget<> 0 then (round(((z.Sepocc+z.Sepreal)/z.Sepbudget)*100,2) ||'%') else '0%' end
|
||||
as Sepbudgetrate --9月预算执行率
|
||||
|
||||
,z.Octbudget as Octbudget --10月预算金额
|
||||
,z.Octocc as Octocc --10月已占用金额
|
||||
,z.Octreal as Octreal --10月已使用金额
|
||||
,z.Octbudget-z.Octocc-z.Octreal as Octavailable --10月剩余可用金额
|
||||
,case when z.Octbudget<> 0 then (round(((z.Octocc+z.Octreal)/z.Octbudget)*100,2) ||'%') else '0%' end
|
||||
as Octbudgetrate --10月预算执行率
|
||||
|
||||
,z.Novbudget as Novbudget --11月预算金额
|
||||
,z.Novocc as Novocc --11月已占用金额
|
||||
,z.Novreal as Novreal --11月已使用金额
|
||||
,z.Novbudget-z.Novocc-z.Novreal as Novavailable --11月剩余可用金额
|
||||
,case when z.Novbudget<> 0 then (round(((z.Novocc+z.Novreal)/z.Novbudget)*100,2) ||'%') else '0%' end
|
||||
as Novbudgetrate --11月预算执行率
|
||||
|
||||
,z.Decbudget as Decbudget --12月预算金额
|
||||
,z.DecOcc as DecOcc --12月已占用金额
|
||||
,z.Decreal as Decreal --12月已使用金额
|
||||
@ -299,7 +284,8 @@ from
|
||||
,totalcode
|
||||
)z
|
||||
-- where条件需要根据实际业务需求去添加
|
||||
where z.yearname='2024'
|
||||
where 1 = 1
|
||||
-- AND z.yearname='2024'
|
||||
-- and z.dimsubjectcode='010201011105'
|
||||
and totalcode like '0001,1001,2002,3000%' --注意该条件,本次项目只需要该条件即可
|
||||
order by totalcode
|
||||
-- order by totalcode
|
||||
|
@ -67,33 +67,43 @@ FROM third_department
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
SUM(sl) AS SL
|
||||
SUM(zzs) AS SL
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,zb
|
||||
,xm
|
||||
,sl
|
||||
FROM ods_hr_view_zaizhi_all_d -- 在职人数
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND pq IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职人数
|
||||
FROM ods_hr_view_mbl_d -- 在职与编制人数
|
||||
WHERE left(rq,7) = '${p_ym}'
|
||||
)A
|
||||
JOIN
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
*
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
FROM dim_organ_mapping_kunan_tmp
|
||||
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)B
|
||||
ON A.pq = B.id
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
*
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
)C
|
||||
ON A.xm = C.id
|
||||
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,"','")+"')", "")}
|
||||
|
||||
-- ======================================
|
||||
-- 指标卡_离职人数
|
||||
@ -104,106 +114,83 @@ SELECT
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq
|
||||
,zb
|
||||
,xm
|
||||
,lzrs
|
||||
,concat(nd,'-',yd) AS YM
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,lzrs -- 离职人数
|
||||
,concat(nd,'-',yd) AS YM -- 年月
|
||||
FROM ods_hr_view_lzrs_d -- 离职人数
|
||||
WHERE concat(nd,'-',yd) = '${p_ym}'
|
||||
${IF(LEN(p_area)>0," AND pq IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
WHERE left(rq,7) = '${p_ym}'
|
||||
)A
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
*
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
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_kunan_tmp
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,comm_id
|
||||
,comm_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)B
|
||||
ON A.pq = B.id
|
||||
JOIN
|
||||
(
|
||||
SELECT
|
||||
*
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
)C
|
||||
ON A.xm = C.id
|
||||
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
|
||||
sum(A.total_fee) AS total_fee
|
||||
FROM
|
||||
(
|
||||
select
|
||||
organ_name
|
||||
,sum(total_fee) AS total_fee
|
||||
from dw.dws_cost_lc_summary_d
|
||||
WHERE fee_type = '实际值'
|
||||
AND concat(yearname,'-',monthname) = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_name
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
WHERE tlevel = '2'
|
||||
GROUP BY
|
||||
id
|
||||
,subcompanyname
|
||||
)B
|
||||
ON A.organ_name = B.subcompanyname
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
sum(total_fee) AS total_fee
|
||||
from dw.dws_cost_lc_summary_d -- 人力成本实际值
|
||||
WHERE fee_type = '实际值'
|
||||
AND concat(yearname,'-',monthname) = '${p_ym}'
|
||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 指标卡_行政成本
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
sum(A.total_fee) AS total_fee
|
||||
FROM
|
||||
(
|
||||
select
|
||||
organ_name
|
||||
,sum(total_fee) AS total_fee
|
||||
from dw.dws_cost_ac_summary_d
|
||||
WHERE fee_type = '实际值'
|
||||
AND concat(yearname,'-',monthname) = '${p_ym}'
|
||||
GROUP BY
|
||||
organ_name
|
||||
)A
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
WHERE tlevel = '2'
|
||||
GROUP BY
|
||||
id
|
||||
,subcompanyname
|
||||
)B
|
||||
ON A.organ_name = B.subcompanyname
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND B.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
sum(total_fee) AS total_fee
|
||||
FROM dw.dws_cost_ac_summary_d -- 费控行政成本实际值
|
||||
WHERE fee_type = '实际值'
|
||||
AND concat(yearname,'-',monthname) = '${p_ym}'
|
||||
${IF(LEN(p_area)>0," AND organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
-- ======================================
|
||||
-- 员工满编率柱状图
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
nd -- 年度
|
||||
,jd -- 季度
|
||||
,yd -- 月度
|
||||
,rq -- 日期
|
||||
,zb -- 总部
|
||||
A.yd AS yd -- 月度
|
||||
,A.pq AS pq -- 片区
|
||||
,A.xm AS xm -- 项目
|
||||
,A.zzs AS zzs -- 在职数
|
||||
,A.bzs AS bzs -- 编制数
|
||||
,A.datedif AS datedif -- 结束日期--开始日期
|
||||
,A.total_zzs AS total_zzs -- 累计在职人数
|
||||
,A.total_bzs AS total_bzs -- 累计编制人数
|
||||
,A.avg_zzs AS avg_zzs -- 平均在职人数
|
||||
,A.avg_bzs AS avg_bzs -- 平均编制人数
|
||||
,A.rate AS rate -- 满编率
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
|
||||
yd -- 月度
|
||||
,pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
@ -216,29 +203,51 @@ SELECT
|
||||
,CASE WHEN sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) = 0 THEN 0
|
||||
ELSE (sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq)) / (sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq))
|
||||
END as rate
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND pq IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
FROM ods_hr_view_mbl_d
|
||||
)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,"','")+"')", "")}
|
||||
|
||||
|
||||
-- ======================================
|
||||
-- 员工满编率排名
|
||||
-- ======================================
|
||||
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
|
||||
SELECT
|
||||
T.subcompanyname AS subcompanyname
|
||||
,ROW_NUMBER() OVER(ORDER BY T.RATE DESC) 排名
|
||||
,T.RATE
|
||||
,'0' AS TARGET_RATE
|
||||
T1.organ_comm AS organ_comm
|
||||
,ROW_NUMBER() OVER(ORDER BY T1.RATE DESC) 排名
|
||||
,T1.rate
|
||||
,'0' AS target_rate
|
||||
FROM
|
||||
(
|
||||
(
|
||||
SELECT
|
||||
${IF(LEN(p_area)>0,"c.subcompanyname", "b.subcompanyname")}
|
||||
${IF(LEN(p_area)>0,"B.hr_comm_name", "B.hr_organ_name")} AS organ_comm
|
||||
,CASE WHEN SUM(avg_bzs) = 0 THEN 0 ELSE SUM(avg_zzs) / SUM(avg_bzs) END AS RATE
|
||||
FROM
|
||||
(
|
||||
(
|
||||
SELECT
|
||||
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,zzs -- 在职数
|
||||
@ -251,26 +260,34 @@ FROM
|
||||
,sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_bzs -- 平均编制人数
|
||||
FROM ods_hr_view_mbl_d
|
||||
WHERE CONCAT(nd,'-',yd) = '${p_ym}'
|
||||
${IF(LEN(p_area)>0," AND pq IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
|
||||
AND pq <> '89'
|
||||
)A
|
||||
LEFT JOIN
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
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
|
||||
WHERE hr_organ_name IS NOT NULL
|
||||
GROUP BY
|
||||
organ_code
|
||||
,organ_name
|
||||
,hr_organ_id
|
||||
,hr_organ_name
|
||||
,hr_comm_id
|
||||
,hr_comm_name
|
||||
)B
|
||||
ON A.pq = B.id
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
)C
|
||||
ON A.xm = C.id
|
||||
GROUP BY ${IF(LEN(p_area)>0,"c.subcompanyname", "b.subcompanyname")}
|
||||
)T
|
||||
ON A.pq = B.hr_organ_id
|
||||
and A.xm = B.hr_comm_id
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
GROUP BY ${IF(LEN(p_area)>0,"B.hr_comm_name", "B.hr_organ_name")}
|
||||
)T1
|
||||
|
||||
|
||||
-- ======================================
|
||||
@ -278,22 +295,46 @@ FROM
|
||||
-- ======================================
|
||||
|
||||
SELECT
|
||||
nd -- 年度
|
||||
,jd -- 季度
|
||||
,yd -- 月度
|
||||
,rq -- 日期
|
||||
,zb -- 总部
|
||||
,pq -- 片区
|
||||
A.lzlx AS lzlx -- 离职类型id
|
||||
,A.lzlxname AS lzlxname -- 离职类型名称
|
||||
,A.lzyy AS lzyy -- 离职原因id
|
||||
,A.lzyyname AS lzyyname -- 离职原因名称
|
||||
,A.lzrs AS lzrs -- 离职人数
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
pq -- 片区
|
||||
,xm -- 项目
|
||||
,lzlx -- 离职类型id
|
||||
,lzlxname -- 离职类型名称
|
||||
,lzyy -- 离职原因id
|
||||
,lzyyname -- 离职原因名称
|
||||
,lzrs -- 离职人数
|
||||
FROM ods_hr_view_lzrs_fl_d
|
||||
WHERE LEFT(rq,7) = '${p_ym}'
|
||||
${IF(LEN(p_area)>0," AND pq IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
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_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,"','")+"')", "")}
|
||||
|
||||
-- ======================================
|
||||
-- 人力行政成本费率柱状图
|
||||
@ -318,42 +359,29 @@ FROM
|
||||
(
|
||||
-- 费控人力成本科目汇总表
|
||||
SELECT
|
||||
organ_name
|
||||
organ_code
|
||||
,CONCAT(yearname,'-',monthname) AS yr_month
|
||||
,SUM(CASE WHEN fee_type IN('实际值','目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
||||
from dw.dws_cost_ac_summary_d
|
||||
WHERE yearname = left('${p_ym}',4)
|
||||
AND CONCAT(yearname,'-',monthname) < '${p_ym}'
|
||||
GROUP BY CONCAT(yearname,'-',monthname),organ_name
|
||||
GROUP BY CONCAT(yearname,'-',monthname),organ_code
|
||||
)A
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
yr_month
|
||||
,organ_name
|
||||
,organ_code
|
||||
,SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND LEFT(yr_month,4) = left('${p_ym}',4)
|
||||
GROUP BY yr_month,organ_name
|
||||
GROUP BY yr_month,organ_code
|
||||
)B
|
||||
ON A.yr_month = B.yr_month
|
||||
AND A.organ_name = B.organ_name
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
WHERE tlevel = '2'
|
||||
GROUP BY
|
||||
id
|
||||
,subcompanyname
|
||||
)C
|
||||
ON A.organ_name = C.subcompanyname
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND C.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
AND A.organ_code = B.organ_code
|
||||
WHERE 1 = 1
|
||||
${IF(LEN(p_area)>0," AND A.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
)T1
|
||||
ORDER BY T1.yr_month
|
||||
${if(p_type='人力',"","*/")}
|
||||
@ -378,44 +406,32 @@ FROM
|
||||
(
|
||||
-- 费控人力成本科目汇总表
|
||||
SELECT
|
||||
organ_name
|
||||
organ_code
|
||||
,CONCAT(yearname, '-', monthname) AS yr_month
|
||||
,SUM(CASE WHEN fee_type IN ('实际值', '目标值') THEN total_fee ELSE 0 END) / 10000 AS actual_cost -- 人力成本
|
||||
FROM dw.dws_cost_lc_summary_d
|
||||
WHERE yearname = LEFT('${p_ym}', 4)
|
||||
AND CONCAT(yearname, '-', monthname) < '${p_ym}'
|
||||
GROUP BY CONCAT(yearname, '-', monthname),organ_name
|
||||
GROUP BY CONCAT(yearname, '-', monthname),organ_code
|
||||
) A
|
||||
LEFT JOIN
|
||||
(-- 公司实际收入
|
||||
SELECT
|
||||
yr_month
|
||||
,organ_name
|
||||
,organ_code
|
||||
, SUM(index_income_fact) AS index_income_fact -- 实际收入
|
||||
FROM ods_caiwu_feecollection
|
||||
WHERE category = '物业'
|
||||
AND LEFT(yr_month, 4) = LEFT('${p_ym}', 4)
|
||||
GROUP BY yr_month,organ_name
|
||||
GROUP BY yr_month,organ_code
|
||||
)B
|
||||
ON A.yr_month = B.yr_month
|
||||
AND A.organ_name = B.organ_name
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT
|
||||
id
|
||||
,subcompanyname
|
||||
FROM ods_hr_hrmsubcompany_d
|
||||
WHERE tlevel = '2'
|
||||
GROUP BY
|
||||
id
|
||||
,subcompanyname
|
||||
)C
|
||||
ON A.organ_name = C.subcompanyname
|
||||
AND A.organ_code = B.organ_code
|
||||
WHERE 1=1
|
||||
${IF(LEN(p_area)>0," AND C.id IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
|
||||
|
||||
)T1
|
||||
ORDER BY T1.yr_month
|
||||
|
||||
${if(p_type='行政',"","*/")}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user