
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.custom.dao.CustomDAO">
<select id="customPageListAllSelect" parameterType="SearchVO" resultType="CustomPageVO">
<!-- 전체 게시글 조회 -->
SELECT page_id
, ttl
, cn
, url
, cf.full_path AS preview_img_path
, use_yn
, wrt_id
, wrt_dt
, mdfcn_id
, mdfcn_dt
, job_flow_id
, public_at
FROM page p
LEFT JOIN cmmn_file cf
ON p.preview_img_path = cf.file_manager_id
LEFT JOIN dept_user AS om
ON p.wrt_id = om.user_id
WHERE use_yn = true
<!-- 검색영역 -->
<if test="searchText != null">
AND public_at = true
AND p.wrt_id = #{value}
AND om.dept_code = #{value2}
</if>
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<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 wrt_dt DESC
LIMIT #{perPage} OFFSET ((#{currentPage} - 1) * #{perPage})
</select>
<select id="customPageListAllCount" parameterType="SearchVO" resultType="java.lang.Integer">
<!-- 전체 게시글 count 조회 -->
SELECT count(*)
FROM page p
LEFT JOIN cmmn_file cf
ON p.preview_img_path = cf.file_manager_id
LEFT JOIN dept_user AS om
ON p.wrt_id = om.user_id
WHERE use_yn = true
<!-- 검색영역 -->
<if test="searchText != null">
AND public_at = true
AND p.wrt_id = #{value}
AND om.dept_code = #{value2}
</if>
<foreach item="item" index="index" collection="searchObjectList">
<choose>
<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>
<insert id="customPageInsert" parameterType="CustomPageVO">
<!-- 게시글 등록 -->
INSERT INTO bi_manager.page (
page_id
, ttl
, cn
, url
, preview_img_path
, use_yn
, wrt_id
, wrt_dt
, job_flow_id
, public_at
)
VALUES(
#{page_id}
, #{ttl}
, #{cn}
, null
, #{preview_img_path}
, true
, #{wrt_id}
, now()
, #{jobFlow.job_flow_id}
, #{public_at}
)
</insert>
<insert id="customSplitterInsert" parameterType="CustomSplitterVO">
<!-- splitter 개별 등록 -->
INSERT INTO bi_manager.splitter (
splitter_id
, page_id
, style_group_id
, layout_nm
, se
, parents_splitter_id
, position_idx
, min_width
, min_height
, layout_size1
, layout_size2
, layout_type
) VALUES (
#{splitter_id}
, #{page.page_id}
, #{styleSheet.stylesheet_id}
, TRIM(#{layout_nm})
, #{se}
, TRIM(#{parents_splitter_id})
, #{position_idx}
, #{min_width}
, #{min_height}
, #{layout_size1}
, #{layout_size2}
, #{layout_type}
)
</insert>
<resultMap id="customPageMap" type="CustomPageVO">
<result column="page_id" property="page_id"/>
<result column="ttl" property="ttl"/>
<result column="cn" property="cn"/>
<result column="url" property="url"/>
<result column="preview_img_path" property="preview_img_path"/>
<result column="use_yn" property="use_yn"/>
<result column="wrt_id" property="wrt_id"/>
<result column="wrt_dt" property="wrt_dt"/>
<result column="mdfcn_id" property="mdfcn_id"/>
<result column="mdfcn_dt" property="mdfcn_dt"/>
<result column="public_at" property="public_at"/>
<association property="jobFlow" javaType="JobFlowVO">
<result column="job_flow_id" property="job_flow_id"/>
</association>
</resultMap>
<select id="pageOneSelect" parameterType="java.lang.String" resultMap="customPageMap">
<!-- 선택한 게시글 정보 조회 (one select) -->
select
page_id
, ttl
, cn
, url
, preview_img_path
, use_yn
, wrt_id
, wrt_dt
, mdfcn_id
, mdfcn_dt
, job_flow_id
, public_at
from page
where page_id = #{page_id}
</select>
<!-- splitter 데이터 조회 ( 최상위 경우 null 체크 , 자식 경우 parent_splitter_id) -->
<select id="splitterTopSelect" parameterType="java.lang.String" resultType="CustomSplitterVO">
select splitter_id
, page_id
, style_group_id
, layout_nm
, se
, parents_splitter_id
, position_idx
, min_width
, min_height
, layout_size1
, layout_size2
, layout_type
from splitter
where page_id = #{page_id}
and parents_splitter_id is null
</select>
<!-- splitter 데이터 조회 ( 최상위 경우 null 체크 , 자식 경우 parent_splitter_id) -->
<select id="splitterOneSelect" parameterType="CustomSplitterVO" resultType="CustomSplitterVO">
select splitter_id
, page_id
, style_group_id
, layout_nm
, se
, parents_splitter_id
, position_idx
, min_width
, min_height
, layout_size1
, layout_size2
, layout_type
from splitter
where page_id = #{page.page_id}
and parents_splitter_id = TRIM(#{layout_nm})
</select>
<insert id="jobFlowInsert" parameterType="HashMap">
<!-- job_flow 등록 -->
INSERT INTO bi_manager.job_flow(
job_flow_id
, group_id
, indx
) VALUES (
#{job_flow_id}
, #{group_id}
, #{indx}
)
</insert>
<insert id="componentJobGroupInsert" parameterType="HashMap">
<!-- job_flow 등록 -->
INSERT INTO bi_manager.component_jobgroup(
component_jobgroup_id
, group_id
, indx
) VALUES (
#{component_jobgroup_id}
, #{group_id}
, #{indx})
</insert>
<insert id="componentInsert" parameterType="ComponentData">
<!-- componentData insert -->
INSERT INTO bi_manager.component(
component_id
, component_type
, chart_knd
, component_nm
, title_yn
, multidata_use_yn
, chart_cal
, component_jobgroup_id
, page_id
, splitter_id
) VALUES (
#{component.component_id}
, #{component_type}
, #{chart_knd}
, #{component_nm}
, #{title_yn}
, #{multidata_use_yn}
, #{chart_cal}
, #{componentJobgroup.component_jobgroup_id}
, #{page.page_id}
, #{splitter.splitter_id}
)
</insert>
<insert id="componentTitleInsert" parameterType="ComponentTitleVO">
<!-- component title insert -->
INSERT INTO title_info(
splitter_id
, main_sj
, main_style_group_id
, sub_sj
, sub_style_group_id
) VALUES (
#{splitter_id}
, #{main_sj}
, null
, #{sub_sj}
, null
)
</insert>
<insert id="componentColumnInsert" parameterType="ComponentColumn">
<!-- component title insert -->
INSERT INTO bi_manager.${table_nm}(
axis_id
, component_id
, sn
, table_loc_idx
, col_nm
, data_type
) VALUES (
#{axis_id}
, #{component.component_id}
, #{sn}
, #{table_loc_idx}
, #{col_nm}
, #{data_type}
)
</insert>
<select id="jobFlowSelect" resultType="HashMap">
<!-- jobFlowSelect -->
SELECT
job_flow_id
, group_id
, indx
FROM bi_manager.job_flow
where job_flow_id = #{job_flow_id}
</select>
<resultMap id="customSplitterResultMap" type="CustomComponentVO">
<result column="component_id" property="component_id"/>
<association property="Component_itm" javaType="ComponentData">
<result column="component_type" property="component_type"/>
<result column="chart_knd" property="chart_knd"/>
<result column="component_nm" property="component_nm"/>
<result column="title_yn" property="title_yn"/>
<result column="multidata_use_yn" property="multidata_use_yn"/>
<result column="chart_cal" property="chart_cal"/>
<association property="componentJobgroup" javaType="ComponentJobGroupVO">
<result column="component_jobgroup_id" property="component_jobgroup_id"/>
</association>
</association>
</resultMap>
<select id="componentSelect" parameterType="CustomSplitterVO" resultMap="customSplitterResultMap">
SELECT component_id
, component_type
, chart_knd
, component_nm
, title_yn
, multidata_use_yn
, chart_cal
, component_jobgroup_id
, page_id
, splitter_id
FROM component
WHERE splitter_id = #{splitter_id}
</select>
<select id="componentTitleSelect" parameterType="CustomSplitterVO" resultType="ComponentTitleVO">
<!-- componentSelect -->
SELECT splitter_id
, main_sj
, main_style_group_id
, sub_sj
, sub_style_group_id
FROM title_info
WHERE splitter_id = #{splitter_id}
</select>
<select id="componentJobGroupSelect" parameterType="ComponentJobGroupVO" resultType="HashMap">
<!-- componentSelect -->
SELECT component_jobgroup_id
, group_id
, indx
FROM component_jobgroup
WHERE component_jobgroup_id = #{component_jobgroup_id}
</select>
<select id="componentColumnSelect" parameterType="HashMap" resultType="ComponentColumn">
<!-- componentSelect -->
SELECT axis_id
, component_id
, sn
, table_loc_idx
, col_nm
, data_type
FROM ${table_nm}
WHERE component_id = #{component_id}
</select>
<update id="customPageDelete" parameterType="java.lang.String" >
<!-- customPage update use_yn -->
UPDATE bi_manager.page
SET use_yn=false
WHERE page_id = #{page_id}
</update>
<update id="customPageUpdate" parameterType="CustomPageVO" >
<!-- customPageUpdate -->
UPDATE bi_manager.page
SET ttl = #{ttl}
, cn = #{cn}
, preview_img_path = #{preview_img_path}
, mdfcn_id = #{mdfcn_id}
, mdfcn_dt = now()
, job_flow_id = #{jobFlow.job_flow_id}
, public_at = #{public_at}
WHERE page_id = #{page_id}
</update>
<delete id="componentColumnDelete" parameterType="HashMap" >
<!-- 축정보 삭제 -->
DELETE FROM bi_manager.${table_nm}
WHERE component_id = #{component_id}
</delete>
<delete id="componentTitleDelete" parameterType="String" >
<!-- 컴포넌트 제목 삭제 -->
DELETE FROM title_info
WHERE splitter_id = #{splitterId}
</delete>
<delete id="componentJobGroupDelete" parameterType="String" >
DELETE FROM bi_manager.component_jobgroup
WHERE component_jobgroup_id = #{groupId}
</delete>
<delete id="componentDelete" parameterType="CustomPageVO" >
<!-- 컴포넌트 삭제 -->
DELETE FROM bi_manager.component
WHERE page_id = #{page_id}
</delete>
<delete id="splitterDelete" parameterType="CustomPageVO" >
<!-- 스플리터 삭제 -->
DELETE FROM bi_manager.splitter
WHERE page_id = #{page_id}
</delete>
<delete id="jobFlowDelete" parameterType="JobFlowVO" >
<!-- 잡플로우 삭제 -->
DELETE FROM bi_manager.job_flow
WHERE job_flow_id = #{job_flow_id}
</delete>
<select id="componentListSelect" parameterType="CustomPageVO" resultMap="customSplitterResultMap">
SELECT component_id
, component_type
, chart_knd
, component_nm
, title_yn
, multidata_use_yn
, chart_cal
, component_jobgroup_id
, page_id
, splitter_id
FROM bi_manager.component
WHERE page_id = #{page_id}
</select>
</mapper>