diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
index c12c47d..2fb7519 100644
--- a/.idea/dataSources.xml
+++ b/.idea/dataSources.xml
@@ -52,5 +52,17 @@
$ProjectFileDir$
+
+ sqlserver.ms
+ true
+ com.microsoft.sqlserver.jdbc.SQLServerDriver
+ jdbc:sqlserver://172.18.96.50:1433
+
+
+
+
+
+ $ProjectFileDir$
+
\ No newline at end of file
diff --git a/.idea/sqldialects.xml b/.idea/sqldialects.xml
index 92c3800..5edfc00 100644
--- a/.idea/sqldialects.xml
+++ b/.idea/sqldialects.xml
@@ -52,6 +52,7 @@
+
diff --git a/finereport/kanban/pc/人力.sql b/finereport/kanban/pc/人力.sql
index a3955f2..bb09d07 100644
--- a/finereport/kanban/pc/人力.sql
+++ b/finereport/kanban/pc/人力.sql
@@ -82,23 +82,26 @@ FROM
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
-
+ FROM dim_organ_mapping
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片区名称
+ ,'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
@@ -124,24 +127,28 @@ FROM
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
+ organ_code
+ ,organ_name
+ ,hr_organ_id
+ ,hr_organ_name
+ ,hr_comm_id
+ ,hr_comm_name
+ 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
@@ -180,12 +187,8 @@ SELECT
,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 -- 满编率
+ ,CASE WHEN A.bzs = 0 THEN 0
+ ELSE A.zzs / A.bzs END AS rate -- 满编率
FROM
(
SELECT
@@ -195,38 +198,39 @@ FROM
,xm -- 项目
,zzs -- 在职数
,bzs -- 编制数
- ,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
- ,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
- ,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_bzs -- 平均编制人数
- ,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 nd = left('${p_ym}',4)
)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
+ SELECT
+ organ_code
+ ,organ_name
+ ,hr_organ_id
+ ,hr_organ_name
+ ,hr_comm_id
+ ,hr_comm_name
+ 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,"','")+"')", "")}
+${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
-- ======================================
@@ -244,7 +248,7 @@ FROM
(
SELECT
${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
+ ,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE
FROM
(
SELECT
@@ -252,38 +256,41 @@ FROM
,xm -- 项目
,zzs -- 在职数
,bzs -- 编制数
- ,rq
- ,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
- ,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
- ,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_bzs -- 平均编制人数
+ ,rq -- 日期
FROM ods_hr_view_mbl_d
- WHERE CONCAT(nd,'-',yd) = '${p_ym}'
+ WHERE rq = '${p_ym}'
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
- AND pq <> '89'
+ AND pq NOT IN ('89','267') -- 这里剔除了佳美物业公司/悦汇发展公司
)A
LEFT JOIN
(
SELECT
- organ_code -- erp片区编码
- ,organ_name -- erp片区名称
- ,hr_organ_id -- hr片区编码
- ,hr_organ_name -- hr片区名称
- ,hr_comm_id -- hr项目id
- ,hr_comm_name -- hr项目名称
- FROM dim_organ_mapping_kunan_tmp
- WHERE hr_organ_name IS NOT NULL
+ organ_code
+ ,organ_name
+ ,hr_organ_id
+ ,hr_organ_name
+ ,hr_comm_id
+ ,hr_comm_name
+ FROM dim_organ_mapping
GROUP BY
- organ_code
- ,organ_name
- ,hr_organ_id
- ,hr_organ_name
- ,hr_comm_id
- ,hr_comm_name
+ 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,"','")+"')", "")}
GROUP BY ${IF(LEN(p_area)>0,"B.hr_comm_name", "B.hr_organ_name")}
@@ -316,13 +323,13 @@ FROM
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
+ organ_code
+ ,organ_name
+ ,hr_organ_id
+ ,hr_organ_name
+ ,hr_comm_id
+ ,hr_comm_name
+ FROM dim_organ_mapping
GROUP BY
organ_code
,organ_name
@@ -330,6 +337,14 @@ LEFT JOIN
,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
@@ -691,7 +706,7 @@ FROM
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
FROM ods_hr_view_lzbl_d
WHERE LEFT(rq,7) = '${p_ym}'
- AND pq not in('89','153','267')
+ AND pq not in('89','267')
-- 排除了:
-- 89:佳美物业公司
-- 153:领悦集团总部
@@ -700,13 +715,13 @@ FROM
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
+ organ_code
+ ,organ_name
+ ,hr_organ_id
+ ,hr_organ_name
+ ,hr_comm_id
+ ,hr_comm_name
+ FROM dim_organ_mapping
GROUP BY
organ_code
,organ_name
@@ -714,6 +729,14 @@ FROM
,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
@@ -822,10 +845,9 @@ FROM
-- 指标卡_在职人数满编率/目标值
-- ======================================
-
SELECT
-CASE WHEN SUM(avg_bzs) = 0 THEN 0 ELSE SUM(avg_zzs) / SUM(avg_bzs) END AS full_rate -- 满编率
-,0 AS full_rate_target
+CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS full_rate -- 满编率
+,0 AS full_rate_target -- 满编率目标值
FROM
(
SELECT
@@ -833,16 +855,10 @@ FROM
,xm -- 项目
,zzs -- 在职数
,bzs -- 编制数
- ,rq
- ,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
- ,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
- ,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
- ,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}'
+ WHERE rq = '${p_ym}'
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
- AND pq <> '89'
+ AND pq not in('89','267') -- 排除了佳美、悦汇
)A
LEFT JOIN
(
@@ -853,8 +869,7 @@ LEFT JOIN
,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
+ FROM dim_organ_mapping
GROUP BY
organ_code
,organ_name
@@ -862,9 +877,36 @@ LEFT JOIN
,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
+LEFT JOIN
+(
+ SELECT
+ organ_code -- erp片区code
+ ,organ_name -- erp片区名称
+ ,comm_id -- 项目id
+ ,comm_name -- 项目名称
+ ,ym -- 日期(yyyy-MM格式)
+ ,full_rate_target -- 满编率目标
+ ,lz_rate_target -- 离职率目标
+ ,lc_fee_rate_target -- 人力成本费率目标
+ ,ac_fee_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 ('"+JOINARRAY(p_area,"','")+"')", "")}
@@ -878,7 +920,7 @@ SELECT
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
-,0 AS lz_rate_target
+,'0.002' AS lz_rate_target
FROM
(
SELECT
@@ -897,7 +939,7 @@ FROM
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
FROM ods_hr_view_lzbl_d
WHERE LEFT(rq,7) = '${p_ym}'
- AND pq not in('89','153','267')
+ AND pq not in('89','267') -- 排除了佳美、悦汇
-- 排除了:
-- 89:佳美物业公司
-- 153:领悦集团总部
@@ -906,20 +948,28 @@ FROM
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
+ 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
+ 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
diff --git a/finereport/tianbao/5_manpower/人力看板目标值填报.sql b/finereport/tianbao/5_manpower/人力看板目标值填报.sql
index c48ae52..757e81e 100644
--- a/finereport/tianbao/5_manpower/人力看板目标值填报.sql
+++ b/finereport/tianbao/5_manpower/人力看板目标值填报.sql
@@ -28,8 +28,10 @@ SELECT
,ac_fee_rate_target -- 行政成本费率目标
FROM ods_hr_collection_target
WHERE ym = '${p_ym}'
+;
+
+TRUNCATE TABLE ods_hr_collection_target;
-
- VALUE("dict_片区",1,2,B2)
- VALUE("dict_片区_项目",3,4,C2)
\ No newline at end of file
+-- VALUE("dict_片区",1,2,B2)
+-- VALUE("dict_片区_项目",3,4,C2)
\ No newline at end of file
diff --git a/finereport/xiazuan/5_manpower/2_员工满编率明细.sql b/finereport/xiazuan/5_manpower/2_员工满编率明细.sql
index 23c9078..0a962f5 100644
--- a/finereport/xiazuan/5_manpower/2_员工满编率明细.sql
+++ b/finereport/xiazuan/5_manpower/2_员工满编率明细.sql
@@ -15,7 +15,7 @@ FROM
,B.hr_organ_name AS hr_organ_name
,SUM(A.bzs) AS bzs
,SUM(A.zzs) AS zzs
- ,CASE WHEN SUM(avg_bzs) = 0 THEN 0 ELSE SUM(avg_zzs) / SUM(avg_bzs) END AS RATE
+ ,CASE WHEN SUM(bzs) = 0 THEN 0 ELSE SUM(zzs) / SUM(bzs) END AS RATE
FROM
(
SELECT
@@ -24,15 +24,10 @@ FROM
,zzs -- 在职数
,bzs -- 编制数
,rq
- ,datediff(current_date(),rq) AS datedif -- 结束日期--开始日期
- ,sum(zzs) over(PARTITION BY rq,pq,xm) AS total_zzs -- 累计在职人数
- ,sum(bzs) over(PARTITION BY rq,pq,xm) AS total_bzs -- 累计编制人数
- ,sum(zzs) over(PARTITION BY rq,pq,xm) / datediff(current_date(),rq) AS avg_zzs -- 平均在职人数
- ,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}'
+ WHERE rq = '${p_ym}'
-- 注意 目前会有一个空的排名 是因为佳美物业未做映射
- AND pq <> '89'
+ AND pq NOT IN('89','267')
)A
LEFT JOIN
(
@@ -43,7 +38,7 @@ FROM
,hr_organ_name -- hr片区名称
,hr_comm_id -- hr项目id
,hr_comm_name -- hr项目名称
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
WHERE hr_organ_name IS NOT NULL
GROUP BY
organ_code
@@ -52,9 +47,20 @@ FROM
,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
+ 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
B.hr_comm_name
diff --git a/finereport/xiazuan/5_manpower/3_员工离职率明细.sql b/finereport/xiazuan/5_manpower/3_员工离职率明细.sql
index f1353d4..af22985 100644
--- a/finereport/xiazuan/5_manpower/3_员工离职率明细.sql
+++ b/finereport/xiazuan/5_manpower/3_员工离职率明细.sql
@@ -1,6 +1,3 @@
-
-
-
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
@@ -29,7 +26,7 @@ FROM
,CASE WHEN rq = LAST_DAY(CONCAT('${p_ym}','-01')) THEN zzrs ELSE 0 END AS EndOfmonth_zsrs -- 月末在职人数
FROM ods_hr_view_lzbl_d
WHERE LEFT(rq,7) = '${p_ym}'
- AND pq not in('89','153','267')
+ AND pq not in('89','267')
-- 排除了:
-- 89:佳美物业公司
-- 153:领悦集团总部
@@ -44,7 +41,7 @@ LEFT JOIN
,hr_organ_name -- hr片区名称
,hr_comm_id -- hr项目id
,hr_comm_name -- hr项目名称
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,organ_name
@@ -52,6 +49,15 @@ LEFT JOIN
,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
@@ -59,3 +65,56 @@ 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")}
+
+-- 离职原因占比
+
+SELECT
+ 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}'
+ )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,"','")+"')", "")}
+
diff --git a/finereport/xiazuan/5_manpower/5_在职人员明细.sql b/finereport/xiazuan/5_manpower/5_在职人员明细.sql
index 3c13b62..39da933 100644
--- a/finereport/xiazuan/5_manpower/5_在职人员明细.sql
+++ b/finereport/xiazuan/5_manpower/5_在职人员明细.sql
@@ -21,11 +21,17 @@ LEFT JOIN
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
@@ -59,11 +65,17 @@ FROM
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
@@ -100,11 +112,17 @@ FROM
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
@@ -139,11 +157,17 @@ FROM
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
@@ -181,12 +205,17 @@ FROM
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
-
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
and A.xm = b.hr_comm_id
@@ -222,11 +251,17 @@ FROM
organ_code
,hr_organ_id
,hr_comm_id
- FROM dim_organ_mapping_kunan_tmp
+ FROM dim_organ_mapping
GROUP BY
organ_code
,hr_organ_id
,hr_comm_id
+ UNION ALL
+ SELECT
+ '0000' AS organ_code -- erp片区编码
+ ,'153' AS hr_organ_id -- hr片区编码
+ ,'153' AS hr_comm_id -- hr项目id
+ FROM dual
)B
ON A.pq = B.hr_organ_id
@@ -234,6 +269,84 @@ FROM
where 1 = 1
${IF(LEN(p_area)>0," AND B.organ_code IN ('"+JOINARRAY(p_area,"','")+"')", "")}
GROUP BY zytx
+;
+-- ======================================
+-- 人员明细
+-- ======================================
+SELECT
+ A.pq AS pq -- 片区
+ ,B.hr_organ_name AS hr_organ_name
+ ,A.xm AS xm -- 项目
+ ,B.hr_comm_name AS hr_comm_name
+ ,A.bm AS bm -- 部门id
+ ,A.bmmc AS bmmc -- 部门名称
+ ,A.gwid AS gwid -- 岗位id
+ ,A.gwmc AS gwmc -- 岗位名称
+ ,A.id AS id -- 人员id
+ ,A.workcode AS workcode -- 工号
+ ,A.lastname AS lastname -- 姓名
+ ,A.nl AS nl -- 年龄
+ ,A.sl AS sl -- 司龄
+ ,A.zwid AS zwid -- 职务角色id
+ ,A.zwmc AS zwmc -- 职务角色名称
+ ,A.zytxid AS zytxid -- 专业条线id
+ ,A.zytxmc AS zytxmc -- 专业条线名称
+ ,A.zycjid AS zycjid -- 职员层级id
+ ,A.zycjname AS zycjname -- 职员层级名称
+FROM
+(
+ SELECT
+ pq -- 片区
+ ,xm -- 项目
+ ,bm -- 部门id
+ ,bmmc -- 部门名称
+ ,gwid -- 岗位id
+ ,gwmc -- 岗位名称
+ ,id -- 人员id
+ ,workcode -- 工号
+ ,lastname -- 姓名
+ ,nl -- 年龄
+ ,sl -- 司龄
+ ,zwid -- 职务角色id
+ ,zwmc -- 职务角色名称
+ ,zytxid -- 专业条线id
+ ,zytxmc -- 专业条线名称
+ ,zycjid -- 职员层级id
+ ,zycjname -- 职员层级名称
+ FROM ods_hr_view_zaizhi_user_d
+ WHERE LEFT(ny,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项目名称
+ 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 +"')", "")}
\ No newline at end of file