
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.data.dao.DatasetDAO">
<resultMap id="DatasetResult" type="Dataset">
<result property="datasetId" column="dataset_id"/>
<result property="datasetSj" column="dataset_sj"/>
<result property="tableNm" column="table_nm"/>
<result property="tableNmKr" column="table_nm_kr"/>
<result property="dbConectId" column="db_conect_id"/>
<result property="creatTableAt" column="creat_table_at"/>
<result property="stdizTableNm" column="stdiz_table_nm"/>
<result property="stdizColumnAt" column="stdiz_column_at"/>
<result property="stdizDomnAt" column="stdiz_domain_at"/>
<result property="datasetPostId" column="dataset_post_id"/>
<result property="creatDt" column="creat_dt"/>
<result property="creatId" column="creat_id"/>
<result property="updtDt" column="updt_dt"/>
<result property="updtId" column="updt_id"/>
</resultMap>
<resultMap id="ColumnResult" type="ColumnData">
<result property="columnId" column="column_id"/>
<result property="columnNm" column="column_nm"/>
<result property="displyColumnNm" column="dsply_column_nm"/>
<result property="orginlColumnNm" column="orginl_column_nm"/>
<result property="datasetId" column="dataset_id"/>
<result property="dataTy" column="data_ty"/>
<result property="dataSize" column="data_size"/>
<result property="ordr" column="ordr"/>
<result property="pkAt" column="pk_at"/>
<result property="uniqeAt" column="uniqe_at"/>
<result property="autoIncrementAt" column="auto_increment_at"/>
<result property="columnStdizAt" column="column_stdiz_at"/>
<result property="domnStdizAt" column="domn_stdiz_at"/>
<result property="domnCode" column="domn_code"/>
<result property="useAt" column="use_at"/>
</resultMap>
<!-- 데이터셋 Post 커넥션 정보 저장 및 업데이트 -->
<update id="conflictInsertDatasetPost" parameterType="DatasetPost">
INSERT INTO dataset_post
(
dataset_post_id
, post_sj
, post_dc
, ctgry_id
, kwrd
, rdcnt
, origin
, creat_dt
, creat_id
, use_at
, public_at
, file_manager_id
, dataset_id
, dept_code
)
VALUES
(
#{dataset_post_id}
, #{post_sj}
, #{post_dc}
, #{ctgry_id}
, #{kwrd}
, #{rdcnt}
, #{origin}
, current_timestamp
, #{creat_id}
, #{use_at}
, #{public_at}
, #{file_manager_id}
, #{dataset_id}
, #{dept_code}
)
ON CONFLICT(dataset_post_id)
DO UPDATE
SET post_sj = #{post_sj}
, post_dc = #{post_dc}
, ctgry_id = #{ctgry_id}
, kwrd = #{kwrd}
, rdcnt = #{rdcnt}
, origin = #{origin}
, updt_dt = current_timestamp
, updt_id = #{updt_id}
, use_at = #{use_at}
, public_at = #{public_at}
, file_manager_id = #{file_manager_id}
, dataset_id = #{dataset_id}
, dept_code = #{dept_code}
</update>
<!-- 데이터셋 Post 단건 호출 -->
<select id="selectDatasetPost" parameterType="String" resultType="DatasetPost">
SELECT
dataset_post_id
, post_sj
, post_dc
, ctgry_id
, kwrd
, rdcnt
, origin
, creat_dt
, creat_id
, updt_dt
, updt_id
, use_at
, public_at
, file_manager_id
, dataset_id
, dept_code
FROM dataset_post
WHERE dataset_post_id = #{dataset_post_id}
</select>
<!-- 데이터셋 Post 리스트 호출 -->
<select id="selectDatasetPostList" parameterType="SearchVO" resultType="DatasetPost">
SELECT
dataset_post_id
, post_sj
, post_dc
, (select code_nm from cmmn_code where code_id = dp.ctgry_id) as ctgry_id
, kwrd
, rdcnt
, origin
, creat_dt
, creat_id
, updt_dt
, updt_id
, use_at
, public_at
, file_manager_id
, dataset_id
, dept_code
, (SELECT user_nm FROM user_info WHERE user_id = dp.creat_id) AS user_nm
, (SELECT dept_nm FROM orgnzt_info WHERE dept_code = dp.dept_code) AS dept_nm
FROM dataset_post AS dp
WHERE use_at = true
<!-- 검색영역 -->
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<when test="item.type == 'string' and item.key == 'id' and item.key2 == 'dept_code'">
and (
public_at = true
<if test="item.value != null and item.value != ''">
or dp.creat_id = #{item.value}
</if>
<if test="item.value2 != null and item.value2 != ''">
or dp.dept_code = #{item.value2}
</if>
)
</when>
<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 creat_dt desc
LIMIT #{perPage} OFFSET ((#{currentPage} - 1) * #{perPage})
</select>
<!-- 데이터셋 Post Count -->
<select id="selectDatasetPostListCount" parameterType="SearchVO" resultType="Integer">
SELECT count(*)
FROM dataset_post
WHERE use_at = true
<!-- 검색영역 -->
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<when test="item.type == 'string' and item.key == 'creat_id' and item.key2 == 'dept_code'">
and (
public_at = true
<if test="item.value != null and item.value != ''">
or creat_id = #{item.value}
</if>
<if test="item.value2 != null and item.value2 != ''">
or dept_code = #{item.value2}
</if>
)
</when>
<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>
<!-- 데이터셋 정보 저장 및 업데이트 -->
<update id="conflictInsertDataset" parameterType="Dataset">
INSERT INTO dataset
(
dataset_id
, db_conect_id
, dataset_sj
, table_nm
, table_nm_kr
, creat_table_at
, stdiz_table_nm
, stdiz_column_at
, stdiz_domain_at
, creat_dt
, creat_id
, dataset_post_id
)
values
(
#{datasetId}
, #{dbConectId}
, #{datasetSj}
, #{tableNm}
, #{tableNmKr}
, #{creatTableAt}
, #{stdizTableNm}
, #{stdizColumnAt}
, #{stdizDomnAt}
, current_timestamp
, #{creatId}
, #{datasetPostId}
)
ON CONFLICT (dataset_id)
DO UPDATE
SET db_conect_id = #{dbConectId}
, dataset_sj = #{datasetSj}
, table_nm = #{tableNm}
, table_nm_kr = #{tableNmKr}
, creat_table_at = #{creatTableAt}
, stdiz_table_nm = #{stdizTableNm}
, stdiz_column_at = #{stdizColumnAt}
, stdiz_domain_at = #{stdizDomnAt}
, updt_dt = current_timestamp
, updt_id = #{updtId}
, dataset_post_id = #{datasetPostId}
</update>
<select id="selectDataset" parameterType="String">
SELECT
dataset_id as "datasetId"
, db_conect_id as "dbConectId"
, dataset_sj as "datasetSj"
, table_nm as "tableNm"
, table_nm_kr as "tableNmKr"
, creat_table_at as "creatTableAt"
, stdiz_table_nm as "stdizTableNm"
, stdiz_column_at as "stdizColumnAt"
, stdiz_domain_at as "stdizDomnAt"
, creat_dt as "creatDt"
, creat_id as "creatId"
, updt_dt as "updtDt"
, updt_id as "updtId"
, dataset_post_id as "datasetPostId"
FROM dataset
WHERE dataset_id = #{datasetId}
</select>
<select id="selectDatasetByPostId" parameterType="String">
SELECT
dataset.dataset_id as "datasetId"
, dataset.db_conect_id as "dbConectId"
, dataset.dataset_sj as "datasetSj"
, dataset.table_nm as "tableNm"
, dataset.table_nm_kr as "tableNmKr"
, dataset.creat_table_at as "creatTableAt"
, dataset.stdiz_table_nm as "stdizTableNm"
, dataset.stdiz_column_at as "stdizColumnAt"
, dataset.stdiz_domain_at as "stdizDomnAt"
, dataset.creat_dt as "creatDt"
, dataset.creat_id as "creatId"
, dataset.updt_dt as "updtDt"
, dataset.updt_id as "updtId"
, dataset.dataset_post_id as "datasetPostId"
, db_conect_info.database_nm as "databaseNm"
FROM dataset
LEFT JOIN db_conect_info ON dataset.db_conect_id = db_conect_info.db_conect_id
WHERE dataset_post_id = #{datasetPostId}
</select>
<!-- 데이터셋 정보 저장 및 업데이트 -->
<delete id="deleteDataset" parameterType="String">
DELETE FROM dataset
WHERE dataset_id = #{datasetId}
</delete>
<!-- 데이터셋 정보 저장 및 업데이트 -->
<insert id="insertDatasetPostLog" parameterType="DatasetPostLog">
INSERT INTO dataset_post_log
(
dataset_post_id
, execut_dt
, execut_nm
, insrt_cnt
, updt_cnt
, delete_cnt
, process_ty
, process_result
, log_sttus
)
VALUES
(
#{dataset_post_id}
, current_timestamp
, #{execut_nm}
, #{insrt_cnt}
, #{updt_cnt}
, #{delete_cnt}
, #{process_ty}
, #{process_result}
, #{log_sttus}
);
</insert>
<!-- 데이터셋 컬럼 정보 저장 및 업데이트 -->
<update id="conflictInsertCoulmnInfo" parameterType="Column">
INSERT INTO column_info
(
column_id
, dataset_id
, column_nm
, dsply_column_nm
, orginl_column_nm
, data_ty
, data_size
, ordr
, pk_at
, uniqe_at
, auto_increment_at
, column_stdiz_at
, domn_stdiz_at
, domn_code
, use_at
)
values
(
#{columnId}
, #{datasetId}
, #{columnNm}
, #{displyColumnNm}
, #{orginlColumnNm}
, #{dataTy}
, #{dataSize}
, #{ordr}
, #{pkAt}
, #{uniqeAt}
, #{autoIncrementAt}
, #{columnStdizAt}
, #{domnStdizAt}
, #{domnCode}
, #{useAt}
)
ON CONFLICT (column_id)
DO UPDATE
SET column_nm = #{columnNm}
, dsply_column_nm = #{displyColumnNm}
, orginl_column_nm = #{orginlColumnNm}
, data_ty = #{dataTy}
, data_size = #{dataSize}
, ordr = #{ordr}
, pk_at = #{pkAt}
, uniqe_at = #{uniqeAt}
, auto_increment_at = #{autoIncrementAt}
, column_stdiz_at = #{columnStdizAt}
, domn_stdiz_at = #{domnStdizAt}
, domn_code = #{domnCode}
, use_at = #{useAt}
</update>
<!-- 컬럼정보 호출 -->
<select id="selectCoulmnInfo" parameterType="Dataset" resultMap="ColumnResult">
SELECT column_id
, column_nm
, dsply_column_nm
, orginl_column_nm
, data_ty
, data_size
, ordr
, pk_at
, auto_increment_at
, column_stdiz_at
, domn_stdiz_at
, domn_code
, use_at
, dataset_id
, uniqe_at
FROM column_info
WHERE dataset_id = #{datasetId}
ORDER BY ordr asc
</select>
<!-- 컬럼정보 삭제 -->
<delete id="deleteColumnInfo" parameterType="String">
DELETE FROM column_info
WHERE column_id = #{columnId}
</delete>
<!-- 데이터 셋 게시물 삭제 SQL -->
<update id="deleteDataPost" parameterType="String">
UPDATE
dataset_post
SET
use_at = false
WHERE
dataset_post_id = #{datasetPostId}
</update>
<!-- 데이터셋 Post 리스트 호출 -->
<select id="selectAllDatasetPostList" resultType="DatasetPost">
SELECT
dataset_post_id
, post_sj
, post_dc
, (select code_nm from cmmn_code where code_id = dp.ctgry_id) as ctgry_id
, kwrd
, rdcnt
, origin
, creat_dt
, (select user_nm from user_info where user_id = dp.creat_id) as "creat_id"
, updt_dt
, updt_id
, use_at
, public_at
, file_manager_id
, dataset_id
, (select dept_nm from orgnzt_info where dept_code = dp.dept_code) as "dept_code"
FROM dataset_post dp
WHERE true
AND use_at = true
</select>
</mapper>