
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
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">
<mapper namespace="com.takensoft.taken_bi_manager.meta.wrd.dao.StdWrdDAO">
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 목록 조회 SQL.
-->
<select id="getStdWrdList" parameterType="SearchVO" resultType="StdWrd">
SELECT
wrd_seq
, korean
, english
, english_abbr
, wrd_dc
, sys_group
, creat_dt
, creat_id
, updt_dt
, updt_id
, use_at
, std_at
FROM
std_wrd
WHERE
std_at = true
AND
use_at = true
<!-- 검색영역 -->
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<when test="item.type != null and item.type !='' and item.type == 'dates'">
AND
#{item.value}::timestamp <![CDATA[<=]]> ${item.key}::timestamp
AND
${item.key}::timestamp <![CDATA[<]]> #{item.value2}::timestamp + INTERVAL '1' DAY
</when>
<when test="item.type != null and item.type !='' and item.type == 'bool' and item.value != null and item.value !=''">
${item.key} = #{item.value}
</when>
<when test="item.type != null and item.type !='' and item.value != null and item.value !='' and item.type == 'eq'">
AND
${item.key} = #{item.value}
</when>
<when test="item.type != null and item.type !='' and item.value != null and item.value !=''">
AND
${item.key} LIKE CONCAT('%', #{item.value}, '%')
</when>
</choose>
</foreach>
<!-- 검색영역 끝 -->
ORDER BY
korean ASC
LIMIT #{perPage} OFFSET ((#{currentPage} - 1) * #{perPage})
</select>
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 목록 조회 SQL.
-->
<select id="getStdWrdListCount" parameterType="SearchVO" resultType="java.lang.Integer">
SELECT
count(*)
FROM
std_wrd
WHERE
std_at = true
AND
use_at = true
<!-- 검색영역 -->
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<when test="item.type != null and item.type !='' and item.type == 'dates'">
AND
#{item.value}::timestamp <![CDATA[<=]]> ${item.key}::timestamp
AND
${item.key}::timestamp <![CDATA[<]]> #{item.value2}::timestamp + INTERVAL '1' DAY
</when>
<when test="item.type != null and item.type !='' and item.type == 'bool' and item.value != null and item.value !=''">
${item.key} = #{item.value}
</when>
<when test="item.type != null and item.type !='' and item.value != null and item.value !='' and item.type == 'eq'">
AND
${item.key} = #{item.value}
</when>
<when test="item.type != null and item.type !='' and item.value != null and item.value !=''">
AND
${item.key} LIKE CONCAT('%', #{item.value}, '%')
</when>
</choose>
</foreach>
<!-- 검색영역 끝 -->
</select>
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 삭제 SQL.
-->
<delete id="deleteStdWrd" parameterType="StdWrd">
DELETE FROM
std_wrd
WHERE
korean = #{korean} and
english = #{english} and
english_abbr = #{english_abbr}
</delete>
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 검색(=) SQL.
-->
<select id="getStdWrdListByEquals" parameterType="java.lang.String" resultType="StdWrd">
SELECT
wrd_seq
<!-- , st.term_id AS termId -->
, korean
, english
, english_abbr
FROM
std_wrd
WHERE
(korean = #{value} OR english = #{value} OR english_abbr = #{value})
</select>
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 검색(LIKE) .
-->
<select id="getStdWrdListByContains" parameterType="java.lang.String" resultType="StdWrd">
SELECT
wrd_seq
, korean
, english
, english_abbr
FROM
std_wrd
WHERE
(korean LIKE CONCAT ('%', #{value}, '%') OR english LIKE CONCAT ('%', #{value}, '%') OR english_abbr LIKE CONCAT ('%', #{value}, '%'))
ORDER BY
search_count DESC
LIMIT 5
</select>
<!--
작성자 : 김성원
작성일 : 2024.03.11
내용 : 표준 용어 검색(LIKE) SQL입니다.
-->
<select id="getStdWrdListByMultiContains" parameterType="java.util.List" resultType="StdWrd">
SELECT
wrd_seq
, korean
, english
, english_abbr
FROM
std_wrd
WHERE
<foreach item="item" collection="list" separator=" OR ">
(korean LIKE CONCAT ('%', #{item}, '%') OR english LIKE CONCAT ('%', #{item}, '%') OR english_abbr LIKE CONCAT ('%', #{item}, '%'))
</foreach>
ORDER BY
search_count DESC
LIMIT 20
</select>
<!--
작성자 : 방선주
작성일 : 2024.04.24
내용 : 표준용어 수정 SQL입니다.
-->
<update id="stdWrdUpdate" parameterType="StdWrd">
UPDATE bi_manager.std_wrd
SET
korean = #{korean}
, english = #{english}
, english_abbr = #{english_abbr}
, wrd_dc = #{wrd_dc}
, sys_group = #{sys_group}
, updt_dt = date_trunc('second', now())
, updt_id = #{updt_id}
WHERE wrd_seq =#{wrd_seq}
</update>
<!--
작성자 : 방선주
작성일 : 2024.04.24
내용 : max wrd_seq 조회
-->
<select id="getStdWrdMaxNum" resultType="java.lang.Long">
SELECT MAX(wrd_seq)
FROM bi_manager.std_wrd
</select>
<!--
작성자 : 방선주
작성일 : 2024.04.24
내용 : 표준용어 등록
-->
<insert id="stdWrdInsert" parameterType="StdWrd">
INSERT INTO bi_manager.std_wrd(
wrd_seq
, korean
, english
, english_abbr
, wrd_dc
, sys_group
, creat_dt
, creat_id
, use_at
, std_at
)VALUES(
#{wrd_seq}
, #{korean}
, #{english}
, #{english_abbr}
, #{wrd_dc}
, #{sys_group}
, date_trunc('second', now())
, #{creat_id}
, true
, #{std_at}
)
</insert>
<!--
작성자 : 방선주
작성일 : 2024.04.24
내용 : 표준용어 삭제 SQL입니다.
-->
<delete id="stdWrdDelete" parameterType="StdWrd">
DELETE FROM bi_manager.std_wrd
WHERE wrd_seq = #{wrd_seq}
</delete>
<!--
작성자 : 방선주
작성일 : 2024.05.09
내용 : 중복 여부 체크
-->
<select id="getStdWrdDupCheck" parameterType="StdWrd" resultType="java.lang.Integer">
SELECT
count(*)
FROM
bi_manager.std_wrd
WHERE
english = #{english}
AND
english_abbr = #{english_abbr}
</select>
</mapper>