merge master into develop - CscListRForm.jsp FAQ 아코디언 버그 수정
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
<?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.authFnctMenu.mapper.BOMaAuthFnctMenuMapper">
|
||||
|
||||
<!-- 권한그룹메뉴 등록 -->
|
||||
<insert id="insertBOAuthFnctMenu" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="authorMenuFnctInnb" resultType="String">
|
||||
SELECT IFNULL(MAX(AUTHOR_MENU_FNCT_INNB),0) + 1
|
||||
FROM GC_AUTH_FNCT_MENU
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_AUTH_FNCT_MENU
|
||||
(
|
||||
AUTHOR_MENU_FNCT_INNB,
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
AUTHOR_GROUP_CD,
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
URL,
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
FNCT_CD,
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
MENU_CD,
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
SOPMAL_CD,
|
||||
</if>
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{authorMenuFnctInnb},
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
#{authorGroupCd},
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
#{url},
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
#{fnctCd},
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
#{menuCd},
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
#{sopmalCd},
|
||||
</if>
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹메뉴 변경 이력 등록 -->
|
||||
<insert id="insertBOAuthFnctMenuLog" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
SELECT IFNULL(MAX(LOG_SNB),0) + 1
|
||||
FROM GC_AUTH_FNCT_MENU_LOG
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO GC_AUTH_FNCT_MENU_LOG
|
||||
(
|
||||
LOG_SNB,
|
||||
AUTHOR_MENU_FNCT_INNB,
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
AUTHOR_GROUP_CD,
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
URL,
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
FNCT_CD,
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
MENU_CD,
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
SOPMAL_CD,
|
||||
</if>
|
||||
CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{logSnb},
|
||||
#{authorMenuFnctInnb},
|
||||
<if test="authorGroupCd != null || authorGroupCd != ''">
|
||||
#{authorGroupCd},
|
||||
</if>
|
||||
<if test="url != null || url != ''">
|
||||
#{url},
|
||||
</if>
|
||||
<if test="fnctCd != null || fnctCd != ''">
|
||||
#{fnctCd},
|
||||
</if>
|
||||
<if test="menuCd != null || menuCd != ''">
|
||||
#{menuCd},
|
||||
</if>
|
||||
<if test="sopmalCd != null || sopmalCd != ''">
|
||||
#{sopmalCd},
|
||||
</if>
|
||||
#{chngDvCd},
|
||||
#{regusr},
|
||||
NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹메뉴 기능 삭제 -->
|
||||
<delete id="deleteBOAuthFnctMenu" parameterType="Object">
|
||||
DELETE
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
AUTHOR_MENU_FNCT_INNB = #{authorMenuFnctInnb}
|
||||
</delete>
|
||||
|
||||
<!-- 권한그룹메뉴 기능 조회 -->
|
||||
<select id="selectBOAuthGrpFnctList" parameterType="dataMap" resultType="dataMap">
|
||||
SELECT
|
||||
AUTHOR_MENU_FNCT_INNB, FNCT_CD, MENU_CD, SOPMAL_CD, URL, AUTHOR_GROUP_CD
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU
|
||||
WHERE
|
||||
1=1
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(authorGroupCd)">
|
||||
AND
|
||||
AUTHOR_GROUP_CD = #{authorGroupCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(fnctCd)">
|
||||
AND
|
||||
FNCT_CD = #{fnctCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuCd)">
|
||||
AND
|
||||
MENU_CD = #{menuCd}
|
||||
AND
|
||||
URL IS NOT NULL
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 기능 URL 중복여부 조회 -->
|
||||
<select id="selectBOFnctUrlDplct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT
|
||||
COUNT(1)
|
||||
FROM
|
||||
GC_AUTH_FNCT_MENU GAFM
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GAFM.URL = #{fnctUrl}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,320 @@
|
||||
<?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.authgrp.mapper.BOMaAuthgrpMapper">
|
||||
<sql id="srchWords">
|
||||
WHERE 1=1
|
||||
AND GA.USE_AT = 'Y'
|
||||
<if test="srchAuthorNm != null and srchAuthorNm != ''">
|
||||
AND UPPER(GA.AUTHOR_NM) LIKE CONCAT('%', UPPER(#{srchAuthorNm}), '%')
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND GA.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 페이징처리를 위한 권한그룹 목록 총 개수 -->
|
||||
<select id="selectBOAuthGrpListCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords"/>
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
) A
|
||||
</select>
|
||||
<!-- 권한그룹 목록 조회 -->
|
||||
<select id="selectBOAuthGrpListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords" />
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
order by GA.REGIST_DT desc
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<!-- 페이징처리를 위한 게시판 목록 총 개수 -->
|
||||
<select id="selectBOAuthFnctPopTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO" resultType="Integer">
|
||||
SELECT count(*)
|
||||
FROM (
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GF.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI,
|
||||
GF.REGIST_DT
|
||||
FROM GC_FNCT GF
|
||||
<include refid="selectBOAuthFnctPopListInqireWhere" />
|
||||
) BM
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 기능 팝업 리스트 조회 -->
|
||||
<select id="selectBOAuthFnctPopListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GF.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI,
|
||||
GF.REGIST_DT
|
||||
FROM GC_FNCT GF
|
||||
<include refid="selectBOAuthFnctPopListInqireWhere" />
|
||||
ORDER BY REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<sql id="selectBOAuthFnctPopListInqireWhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
GF.USE_AT = 'Y'
|
||||
<if test="srchFnctNm != null and srchFnctNm != ''">
|
||||
AND
|
||||
UPPER(GF.FNCT_NM) LIKE CONCAT('%', UPPER(#{srchFnctNm}), '%')
|
||||
</if>
|
||||
<if test="srchFnctUri != null and srchFnctUri != ''">
|
||||
AND
|
||||
UPPER(GF.FNCT_URI) LIKE CONCAT('%', UPPER(#{srchFnctUri}), '%')
|
||||
</if>
|
||||
<if test="srchFnctDv != null and srchFnctDv != ''">
|
||||
AND
|
||||
GF.FNCT_DV_CD = #{srchFnctDv}
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND
|
||||
GF.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 권한그룹 등록 -->
|
||||
<insert id="insertAuthGrp"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
<selectKey order="BEFORE" keyProperty="authorId" resultType="String">
|
||||
SELECT MAX(AUTHOR_ID)+1 FROM GC_AUTH
|
||||
</selectKey>
|
||||
INSERT INTO GC_AUTH (
|
||||
AUTHOR_ID /*권한그룹ID*/
|
||||
,SYS_DV_CD /*시스템자구분*/
|
||||
,AUTHOR_NM /*권한그룹명 - 화면*/
|
||||
,AUTHOR_DC /*권한그룹 설명 - 화면*/
|
||||
,USE_AT
|
||||
,REGUSR
|
||||
,REGIST_DT
|
||||
,UPDUSR
|
||||
,UPDT_DT
|
||||
)VALUES (
|
||||
#{authorId}
|
||||
,#{sysDvCd}
|
||||
,#{authorNm}
|
||||
,#{authorDc}
|
||||
,'Y'
|
||||
,#{regusr}
|
||||
,SYSDATE()
|
||||
,NULL
|
||||
,NULL
|
||||
);
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹 목록 엑셀용 -->
|
||||
<select id="selectBOAuthGrpExcelList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM, /*시스템자구분명*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '01' THEN 1 ELSE 0 END) AS R, /*조회*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '02' THEN 1 ELSE 0 END) AS F, /*화면이동*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '03' THEN 1 ELSE 0 END) AS I, /*등록*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '04' THEN 1 ELSE 0 END) AS U, /*수정*/
|
||||
SUM(CASE WHEN GF.FNCT_DV_CD = '05' THEN 1 ELSE 0 END) AS D /*삭제*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
<include refid="srchWords" />
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
order by GA.REGIST_DT desc
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
</select>
|
||||
<!-- 권한그룹 상세 조회 -->
|
||||
<select id="selectBOAuthGrpUpdtForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO"
|
||||
resultType="DataMap">
|
||||
|
||||
SELECT GA.AUTHOR_ID, /*권한ID*/
|
||||
GA.AUTHOR_NM, /*권한명*/
|
||||
GA.AUTHOR_DC, /*권한설명*/
|
||||
DATE_FORMAT(GA.REGIST_DT, '%Y-%m-%d') AS REGIST_DT, /*등록일자*/
|
||||
GA.SYS_DV_CD, /*시스템구분 코드*/
|
||||
GROUP_CONCAT(GAF.FNCT_ID SEPARATOR '$') AS FNCT_IDS_ARR /*등록된 권한기능 배열*/
|
||||
FROM GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_AUTH_FNCT GAF ON GA.AUTHOR_ID = GAF.AUTHOR_ID
|
||||
LEFT OUTER JOIN GC_FNCT GF ON GAF.FNCT_ID = GF.FNCT_ID AND GF.USE_AT = 'Y'
|
||||
WHERE 1=1
|
||||
AND GA.USE_AT = 'Y'
|
||||
AND GA.AUTHOR_ID = #{authorId}
|
||||
GROUP BY GA.AUTHOR_ID, GA.AUTHOR_NM, GA.AUTHOR_DC, GA.REGIST_DT
|
||||
ORDER BY GA.REGIST_DT DESC
|
||||
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 기능 상세 조회 -->
|
||||
<select id="selectBOAuthGrpFnctUpdtForm" resultType="DataMap">
|
||||
SELECT FNCT_ID /*기능ID*/
|
||||
, SYS_DV_CD /*시스템자구분코드*/
|
||||
, FNCT_DV_CD /*기능구분코드*/
|
||||
, FN_GET_COMMCODE_NAME('FNCT_DV', FNCT_DV_CD) AS FNCT_DV_NM
|
||||
, FNCT_URI /*url*/
|
||||
, FNCT_NM /*기능명*/
|
||||
, FNCT_DC /*기능설명*/
|
||||
FROM GC_FNCT
|
||||
WHERE FNCT_ID IN(
|
||||
SELECT FNCT_ID
|
||||
FROM GC_AUTH_FNCT
|
||||
WHERE AUTHOR_ID = #{authorId}
|
||||
AND USE_AT = 'Y'
|
||||
)
|
||||
AND USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 권한그룹 수정 -->
|
||||
<update id="updateBOAuthGrpUpdt" parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
UPDATE GC_AUTH
|
||||
SET SYS_DV_CD = #{sysDvCd}
|
||||
,AUTHOR_NM = #{authorNm}
|
||||
,AUTHOR_DC = #{authorDc}
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = NOW()
|
||||
WHERE AUTHOR_ID = #{authorId};
|
||||
</update>
|
||||
|
||||
<!--삭제log쿼리-->
|
||||
<insert id="insertDelAuthFnctLog" parameterType="com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
INSERT INTO GC_AUTH_FNCT_LOG (LOG_SNB, AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_AUTH_FNCT_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
GAF.AUTHOR_FNCT_INNB,
|
||||
GAF.AUTHOR_ID,
|
||||
GAF.FNCT_ID,
|
||||
'D' AS LOG_CHNG_DV_CD,
|
||||
#{updusr} AS REGUSR,
|
||||
NOW() AS REGIST_DT
|
||||
FROM GC_AUTH_FNCT GAF
|
||||
WHERE GAF.AUTHOR_ID = #{authorId}
|
||||
<if test="arrFnctId != null and arrFnctId.size() > 0">
|
||||
AND FNCT_ID NOT IN
|
||||
<foreach collection="arrFnctId" item="fnctId" index="idx" open="(" separator=", " close=")">
|
||||
#{fnctId}
|
||||
</foreach>
|
||||
</if>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
|
||||
<!--GC_AUTH_FNCT 삭제쿼리-->
|
||||
<delete id="deleteAuthFnct">
|
||||
DELETE
|
||||
FROM GC_AUTH_FNCT GAF
|
||||
WHERE GAF.AUTHOR_ID = #{authorId}
|
||||
<if test="arrFnctId != null and arrFnctId.size() > 0">
|
||||
AND FNCT_ID NOT IN
|
||||
<foreach collection="arrFnctId" item="fnctId" index="idx" open="(" separator=", " close=")">
|
||||
#{fnctId}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!--GC_AUTH_FNCT insert-->
|
||||
<insert id="insertAuthFnct" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="authorFnctInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(AUTHOR_FNCT_INNB), 0) + 1
|
||||
FROM GC_AUTH_FNCT
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_AUTH_FNCT (AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, REGUSR, REGIST_DT)
|
||||
SELECT #{authorFnctInnb}, #{authorId}, #{fnctId}, #{updusr}, NOW()
|
||||
WHERE NOT EXISTS (SELECT 1 FROM GC_AUTH_FNCT WHERE AUTHOR_ID = #{authorId} AND FNCT_ID = #{fnctId})
|
||||
</insert>
|
||||
|
||||
<!--log insert-->
|
||||
<insert id="insertInsAuthFnctLog" parameterType="java.util.List">
|
||||
INSERT INTO GC_AUTH_FNCT_LOG (LOG_SNB, AUTHOR_FNCT_INNB, AUTHOR_ID, FNCT_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_AUTH_FNCT_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
AUTHOR_FNCT_INNB,
|
||||
AUTHOR_ID,
|
||||
FNCT_ID,
|
||||
'I' AS LOG_CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
FROM GC_AUTH_FNCT GMA
|
||||
WHERE AUTHOR_FNCT_INNB IN
|
||||
<foreach collection="arrAuthorFnctInnb" item="authorFnctInnb" index="idx" open="(" separator=", " close=")">
|
||||
#{authorFnctInnb}
|
||||
</foreach>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
<!-- 권한그룹 삭제 -->
|
||||
<update id="updateBOAuthGrpDel"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.authgrp.vo.BOMaAuthgrpVO">
|
||||
UPDATE GC_AUTH
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND AUTHOR_ID = #{authorId}
|
||||
</update>
|
||||
</mapper>
|
||||
@@ -0,0 +1,509 @@
|
||||
<?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.author.mapper.BOMaAuthorMapper">
|
||||
|
||||
<!-- 페이징처리를 위한 권한그룹 목록 총 개수 -->
|
||||
<select id="selectBOAuthorListCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
) BM
|
||||
</select>
|
||||
<!-- 권한 목록 조회 -->
|
||||
<select id="selectBOAuthorListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB,
|
||||
M.MNGR_NM,
|
||||
M.MNGR_ID,
|
||||
M.PARTNM,
|
||||
M.MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', M.MNGR_DV) AS MNGR_DV_NM,
|
||||
MM.MNGR_NM AS UPD_MNGR_NM,
|
||||
ROW_NUMBER() OVER (PARTITION BY M.MNGR_INNB) as AUTH_RN,
|
||||
CASE
|
||||
WHEN COUNT(MA.AUTHOR_ID) = 1 THEN MAX(GAG.AUTHOR_NM)
|
||||
WHEN COUNT(MA.AUTHOR_ID) > 1 THEN CONCAT(MAX(GAG.AUTHOR_NM) , ' 외 ', COUNT(MA.AUTHOR_ID) - 1 , '개 ')
|
||||
ELSE '권한 없음' END AS AUTH_GRP_MAIN_TITLE,
|
||||
DATE_FORMAT(MAX(coalesce(M.UPDT_DT, M.REGIST_DT)), '%Y-%m-%d %H:%i:%S') AS MA_REGIST_DT
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
ORDER BY MA_REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
|
||||
<sql id="selectBOAuthorListWhere">
|
||||
WHERE M.MNGR_STTUS_CD != '03'
|
||||
<!-- 검색타입별 검색 -->
|
||||
<if test="srchStr != null and srchStr != ''">
|
||||
<choose>
|
||||
<when test="srchType eq 'MNGR_NM'.toString()">
|
||||
AND UPPER(M.MNGR_NM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MNGR_ID'.toString()">
|
||||
AND UPPER(M.MNGR_ID) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'EMAIL'.toString()">
|
||||
AND UPPER(M.EMAIL) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'MBTLNB'.toString()">
|
||||
AND UPPER(M.MBTLNB) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'PARTNM'.toString()">
|
||||
AND UPPER(M.PARTNM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
</when>
|
||||
<when test="srchType eq 'ALL'.toString()">
|
||||
AND(
|
||||
UPPER(M.MNGR_NM) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.MNGR_ID) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.EMAIL) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.MBTLNB) LIKE CONCAT('%', UPPER(#{srchStr}), '%') OR
|
||||
UPPER(M.PARTNM) LIKE CONCAT('%', UPPER(#{srchStr}), '%')
|
||||
)
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<!-- 사용자 구분 -->
|
||||
<if test="srchMngrDv != null and srchMngrDv != ''">
|
||||
AND M.MNGR_DV = #{srchMngrDv}
|
||||
</if>
|
||||
</sql>
|
||||
<!-- 권한 상세 조회 -->
|
||||
<select id="selectBOAuthorUpdtForm"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT
|
||||
MNGR_INNB,
|
||||
MNGR_NM,
|
||||
MNGR_ID,
|
||||
PARTNM,
|
||||
MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', MNGR_DV) AS MNGR_DV_NM
|
||||
FROM
|
||||
GC_MANAGER
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
</select>
|
||||
|
||||
<!-- 권한 상세 기능 조회 -->
|
||||
<select id="selectBOAuthorUpdtFormFnctList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT
|
||||
BB.AUTHOR_ID
|
||||
,BB.AUTHOR_NM
|
||||
,BB.AUTHOR_DC
|
||||
,GROUP_CONCAT(CONCAT(BB.SOPMAL_CD, ',',BB.SOPMAL_NM,',',BB.CHK ) ORDER BY AUTHOR_ID, SOPMAL_NM SEPARATOR '|') AS SOPMAL_INFO
|
||||
FROM
|
||||
(
|
||||
SELECT
|
||||
GA.AUTHOR_ID,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC,
|
||||
GS.SOPMAL_CD,
|
||||
GS.SOPMAL_NM,
|
||||
CASE
|
||||
WHEN GMA.MNGR_AUTHOR_INNB IS NULL THEN FALSE
|
||||
ELSE TRUE
|
||||
END AS CHK
|
||||
FROM
|
||||
GC_AUTH GA
|
||||
INNER JOIN GC_SHOP GS
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GMA.AUTHOR_ID = GA.AUTHOR_ID
|
||||
AND GMA.MNGR_INNB = #{mngrInnb}
|
||||
WHERE
|
||||
GA.USE_AT = 'Y'
|
||||
AND GA.SYS_DV_CD NOT IN ('01', '02')
|
||||
) BB
|
||||
GROUP BY
|
||||
1, 2, 3
|
||||
UNION ALL
|
||||
SELECT
|
||||
AA.AUTHOR_ID
|
||||
,AA.AUTHOR_NM
|
||||
,AA.AUTHOR_DC
|
||||
,GROUP_CONCAT(CONCAT(AA.SOPMAL_CD, ',',AA.SOPMAL_NM,',',AA.CHK ) ORDER BY AUTHOR_ID, SOPMAL_NM SEPARATOR '|') AS SOPMAL_INFO
|
||||
FROM (
|
||||
SELECT
|
||||
GA.AUTHOR_ID,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC,
|
||||
GS.SOPMAL_CD,
|
||||
GS.SOPMAL_NM,
|
||||
CASE
|
||||
WHEN GMA.MNGR_AUTHOR_INNB IS NULL THEN FALSE
|
||||
ELSE TRUE
|
||||
END AS CHK
|
||||
FROM
|
||||
GC_AUTH GA
|
||||
INNER JOIN (
|
||||
SELECT
|
||||
'SYS' AS SOPMAL_CD,
|
||||
'통합관리자시스템' AS SOPMAL_NM) GS
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA
|
||||
ON
|
||||
GMA.AUTHOR_ID = GA.AUTHOR_ID
|
||||
AND GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
AND GMA.MNGR_INNB = #{mngrInnb}
|
||||
WHERE
|
||||
GA.USE_AT = 'Y'
|
||||
AND GA.SYS_DV_CD = #{mngrDv}
|
||||
AND '02' = #{mngrDv}
|
||||
ORDER BY
|
||||
AUTHOR_ID,
|
||||
SOPMAL_NM
|
||||
) AA
|
||||
GROUP BY
|
||||
1, 2, 3
|
||||
</select>
|
||||
|
||||
<!-- 권한별 기능 조회 -->
|
||||
<select id="selectBOMenuFnctListInqire"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT GF.FNCT_ID,
|
||||
GF.FNCT_NM,
|
||||
GF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', GF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
GF.FNCT_URI
|
||||
FROM GC_FNCT GF
|
||||
INNER JOIN GC_AUTH_FNCT GAF ON GF.FNCT_ID = GAF.FNCT_ID
|
||||
WHERE GF.USE_AT = 'Y'
|
||||
AND GAF.AUTHOR_ID = #{authorId}
|
||||
ORDER BY GF.FNCT_NM ASC
|
||||
</select>
|
||||
|
||||
<!-- 관리 쇼핑몰 등록 -->
|
||||
<insert id="insertBOMngrMall" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(LOG_SNB), 0) + 1
|
||||
FROM GC_MANAGER_MALL
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_MALL (
|
||||
LOG_SNB,
|
||||
MNGR_INNB,
|
||||
SOPMAL_CD,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES (
|
||||
#{logSnb},
|
||||
#{mngrInnb},
|
||||
#{sopmalCd},
|
||||
'Y',
|
||||
#{regusr},
|
||||
SYSDATE(),
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 관리 쇼핑몰 N 처리 -->
|
||||
<update id="updateBOMngrMallDel" parameterType="DataMap">
|
||||
UPDATE
|
||||
GC_MANAGER_MALL
|
||||
SET
|
||||
<if test="mngrInnb != null and mngrInnb != ''">
|
||||
MNGR_INNB = #{mngrInnb},
|
||||
</if>
|
||||
<if test="sopmalCd != null and sopmalCd != ''">
|
||||
SOPMAL_CD = #{sopmalCd},
|
||||
</if>
|
||||
USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 관리 쇼핑몰 수정 -->
|
||||
<update id="updateBOMngrMall" parameterType="DataMap">
|
||||
UPDATE
|
||||
GC_MANAGER_MALL
|
||||
SET
|
||||
MNGR_INNB = #{mngrInnb},
|
||||
SOPMAL_CD = #{sopmalCd},
|
||||
USE_AT = #{useAt},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = SYSDATE()
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MNGR_INNB = #{mngrInnb}
|
||||
AND
|
||||
SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 관리자별 권한 등록-->
|
||||
<insert id="insertBOMngrAuthor" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="mngrAuthorInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(MNGR_AUTHOR_INNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_AUTH (
|
||||
MNGR_AUTHOR_INNB,
|
||||
MNGR_INNB,
|
||||
AUTHOR_GROUP_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{mngrAuthorInnb},
|
||||
#{mngrInnb},
|
||||
#{authorGroupCd},
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 관리자별 변경 이력 등록 -->
|
||||
<insert id="insertBOMngrAuthLog" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
<selectKey order="BEFORE" keyProperty="logSnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(LOG_SNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH_LOG
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT
|
||||
INTO
|
||||
GC_MANAGER_AUTH_LOG (
|
||||
LOG_SNB,
|
||||
MNGR_AUTHOR_INNB,
|
||||
MNGR_INNB,
|
||||
AUTHOR_GROUP_CD,
|
||||
CHNG_DV_CD,
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
)
|
||||
VALUES (
|
||||
#{logSnb},
|
||||
#{mngrAuthorInnb},
|
||||
#{mngrInnb},
|
||||
#{authorGroupCd},
|
||||
#{chngDvCd},
|
||||
#{regusr},
|
||||
SYSDATE()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 쇼핑몰 목록 조회 -->
|
||||
<select id="selectBOShopListInqire" resultType="DataMap">
|
||||
|
||||
SELECT
|
||||
SOPMAL_CD,
|
||||
SOPMAL_NM
|
||||
FROM
|
||||
GC_SHOP
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
OPER_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 권한 삭제 로그 INSERT -->
|
||||
<insert id="insertDelMngrAuthorLog" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
INSERT INTO GC_MANAGER_AUTH_LOG (LOG_SNB, MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_MANAGER_AUTH_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
MNGR_AUTHOR_INNB,
|
||||
SOPMAL_CD,
|
||||
MNGR_INNB,
|
||||
AUTHOR_ID,
|
||||
'D',
|
||||
#{updusr},
|
||||
now()
|
||||
FROM GC_MANAGER_AUTH GMA
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
<if test="arrAuthSpomal != null and arrAuthSpomal.length > 0">
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) NOT IN
|
||||
<foreach collection="arrAuthSpomal" item="authSpomal" index="idx" open="(" separator=", " close=")">
|
||||
#{authSpomal}
|
||||
</foreach>
|
||||
</if>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
<!-- 권한 등록 로그 INSERT -->
|
||||
<insert id="insertInsMngrAuthorLog" parameterType="java.util.List">
|
||||
INSERT INTO GC_MANAGER_AUTH_LOG (LOG_SNB, MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, LOG_CHNG_DV_CD, REGUSR, REGIST_DT)
|
||||
SELECT (SELECT COALESCE(MAX(LOG_SNB),0) FROM GC_MANAGER_AUTH_LOG) + @ROWNUM := @ROWNUM + 1,
|
||||
MNGR_AUTHOR_INNB,
|
||||
SOPMAL_CD,
|
||||
MNGR_INNB,
|
||||
AUTHOR_ID,
|
||||
'I',
|
||||
REGUSR,
|
||||
REGIST_DT
|
||||
FROM GC_MANAGER_AUTH GMA
|
||||
WHERE MNGR_AUTHOR_INNB IN
|
||||
<foreach collection="arrMngrAuthorInnb" item="mngrAuthorInnb" index="idx" open="(" separator=", " close=")">
|
||||
#{mngrAuthorInnb}
|
||||
</foreach>
|
||||
AND (@ROWNUM := 0) = 0
|
||||
</insert>
|
||||
|
||||
|
||||
<!-- 권한 삭제 -->
|
||||
<delete id="deteteBOAuthGrp" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO">
|
||||
DELETE
|
||||
FROM GC_MANAGER_AUTH
|
||||
WHERE MNGR_INNB = #{mngrInnb}
|
||||
<if test="arrAuthSpomal != null and arrAuthSpomal.length > 0">
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) NOT IN
|
||||
<foreach collection="arrAuthSpomal" item="authSpomal" index="idx" open="(" separator=", " close=")">
|
||||
#{authSpomal}
|
||||
</foreach>
|
||||
</if>
|
||||
</delete>
|
||||
|
||||
<!-- 권한 등록 -->
|
||||
<insert id="insertMngrauth" parameterType="DataMap">
|
||||
<selectKey order="BEFORE" keyProperty="mngrAuthorInnb" resultType="String">
|
||||
<![CDATA[
|
||||
SELECT IFNULL(MAX(MNGR_AUTHOR_INNB), 0) + 1
|
||||
FROM GC_MANAGER_AUTH
|
||||
]]>
|
||||
</selectKey>
|
||||
INSERT INTO GC_MANAGER_AUTH (MNGR_AUTHOR_INNB, SOPMAL_CD, MNGR_INNB, AUTHOR_ID, REGUSR, REGIST_DT)
|
||||
SELECT #{mngrAuthorInnb},
|
||||
A.SOPMAL_CD,
|
||||
#{mngrInnb} AS MNGR_INNB,
|
||||
A.AUTHOR_ID,
|
||||
#{updusr} AS REGUSR,
|
||||
NOW() AS REGIST_DT
|
||||
FROM (SELECT GS.SOPMAL_CD, GA.AUTHOR_ID, GMA.AUTHOR_ID CHK
|
||||
FROM (SELECT G.SOPMAL_CD
|
||||
FROM GC_SHOP G
|
||||
UNION ALL
|
||||
SELECT 'SYS' AS SOPMAL_CD) GS
|
||||
INNER JOIN GC_AUTH GA
|
||||
LEFT OUTER JOIN GC_MANAGER_AUTH GMA ON GMA.MNGR_INNB = #{mngrInnb} AND GMA.AUTHOR_ID = GA.AUTHOR_ID AND GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
) A
|
||||
WHERE CHK IS NULL
|
||||
AND CONCAT(AUTHOR_ID,'_',SOPMAL_CD) = #{authSopmal}
|
||||
</insert>
|
||||
|
||||
<!-- 사용자별 권한조회 엑셀다운로드-->
|
||||
<select id="selectBOAuthorExcelList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO"
|
||||
resultType="DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
M.MNGR_INNB,
|
||||
M.MNGR_NM,
|
||||
M.MNGR_ID,
|
||||
M.PARTNM,
|
||||
M.MNGR_DV,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', M.MNGR_DV) AS MNGR_DV_NM,
|
||||
MM.MNGR_NM AS UPD_MNGR_NM,
|
||||
ROW_NUMBER() OVER (PARTITION BY M.MNGR_INNB) as AUTH_RN,
|
||||
CASE
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) = 0 THEN '권한 없음'
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) = 1 THEN MAX(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN GAG.AUTHOR_NM ELSE NULL END)
|
||||
WHEN SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) > 1 THEN CONCAT(MAX(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN GAG.AUTHOR_NM ELSE NULL END), ' 외 ', (SUM(CASE WHEN MA.AUTHOR_ID IS NOT NULL AND GAG.USE_AT = 'Y' THEN 1 ELSE 0 END) -1), '개')
|
||||
END AS AUTH_GRP_MAIN_TITLE,
|
||||
DATE_FORMAT(MAX(coalesce(M.UPDT_DT, M.REGIST_DT)), '%Y-%m-%d %H:%i:%S') AS MA_REGIST_DT
|
||||
FROM GC_MANAGER M
|
||||
LEFT JOIN GC_MANAGER_AUTH MA
|
||||
ON M.MNGR_INNB = MA.MNGR_INNB
|
||||
LEFT JOIN GC_MANAGER MM
|
||||
ON MM.MNGR_INNB = coalesce(M.UPDUSR, M.UPDUSR)
|
||||
LEFT JOIN GC_AUTH GAG
|
||||
ON MA.AUTHOR_ID = GAG.AUTHOR_ID
|
||||
<include refid="selectBOAuthorListWhere" />
|
||||
group by M.MNGR_INNB,M.MNGR_NM,M.MNGR_ID,M.PARTNM,M.MNGR_DV, MM.MNGR_NM
|
||||
ORDER BY MA_REGIST_DT DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
AND
|
||||
AUTH_RN = 1
|
||||
) PV
|
||||
</select>
|
||||
|
||||
<select id="selectAuthInfo" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT GA.AUTHOR_ID,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', GA.SYS_DV_CD) AS SYS_DV_NM,
|
||||
GA.SYS_DV_CD,
|
||||
GA.AUTHOR_NM,
|
||||
GA.AUTHOR_DC
|
||||
FROM GC_AUTH GA
|
||||
WHERE GA.AUTHOR_ID = #{authorId}
|
||||
</select>
|
||||
|
||||
<!--관리자 > 권한 있는 사이트 조회-->
|
||||
<select id="selectBOAuthorSiteList" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT DISTINCT GMA.SOPMAL_CD, GS.SOPMAL_NM, GD.TOP_FIL_COURS ,GD.TOP_SYS_FIL_NM
|
||||
FROM GC_MANAGER GM
|
||||
INNER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GM.MNGR_INNB = GMA.MNGR_INNB
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
LEFT JOIN GC_DESIGN GD
|
||||
ON GS.SOPMAL_CD = GD.SOPMAL_CD
|
||||
AND GD.SETUP_DV_CD = '01'
|
||||
AND GD.USE_AT = 'Y'
|
||||
WHERE GM.MNGR_INNB = #{mngrInnb}
|
||||
AND GM.MNGR_STTUS_CD = '01'
|
||||
</select>
|
||||
|
||||
<!--관리자 > 권한 있는 사이트 조회 1개만 조회-->
|
||||
<select id="selectBOAuthorSite" parameterType="com.wb.domainserver.domain.admin.sys.author.vo.BOMaAuthorVO" resultType="DataMap">
|
||||
SELECT DISTINCT GMA.SOPMAL_CD, SOPMAL_NM
|
||||
FROM GC_MANAGER GM
|
||||
INNER JOIN GC_MANAGER_AUTH GMA
|
||||
ON GM.MNGR_INNB = GMA.MNGR_INNB
|
||||
INNER JOIN GC_SHOP GS
|
||||
ON GMA.SOPMAL_CD = GS.SOPMAL_CD
|
||||
WHERE GM.MNGR_INNB = #{mngrInnb}
|
||||
AND GM.MNGR_STTUS_CD = '01'
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,275 @@
|
||||
<?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.comncd.mapper.BOMaComncdMapper">
|
||||
|
||||
<!-- 검색어 -->
|
||||
<sql id="srchStr">
|
||||
<![CDATA[
|
||||
LIKE CONCAT('%', #{srchStr}, '%')
|
||||
]]>
|
||||
</sql>
|
||||
<sql id="selectBOCommcdListInqireWhere">
|
||||
<![CDATA[
|
||||
AND 1=1
|
||||
]]>
|
||||
<!-- 검색조건 별 검색 -->
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchStr)">
|
||||
<choose>
|
||||
<when test="srchType=='GROUP_CD_NM'">
|
||||
AND GRP.GROUP_CD_NM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='GROUP_CD'">
|
||||
AND GRP.GROUP_CD <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='CD_NM'">
|
||||
AND GCD.CD_NM <include refid ="srchStr"/>
|
||||
</when>
|
||||
<when test="srchType=='CD'">
|
||||
AND GCD.CD <include refid ="srchStr"/>
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(srchUseAt)">
|
||||
AND GCD.USE_AT = #{srchUseAt}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 상세코드 목록 조회 -->
|
||||
<select id="selectBOCommcdDetailList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, CD_DV
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND GROUP_CD = #{groupCd}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(cdDv)">
|
||||
AND CD_DV = #{cdDv}
|
||||
</if>
|
||||
ORDER BY SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 상세코드 조회 -->
|
||||
<select id="selectBOCommcdDetail"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdDetailVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, CD_DV
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND GROUP_CD = #{groupCd}
|
||||
AND CD = #{cd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<!-- 공통코드 목록 조회 -->
|
||||
<select id="selectBOCmmnCodeList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
/*SET @ROWNUM = 0;*/
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM
|
||||
,TB.*
|
||||
FROM (
|
||||
SELECT GRP.GROUP_CD_NM
|
||||
, GRP.GROUP_CD
|
||||
, GRP.GROUP_CD_DC
|
||||
, GCD.CD
|
||||
, GCD.CD_NM
|
||||
, GCD.CD_DC
|
||||
, GCD.USE_AT
|
||||
, GCD.REGUSR
|
||||
, GCD.REGIST_DT
|
||||
, DATE_FORMAT(GCD.REGIST_DT, '%Y-%m-%d') AS REGIST_DE
|
||||
, GCD.UPDUSR
|
||||
, GCD.UPDT_DT
|
||||
, DATE_FORMAT(GCD.UPDT_DT, '%Y-%m-%d') AS UPDT_DE
|
||||
FROM GC_CODE_GROUP GRP
|
||||
INNER JOIN GC_CODE GCD
|
||||
ON GCD.GROUP_CD = GRP.GROUP_CD
|
||||
WHERE 1=1
|
||||
AND GRP.GROUP_CD = GCD.GROUP_CD
|
||||
]]>
|
||||
<include refid="selectBOCommcdListInqireWhere"/>
|
||||
<![CDATA[
|
||||
) TB
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
]]>
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 공통코드 목록 건수 -->
|
||||
<select id="selectBOCmmnCodeTotCnt"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="java.lang.Integer">
|
||||
<![CDATA[
|
||||
SELECT COUNT(1)
|
||||
FROM GC_CODE_GROUP GRP
|
||||
INNER JOIN GC_CODE GCD
|
||||
ON GCD.GROUP_CD = GRP.GROUP_CD
|
||||
WHERE 1=1
|
||||
AND GRP.GROUP_CD = GCD.GROUP_CD
|
||||
]]>
|
||||
<include refid="selectBOCommcdListInqireWhere"/>
|
||||
</select>
|
||||
|
||||
<!-- 코드그룹 저장 -->
|
||||
<update id="saveBOCmmnCodeGroup"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
INSERT INTO GC_CODE_GROUP (
|
||||
GROUP_CD
|
||||
, GROUP_CD_NM
|
||||
, GROUP_CD_DC
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(groupUseAt)">
|
||||
, USE_AT
|
||||
</if>
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
) VALUES (
|
||||
#{groupCd}
|
||||
, #{groupCdNm}
|
||||
, #{groupCdDc}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(groupUseAt)">
|
||||
, #{groupUseAt}
|
||||
</if>
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
) ON DUPLICATE KEY UPDATE
|
||||
GROUP_CD_NM = VALUES(GROUP_CD_NM)
|
||||
, GROUP_CD_DC = VALUES(GROUP_CD_DC)
|
||||
, USE_AT = VALUES(USE_AT)
|
||||
, UPDUSR = VALUES(UPDUSR)
|
||||
, UPDT_DT = VALUES(UPDT_DT)
|
||||
</update>
|
||||
|
||||
<!-- 코드 저장 -->
|
||||
<update id="saveBOCmmnCode"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
INSERT INTO GC_CODE (
|
||||
GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
, USE_AT
|
||||
</if>
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
, SORT_ORDR
|
||||
) VALUES (
|
||||
#{groupCd}
|
||||
, #{cd}
|
||||
, #{cdNm}
|
||||
, #{cdDc}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(useAt)">
|
||||
, #{useAt}
|
||||
</if>
|
||||
, #{regusr}
|
||||
, SYSDATE()
|
||||
, #{updusr}
|
||||
, SYSDATE()
|
||||
, #{sortOrdr}
|
||||
) ON DUPLICATE KEY UPDATE
|
||||
CD_NM = VALUES(CD_NM)
|
||||
, CD_DC = VALUES(CD_DC)
|
||||
, USE_AT = VALUES(USE_AT)
|
||||
, UPDUSR = VALUES(UPDUSR)
|
||||
, UPDT_DT = VALUES(UPDT_DT)
|
||||
, SORT_ORDR = VALUES(SORT_ORDR)
|
||||
</update>
|
||||
|
||||
<!-- 코드그룹 ID 중복 조회-->
|
||||
<select id="selectBOCmmnCodeGrpIdDplctInqire" resultType="Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM GC_CODE_GROUP
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
</select>
|
||||
|
||||
<!-- 상세코드 목록 조회 -->
|
||||
<select id="selectBOCmmnCodeGroupDetail"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, GROUP_CD_NM
|
||||
, GROUP_CD_DC
|
||||
, USE_AT
|
||||
FROM GC_CODE_GROUP
|
||||
WHERE GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!--모든 코드 조회-->
|
||||
<select id="selectBOCommcdDetailAllList"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT GROUP_CD
|
||||
, CD
|
||||
, CD_NM
|
||||
, CD_DC
|
||||
, USE_AT
|
||||
FROM GC_CODE
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
ORDER BY SORT_ORDR ASC
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 코드그룹 삭제 -->
|
||||
<update id="deleteBOCmmnCodeGroup" parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CODE_GROUP
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<!-- 코드 삭제 -->
|
||||
<update id="deleteBOCmmnCode" parameterType="com.wb.domainserver.domain.admin.sys.comncd.vo.BOMaComncdVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CODE
|
||||
SET USE_AT = 'N'
|
||||
,UPDUSR = #{updusr}
|
||||
,UPDT_DT = SYSDATE()
|
||||
WHERE 1=1
|
||||
AND GROUP_CD = #{groupCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,426 @@
|
||||
<?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.ctgry.mapper.BOMaCtgryMapper">
|
||||
|
||||
<!-- 카테고리 목록 조회-->
|
||||
<select id="selectBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO"
|
||||
resultType="dataMap">
|
||||
SELECT
|
||||
CTGRY_ID
|
||||
, UPPER_CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, CTGRY_NM
|
||||
, CTGRY_DEPTH AS DEPTH
|
||||
, SORT_ORDR
|
||||
, CTGRY_DV_CD
|
||||
, GOODS_CTGRY_EXPSR_AT
|
||||
, MENU_EXPSR_AT
|
||||
, GNB_EXPSR_AT
|
||||
, PGE_EXPSR_AT
|
||||
, EXPSR_CD
|
||||
, DATE_FORMAT(EXPSR_BGN_DT, '%Y-%m-%d') AS EXPSR_BGN_DT
|
||||
, DATE_FORMAT(EXPSR_END_DT, '%Y-%m-%d') AS EXPSR_END_DT
|
||||
, URL_DV_CD
|
||||
, URL
|
||||
, ORGINL_FIL_NM
|
||||
, SYS_FIL_NM
|
||||
, FIL_MG
|
||||
, FIL_TY
|
||||
, FIL_COURS
|
||||
, USE_AT
|
||||
, CONCAT(SOPMAL_CD,'_',CTGRY_ID) AS ID
|
||||
, CTGRY_NM AS TEXT
|
||||
, (CASE WHEN CTGRY_DEPTH = 1 THEN '#'
|
||||
ELSE CONCAT(SOPMAL_CD,'_',UPPER_CTGRY_ID)
|
||||
END) AS PARENT
|
||||
, BANNER_URL
|
||||
, MENU_CHR_COLOR
|
||||
FROM GC_CATEGORY GC
|
||||
WHERE USE_AT = 'Y'
|
||||
AND (
|
||||
GC.UPPER_CTGRY_ID IS NULL OR
|
||||
(
|
||||
SELECT PARENT.USE_AT
|
||||
FROM GC_CATEGORY PARENT
|
||||
WHERE CONCAT(PARENT.SOPMAL_CD,'_',PARENT.CTGRY_ID) = CONCAT(GC.SOPMAL_CD,'_',GC.UPPER_CTGRY_ID)
|
||||
) = 'Y')
|
||||
ORDER BY SORT_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 상세 조회-->
|
||||
<select id="selectBOCtgry"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO"
|
||||
resultType="dataMap">
|
||||
<![CDATA[
|
||||
SELECT *
|
||||
FROM GC_CATEGORY
|
||||
WHERE 1=1
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 저장-->
|
||||
<insert id="insertBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
INSERT INTO GC_CATEGORY (
|
||||
CTGRY_ID
|
||||
, UPPER_CTGRY_ID
|
||||
, SOPMAL_CD
|
||||
, CTGRY_NM
|
||||
, CTGRY_DEPTH
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
, SORT_ORDR
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryDvCd)">
|
||||
, CTGRY_DV_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(goodsCtgryExpsrAt)">
|
||||
, GOODS_CTGRY_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuExpsrAt)">
|
||||
, MENU_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(gnbExpsrAt)">
|
||||
, GNB_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pgeExpsrAt)">
|
||||
, PGE_EXPSR_AT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrCd)">
|
||||
, EXPSR_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, EXPSR_BGN_DT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, EXPSR_END_DT
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(urlDvCd)">
|
||||
, URL_DV_CD
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
, URL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orginlFilNm)">
|
||||
, ORGINL_FIL_NM /*원본파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sysFilNm)">
|
||||
, SYS_FIL_NM /*시스템파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filMg)">
|
||||
, FIL_MG /*파일크기*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filTy)">
|
||||
, FIL_TY /*파일타입*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filCours)">
|
||||
, FIL_COURS /*파일경로*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bannerUrl)">
|
||||
, BANNER_URL
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuChrColor)">
|
||||
,MENU_CHR_COLOR
|
||||
</if>
|
||||
, USE_AT
|
||||
, REGUSR
|
||||
, REGIST_DT
|
||||
, UPDUSR
|
||||
, UPDT_DT
|
||||
) VALUES (
|
||||
#{ctgryId}
|
||||
, #{upperCtgryId}
|
||||
, #{sopmalCd}
|
||||
, #{ctgryNm}
|
||||
, #{ctgryDepth}
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sortOrdr)">
|
||||
, #{sortOrdr}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryDvCd)">
|
||||
, #{ctgryDvCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(goodsCtgryExpsrAt)">
|
||||
, #{goodsCtgryExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuExpsrAt)">
|
||||
, #{menuExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(gnbExpsrAt)">
|
||||
, #{gnbExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(pgeExpsrAt)">
|
||||
, #{pgeExpsrAt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrCd)">
|
||||
, #{expsrCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
, #{expsrBgnDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
, #{expsrEndDt}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(urlDvCd)">
|
||||
, #{urlDvCd}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(url)">
|
||||
, #{url}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(orginlFilNm)">
|
||||
, #{orginlFilNm} /*원본파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(sysFilNm)">
|
||||
, #{sysFilNm} /*시스템파일명*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filMg)">
|
||||
, #{filMg} /*파일크기*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filTy)">
|
||||
, #{filTy} /*파일타입*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(filCours)">
|
||||
, #{filCours} /*파일경로*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(bannerUrl)">
|
||||
, #{bannerUrl}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(menuChrColor)">
|
||||
, #{menuChrColor} /*메뉴 글자색*/
|
||||
</if>
|
||||
, 'Y'
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
, #{regusr}
|
||||
, NOW()
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 카테고리 저장-->
|
||||
<update id="updateBOCtgryManage"
|
||||
parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY
|
||||
SET
|
||||
CTGRY_NM = #{ctgryNm}, /*카테고리명*/
|
||||
SORT_ORDR = #{sortOrdr}, /*순서*/
|
||||
CTGRY_DV_CD = #{ctgryDvCd}, /*카테고리구분코드*/
|
||||
GOODS_CTGRY_EXPSR_AT = #{goodsCtgryExpsrAt}, /*상품카테고리노출여부*/
|
||||
MENU_EXPSR_AT = #{menuExpsrAt}, /*메뉴노출여부*/
|
||||
GNB_EXPSR_AT = #{gnbExpsrAt}, /*GNB 노출여부*/
|
||||
PGE_EXPSR_AT = #{pgeExpsrAt}, /*페이지 노출여부*/
|
||||
EXPSR_CD = #{expsrCd}, /*노출구분*/
|
||||
MENU_CHR_COLOR = #{menuChrColor},
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrBgnDt)">
|
||||
EXPSR_BGN_DT = #{expsrBgnDt}, /*노출구분 시작일자*/
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(expsrEndDt)">
|
||||
EXPSR_END_DT = #{expsrEndDt}, /*노출구분 종료자*/
|
||||
</if>
|
||||
<choose>
|
||||
<when test="fileUse == 'new'">
|
||||
ORGINL_FIL_NM = #{orginlFilNm},
|
||||
SYS_FIL_NM = #{sysFilNm},
|
||||
FIL_MG = #{filMg},
|
||||
FIL_TY = #{filTy},
|
||||
FIL_COURS = #{filCours},
|
||||
</when>
|
||||
<when test="fileUse == 'none'">
|
||||
ORGINL_FIL_NM = NULL,
|
||||
SYS_FIL_NM = NULL,
|
||||
FIL_MG = NULL,
|
||||
FIL_TY = NULL,
|
||||
FIL_COURS = NULL,
|
||||
</when>
|
||||
<otherwise>
|
||||
</otherwise>
|
||||
</choose>
|
||||
BANNER_URL = #{bannerUrl},
|
||||
URL_DV_CD = #{urlDvCd},
|
||||
URL = #{url}, /*URL*/
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 정렬순서 업데이트 -->
|
||||
<update id="updateBOCtgrySortOrdr" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY
|
||||
SET SORT_ORDR = #{sortOrdr},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</update>
|
||||
|
||||
<!-- 카테고리 삭제 -->
|
||||
<update id="deleteBOCtgryManage" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
<![CDATA[
|
||||
UPDATE GC_CATEGORY
|
||||
SET USE_AT = 'N'
|
||||
, UPDUSR = #{updusr}
|
||||
, UPDT_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND CTGRY_ID = #{ctgryId}
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
]]>
|
||||
</update>
|
||||
|
||||
<select id="selectCtgryId" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="java.lang.Integer">
|
||||
SELECT IFNULL(MAX(CTGRY_ID), 0)+1
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
|
||||
<!--관리자 > 카테고리 조회-->
|
||||
<select id="selectGoodsCategoryList" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
SELECT GC.CTGRY_ID
|
||||
, IFNULL(GC.UPPER_CTGRY_ID, 0) AS UPPER_CTGRY_ID
|
||||
, GC.CTGRY_DEPTH
|
||||
, GC.CTGRY_NM
|
||||
FROM GC_CATEGORY GC
|
||||
WHERE 1=1
|
||||
AND GC.USE_AT = 'Y'
|
||||
AND GC.GOODS_CTGRY_EXPSR_AT = 'Y'
|
||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
||||
AND IFNULL(GC.UPPER_CTGRY_ID, 0) = #{upperCtgryId}
|
||||
ORDER BY GC.CTGRY_ID
|
||||
, GC.CTGRY_DEPTH
|
||||
, GC.UPPER_CTGRY_ID
|
||||
, GC.SORT_ORDR
|
||||
</select>
|
||||
|
||||
<!--사용자 > 카테고리 상품 목록조회-->
|
||||
<select id="selectGoodsSopmalCatgryList" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
WITH RECURSIVE CATEGORY_PATH AS (
|
||||
SELECT
|
||||
FC.CTGRY_DEPTH,
|
||||
FC.CTGRY_ID AS BASE_CTGRY_ID,
|
||||
FC.CTGRY_NM AS BASE_CTGRY_NM,
|
||||
FC.CTGRY_ID,
|
||||
FC.UPPER_CTGRY_ID,
|
||||
FC.CTGRY_NM,
|
||||
FC.SOPMAL_CD,
|
||||
FC.SORT_ORDR
|
||||
FROM GC_CATEGORY FC
|
||||
WHERE
|
||||
<choose>
|
||||
<when test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryId)">
|
||||
FC.CTGRY_ID = #{ctgryId}
|
||||
</when>
|
||||
<otherwise>
|
||||
FC.CTGRY_CD = #{code}
|
||||
</otherwise>
|
||||
</choose>
|
||||
AND FC.SOPMAL_CD = #{sopmalCd}
|
||||
AND FC.USE_AT = 'Y'
|
||||
AND FC.PGE_EXPSR_AT = 'Y'
|
||||
UNION ALL
|
||||
SELECT
|
||||
C.CTGRY_DEPTH,
|
||||
P.BASE_CTGRY_ID,
|
||||
P.BASE_CTGRY_NM,
|
||||
C.CTGRY_ID,
|
||||
C.UPPER_CTGRY_ID,
|
||||
C.CTGRY_NM,
|
||||
C.SOPMAL_CD,
|
||||
C.SORT_ORDR
|
||||
FROM GC_CATEGORY C
|
||||
INNER JOIN CATEGORY_PATH P
|
||||
ON C.UPPER_CTGRY_ID = P.CTGRY_ID
|
||||
AND C.SOPMAL_CD = P.SOPMAL_CD
|
||||
WHERE C.SOPMAL_CD = #{sopmalCd}
|
||||
AND C.PGE_EXPSR_AT = 'Y'
|
||||
AND C.USE_AT = 'Y'
|
||||
)
|
||||
SELECT
|
||||
P.CTGRY_DEPTH,
|
||||
P.CTGRY_ID,
|
||||
P.UPPER_CTGRY_ID,
|
||||
P.CTGRY_NM,
|
||||
P.SOPMAL_CD,
|
||||
P.BASE_CTGRY_NM,
|
||||
P.BASE_CTGRY_ID,
|
||||
P.SORT_ORDR
|
||||
FROM
|
||||
CATEGORY_PATH P
|
||||
WHERE 1=1
|
||||
AND P.CTGRY_ID != '2'
|
||||
AND P.UPPER_CTGRY_ID = 2 OR P.UPPER_CTGRY_ID = #{ctgryId} OR P.CTGRY_ID = #{ctgryId}
|
||||
ORDER BY
|
||||
CTGRY_DEPTH, SORT_ORDR ASC
|
||||
|
||||
</select>
|
||||
|
||||
<!--사용자 > 상품 목록 > 카테고리 배너 조회-->
|
||||
<select id="selectGoodsSopmalCatgryBanner" parameterType="com.wb.domainserver.domain.gcone.goods.goods.vo.BOGoodsVO" resultType="dataMap">
|
||||
SELECT
|
||||
GC.SOPMAL_CD
|
||||
,GC.FIL_COURS
|
||||
,GC.ORGINL_FIL_NM
|
||||
,GC.SYS_FIL_NM
|
||||
,BANNER_URL
|
||||
FROM
|
||||
GC_CATEGORY GC
|
||||
WHERE
|
||||
1 = 1
|
||||
AND GC.USE_AT = 'Y'
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(ctgryId)">
|
||||
AND GC.CTGRY_ID = #{ctgryId}
|
||||
</if>
|
||||
<if test="@com.wb.domainserver.util.dataaccess.MybaitsUtil@isNotEmpty(code)">
|
||||
AND GC.CTGRY_CD = #{code}
|
||||
</if>
|
||||
AND GC.SOPMAL_CD = #{sopmalCd}
|
||||
|
||||
</select>
|
||||
|
||||
<select id="selectBOCtgryOrdrCnt" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="java.lang.Integer">
|
||||
SELECT CTGRY_ID
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND USE_AT = 'Y'
|
||||
AND UPPER_CTGRY_ID = #{upperCtgryId}
|
||||
AND SORT_ORDR = #{sortOrdr};
|
||||
</select>
|
||||
|
||||
<update id="updateBOCtgryOrdr" parameterType="dataMap">
|
||||
<selectKey keyProperty="sortOrdr" resultType="java.lang.Integer" order="BEFORE">
|
||||
SELECT IFNULL(MAX(SORT_ORDR),0) + 1
|
||||
FROM GC_CATEGORY
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND USE_AT = 'Y'
|
||||
AND UPPER_CTGRY_ID = #{upperCtgryId}
|
||||
</selectKey>
|
||||
UPDATE GC_CATEGORY
|
||||
SET SORT_ORDR = #{sortOrdr}
|
||||
WHERE SOPMAL_CD = #{sopmalCd}
|
||||
AND CTGRY_ID = #{ctgryId}
|
||||
</update>
|
||||
|
||||
<select id="selectBOCtgryGoodsListInqurePopup" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO" resultType="dataMap">
|
||||
SELECT GCL.GOODS_INNB, GCL.GOODS_ORDR, GG.GOODS_NM, GCL.CTGRY_GOODS_ESNTL_NB
|
||||
FROM GC_CATEGORY_LINK GCL
|
||||
LEFT JOIN GC_GOODS GG
|
||||
ON GCL.GOODS_INNB = GG.GOODS_INNB AND GCL.SOPMAL_CD = GG.SOPMAL_CD
|
||||
WHERE GCL.SOPMAL_CD = #{sopmalCd}
|
||||
AND GCL.CTGRY_ID = #{ctgryId}
|
||||
ORDER BY GOODS_ORDR ASC
|
||||
</select>
|
||||
|
||||
<!-- 카테고리 상품 조회 -->
|
||||
<update id="updateBOCtgryGoodsOrdr" parameterType="com.wb.domainserver.domain.admin.sys.ctgry.vo.BOMaCtgryVO">
|
||||
UPDATE GC_CATEGORY_LINK
|
||||
SET GOODS_ORDR = #{goodsOrdr}
|
||||
WHERE 1=1
|
||||
AND CTGRY_GOODS_ESNTL_NB = #{ctgryGoodsEsntlNb}
|
||||
</update>
|
||||
|
||||
<!-- 쇼핑몰 카테고리 리스트 -->
|
||||
<select id="selectBOSopmalCtgry" parameterType="com.wb.domainserver.domain.admin.sys.menu.vo.BOMaMenuVO" resultType="dataMap">
|
||||
SELECT
|
||||
CTGRY_ID, SOPMAL_CD, CTGRY_NM
|
||||
FROM GC_CATEGORY
|
||||
WHERE USE_AT = 'Y'
|
||||
AND CTGRY_DEPTH = '2'
|
||||
AND SOPMAL_CD = #{sopmalCd}
|
||||
</select>
|
||||
</mapper>
|
||||
@@ -0,0 +1,210 @@
|
||||
<?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.fnct.mapper.BOFnctMapper">
|
||||
|
||||
<sql id="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere">
|
||||
WHERE
|
||||
1=1
|
||||
AND
|
||||
MF.USE_AT = 'Y'
|
||||
<if test="srchFnctNm != null and srchFnctNm != ''">
|
||||
AND
|
||||
UPPER(MF.FNCT_NM) LIKE CONCAT('%', UPPER(#{srchFnctNm}), '%')
|
||||
</if>
|
||||
<if test="srchFnctDv != null and srchFnctDv != ''">
|
||||
AND
|
||||
MF.FNCT_DV_CD= #{srchFnctDv}
|
||||
</if>
|
||||
<if test="srchFnctUrl != null and srchFnctUrl != ''">
|
||||
AND
|
||||
UPPER(MF.FNCT_URI) LIKE CONCAT('%', UPPER(#{srchFnctUrl}), '%')
|
||||
</if>
|
||||
<if test="srchSysDvCd != null and srchSysDvCd != ''">
|
||||
AND
|
||||
MF.SYS_DV_CD = #{srchSysDvCd}
|
||||
</if>
|
||||
</sql>
|
||||
|
||||
<!-- 페이징처리를 위한 게시판 목록 총 개수 -->
|
||||
<select id="selectBOFnctTotCnt"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT COUNT(*)
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
and MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY
|
||||
REGIST_ORD DESC
|
||||
) BM
|
||||
WHERE
|
||||
(@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기능 목록 조회 -->
|
||||
<select id="selectBOFnctList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "DataMap">
|
||||
SELECT *
|
||||
FROM (
|
||||
SELECT
|
||||
CAST(@ROWNUM:=@ROWNUM+1 AS UNSIGNED) AS RNUM, BM.*
|
||||
FROM (
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', MF.SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
MF.FNCT_NM,
|
||||
MF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', MF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
MF.FNCT_URI,
|
||||
MF.FNCT_DC,
|
||||
MF.USE_AT,
|
||||
MF.REGUSR,
|
||||
DATE_FORMAT(MF.REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
MF.UPDUSR,
|
||||
DATE_FORMAT(MF.UPDT_DT, '%Y-%m-%d') AS UPDT_DT,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
AND MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY REGIST_ORD DESC
|
||||
) BM
|
||||
WHERE (@ROWNUM:=0)=0
|
||||
) PV
|
||||
WHERE 1=1
|
||||
LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 기능 상세 조회 -->
|
||||
<select id="selectBOFnctDetail"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
SELECT
|
||||
FNCT_ID,
|
||||
SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('MNGR_DV', SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
FNCT_NM,
|
||||
FNCT_DV_CD,
|
||||
FNCT_URI,
|
||||
FNCT_DC,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
DATE_FORMAT(REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
UPDUSR,
|
||||
DATE_FORMAT(UPDT_DT, '%Y-%m-%d') AS UPDT_DT
|
||||
FROM GC_FNCT MF
|
||||
WHERE 1=1
|
||||
AND USE_AT = 'Y'
|
||||
AND FNCT_ID = #{fnctId}
|
||||
</select>
|
||||
|
||||
<!-- 기능 URL 중복여부 조회 -->
|
||||
<select id="selectBOFnctUrlDplct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "Integer">
|
||||
SELECT COUNT(1)
|
||||
FROM GC_FNCT
|
||||
WHERE 1=1
|
||||
AND FNCT_URI = #{fnctUri}
|
||||
AND SYS_DV_CD = #{sysDvCd}
|
||||
AND USE_AT = 'Y'
|
||||
</select>
|
||||
|
||||
<!-- 기능 등록 -->
|
||||
<insert id="insertBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
<selectKey order="BEFORE" keyProperty="fnctId" resultType="java.lang.String">
|
||||
SELECT CAST(IFNULL(COUNT(FNCT_ID), 0) AS UNSIGNED)+1
|
||||
FROM GC_FNCT
|
||||
</selectKey>
|
||||
INSERT INTO GC_FNCT
|
||||
(
|
||||
FNCT_ID,
|
||||
SYS_DV_CD,
|
||||
FNCT_DV_CD,
|
||||
FNCT_URI,
|
||||
FNCT_NM,
|
||||
FNCT_DC,
|
||||
USE_AT,
|
||||
REGUSR,
|
||||
REGIST_DT,
|
||||
UPDUSR,
|
||||
UPDT_DT
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
#{fnctId},
|
||||
#{sysDvCd},
|
||||
#{fnctDvCd},
|
||||
#{fnctUri},
|
||||
#{fnctNm},
|
||||
#{fnctDc},
|
||||
#{useAt},
|
||||
#{regusr},
|
||||
NOW(),
|
||||
null,
|
||||
null
|
||||
)
|
||||
</insert>
|
||||
|
||||
<!-- 기능 수정 -->
|
||||
<update id="updateBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
UPDATE GC_FNCT
|
||||
SET SYS_DV_CD = #{sysDvCd},
|
||||
FNCT_NM = #{fnctNm},
|
||||
FNCT_DV_CD = #{fnctDvCd},
|
||||
FNCT_DC = #{fnctDc},
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE 1=1
|
||||
AND FNCT_ID = #{fnctId}
|
||||
</update>
|
||||
|
||||
<!-- 기능 삭제 -->
|
||||
<update id="deleteBOFnct"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO">
|
||||
UPDATE GC_FNCT
|
||||
SET USE_AT = 'N',
|
||||
UPDUSR = #{updusr},
|
||||
UPDT_DT = NOW()
|
||||
WHERE FNCT_ID = #{fnctId}
|
||||
</update>
|
||||
|
||||
<!-- 기능 목록 엑셀 -->
|
||||
<select id="selectBOFnctExcelList"
|
||||
parameterType = "com.wb.domainserver.domain.admin.sys.fnct.vo.BOFnctVO"
|
||||
resultType = "DataMap">
|
||||
SELECT
|
||||
MF.FNCT_ID,
|
||||
MF.SYS_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('SYS_DV', MF.SYS_DV_CD) AS SYS_DV_CD_NM,
|
||||
MF.FNCT_NM,
|
||||
MF.FNCT_DV_CD,
|
||||
FN_GET_COMMCODE_NAME('FNCT_DV', MF.FNCT_DV_CD) AS FNCT_DV_NM,
|
||||
MF.FNCT_URI,
|
||||
MF.FNCT_DC,
|
||||
MF.USE_AT,
|
||||
MF.REGUSR,
|
||||
DATE_FORMAT(MF.REGIST_DT, '%Y-%m-%d') AS REGIST_DT,
|
||||
MF.UPDUSR,
|
||||
DATE_FORMAT(MF.UPDT_DT, '%Y-%m-%d') AS UPDT_DT,
|
||||
MF.REGIST_DT AS REGIST_ORD
|
||||
FROM GC_FNCT MF
|
||||
<include refid="srchFnctNmAsrchfnctDvAsrchFnctUrlWhere" />
|
||||
AND MF.FNCT_URI IS NOT NULL
|
||||
ORDER BY REGIST_ORD DESC
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user