
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<?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">
<!--
작성자 : takensoft
작성일 : 2024.04.09
내 용 : 접근 제어 관리 관련
-->
<mapper namespace="com.takensoft.cms.accesCtrl.dao.AccesCtrlDAO">
<!--
작성자 : takensoft
작성일 : 2024.04.09
내 용 : 접근 제어 등록
-->
<insert id="save" parameterType="AccesCtrlVO" useGeneratedKeys="true" keyProperty="acsCntrlId">
INSERT INTO acs_cntrl_mng (
cntrl_type
, cntrl_ip
, cntrl_path
, use_yn
, rgtr
, reg_dt
) VALUES (
#{cntrlType}
, #{cntrlIp}
, #{cntrlPath}
, 'Y'
, #{rgtr}
, NOW()
)
</insert>
<!--
작성자 : takensoft
작성일 : 2024.04.15
내 용 : 접근 제어 수정
-->
<update id="update" parameterType="AccesCtrlVO">
UPDATE acs_cntrl_mng
SET cntrl_type = #{cntrlType}
, cntrl_ip = #{cntrlIp}
, cntrl_path = #{cntrlPath}
, use_yn = #{useYn}
, mdfr = #{mdfr}
, mdfcn_dt = NOW()
WHERE acs_cntrl_id = #{acsCntrlId}
</update>
<sql id="selectAccesCtrl">
SELECT acm.acs_cntrl_id
, acm.cntrl_type
, cm.cd_nm AS cntrl_type_nm
, acm.cntrl_ip
, acm.cntrl_path
, acm.use_yn
, acm.rgtr
, TO_CHAR(acm.reg_dt, 'YYYY-MM-DD HH24:MI') AS reg_dt
, acm.mdfr
, TO_CHAR(acm.mdfcn_dt, 'YYYY-MM-DD HH24:MI') AS mdfcn_dt
FROM acs_cntrl_mng acm
LEFT JOIN cd_mng cm
ON acm.cntrl_type = cm.cd
</sql>
<sql id="selectRequirement">
<if test="searchText != null and searchText != ''">
<choose>
<when test="searchType != null and searchType != ''">
<if test="searchType == 'ip'">
AND acm.cntrl_ip LIKE '%' || #{searchText} || '%'
</if>
<if test="searchType == 'crs'">
AND acm.cntrl_path LIKE '%' || #{searchText} || '%'
</if>
</when>
<otherwise>
AND (
acm.cntrl_ip LIKE '%' || #{searchText} || '%'
OR
acm.cntrl_path LIKE '%' || #{searchText} || '%'
)
</otherwise>
</choose>
</if>
</sql>
<!--
작성자 : takensoft
작성일 : 2024.04.12
내 용 : 접근 제어 조회(관리자 페이지용)
-->
<select id="findAll" parameterType="Pagination" resultType="AccesCtrlVO">
<include refid="selectAccesCtrl" />
WHERE acm.use_yn = 'Y'
<include refid="selectRequirement" />
/* ORDER BY COALESCE(acm.mdfcn_dt, acm.reg_dt) DESC */
ORDER BY acm.reg_dt DESC
LIMIT #{recordSize} OFFSET #{limitStart}
</select>
<!--
작성자 : takensoft
작성일 : 2024.04.18
내 용 : 접근제어 목록 갯수(관리자 페이지용)
-->
<select id="findAllCnt" parameterType="Pagination" resultType="Integer">
SELECT COUNT(acm.acs_cntrl_id)
FROM acs_cntrl_mng acm
WHERE acm.use_yn = 'Y'
<include refid="selectRequirement" />
</select>
<!--
작성자 : takensoft
작성일 : 2024.04.12
내 용 : 접근 제어 조회(시스템용 - 시큐리티 접근 제어)
-->
<select id="findAllAccesCtrlSecurity" parameterType="String" resultType="AccesCtrlVO">
<include refid="selectAccesCtrl" />
WHERE acm.use_yn = 'Y'
AND acm.cntrl_ip = #{ip}
</select>
<!--
작성자 : takensoft
작성일 : 2024.04.12
내 용 : 접근 제어 상세 조회
-->
<select id="findByAccesCtrl" parameterType="Integer" resultType="AccesCtrlVO">
<include refid="selectAccesCtrl" />
WHERE acm.acs_cntrl_id = #{acsCntrlId}
AND acm.use_yn = 'Y'
</select>
</mapper>