<?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.i2sema.v2.admin.stat.dao.v2StatisticsDAO">
	<sql id="journeySql">
		<if test="auth_code != 'ROLE_SYSADMIN'">
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(mberNo)">
				<![CDATA[
					AND mber_no = #{mberNo}
				]]>
			</if>
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(orgId)">
				<![CDATA[
					AND org_id = #{orgId}
				]]>
			</if>
		</if>
		<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(journeyName)">
			<![CDATA[
				AND journey_name LIKE CONCAT('%',#{journeyName},'%')
			]]>
		</if>
		<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(journeyVersion)">
			<![CDATA[
				AND journey_version = #{journeyVersion}
			]]>
		</if>
	</sql>
	
	<select id="emmaMsgStatisticsVersionListCnt" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="int">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsVersionListCnt] 메세지 사용현황 emma version list cnt */
			SELECT COUNT(etv.t_seq) FROM (
				SELECT et.t_seq FROM emma_t_data et WHERE et.send_at = 'Y'
		]]>
				<include refid="journeySql" />
		<![CDATA[
				GROUP BY et.journey_version_id
			) etv
		]]>
	</select>
	
	<select id="emmaMsgStatisticsVersionList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsVersionList] 메세지 사용현황 emma version list */
			SELECT
				 etv.agentType
				,etv.mberNo
				,etv.orgId
				,etv.department
				,etv.journeyName
				,etv.journeyId
				,etv.journeyVersion
				,etv.versionId
				,COUNT(etv.versionId)		AS activityCnt
				,SUM(etv.allCnt)			AS allCnt
				,SUM(etv.successCnt)		AS successCnt
				,SUM(etv.failCnt)			AS failCnt
				,SUM(etv.rjctCnt)			AS rjctCnt
				,SUM(etv.arsCnt)			AS arsCnt
				,MAX(etv.lastSendDate)		AS lastSendDate
			FROM
			(
				SELECT
					 'emma'						AS agentType
					,et.mber_no					AS mberNo
					,et.org_id					AS orgId
					,et.mt_refkey				AS department
					,et.journey_name			AS journeyName
					,et.journey_id				AS journeyId
					,et.journey_version			AS journeyVersion
					,et.journey_version_id		AS versionId
					,SUM(etd.all_cnt)			AS allCnt
					,SUM(etd.success_cnt)		AS successCnt
					,SUM(etd.fail_cnt)			AS failCnt
					,SUM(etd.rjct_cnt)			AS rjctCnt
					,SUM(etd.rjct_080_cnt)		AS arsCnt
					,MAX(etd.finish_send_date)	AS lastSendDate
				FROM emma_t_data et LEFT JOIN emma_tdata_detail etd ON et.t_seq = etd.t_seq
				WHERE et.send_at = 'Y'
		]]>
				<include refid="journeySql" />
		<![CDATA[
				GROUP BY et.activity_id
				ORDER BY et.t_seq DESC
			) etv
			GROUP BY etv.versionId
			ORDER BY etv.lastSendDate DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="emmaMsgStatisticsVersionSelect" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsVersionSelect] 메세지 사용현황 emma version select */
			SELECT
				 etv.agentType
				,etv.mberNo
				,etv.orgId
				,etv.department
				,etv.journeyName
				,etv.journeyId
				,etv.journeyVersion
				,etv.versionId
				,COUNT(etv.versionId)		AS activityCnt
				,SUM(etv.allCnt)			AS allCnt
				,SUM(etv.successCnt)		AS successCnt
				,SUM(etv.failCnt)			AS failCnt
				,SUM(etv.rjctCnt)			AS rjctCnt
				,SUM(etv.arsCnt)			AS arsCnt
			FROM
			(
				SELECT
					 'emma'						AS agentType
					,et.mber_no					AS mberNo
					,et.org_id					AS orgId
					,et.mt_refkey				AS department
					,et.journey_name			AS journeyName
					,et.journey_id				AS journeyId
					,et.journey_version			AS journeyVersion
					,et.journey_version_id		AS versionId
					,SUM(etd.all_cnt)			AS allCnt
					,SUM(etd.success_cnt)		AS successCnt
					,SUM(etd.fail_cnt)			AS failCnt
					,SUM(etd.rjct_cnt)			AS rjctCnt
					,SUM(etd.rjct_080_cnt)		AS arsCnt
				FROM emma_t_data et LEFT JOIN emma_tdata_detail etd ON et.t_seq = etd.t_seq
				WHERE et.send_at = 'Y' AND journey_version_id = #{versionId}
				GROUP BY et.activity_id
			) etv
		]]>
	</select>
	
	<select id="itaMsgStatisticsVersionListCnt" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="int">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsVersionListCnt] 메세지 사용현황 ita version list cnt */
			SELECT	SUM(cnt) FROM (
				SELECT COUNT(*) AS cnt FROM (
					SELECT t_seq FROM ita_t_data WHERE send_at = 'Y'
		]]>
					<include refid="journeySql"/>
		<![CDATA[
				  GROUP BY journey_version_id
			  ) t
			  union all
			  SELECT COUNT(*) AS cnt FROM (
				  SELECT seq FROM frn_pls_tdata WHERE send_yn = 'Y'
		]]>
			    <include refid="journeySql"/>
    <![CDATA[
				  GROUP BY journey_version_id
			  ) t
		  ) t
		]]>
	</select>
	
	<select id="itaMsgStatisticsVersionList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsVersionList] 메세지 사용현황 ita version list */
			SELECT
				 itv.agentType
				,itv.mberNo
				,itv.orgId
				,itv.department
				,itv.journeyName
				,itv.journeyId
				,itv.journeyVersion
				,itv.versionId
				,COUNT(itv.versionId)		AS activityCnt
				,SUM(itv.allCnt)			AS allCnt
				,SUM(itv.successCnt)		AS successCnt
				,SUM(itv.failbackCnt)		AS failbackCnt
				,SUM(itv.failCnt)			AS failCnt
				,SUM(itv.rjctCnt)			AS rjctCnt
				,SUM(itv.arsCnt)			AS arsCnt
				,MAX(itv.lastSendDate)		AS lastSendDate
			FROM
			(
				SELECT
					 'ita'						AS agentType
					,it.mber_no					AS mberNo
					,it.org_id					AS orgId
					,it.mt_refkey				AS department
					,it.journey_name			AS journeyName
					,it.journey_id				AS journeyId
					,it.journey_version			AS journeyVersion
					,it.journey_version_id		AS versionId
					,SUM(itd.all_cnt)			AS allCnt
					,SUM(itd.success_cnt)		AS successCnt
					,SUM(itd.failback_cnt)		AS failbackCnt
					,SUM(itd.fail_cnt)			AS failCnt
					,SUM(itd.rjct_cnt)			AS rjctCnt
					,SUM(itd.rjct_080_cnt)		AS arsCnt
					,MAX(itd.finish_send_date)	AS lastSendDate
				FROM ita_t_data it LEFT JOIN ita_tdata_detail itd ON it.t_seq = itd.t_seq
				WHERE it.send_at = 'Y'
				]]>
				<include refid="journeySql" />
			<![CDATA[
				GROUP BY it.activity_id
				union all
				SELECT
					 'frnPlus'						AS agentType
					,it.mber_no					AS mberNo
					,it.org_id					AS orgId
					,it.mt_refkey				AS department
					,it.journey_name			AS journeyName
					,it.journey_id				AS journeyId
					,it.journey_version			AS journeyVersion
					,it.journey_version_id		AS versionId
					,SUM(itd.all_cnt)			AS allCnt
					,SUM(itd.success_cnt)		AS successCnt
					,SUM(itd.failback_cnt)		AS failbackCnt
					,SUM(itd.fail_cnt)			AS failCnt
					,SUM(itd.reject_cnt)			AS rjctCnt
					,SUM(itd.reject_080_cnt)		AS arsCnt
					,MAX(itd.finish_send_date)	AS lastSendDate
				FROM frn_pls_tdata it LEFT JOIN frn_pls_tdata_detail itd ON it.seq = itd.t_seq
				WHERE it.send_yn = 'Y'
				]]>
		    <include refid="journeySql" />
				<![CDATA[
				GROUP BY it.activity_id
			) itv
			GROUP BY itv.versionId
			ORDER BY itv.lastSendDate DESC
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="itaMsgStatisticsVersionSelect" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsVersionSelect] 메세지 사용현황 ita version select */
			SELECT
				 itv.agentType
				,itv.mberNo
				,itv.orgId
				,itv.department
				,itv.journeyName
				,itv.journeyId
				,itv.journeyVersion
				,itv.versionId
				,COUNT(itv.versionId)		AS activityCnt
				,SUM(itv.allCnt)			AS allCnt
				,SUM(itv.successCnt)		AS successCnt
				,SUM(itv.failbackCnt)		AS failbackCnt
				,SUM(itv.failCnt)			AS failCnt
				,SUM(itv.rjctCnt)			AS rjctCnt
				,SUM(itv.arsCnt)			AS arsCnt
			FROM
			(
				SELECT
					 'ita'						AS agentType
					,it.mber_no					AS mberNo
					,it.org_id					AS orgId
					,it.mt_refkey				AS department
					,it.journey_name			AS journeyName
					,it.journey_id				AS journeyId
					,it.journey_version			AS journeyVersion
					,it.journey_version_id		AS versionId
					,SUM(itd.all_cnt)			AS allCnt
					,SUM(itd.success_cnt)		AS successCnt
					,SUM(itd.failback_cnt)		AS failbackCnt
					,SUM(itd.fail_cnt)			AS failCnt
					,SUM(itd.rjct_cnt)			AS rjctCnt
					,SUM(itd.rjct_080_cnt)		AS arsCnt
				FROM ita_t_data it LEFT JOIN ita_tdata_detail itd ON it.t_seq = itd.t_seq
				WHERE it.send_at = 'Y' AND it.journey_version_id = #{versionId}
				GROUP BY it.activity_id
				UNION ALL
				SELECT
					'ita'						AS agentType
						 ,it.mber_no					AS mberNo
						 ,it.org_id					AS orgId
						 ,it.mt_refkey				AS department
						 ,it.journey_name			AS journeyName
						 ,it.journey_id				AS journeyId
						 ,it.journey_version			AS journeyVersion
						 ,it.journey_version_id		AS versionId
						 ,SUM(itd.all_cnt)			AS allCnt
						 ,SUM(itd.success_cnt)		AS successCnt
						 ,SUM(itd.failback_cnt)		AS failbackCnt
						 ,SUM(itd.fail_cnt)			AS failCnt
						 ,SUM(itd.reject_cnt)			AS rjctCnt
						 ,SUM(itd.reject_080_cnt)		AS arsCnt
				FROM frn_pls_tdata it LEFT JOIN frn_pls_tdata_detail itd ON it.seq = itd.t_seq
				WHERE it.send_yn = 'Y' AND it.journey_version_id = #{versionId}
				GROUP BY it.activity_id
			) itv
		]]>
	</select>
	
	<select id="emmaMsgStatisticsActivityList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsActivityList] 메세지 사용현황 emma activity list */
			SELECT
				 et.t_seq					AS tSeq
				,'emma'						AS agentType
				,et.mber_no					AS mberNo
				,et.org_id					AS orgId
				,et.mt_refkey				AS department
				,et.content					AS content
				,et.service_type			AS serviceType
				,et.msg_cl_type				AS msgClType
				,et.tmp_book_yn				AS tmpBookYN
				,et.activity_name			AS activityName
				,et.activity_id				AS activityId
				,SUM(etd.all_cnt)			AS allCnt
				,SUM(etd.success_cnt)		AS successCnt
				,SUM(etd.fail_cnt)			AS failCnt
				,SUM(etd.rjct_cnt)			AS rjctCnt
				,SUM(etd.rjct_080_cnt)		AS arsCnt
			FROM emma_t_data et LEFT JOIN emma_tdata_detail etd ON et.t_seq = etd.t_seq
			WHERE et.send_at = 'Y'
				AND journey_version_id = #{versionId}
		]]>
			<include refid="journeySql" />
		<![CDATA[
			GROUP BY et.activity_id
			ORDER BY et.t_seq DESC
		]]>
	</select>
	
	<select id="itaMsgStatisticsActivityList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsActivityList] 메세지 사용현황 ita activity list */
						SELECT
						 r.t_seq					AS tSeq
						,r.agent_type						AS agentType
						,r.mber_no					AS mberNo
						,r.org_id					AS orgId
						,r.mt_refkey				AS department
						,r.content					AS content
						,r.msg_type				AS msgType
						,r.msg_cl_type				AS msgClType
						,r.tmp_book_yn				AS tmpBookYN
						,r.activity_name			AS activityName
						,r.activity_id				AS activityId
						,SUM(r.all_cnt)			AS allCnt
						,SUM(r.success_cnt)		AS successCnt
						,SUM(r.failback_cnt)		AS failbackCnt
						,SUM(r.fail_cnt)			AS failCnt
						,SUM(r.rjct_cnt)			AS rjctCnt
						,SUM(r.rjct_080_cnt)		AS arsCnt
						FROM (
									SELECT
									 it.t_seq					AS t_seq
								  ,'ita'			AS agent_type
									,it.mber_no					AS mber_no
									,it.org_id					AS org_id
									,it.mt_refkey				AS mt_refkey
									,it.content					AS content
									,it.msg_type				AS msg_type
									,it.msg_cl_type				AS msg_cl_type
									,it.tmp_book_yn				AS tmp_book_yn
									,it.activity_name			AS activity_name
									,it.activity_id				AS activity_id
									,SUM(itd.all_cnt)			AS all_cnt
									,SUM(itd.success_cnt)		AS success_cnt
									,SUM(itd.failback_cnt)		AS failback_cnt
									,SUM(itd.fail_cnt)			AS fail_cnt
									,SUM(itd.rjct_cnt)			AS rjct_cnt
									,SUM(itd.rjct_080_cnt)		AS rjct_080_cnt
								FROM ita_t_data it LEFT JOIN ita_tdata_detail itd ON it.t_seq = itd.t_seq
								WHERE it.send_at = 'Y'
								AND journey_version_id = #{versionId}
								]]>
								<include refid="journeySql"/>
		<![CDATA[
								GROUP BY it.t_seq
								UNION ALL
								SELECT
									 it.seq					AS t_seq
									,'frnPlus'			AS agent_type
									,it.mber_no					AS mber_no
									,it.org_id					AS org_id
									,it.mt_refkey				AS mt_refkey
									,''					AS content
									,it.message_type				AS msg_type
									,1				AS msg_cl_type
									,it.reserve_yn				AS tmp_book_yn
									,it.activity_name			AS activity_name
									,it.activity_id				AS activity_id
									,SUM(itd.all_cnt)			AS all_cnt
									,SUM(itd.success_cnt)		AS success_cnt
									,SUM(itd.failback_cnt)		AS failback_cnt
									,SUM(itd.fail_cnt)			AS fail_cnt
									,SUM(itd.reject_cnt)			AS rjct_cnt
									,SUM(itd.reject_080_cnt)		AS ars_cnt
								FROM frn_pls_tdata it LEFT JOIN frn_pls_tdata_detail itd ON it.seq = itd.t_seq
								WHERE it.send_yn = 'Y'
								AND journey_version_id = #{versionId}
					]]>
						<include refid="journeySql"/>
		<![CDATA[
						GROUP BY it.seq
				) r
		  WHERE r.t_seq IS NOT NULL
			GROUP BY r.activity_id
			ORDER BY r.t_seq DESC
		]]>
	</select>
	
	<select id="emmaMsgStatisticsMonthList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="string">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsMonthList] 메세지 사용현황 emma month list */
			SELECT SUBSTRING(yyyy_mm_dd,1,6) FROM emma_tdata_detail WHERE t_seq = #{tSeq} GROUP BY SUBSTRING(yyyy_mm_dd,1,6) ORDER BY yyyy_mm_dd DESC
		]]>
	</select>
	
	<select id="itaMsgStatisticsMonthList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="string">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsMonthList] 메세지 사용현황 ita month list */
			SELECT SUBSTRING(yyyy_mm_dd,1,6) FROM ita_tdata_detail WHERE t_seq = #{tSeq} GROUP BY SUBSTRING(yyyy_mm_dd,1,6) ORDER BY yyyy_mm_dd DESC
		]]>
	</select>

	<select id="frnPlusMsgStatisticsMonthList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="string">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusMsgStatisticsMonthList] 메세지 사용현황 frnPlus month list */
		SELECT SUBSTRING(yyyy_mm_dd,1,6) FROM frn_pls_tdata_detail WHERE t_seq = #{tSeq} GROUP BY SUBSTRING(yyyy_mm_dd,1,6) ORDER BY yyyy_mm_dd DESC
		]]>
	</select>
	
	<select id="emmaMsgStatisticsActivitySelect" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsActivitySelect] 메세지 사용현황 emma activity select */
			SELECT
				 et.t_seq					AS tSeq
				,'emma'						AS agentType
				,et.mber_no					AS mberNo
				,et.org_id					AS orgId
				,et.mt_refkey				AS department
				,et.callback				AS dsptchNum
				,et.content					AS content
				,et.service_type			AS serviceType
				,et.subject					AS subject
				,tf.file_save				AS imgPath
				,et.msg_cl_type				AS msgClType
				,et.ars_080_num				AS arsNum
				,et.tmp_book_yn				AS tmpBookYn
				,et.reserve_date			AS reservedDate
				,et.journey_name			AS journeyName
				,et.journey_id				AS journeyId
				,et.journey_version			AS journeyVersion
				,et.journey_version_id		AS versionId
				,et.activity_name			AS activityName
				,et.activity_id				AS activityId
				,SUM(etd.all_cnt)			AS allCnt
				,SUM(etd.success_cnt)		AS successCnt
				,SUM(etd.fail_cnt)			AS failCnt
				,SUM(etd.rjct_cnt)			AS rjctCnt
				,SUM(etd.rjct_080_cnt)		AS arsCnt
				,#{yyyyMm}					AS yyyyMm
			FROM
				emma_t_data et										LEFT JOIN
				emma_tdata_detail etd 	ON et.t_seq = etd.t_seq 	LEFT JOIN
				emma_t_file tf 			ON et.file_seq = tf.file_seq
			WHERE et.t_seq = #{tSeq} AND etd.yyyy_mm_dd LIKE CONCAT(#{yyyyMm},'%')
		]]>
	</select>
	
	<select id="itaMsgStatisticsActivitySelect" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsActivitySelect] 메세지 사용현황 ita activity select */
			SELECT
				 it.t_seq					AS tSeq
				,'ita'						AS agentType
				,it.mber_no					AS mberNo
				,it.org_id					AS orgId
				,it.mt_refkey				AS department
				,it.plus_uuid				AS kakaoProfile
				,it.content					AS content
				,it.msg_type				AS msgType
				,fi.img_url					AS imgPath
				,it.tmplat_cd				AS tmplatCd
				,fb.service_type			AS serviceType
				,it.t_kakao					AS buttonInfo
				,it.msg_cl_type				AS msgClType
				,it.ars_080_num				AS arsNum
				,it.tmp_book_yn				AS tmpBookYn
				,it.reserve_date			AS reservedDate
				,it.journey_name			AS journeyName
				,it.journey_id				AS journeyId
				,it.journey_version			AS journeyVersion
				,it.journey_version_id		AS versionId
				,it.activity_name			AS activityName
				,it.activity_id				AS activityId
				,SUM(itd.all_cnt)			AS allCnt
				,SUM(itd.success_cnt)		AS successCnt
				,SUM(itd.failback_cnt)		AS failbackCnt
				,SUM(itd.fail_cnt)			AS failCnt
				,SUM(itd.rjct_cnt)			AS rjctCnt
				,SUM(itd.rjct_080_cnt)		AS arsCnt
				,#{yyyyMm}					AS yyyyMm
			FROM
				ita_t_data it										LEFT JOIN
				ita_tdata_detail itd 	ON it.t_seq = itd.t_seq 	LEFT JOIN
				ita_frt_img fi 			ON it.img_seq = fi.img_seq	LEFT JOIN
				ita_failback fb			ON it.flb_seq = fb.flb_seq
			WHERE it.t_seq = #{tSeq} AND itd.yyyy_mm_dd LIKE CONCAT(#{yyyyMm},'%')
		]]>
	</select>

	<select id="frnPlusMsgStatisticsActivitySelect" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusMsgStatisticsActivitySelect] 메세지 사용현황 frnPlus activity select */
		SELECT
			it.seq                       AS tSeq
				 , 'frnPlus'                    AS agentType
				 , it.mber_no                   AS mberNo
				 , it.org_id                    AS orgId
				 , it.mt_refkey                 AS department
				 , it.plus_uuid                 AS kakaoProfile
				 , ''                           AS content
				 , it.message_type              AS msgType
				 , NULL                         AS tmplatCd
				 , fb.service_type              AS serviceType
				 , NULL                         AS buttonInfo
				 , '1'                          AS msgClType
				 , fb.ars_080_num               AS arsNum
				 , it.reserve_yn                AS tmpBookYn
				 , it.date_client_req           AS reservedDate
				 , it.journey_name              AS journeyName
				 , it.journey_id                AS journeyId
				 , it.journey_version           AS journeyVersion
				 , it.journey_version_id        AS versionId
				 , it.activity_name             AS activityName
				 , it.activity_id               AS activityId
				 , it.header                    AS header
				 , coupon.title                 AS couponTitle
				 , coupon.description           AS couponDescription
				 , coupon.link_mo               AS couponLinkMo
				 , coupon.link_pc               AS couponLinkPc
				 , coupon.scheme_android        AS couponSchemeAndroid
				 , coupon.scheme_ios            AS couponSchemeIos
				 , tail.link_mo                 AS tailLinkMo
				 , tail.link_pc                 AS tailLinkPc
				 , tail.scheme_android          AS tailSchemeAndroid
				 , tail.scheme_ios              AS tailSchemeIos
				 , SUM(itd.all_cnt)             AS allCnt
				 , SUM(itd.success_cnt)         AS successCnt
				 , SUM(itd.failback_cnt)        AS failbackCnt
				 , SUM(itd.fail_cnt)            AS failCnt
				 , SUM(itd.reject_cnt)          AS rjctCnt
				 , SUM(itd.reject_080_cnt)      AS arsCnt
				 , #{yyyyMm}                    AS yyyyMm
		FROM
			frn_pls_tdata it
				LEFT JOIN frn_pls_tdata_detail itd
									ON it.seq = itd.t_seq
				LEFT JOIN frn_pls_failback fb
									ON it.flb_seq = fb.flb_seq
				LEFT JOIN frn_pls_tdata_coupon coupon
									ON it.seq = coupon.t_seq
				LEFT JOIN frn_pls_tdata_carousel_tail tail
									ON it.seq = tail.t_seq
		WHERE
			it.seq = #{tSeq}
			AND itd.yyyy_mm_dd LIKE CONCAT(#{yyyyMm}, '%')
		]]>
	</select>

	<select id="frnPlusActivityInformationButtonSelectList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationButtonSelectList] frnPlus activity 상세정보 (친구톡+ 버튼) */
		<![CDATA[
			SELECT button.ordering						AS ordering
						,button.type								AS type
						,button.name								AS name
						,button.link_mo							AS linkMo
						,button.link_pc							AS linkPc
						,button.scheme_ios					AS schemeIos
						,button.scheme_android			AS schemeAndroid
			FROM frn_pls_tdata_button button
			WHERE button.t_seq = ${tSeq}
			order by button.`ordering`
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForWideItemList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForWideItemList] frnPlus activity 상세정보 (와이드아이템리스트) */
		SELECT		  list.title 						AS title
							 ,list.link_mo					AS linkMo
							 ,list.link_pc					AS linkPc
							 ,list.scheme_android		AS schemeAndroid
							 ,list.scheme_ios				AS schemeIos
		     			 ,image.url							AS imageUrl
		FROM			frn_pls_tdata_wide_item_list list
							INNER JOIN frn_pls_image image
											 ON list.image_seq = image.seq
		WHERE list.t_seq = #{tSeq}
		order by list.`ordering`
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForCarousel" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForCarousel] frnPlus activity 상세정보 (캐로셀) */
		SELECT		carousel.image_seq	AS iamgeSeq
				 ,image.url			AS imageUrl
		     ,carousel.seq		AS seq
				 ,carousel.header		AS header
				 ,carousel.content	AS content
		     ,carousel.image_link	AS imageLink
				 ,coupon.title						as couponTitle
				 ,coupon.description				as couponDescription
				 ,coupon.link_mo					as couponLinkMo
				 ,coupon.link_pc					as couponLinkPc
				 ,coupon.scheme_android 			as couponSchemeAndroid
				 ,coupon.scheme_ios 				as couponSchemeIos
				 ,count(button.seq)					as buttonCount
		FROM			frn_pls_tdata_carousel carousel
								left outer join frn_pls_image image
																ON carousel.image_seq = image.seq
								left outer join frn_pls_tdata_carousel_coupon coupon
																on carousel.seq = coupon.carousel_seq
								left outer join frn_pls_tdata_carousel_button button
																on carousel.seq = button.carousel_seq
		WHERE 	carousel.t_seq = #{tSeq}
		GROUP BY carousel.seq
		ORDER BY carousel.`ordering`
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForCarouselButton" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForCarouselButton] frnPlus activity 상세정보 (캐로셀 버튼) */
		<![CDATA[
		SELECT button.carousel_seq				AS seq
		    	,button.ordering						AS ordering
				 	,button.type								AS type
				 	,button.name								AS name
				 	,button.link_mo							AS linkMo
				 	,button.link_pc							AS linkPc
				 	,button.scheme_ios					AS schemeIos
				 	,button.scheme_android			AS schemeAndroid
		from frn_pls_tdata_carousel carousel
		right outer join frn_pls_tdata_carousel_button button
		on carousel.seq = button.carousel_seq
		where carousel.t_seq = ${tSeq}
		ORDER BY carousel.`ordering`, button.`ordering`;
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForCarouselCommerce" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForCarouselCommerce] frnPlus activity 상세정보 (캐로셀커머스) */
		SELECT carouselCommerce.image_seq          AS iamgeSeq
				 , image.url                           AS imageUrl
				 , carouselCommerce.seq                AS seq
				 , carouselCommerce.image_link         AS imageLink
				 , carouselCommerce.title              AS title
				 , carouselCommerce.regular_price      AS regularPrice
				 , carouselCommerce.discount_price     AS discountPrice
				 , carouselCommerce.discount_rate      AS discountRate
				 , carouselCommerce.discount_fixed     AS discountFixed
				 , carouselCommerce.additional_content AS additionalContent
				 , coupon.title                        AS couponTitle
				 , coupon.description                  AS couponDescription
				 , coupon.link_mo                      AS couponLinkMo
				 , coupon.link_pc                      AS couponLinkPc
				 , coupon.scheme_android               AS couponSchemeAndroid
				 , coupon.scheme_ios                   AS couponSchemeIos
				 , count(button.seq)                   AS buttonCount
		FROM frn_pls_tdata_carousel_commerce carouselCommerce
					 LEFT OUTER JOIN frn_pls_image image
													 ON carouselCommerce.image_seq = image.seq
					 LEFT OUTER JOIN frn_pls_tdata_carousel_commerce_coupon coupon
													 ON carouselCommerce.seq = coupon.carousel_commerce_seq
					 LEFT OUTER JOIN frn_pls_tdata_carousel_commerce_button button
													 ON carouselCommerce.seq = button.carousel_commerce_seq
		WHERE carouselCommerce.t_seq = #{tSeq}
		GROUP BY carouselCommerce.seq
		ORDER BY carouselCommerce.`ordering`
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForCarouselCommerceButton" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForCarouselCommerceButton] frnPlus activity 상세정보 (캐로셀커머스 버튼) */
		<![CDATA[
		SELECT button.carousel_commerce_seq AS seq
				 , button.ordering              AS ordering
				 , button.type                  AS type
				 , button.name                  AS name
				 , button.link_mo               AS linkMo
				 , button.link_pc               AS linkPc
				 , button.scheme_ios            AS schemeIos
				 , button.scheme_android        AS schemeAndroid
		FROM frn_pls_tdata_carousel_commerce carouselCommerce
					 RIGHT OUTER JOIN frn_pls_tdata_carousel_commerce_button button
														ON carouselCommerce.seq = button.carousel_commerce_seq
		WHERE carouselCommerce.t_seq = ${tSeq}
		ORDER BY carouselCommerce.`ordering`, button.`ordering`;
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForCommerce" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForCommerce] frnPlus activity 상세정보 (커머스) */
		SELECT commerce.image_seq          AS iamgeSeq
				 , image.url                   AS imageUrl
				 , commerce.seq                AS seq
				 , commerce.image_link         AS imageLink
				 , commerce.title              AS title
				 , commerce.regular_price      AS regularPrice
				 , commerce.discount_price     AS discountPrice
				 , commerce.discount_rate      AS discountRate
				 , commerce.discount_fixed     AS discountFixed
				 , commerce.additional_content AS additionalContent
		FROM frn_pls_tdata_commerce commerce
					 LEFT OUTER JOIN frn_pls_image image
													 ON commerce.image_seq = image.seq
		WHERE commerce.t_seq = #{tSeq}
		ORDER BY commerce.`ordering`
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForIntro" parameterType="long" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForIntro] intro */
		SELECT fpti.header         AS header
				 , fpti.content        AS content
				 , fpi.url             AS image
				 , fpti.link_mo        AS linkMo
				 , fpti.link_pc        AS linkPc
				 , fpti.scheme_android AS android
				 , fpti.scheme_ios     AS ios
		FROM frn_pls_tdata_intro fpti
					 LEFT JOIN frn_pls_image fpi
										 ON fpti.image_seq = fpi.seq
		WHERE fpti.t_seq = #{value}
		]]>
	</select>

	<select id="frnPlusActivityInformationSelectForPremiumVideo" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="map">
		<![CDATA[
		/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusActivityInformationSelectForPremiumVideo] frnPlus activity 상세정보 (프리미엄동영상) */
		SELECT video.content					AS content
					,video.video_url				AS videoUrl
					,image.url							AS imageUrl
		FROM frn_pls_tdata_premium_video video
		LEFT JOIN frn_pls_image image
					 ON video.thumbnail_seq = image.seq
		WHERE video.t_seq = #{tSeq}
		]]>
	</select>
	
	<select id="emmaMsgStatisticsDetailList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="string">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMsgStatisticsDetailList] 메세지 사용현황 emma detail list */
			SELECT
				 yyyy_mm_dd			AS yyyyMm
				,all_cnt			AS allCnt
				,success_cnt		AS successCnt
				,fail_cnt			AS failCnt
				,rjct_cnt			AS rjctCnt
				,rjct_080_cnt		AS arsCnt
				,start_send_date	AS firstSendDate
				,finish_send_date	AS lastSendDate
			FROM emma_tdata_detail
			WHERE t_seq = #{tSeq} AND etd.yyyy_mm_dd LIKE CONCAT(#{yyyyMm},'%')
		]]>
	</select>
	
	<select id="itaMsgStatisticsDetailList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="string">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.itaMsgStatisticsDetailList] 메세지 사용현황 ita detail list */
			SELECT
				 yyyy_mm_dd			AS yyyyMm
				,all_cnt			AS allCnt
				,success_cnt		AS successCnt
				,failback_cnt		AS failbackCnt
				,fail_cnt			AS failCnt
				,rjct_cnt			AS rjctCnt
				,rjct_080_cnt		AS arsCnt
				,start_send_date	AS firstSendDate
				,finish_send_date	AS lastSendDate
			FROM ita_tdata_detail
			WHERE t_seq = #{tSeq} AND etd.yyyy_mm_dd LIKE CONCAT(#{yyyyMm},'%')
		]]>
	</select>
	
	<select id="msgStatisticsListCnt" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="int">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.msgStatisticsListCnt] 메시지 사용현황 로그 cnt */
			SELECT COUNT(0) FROM ${mainTable} WHERE v2_seq = #{tSeq}
		]]>
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(searchKeyword)">
		<![CDATA[
				AND recipient_num = #{searchKeyword}
		]]>
			</if>
	</select>

	<select id="frnPlusMsgStatisticsListCnt" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="int">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusMsgStatisticsListCnt] 메시지 사용현황 로그 cnt (친구톡+) */
			SELECT COUNT(0) FROM ${mainTable} WHERE t_seq = #{tSeq}
		]]>
		<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(searchKeyword)">
			<![CDATA[
				AND recipient_num = #{searchKeyword}
		]]>
		</if>
	</select>
	
	<select id="mainMsgStatisticsList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.emmaMainMsgStatisticsList] 메시지 사용현황 main 로그 */
			SELECT
				 v2_seq					AS tSeq
				,noti_id				AS notiId
				,recipient_num			AS recipientNum
				,date_mt_sent			AS sendDate
				,date_rslt				AS rsltDate
				,#{subTable}			AS subTable
		]]>
			<if test="agentType == 'emma'">
		<![CDATA[
				,mt_report_code_ib		AS reportCode
		]]>
			</if>
			<if test="agentType == 'ita'">
		<![CDATA[
				,report_code			AS reportCode
		]]>
			</if>
		<![CDATA[
			FROM ${mainTable}
			WHERE v2_seq = #{tSeq}
		]]>
			<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(searchKeyword)">
		<![CDATA[
				AND recipient_num = #{searchKeyword}
		]]>
			</if>
		<![CDATA[
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>

	<select id="frnPlusMsgStatisticsList" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.frnPlusMainMsgStatisticsList] 메시지 사용현황 친구톡+ 로그 */
			SELECT
						 t_seq                AS tSeq
					 , noti_id              AS notiId
					 , recipient_num        AS recipientNum
					 , date_mt_sent         AS sendDate
					 , date_rslt            AS rsltDate
					 , #{subTable}          AS subTable
					 , report_code          AS reportCode
			FROM ${mainTable}
			WHERE
						 t_seq = #{tSeq}
		]]>
		<if test="@org.apache.commons.lang3.StringUtils@isNotEmpty(searchKeyword)">
			<![CDATA[
				AND recipient_num = #{searchKeyword}
		]]>
		</if>
		<![CDATA[
			LIMIT #{firstIndex}, #{recordCountPerPage}
		]]>
	</select>
	
	<select id="subMsgStatistics" parameterType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO" resultType="com.i2sema.v2.admin.stat.vo.StatisticsDetailVO">
		<![CDATA[
			/* [com.i2sema.v2.admin.stat.dao.v2StatisticsDAO.subMsgStatistics] 메시지 사용현황 sub 로그 */
			SELECT
				 date_mt_sent			AS fbSendDate
				,date_rslt				AS fbRsltDate
				,mt_report_code_ib		AS fbReportCode
			FROM ${subTable}
			WHERE v2_seq = #{tSeq} AND noti_id = #{notiId}
		]]>
	</select>
</mapper>
