人力看板指标第二版:使用组织映射表关联

This commit is contained in:
yangkunan 2024-10-25 18:05:24 +08:00
parent b4b656c681
commit 1bcba21c50
6 changed files with 238 additions and 232 deletions

View File

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

View File

@ -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 -- 预算科目编码

View File

@ -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 = '费控人力成本科目汇总表';

View File

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

View File

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

View File

@ -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='行政',"","*/")}