itsm_ysm/bin/main/mapper/primarydb/sqlmap/itms/bbs/BBSUseMapper.xml
2025-08-11 18:00:07 +09:00

181 lines
5.3 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">
<!--
/**
* 게시판 이용정보 관리 쿼리문
*
* @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.BBSUseInfoManageDAO">
<!-- 사용정보 등록 -->
<insert id="insertBBSUseInf" parameterType="java.util.LinkedHashMap">
INSERT INTO
TB_BBS_PRCUSE_INFO
(
BBS_ID
, TRG_ID
, REG_DVCD
, USE_AT
, FRST_REGR_ID
, FRST_REG_DTM
)
VALUES
(
#{bbsId}
, #{trgetId}
, #{registSeCode}
, #{useAt}
, #{frstRegisterId}
, SYSDATE()
)
</insert>
<!-- 게시판에 대한 사용정보 삭제 -->
<!-- 사용정보를 N으로 바꿈 (Y, N) -->
<update id="deleteBBSUseInfByBoardId" parameterType="java.util.LinkedHashMap">
UPDATE
TB_BBS_PRCUSE_INFO
SET
USE_AT = 'N'
, LAST_UPDR_ID = #{lastUpdusrId}
, LAST_UPD_DTM = SYSDATE()
WHERE
BBS_ID = #{bbsId}
</update>
<!-- 게시판 사용정보 목록을 조회한다. -->
<select id="selectBBSUseInfs" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
SELECT a.BBS_ID AS bbsId
, e.BBS_NM AS bbsNm
, a.TRG_ID AS trgetId
, a.REG_DVCD AS registSeCode
, b.CD_NM AS registSeCodeNm
, a.USE_AT AS useAt
, a.FRST_REGR_ID AS frstRegisterId
, DATE_FORMAT(a.FRST_REG_DTM, '%Y-%m-%d') AS frstRegisterPnttm
, '시스템 활용' AS cmmntyId
, '시스템 활용' AS cmmntyNm
, '시스템 활용' AS clbId
, '시스템 활용' AS clbNm
, '시스템 활용' AS bbsTyCode
FROM
TB_BBS_PRCUSE_INFO AS a
LEFT OUTER JOIN
TB_BBS_MASTR_INFO AS e
ON
a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN
TB_CMM_DTL_CD_INFO AS b
ON
b.CD = a.REG_DVCD
WHERE
b.CD_ID = 'COM001'
AND
a.REG_DVCD != 'REGC07'
<if test="searchCnd == 0">
AND
e.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
ORDER BY
a.FRST_REG_DTM
DESC
LIMIT
#{recordCountPerPage}
OFFSET
#{firstIndex}
</select>
<!-- 게시판 사용정보 목록 건수를 조회한다. -->
<select id="selectBBSUseInfsCnt" parameterType="java.util.LinkedHashMap" resultType="java.lang.Integer">
SELECT
COUNT(a.BBS_ID)
FROM
TB_BBS_PRCUSE_INFO AS a
LEFT OUTER JOIN
TB_BBS_MASTR_INFO AS e
ON
a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN
TB_CMM_DTL_CD_INFO AS b
ON
b.CD = a.REG_DVCD
WHERE
b.CD_ID = 'COM001'
AND
a.REG_DVCD != 'REGC07'
<if test="searchCnd == 0">
AND
e.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%')
</if>
</select>
<!-- 게시판 사용정보에 대한 상세정보를 조회한다. -->
<select id="selectBBSUseInf" parameterType="java.util.LinkedHashMap" resultType="java.util.LinkedHashMap">
SELECT a.BBS_ID AS bbsId
, e.BBS_NM AS bbsNm
, a.TRG_ID AS trgetId
, a.REG_DVCD AS registSeCode
, b.CD_NM AS registSeCodeNm
, a.USE_AT AS useAt
, a.FRST_REGR_ID AS frstRegisterId
, DATE_FORMAT(a.FRST_REG_DTM, '%Y-%m-%d') AS frstRegisterPnttm
, '시스템 활용' AS cmmntyId
, '시스템 활용' AS cmmntyNm
, '시스템 활용' AS clbId
, '시스템 활용' AS clbNm
, '시스템 활용' AS bbsTyCode
FROM
TB_BBS_PRCUSE_INFO AS a
LEFT OUTER JOIN
TB_BBS_MASTR_INFO AS e
ON
a.BBS_ID = e.BBS_ID
LEFT OUTER JOIN
TB_CMM_DTL_CD_INFO AS b
ON
b.CD = a.REG_DVCD
WHERE
b.CD_ID = 'COM001'
AND
a.BBS_ID = #{bbsId}
AND
a.TRG_ID = #{trgetId}
</select>
<!-- 게시판 사용정보를 수정한다. -->
<update id="updateBBSUseInf" parameterType="java.util.LinkedHashMap">
UPDATE
TB_BBS_PRCUSE_INFO
SET
USE_AT = #{useAt}
, LAST_UPDR_ID = #{lastUpdusrId}
, LAST_UPD_DTM = SYSDATE()
WHERE
BBS_ID = #{bbsId}
</update>
</mapper>