share job

This commit is contained in:
JAE SIK CHO
2026-04-09 11:12:12 +09:00
commit f8427ee1d0
193 changed files with 23830 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
원본: src/java/sql/common/menu_sql.xml (SX_CO0080, SX_CO0090)
-->
<mapper namespace="com.company.gw.common.mapper.MenuMapper">
<!-- 사용자 권한 기반 메뉴 트리 조회 (재귀 CTE) -->
<select id="getMenuList" parameterType="map" resultType="com.company.gw.common.dto.MenuDto">
WITH MENU_TREE AS (
SELECT A.MENU_NO AS upMenuNo,
A.CORP_NO,
A.MENU_NO,
A.UPPER_MENU_NO,
A.MENU_NM,
A.URL,
A.RM,
A.MENU_PROP,
A.MENU_ORDR,
A.MENU_USE_YN,
1 AS lvl,
CAST('/' + RIGHT('00000' + CONVERT(VARCHAR, A.MENU_ORDR), 5) AS VARCHAR(MAX)) AS sortPath
FROM SX_CO0080 A
JOIN SX_CO0090 B
ON B.CORP_NO = A.CORP_NO
AND B.MENU_NO = A.MENU_NO
AND B.MENU_AUTH_CD = #{menuAuthCd}
WHERE A.CORP_NO = #{corpNo}
AND A.MENU_USE_YN = 'Y'
AND NULLIF(A.UPPER_MENU_NO, '') IS NULL
UNION ALL
SELECT PARENT.upMenuNo,
A.CORP_NO,
A.MENU_NO,
A.UPPER_MENU_NO,
A.MENU_NM,
A.URL,
A.RM,
A.MENU_PROP,
A.MENU_ORDR,
A.MENU_USE_YN,
PARENT.lvl + 1 AS lvl,
PARENT.sortPath + CAST('/' + RIGHT('00000' + CONVERT(VARCHAR, A.MENU_ORDR), 5) AS VARCHAR(MAX)) AS sortPath
FROM SX_CO0080 A
JOIN SX_CO0090 B
ON B.CORP_NO = A.CORP_NO
AND B.MENU_NO = A.MENU_NO
AND B.MENU_AUTH_CD = #{menuAuthCd}
JOIN MENU_TREE PARENT
ON PARENT.CORP_NO = A.CORP_NO
AND PARENT.MENU_NO = A.UPPER_MENU_NO
WHERE A.CORP_NO = #{corpNo}
AND A.MENU_USE_YN = 'Y'
)
SELECT MENU_NO AS menuNo,
UPPER_MENU_NO AS upperMenuNo,
MENU_NM AS menuNm,
URL,
RM,
MENU_PROP AS menuProp,
MENU_ORDR AS menuOrdr,
MENU_USE_YN AS menuUseYn,
lvl
FROM MENU_TREE
WHERE CORP_NO = #{corpNo}
ORDER BY sortPath
</select>
<select id="getMenuList" parameterType="map" resultType="com.company.gw.common.dto.MenuDto" databaseId="mariadb">
WITH MENU_TREE AS (
SELECT A.MENU_NO AS upMenuNo,
A.CORP_NO,
A.MENU_NO,
A.UPPER_MENU_NO,
A.MENU_NM,
A.URL,
A.RM,
A.MENU_PROP,
A.MENU_ORDR,
A.MENU_USE_YN,
1 AS lvl,
CONCAT('/', LPAD(A.MENU_ORDR, 5, '0')) AS sortPath
FROM SX_CO0080 A
JOIN SX_CO0090 B
ON B.CORP_NO = A.CORP_NO
AND B.MENU_NO = A.MENU_NO
AND B.MENU_AUTH_CD = #{menuAuthCd}
WHERE A.CORP_NO = #{corpNo}
AND A.MENU_USE_YN = 'Y'
AND NULLIF(A.UPPER_MENU_NO, '') IS NULL
UNION ALL
SELECT PARENT.upMenuNo,
A.CORP_NO,
A.MENU_NO,
A.UPPER_MENU_NO,
A.MENU_NM,
A.URL,
A.RM,
A.MENU_PROP,
A.MENU_ORDR,
A.MENU_USE_YN,
PARENT.lvl + 1 AS lvl,
CONCAT(PARENT.sortPath, '/', LPAD(A.MENU_ORDR, 5, '0')) AS sortPath
FROM SX_CO0080 A
JOIN SX_CO0090 B
ON B.CORP_NO = A.CORP_NO
AND B.MENU_NO = A.MENU_NO
AND B.MENU_AUTH_CD = #{menuAuthCd}
JOIN MENU_TREE PARENT
ON PARENT.CORP_NO = A.CORP_NO
AND PARENT.MENU_NO = A.UPPER_MENU_NO
WHERE A.CORP_NO = #{corpNo}
AND A.MENU_USE_YN = 'Y'
)
SELECT MENU_NO AS menuNo,
UPPER_MENU_NO AS upperMenuNo,
MENU_NM AS menuNm,
URL,
RM,
MENU_PROP AS menuProp,
MENU_ORDR AS menuOrdr,
MENU_USE_YN AS menuUseYn,
lvl
FROM MENU_TREE
WHERE CORP_NO = #{corpNo}
ORDER BY sortPath
</select>
<!-- 컨트롤러-롤 매핑 목록 (접근 권한 체크용) -->
<select id="getControllerRoleList" parameterType="map" resultType="com.company.gw.common.dto.ControllerRoleDto">
SELECT DISTINCT
A.CONTROLLER AS controller,
B.MENU_AUTH_CD AS role,
B.FUNC_AUTH_CN AS funcAuthCn
FROM SX_CO0080 A
JOIN SX_CO0090 B
ON B.CORP_NO = A.CORP_NO
AND B.MENU_NO = A.MENU_NO
WHERE A.CORP_NO = #{corpNo}
AND A.MENU_USE_YN = 'Y'
AND NULLIF(A.CONTROLLER, '') IS NOT NULL
ORDER BY A.CONTROLLER
</select>
</mapper>