diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
index 98b3673..18e797f 100644
--- a/.idea/sqldialects.xml
+++ b/.idea/sqldialects.xml
@@ -19,6 +19,8 @@
+
+
@@ -28,10 +30,12 @@
+
+
diff --git a/dw/dwd/dwd_cost_budget_data_d.sql b/dw/dwd/dwd_cost_budget_data_d.sql
index 590a42c..8f6e229 100644
--- a/dw/dwd/dwd_cost_budget_data_d.sql
+++ b/dw/dwd/dwd_cost_budget_data_d.sql
@@ -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 -- 预算科目编码
diff --git a/dw/dws/dws_cost_ac_summary_d.sql b/dw/dws/dws_cost_ac_summary_d.sql
index 616c92f..71b4368 100644
--- a/dw/dws/dws_cost_ac_summary_d.sql
+++ b/dw/dws/dws_cost_ac_summary_d.sql
@@ -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 = '费控人力成本科目汇总表';
diff --git a/dw/ods/ods_cost_adjust_data_d.sql b/dw/ods/ods_cost_adjust_data_d.sql
index 4397526..80d85b3 100644
--- a/dw/ods/ods_cost_adjust_data_d.sql
+++ b/dw/ods/ods_cost_adjust_data_d.sql
@@ -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
diff --git a/dw/ods/ods_cost_budget_data_d.sql b/dw/ods/ods_cost_budget_data_d.sql
index be57104..4d65ff3 100644
--- a/dw/ods/ods_cost_budget_data_d.sql
+++ b/dw/ods/ods_cost_budget_data_d.sql
@@ -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
diff --git a/finereport/kanban/pc/人力.sql b/finereport/kanban/pc/人力.sql
index 14dec1e..a415032 100644
--- a/finereport/kanban/pc/人力.sql
+++ b/finereport/kanban/pc/人力.sql
@@ -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='行政',"","*/")}