merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정

This commit is contained in:
jilee4unity
2026-05-28 23:34:06 +09:00
7250 changed files with 570509 additions and 25 deletions

View File

@@ -0,0 +1,459 @@
<?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">
<mapper namespace="com.wb.domainserver.domain.admin.sys.menu.mapper.BOMaMenuMapper">
<!-- 메뉴 목록 조회-->
<select id="selectBOMenuManage"
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
resultType="dataMap">
SELECT
MENU_CD
, SOPMAL_CD
, UPPER_MENU_CD
, UPMOST_MENU_CD
, MENU_NM
, MENU_DC
, MENU_DEPTH AS DEPTH
, SORT_ORDR
, URL
, EXPSR_LC_DV_CD
, MENU_CD AS ID
, MENU_NM AS TEXT
, (CASE WHEN MENU_DEPTH = 0 THEN '#'
ELSE UPPER_MENU_CD
END) AS PARENT
FROM GC_MANAGER_MENU MM
WHERE USE_AT = 'Y'
AND (
MM.UPPER_MENU_CD IS NULL OR
(
SELECT PARENT.USE_AT
FROM GC_MANAGER_MENU PARENT
WHERE PARENT.MENU_CD = MM.UPPER_MENU_CD
) = 'Y')
ORDER BY SORT_ORDR ASC
</select>
<!-- 메뉴 상세 조회-->
<select id="selectBOMenu"
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
resultType="dataMap">
<![CDATA[
SELECT *
FROM GC_MANAGER_MENU
WHERE 1=1
]]>
</select>
<!-- 메뉴 저장-->
<update id="updateBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
UPDATE GC_MANAGER_MENU
SET MENU_NM = #{menuNm}, /*메뉴명*/
EXPSR_LC_DV_CD = #{expsrLcDvCd}, /*노출 여부*/
URL = #{url}, /*URL*/
MENU_DC = #{menuDc}, /*메뉴 설명*/
UPDUSR = #{updusr}, /*수정자*/
UPDT_DT = NOW() /*수정일시*/
WHERE MENU_CD = #{menuCd}
AND SOPMAL_CD = #{sopmalCd}
</update>
<insert id="insertBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
<selectKey order="BEFORE" keyProperty="menuCd" resultType="String">
SELECT CONCAT(#{upmostMenuCd}, '_', MAX(CAST(REGEXP_REPLACE(MENU_CD, '[^0-9]', '') AS UNSIGNED))+1) AS MENU_CD
FROM GC_MANAGER_MENU
WHERE UPMOST_MENU_CD = #{upmostMenuCd}
</selectKey>
INSERT
INTO GC_MANAGER_MENU
(
MENU_CD,
SOPMAL_CD,
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upperMenuCd)">
UPPER_MENU_CD,
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upmostMenuCd)">
UPMOST_MENU_CD,
</if>
MENU_NM,
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuDc)">
MENU_DC,
</if>
MENU_DEPTH,
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
SORT_ORDR,
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
URL,
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrLcDvCd)">
EXPSR_LC_DV_CD,
</if>
USE_AT,
REGUSR,
REGIST_DT,
UPDUSR,
UPDT_DT
)
VALUES
(
#{menuCd},
#{sopmalCd},
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upperMenuCd)">
#{upperMenuCd},
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(upmostMenuCd)">
#{upmostMenuCd},
</if>
#{menuNm},
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuDc)">
#{menuDc},
</if>
#{menuDepth},
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
#{sortOrdr},
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
#{url},
</if>
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrLcDvCd)">
#{expsrLcDvCd},
</if>
'Y',
#{regusr},
NOW(),
#{regusr},
NOW()
)
</insert>
<!-- 메뉴 삭제 -->
<update id="deleteBOMenuManage" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
UPDATE GC_MANAGER_MENU
SET USE_AT = 'N',
UPDUSR = #{updusr},
UPDT_DT = NOW()
WHERE MENU_CD = #{menuCd}
AND SOPMAL_CD = #{sopmalCd}
</update>
<!-- 기능 팝업 셀렉트박스 상위메뉴 조회 -->
<select id="selectTopMenuList" resultType="DataMap">
SELECT
MENU_CD,
UPPER_MENU_CD,
MENU_NM,
MENU_DEPTH AS LEVEL,
UPMOST_MENU_CD,
MENU_DC
FROM
GC_MANAGER_MENU
WHERE
1=1
AND
USE_AT = 'Y'
AND
UPPER_MENU_CD IS NULL
ORDER BY
SORT_ORDR
</select>
<!-- 기능 팝업 셀렉트박스 하위메뉴 조회 -->
<select id="selectSubMenuList" parameterType="String" resultType="DataMap">
SELECT
MENU_CD,
UPPER_MENU_CD,
MENU_NM,
MENU_DEPTH AS LEVEL,
UPMOST_MENU_CD,
MENU_DC
FROM
GC_MANAGER_MENU
WHERE
1=1
AND
USE_AT = 'Y'
AND
UPPER_MENU_CD = #{upperMenuCd}
ORDER BY
SORT_ORDR
</select>
<!-- 쇼핑몰 목록 조회 -->
<select id="selectBOsopmalList" parameterType="String" resultType="DataMap">
SELECT
MENU_CD,
MENU_NM,
SOPMAL_CD
FROM
GC_MANAGER_MENU
WHERE
MENU_DEPTH = '1'
AND
UPPER_MENU_CD = 'adm'
AND
USE_AT = 'Y'
</select>
<!-- 선택된 메뉴리스트 조회 -->
<select id="selectBOMenuListInqire" parameterType="String" resultType="DataMap">
SELECT
AFM.MENU_CD,
MM.MENU_NM
FROM
GC_AUTH_FNCT_MENU AFM
INNER JOIN
GC_MANAGER_MENU MM
ON
AFM.MENU_CD = MM.MENU_CD
AND
AFM.AUTHOR_GROUP_CD = #{authorGroupCd}
</select>
<!-- 정렬순서 중복 조회 -->
<select id="selectBOMenuSortOrdrCheck"
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="int">
SELECT
COUNT(MENU_CD)
FROM
GC_MANAGER_MENU MM
WHERE
1=1
AND
MENU_DEPTH = #{menuDepth}
AND
UPPER_MENU_CD = #{upperMenuCd}
AND
SORT_ORDR = #{sortOrdr}
AND
USE_AT = 'Y'
</select>
<select id="selectBOSortOrdrByMenuCd"
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="String">
SELECT
MENU_CD
FROM
GC_MANAGER_MENU MM
WHERE
1=1
AND
MENU_DEPTH = #{menuDepth}
AND
UPPER_MENU_CD = #{upperMenuCd}
AND
SORT_ORDR = #{sortOrdr}
AND
USE_AT = 'Y'
</select>
<!-- 정렬순서 업데이트 -->
<update id="updateBOMenuSortOrdr" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO">
<foreach collection="moveMenuCd" item="menuCd" index="index" separator=";">
UPDATE GC_MANAGER_MENU
SET SORT_ORDR = #{index} +1
WHERE MENU_CD = #{menuCd}
AND SOPMAL_CD = #{sopmalCd}
</foreach>
</update>
<!-- 쇼핑몰별 등급 조회 -->
<select id="selectBOSopmalGrad"
parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO"
resultType="dataMap">
SELECT GMG.MBR_GRAD_INNB, GMG.MBR_GRAD_NM
FROM GC_SHOP_MEMBER_GRAD_GROUP GSMGG
LEFT JOIN GC_MEMBER_GRAD GMG
ON GSMGG.MBR_GRAD_GROUP_INNB = GMG.MBR_GRAD_GROUP_INNB
WHERE GSMGG.SOPMAL_CD = ${sopmalCd}
</select>
<!-- 통합관리자/관리자 TOP 메뉴 조회 -->
<select id="selectBOTopMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
<![CDATA[
WITH RECURSIVE MENU_INCLD AS
(
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
, M1.MENU_CD
, M1.SOPMAL_CD
, M1.UPPER_MENU_CD
, M1.MENU_NM
, M1.MENU_DEPTH
, M1.SORT_ORDR
, M1.URL
, CONCAT(IF(LENGTH(M1.SORT_ORDR)=1,'0',''), M1.SORT_ORDR, M1.MENU_NM) FULL_PATH
FROM GC_MANAGER_MENU M1
WHERE (@ROWNUM:=0)=0
AND M1.USE_AT = 'Y'
AND M1.SOPMAL_CD = #{sopmalCd}
AND M1.UPMOST_MENU_CD = #{upmostMenuCd}
AND CASE WHEN IFNULL(#{upperMenuCd},'') <> '' THEN M1.UPPER_MENU_CD = #{upperMenuCd}
ELSE M1.UPPER_MENU_CD = #{upmostMenuCd}
END
UNION
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
, M2.MENU_CD
, M2.SOPMAL_CD
, M2.UPPER_MENU_CD
, M2.MENU_NM
, M2.MENU_DEPTH
, M2.SORT_ORDR
, M2.URL
, CONCAT(MENU_INCLD.FULL_PATH , ' > ', M2.SORT_ORDR, M2.MENU_NM ) AS FULL_PATH
FROM GC_MANAGER_MENU M2
INNER JOIN MENU_INCLD ON M2.UPPER_MENU_CD = MENU_INCLD.MENU_CD AND M2.SOPMAL_CD = MENU_INCLD.SOPMAL_CD
WHERE (@ROWNUM:=0)=0
AND M2.USE_AT = 'Y'
)
SELECT RNUM,MENU_CD
, SOPMAL_CD
, UPPER_MENU_CD
, MENU_NM
, MENU_DEPTH
, SORT_ORDR
, URL
, FULL_PATH
, CASE
WHEN MENU_DEPTH = #{nextDeptCd2} AND LEAD(MENU_DEPTH) OVER (ORDER BY FULL_PATH) = #{nextDeptCd1} THEN 1
ELSE 0
END AS NEXT_DEPTH_2
, CASE
WHEN MENU_DEPTH = #{nextDeptCd1} AND LEAD(MENU_DEPTH) OVER (ORDER BY FULL_PATH) = #{nextDeptCd2} THEN 1
ELSE 0
END AS NEXT_DEPTH_3
FROM MENU_INCLD
WHERE 1 = 1
AND CASE WHEN IFNULL(#{upperMenuCd},'') = '' THEN MENU_DEPTH = #{topMenuCd}
ELSE 1
END
ORDER BY FULL_PATH
]]>
</select>
<!-- 쇼핑몰 메뉴 조회 -->
<select id="selectBOSopmalTopMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
<![CDATA[
WITH RECURSIVE CTGRY_INCLD AS
(
SELECT 1 AS RNUM
, C1.CTGRY_ID
, C1.SOPMAL_CD
, C1.UPPER_CTGRY_ID
, C1.CTGRY_NM
, C1.CTGRY_DEPTH
, C1.SORT_ORDR
, C1.CTGRY_DV_CD
, C1.URL
, C1.MENU_EXPSR_AT
, C1.GNB_EXPSR_AT
, CONCAT(C1.SOPMAL_CD, ' > ', C1.SORT_ORDR, C1.CTGRY_NM) FULL_PATH
, C1.MENU_CHR_COLOR
FROM GC_CATEGORY C1
WHERE 1=1
AND C1.USE_AT = 'Y'
AND C1.SOPMAL_CD = #{sopmalCd}
AND C1.UPPER_CTGRY_ID = 1
UNION
SELECT RNUM+1
, C2.CTGRY_ID
, C2.SOPMAL_CD
, C2.UPPER_CTGRY_ID
, C2.CTGRY_NM
, C2.CTGRY_DEPTH
, C2.SORT_ORDR
, C2.CTGRY_DV_CD
, CASE WHEN C2.URL_DV_CD = '01' THEN CONCAT('/sopmal/goods/selectGoodsListForm?ctgryId=',C2.CTGRY_ID)
ELSE C2.URL
END URL
, C2.MENU_EXPSR_AT
, C2.GNB_EXPSR_AT
, CONCAT(CTGRY_INCLD.FULL_PATH, ' > ', LPAD(IFNULL(C2.SORT_ORDR, '0'), 3, '0'), C2.CTGRY_NM) AS FULL_PATH
, C2.MENU_CHR_COLOR
FROM GC_CATEGORY C2
INNER JOIN CTGRY_INCLD ON C2.UPPER_CTGRY_ID = CTGRY_INCLD.CTGRY_ID AND C2.SOPMAL_CD = CTGRY_INCLD.SOPMAL_CD
WHERE 1 = 1
AND C2.USE_AT = 'Y'
AND C2.CTGRY_DEPTH < 5
AND CASE WHEN C2.EXPSR_CD = '01' THEN 1
WHEN EXPSR_CD = '03' AND DATE_FORMAT(SYSDATE(), '%Y-%m-%d') BETWEEN DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d') AND DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d') THEN 1
ELSE 0
END
)
SELECT FULL_PATH
, RNUM
, MENU_EXPSR_AT
, GNB_EXPSR_AT
, SORT_ORDR
, CTGRY_DV_CD
, CTGRY_ID
, SOPMAL_CD
, UPPER_CTGRY_ID
, CTGRY_NM
, CTGRY_DEPTH
, URL
, MENU_CHR_COLOR
, IF(LOCATE('bbsId=', url) > 0, SUBSTRING_INDEX(SUBSTRING(url, LOCATE('bbsId=', url) + 6), '&', 1), '') AS BBS_ID
, CASE WHEN RNUM IN ('2','3') AND LEAD(RNUM) OVER (ORDER BY FULL_PATH) = '3' THEN 1
ELSE 0
END AS NEXT_DEPTH_2
, CASE WHEN RNUM IN ('3','4') AND LEAD(RNUM) OVER (ORDER BY FULL_PATH) = '4' THEN 1
ELSE 0
END AS NEXT_DEPTH_3
FROM CTGRY_INCLD
WHERE RNUM > 1
ORDER BY FULL_PATH
]]>
</select>
<!--crm header left menu 조회-->
<select id="selectBOCrmMenuListInqire" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="DataMap">
WITH RECURSIVE MENU_INCLD AS
(
SELECT 1 AS RNUM
, M1.MENU_CD
, M1.SOPMAL_CD
, M1.UPPER_MENU_CD
, M1.MENU_NM
, M1.MENU_DEPTH
, M1.SORT_ORDR
, M1.URL
, M1.EXPSR_LC_DV_CD
, CONCAT(M1.SORT_ORDR, M1.MENU_NM) FULL_PATH
FROM GC_MANAGER_MENU M1
WHERE 1 = 1
AND M1.USE_AT = 'Y'
AND M1.SOPMAL_CD = #{sopmalCd}
AND M1.UPMOST_MENU_CD = #{upmostMenuCd}
AND CASE WHEN IFNULL(#{upmostMenuCd},'') <![CDATA[<>]]> '' THEN M1.UPPER_MENU_CD = 'crm'
ELSE M1.UPPER_MENU_CD = 'crm'
END
UNION
SELECT RNUM+1
, M2.MENU_CD
, M2.SOPMAL_CD
, M2.UPPER_MENU_CD
, M2.MENU_NM
, M2.MENU_DEPTH
, M2.SORT_ORDR
, M2.URL
, M2.EXPSR_LC_DV_CD
, CONCAT(MENU_INCLD.FULL_PATH , ' > ', M2.SORT_ORDR, M2.MENU_NM ) AS FULL_PATH
FROM GC_MANAGER_MENU M2
INNER JOIN MENU_INCLD ON M2.UPPER_MENU_CD = MENU_INCLD.MENU_CD AND M2.SOPMAL_CD = MENU_INCLD.SOPMAL_CD
WHERE 1 = 1
AND M2.USE_AT = 'Y'
)
SELECT RNUM
,MENU_CD
, SOPMAL_CD
, UPPER_MENU_CD
, MENU_NM
, MENU_DEPTH
, SORT_ORDR
, URL
, EXPSR_LC_DV_CD
, FULL_PATH
FROM MENU_INCLD
WHERE 1 = 1
ORDER BY SORT_ORDR
</select>
</mapper>