다중 역할 계정의 좌측메뉴 조회 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
@ -8,8 +8,8 @@
|
||||
<typeAlias alias="comDefaultVO" type="egovframework.com.cmm.ComDefaultVO"/>
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
<![CDATA[
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS menuNo
|
||||
, B.MENU_ORDR AS menuOrdr
|
||||
, B.MENU_NM AS menuNm
|
||||
@ -19,33 +19,33 @@
|
||||
, B.RELATE_IMAGE_NM AS relateImageNm
|
||||
, B.PROGRM_FILE_NM AS progrmFileNm
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
WHERE B.Menu_NO > 0
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
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.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE IN (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
WHERE C.SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY MENU_ORDR
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
/* menuManageDAO.selectMainMenuLeft */
|
||||
<![CDATA[
|
||||
SELECT
|
||||
<![CDATA[
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS menuNo
|
||||
, B.MENU_ORDR AS menuOrdr
|
||||
, B.MENU_NM AS menuNm
|
||||
, B.UPPER_MENU_NO AS upperMenuId
|
||||
, B.RELATE_IMAGE_PATH AS relateImagePath
|
||||
, B.RELATE_IMAGE_NM AS relateImageNm
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL
|
||||
, (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
|
||||
WHERE A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY B.MENU_ORDR
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="menuManageDAO.selectLastMenuURL" parameterClass="MenuManageVO" resultClass="String">
|
||||
@ -67,24 +67,24 @@
|
||||
(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#)
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="menuManageDAO.selectLastMenuNoCnt" parameterClass="MenuManageVO" resultClass="int">
|
||||
<![CDATA[
|
||||
select count(MENU_NO)
|
||||
<![CDATA[
|
||||
select count(MENU_NO)
|
||||
from COMTNMENUINFO
|
||||
where UPPER_MENU_NO = #menuNo#
|
||||
and MENU_ORDR =
|
||||
(select MIN(MENU_ORDR)
|
||||
(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#)
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
</sqlMap>
|
||||
@ -8,8 +8,8 @@
|
||||
<typeAlias alias="comDefaultVO" type="egovframework.com.cmm.ComDefaultVO"/>
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuHead" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
<![CDATA[
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS "menuNo"
|
||||
, B.MENU_ORDR AS "menuOrdr"
|
||||
, B.MENU_NM AS "menuNm"
|
||||
@ -19,32 +19,32 @@
|
||||
, B.RELATE_IMAGE_NM AS "relateImageNm"
|
||||
, B.PROGRM_FILE_NM AS "progrmFileNm"
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL"
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
WHERE B.Menu_NO > 0
|
||||
FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B
|
||||
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.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE IN (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C
|
||||
WHERE C.SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY MENU_ORDR
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="menuManageDAO.selectMainMenuLeft" parameterClass="MenuManageVO" resultClass="egovMap">
|
||||
<![CDATA[
|
||||
SELECT
|
||||
<![CDATA[
|
||||
SELECT DISTINCT
|
||||
B.MENU_NO AS "menuNo"
|
||||
, B.MENU_ORDR AS "menuOrdr"
|
||||
, B.MENU_NM AS "menuNm"
|
||||
, B.UPPER_MENU_NO AS "upperMenuId"
|
||||
, B.RELATE_IMAGE_PATH AS "relateImagePath"
|
||||
, B.RELATE_IMAGE_NM AS "relateImageNm"
|
||||
, (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL"
|
||||
, (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
|
||||
WHERE A.MENU_NO = B.MENU_NO
|
||||
AND A.AUTHOR_CODE IN (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS
|
||||
WHERE SCRTY_DTRMN_TRGET_ID = #tmpUniqId#)
|
||||
ORDER BY B.MENU_ORDR
|
||||
]]>
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="menuManageDAO.selectLastMenuURL" parameterClass="MenuManageVO" resultClass="String">
|
||||
@ -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