442 lines
11 KiB
XML
442 lines
11 KiB
XML
<?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">
|
|
|
|
<!--
|
|
/**
|
|
* 게시판생성관리 처리 쿼리문
|
|
* ** BBSMasterMapper.xml
|
|
*
|
|
* @author urp 인프라본부 나혁제
|
|
* @since 2025.01.20
|
|
* @version 1.0.0
|
|
* @see
|
|
*
|
|
* <pre>
|
|
*
|
|
* << 개정이력(Modification information) >>
|
|
*
|
|
* 수정일 수정자 수정내용
|
|
*ㅡㅡㅡㅡㅡㅡㅡㅡ ㅡㅡㅡㅡㅡㅡㅡㅡ ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
|
|
* 2025.01.20 나혁제 최초작성
|
|
*
|
|
* </pre>
|
|
*/
|
|
-->
|
|
|
|
<mapper namespace="com.urpsys.itmsapi.bbs.dao.BBSAttributeManageDAO">
|
|
|
|
<!-- 게시판생성관리::목록조회 -->
|
|
<select id="selectBBSMasterInfs" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
|
|
|
|
SELECT a.BBS_ID AS bbsId
|
|
, a.BBS_TYCD AS bbsTyCode
|
|
, b.CD_NM AS bbsTyCodeNm
|
|
, a.BBS_ATRB_CD AS bbsAttrbCode
|
|
, c.CD_NM AS bbsAttrbCodeNm
|
|
, a.BBS_NM AS bbsNm
|
|
, a.TPL_ID AS tmplatId
|
|
, a.USE_AT AS useAt
|
|
, DATE_FORMAT(a.FRST_REG_DTM, '%Y-%m-%d') AS frstRegisterPnttm
|
|
FROM
|
|
TB_BBS_MASTR_INFO AS a
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM004'
|
|
AND
|
|
USE_AT='Y'
|
|
) AS b
|
|
ON
|
|
a.BBS_TYCD = b.CD
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM009'
|
|
AND
|
|
USE_AT='Y'
|
|
) AS c
|
|
ON
|
|
a.BBS_ATRB_CD = c.CD
|
|
WHERE
|
|
1=1
|
|
<!--
|
|
/** 게시판 등록 화면에 사용여부를 추가하여, useAt의 값에 따라 게시판 목록결과가 바뀌지 않도록 하기 위해 주석처리=>일단 제거 */
|
|
<if test="useAt != null and useAt != ''">
|
|
AND
|
|
a.USE_AT = #{useAt}
|
|
</if> -->
|
|
|
|
<if test="searchCnd == 0">
|
|
AND
|
|
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
<if test="searchCnd == 1">
|
|
AND
|
|
b.CD_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
ORDER BY
|
|
a.FRST_REG_DTM
|
|
DESC
|
|
LIMIT
|
|
#{recordCountPerPage}
|
|
OFFSET
|
|
#{firstIndex}
|
|
</select>
|
|
|
|
<!-- 게시판생성관리::목록조회 Count -->
|
|
<select id="selectBBSMasterInfsCnt" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer">
|
|
|
|
SELECT
|
|
COUNT(a.BBS_ID)
|
|
FROM
|
|
TB_BBS_MASTR_INFO AS a
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM004'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS b
|
|
ON
|
|
a.BBS_TYCD = b.CD
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM009'
|
|
AND
|
|
USE_AT='Y'
|
|
) AS c
|
|
ON
|
|
a.BBS_TYCD = c.CD
|
|
WHERE
|
|
1=1
|
|
<if test="useAt != null and useAt != ''">
|
|
AND
|
|
a.USE_AT = #{useAt}
|
|
</if>
|
|
<if test="searchCnd == 0">
|
|
AND
|
|
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
<if test="searchCnd == 1">
|
|
AND
|
|
b.CD_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 게시판생성관리::게시판 등록 -->
|
|
<insert id="insertBBSMasterInf" parameterType="java.util.LinkedHashMap">
|
|
|
|
INSERT INTO
|
|
TB_BBS_MASTR_INFO
|
|
(
|
|
BBS_ID
|
|
, BBS_TYCD
|
|
, BBS_ATRB_CD
|
|
, BBS_NM
|
|
, BBS_INTR
|
|
, REPLY_POSBL_AT
|
|
, FILE_ATCH_PSBL_AT
|
|
, ATCH_PSBL_FILE_NUM
|
|
, ATCH_POSBL_FILE_SIZE
|
|
, TPL_ID
|
|
, USE_AT
|
|
, FRST_REGR_ID
|
|
, FRST_REG_DTM
|
|
, BLOG_ID
|
|
, BLOG_AT
|
|
)
|
|
VALUES
|
|
(
|
|
#{bbsId}
|
|
, #{bbsTyCode}
|
|
, #{bbsAttrbCode}
|
|
, #{bbsNm}
|
|
, #{bbsIntrcn}
|
|
, #{replyPosblAt}
|
|
, #{fileAtchPosblAt}
|
|
, #{posblAtchFileNumber}
|
|
, #{posblAtchFileSize}
|
|
, #{tmplatId}
|
|
, #{useAt}
|
|
, #{frstRegisterId}
|
|
, SYSDATE()
|
|
, #{blogId}
|
|
, #{blogAt}
|
|
)
|
|
</insert>
|
|
|
|
<!-- 게시판생성관리::게시판 상세조회 -->
|
|
<select id="selectBBSMasterInf" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
|
|
|
|
SELECT a.BBS_ID AS bbsId
|
|
, a.BBS_TYCD AS bbsTyCode
|
|
, b.CD_NM AS bbsTyCodeNm
|
|
, a.BBS_INTR AS bbsIntrcn
|
|
, a.BBS_ATRB_CD AS bbsAttrbCode
|
|
, c.CD_NM AS bbsAttrbCodeNm
|
|
, a.BBS_NM AS bbsNm
|
|
, a.TPL_ID AS tmplatId
|
|
, d.TPL_NM AS tmplatNm
|
|
, d.TPL_PATH AS tmplatCours
|
|
, a.FILE_ATCH_PSBL_AT AS fileAtchPosblAt
|
|
, a.ATCH_PSBL_FILE_NUM AS posblAtchFileNumber
|
|
, a.ATCH_POSBL_FILE_SIZE AS posblAtchFileSize
|
|
, a.REPLY_POSBL_AT AS replyPosblAt
|
|
, a.FRST_REGR_ID AS frstRegisterId
|
|
, e.USER_NM AS frstRegisterNm
|
|
, a.USE_AT AS useAt
|
|
, DATE_FORMAT(a.FRST_REG_DTM, '%Y-%m-%d') AS frstRegisterPnttm
|
|
, (
|
|
SELECT
|
|
IFNULL(USE_AT,'N')
|
|
FROM
|
|
TB_BBS_PRCUSE_INFO
|
|
WHERE
|
|
BBS_ID = #{bbsId}
|
|
AND
|
|
TRG_ID IN (
|
|
#{uniqId}
|
|
, 'SYSTEM_DEFAULT_BOARD'
|
|
, 'SYSTEMDEFAULT_REGIST' <!-- , 'SYSTEMDEFAULT_REGIST' : 블로그에서 추가한 값 -->
|
|
)
|
|
) AS authFlag
|
|
<!-- 추가 : 블로그 -->
|
|
, a.BLOG_ID AS blogId
|
|
, a.BLOG_AT AS blogAt
|
|
FROM
|
|
TB_BBS_MASTR_INFO AS a
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM004'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS b
|
|
ON
|
|
a.BBS_TYCD = b.CD
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM009'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS c
|
|
ON
|
|
a.BBS_ATRB_CD = c.CD
|
|
LEFT OUTER JOIN
|
|
TB_TPL_INFO AS d
|
|
ON
|
|
a.TPL_ID = d.TPL_ID
|
|
LEFT OUTER JOIN
|
|
COMVNUSERMASTER AS e
|
|
ON
|
|
a.FRST_REGR_ID = e.ESNTL_ID
|
|
WHERE
|
|
a.BBS_ID = #{bbsId}
|
|
</select>
|
|
|
|
<!-- 게시판 마스터 정보 수정 -->
|
|
<update id="updateBBSMasterInf" parameterType="java.util.LinkedHashMap">
|
|
|
|
UPDATE
|
|
TB_BBS_MASTR_INFO
|
|
SET
|
|
BBS_NM = #{bbsNm}
|
|
, BBS_INTR = #{bbsIntrcn}
|
|
, FILE_ATCH_PSBL_AT = #{fileAtchPosblAt}
|
|
, ATCH_PSBL_FILE_NUM = #{posblAtchFileNumber}
|
|
, ATCH_POSBL_FILE_SIZE = #{posblAtchFileSize}
|
|
, TPL_ID = #{tmplatId}
|
|
, LAST_UPDR_ID = #{lastUpdusrId}
|
|
, LAST_UPD_DTM = SYSDATE()
|
|
, USE_AT = #{useAt} <!-- 게시판 등록에 사용여부 추가로 인해 추가 -->
|
|
WHERE
|
|
BBS_ID = #{bbsId}
|
|
</update>
|
|
|
|
<!-- 게시판 마스터 정보 삭제 -->
|
|
<!-- 사용정보를 N으로 바꿈 (Y, N) -->
|
|
<update id="deleteBBSMasterInf" parameterType="java.util.LinkedHashMap">
|
|
|
|
UPDATE
|
|
TB_BBS_MASTR_INFO
|
|
SET
|
|
USE_AT = 'N'
|
|
, LAST_UPDR_ID = #{lastUpdusrId}
|
|
, LAST_UPD_DTM = SYSDATE()
|
|
WHERE
|
|
BBS_ID = #{bbsId}
|
|
</update>
|
|
|
|
<!-- 사용 중이지 않은 게시판 속성정보 목록 조회 -->
|
|
<select id="selectNotUsedBdMstrList" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
|
|
|
|
SELECT a.BBS_ID AS bbsId
|
|
, a.BBS_TYCD AS bbsTyCode
|
|
, b.CD_NM AS bbsTyCodeNm
|
|
, a.BBS_ATRB_CD AS bbsAttrbCode
|
|
, c.CD_NM AS bbsAttrbCodeNm
|
|
, a.BBS_NM AS bbsNm
|
|
, a.TPL_ID AS tmplatId
|
|
, a.USE_AT AS useAt
|
|
, DATE_FORMAT(a.FRST_REG_DTM, '%Y-%m-%d') AS frstRegisterPnttm
|
|
FROM
|
|
TB_BBS_MASTR_INFO AS a
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM004'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS b
|
|
ON
|
|
a.BBS_TYCD = b.CD
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM009'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS c
|
|
ON
|
|
a.BBS_ATRB_CD = c.CD
|
|
WHERE
|
|
a.USE_AT = 'Y'
|
|
AND
|
|
a.BBS_ID NOT IN (
|
|
SELECT
|
|
BBS_ID
|
|
FROM
|
|
TB_BBS_PRCUSE_INFO
|
|
<!-- WHERE
|
|
USE_AT = 'Y' --><!-- 사용관리 목록에 추가되어 있자만 사용중지 상태인 게시판이 나오지 않도록 주석처리 -->
|
|
)
|
|
<if test="searchCnd == 0">
|
|
AND
|
|
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
<if test="searchCnd == 1">
|
|
AND
|
|
b.CD_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
ORDER BY
|
|
a.FRST_REG_DTM
|
|
DESC
|
|
LIMIT
|
|
#{recordCountPerPage}
|
|
OFFSET
|
|
#{firstIndex}
|
|
</select>
|
|
|
|
<!-- 사용 중이지 않은 게시판 속성정보 목록 건수 조회 -->
|
|
<select id="selectNotUsedBdMstrListCnt" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer">
|
|
|
|
SELECT
|
|
COUNT(a.BBS_ID)
|
|
FROM
|
|
TB_BBS_MASTR_INFO AS a
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM004'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS b
|
|
ON
|
|
a.BBS_TYCD = b.CD
|
|
LEFT OUTER JOIN
|
|
(
|
|
SELECT CD_ID
|
|
, CD
|
|
, CD_NM
|
|
FROM
|
|
TB_CMM_DTL_CD_INFO
|
|
WHERE
|
|
CD_ID = 'COM009'
|
|
AND
|
|
USE_AT = 'Y'
|
|
) AS c
|
|
ON
|
|
a.BBS_ATRB_CD = c.CD
|
|
WHERE
|
|
a.USE_AT = 'Y'
|
|
AND
|
|
a.BBS_ID NOT IN (
|
|
SELECT
|
|
BBS_ID
|
|
FROM
|
|
TB_BBS_PRCUSE_INFO
|
|
WHERE
|
|
USE_AT = 'Y'
|
|
)
|
|
<if test="searchCnd == 0">
|
|
AND
|
|
a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
<if test="searchCnd == 1">
|
|
AND
|
|
b.CD_NM LIKE CONCAT ('%', #{searchWrd},'%')
|
|
</if>
|
|
</select>
|
|
|
|
<!-- 게시판마스터 useAt 수정 -->
|
|
<update id="updateBBSMasterInf_USEAT" parameterType="java.util.LinkedHashMap">
|
|
|
|
UPDATE
|
|
TB_BBS_MASTR_INFO
|
|
SET
|
|
USE_AT = #{useAt}
|
|
, LAST_UPDR_ID = #{lastUpdusrId}
|
|
, LAST_UPD_DTM = SYSDATE()
|
|
WHERE
|
|
BBS_ID = #{bbsId}
|
|
</update>
|
|
|
|
</mapper> |