다중 역할 계정의 좌측메뉴 조회 SQL 오류 수정 (SFR-001 후속)
권한 신청·승인 워크플로(N:신설=추가부여)로 사용자가 AUTHOR_CODE를 2개 이상 갖게 되면, 레거시 eGov 표준 메뉴 쿼리(selectMainMenuHead/Left/LastMenuNo(Cnt))의 "= (서브쿼리)"가 다중 행을 반환해 Subquery returns more than 1 row로 500 오류가 발생했다(2FA/OTP 등록 직후 /mnt/main.do 진입 시 재현). 서브쿼리를 IN으로, 상위 SELECT에 DISTINCT를 추가해 다중 역할을 지원하도록 수정. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
462e55bcd5
commit
1288fc6396
@ -9,7 +9,7 @@
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS menuNo
|
||||
, B.MENU_ORDR AS menuOrdr
|
||||
, B.MENU_NM AS menuNm
|
||||
@ -23,7 +23,7 @@
|
||||
WHERE B.Menu_NO > 0
|
||||
AND B.UPPER_MENU_NO = #menuNo#
|
||||
AND A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
AND A.AUTHOR_CODE IN (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
WHERE C.SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY MENU_ORDR
|
||||
]]>
|
||||
@ -32,7 +32,7 @@
|
||||
<select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
/* menuManageDAO.selectMainMenuLeft */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS menuNo
|
||||
, B.MENU_ORDR AS menuOrdr
|
||||
, B.MENU_NM AS menuNm
|
||||
@ -42,7 +42,7 @@
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
WHERE A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY B.MENU_ORDR
|
||||
]]>
|
||||
@ -67,7 +67,7 @@
|
||||
(select MIN(MENU_ORDR)
|
||||
from COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
where A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
|
||||
AND B.UPPER_MENU_NO = #menuNo#)
|
||||
]]>
|
||||
@ -82,7 +82,7 @@
|
||||
(select MIN(MENU_ORDR)
|
||||
from COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
where A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
|
||||
AND B.UPPER_MENU_NO = #menuNo#)
|
||||
]]>
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS "menuNo"
|
||||
, B.MENU_ORDR AS "menuOrdr"
|
||||
, B.MENU_NM AS "menuNm"
|
||||
@ -23,7 +23,7 @@
|
||||
WHERE B.Menu_NO > 0
|
||||
AND B.UPPER_MENU_NO = #menuNo#
|
||||
AND A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
AND A.AUTHOR_CODE IN (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
WHERE C.SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY MENU_ORDR
|
||||
]]>
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS "menuNo"
|
||||
, B.MENU_ORDR AS "menuOrdr"
|
||||
, B.MENU_NM AS "menuNm"
|
||||
@ -41,7 +41,7 @@
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL"
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
WHERE A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY B.MENU_ORDR
|
||||
]]>
|
||||
@ -66,7 +66,7 @@
|
||||
(select MIN(MENU_ORDR)
|
||||
from COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
where A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
|
||||
AND B.UPPER_MENU_NO = #menuNo#)
|
||||
]]>
|
||||
@ -81,7 +81,7 @@
|
||||
(select MIN(MENU_ORDR)
|
||||
from COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
where A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tempValue#)
|
||||
AND B.UPPER_MENU_NO = #menuNo#)
|
||||
]]>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user