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,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>