明细表、看板映射表切换正式映射表+支持总部筛选

This commit is contained in:
yangkunan 2024-10-29 16:54:07 +08:00
parent c33ed1cdea
commit 0d27b3c0ea
7 changed files with 388 additions and 145 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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,"','")+"')", "")}

View File

@ -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 +"')", "")}