明细表、看板映射表切换正式映射表+支持总部筛选
This commit is contained in:
parent
c33ed1cdea
commit
0d27b3c0ea
@ -52,5 +52,17 @@
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
<data-source source="LOCAL" name="HR" uuid="259509fc-e8c3-4e69-84b9-f4912b20c527">
|
||||
<driver-ref>sqlserver.ms</driver-ref>
|
||||
<synchronize>true</synchronize>
|
||||
<jdbc-driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</jdbc-driver>
|
||||
<jdbc-url>jdbc:sqlserver://172.18.96.50:1433</jdbc-url>
|
||||
<jdbc-additional-properties>
|
||||
<property name="com.intellij.clouds.kubernetes.db.host.port" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
|
||||
<property name="com.intellij.clouds.kubernetes.db.container.port" />
|
||||
</jdbc-additional-properties>
|
||||
<working-dir>$ProjectFileDir$</working-dir>
|
||||
</data-source>
|
||||
</component>
|
||||
</project>
|
@ -52,6 +52,7 @@
|
||||
<file url="file://$PROJECT_DIR$/finereport/xiazuan/3_property/2_报事情况报表.sql" dialect="MySQL" />
|
||||
<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/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" />
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
-- VALUE("dict_片区",1,2,B2)
|
||||
-- VALUE("dict_片区_项目",3,4,C2)
|
@ -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
|
||||
|
@ -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,"','")+"')", "")}
|
||||
|
||||
|
@ -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 +"')", "")}
|
Loading…
Reference in New Issue
Block a user