Files
hubez-admin/src/main/resources/mapper/mysql/stats/stats-mapper.xml

1844 lines
77 KiB
XML

<?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="kr.co.uplus.ez.api.stats.StatsMapper">
<select id="selectMonStatList" parameterType="kr.co.uplus.ez.api.stats.dto.MonthListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.MonthList">
/* stats-mapper.xml(selectMonStatList) */
select '전체' AS sumYm
, sum(T_SND_CNT) AS sndCnt
, sum(T_SUCC_CNT) AS succCnt
, CASE
WHEN IFNULL(SUM(T_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(T_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(T_SUCC_CNT, 0)) / SUM(IFNULL(T_SND_CNT, 0)) * 100),2)
END AS succRt
, sum(S_SND_CNT) AS sndCntS
, sum(S_SUCC_CNT) AS succCntS
, CASE
WHEN IFNULL(SUM(S_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(S_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(S_SUCC_CNT, 0)) / SUM(IFNULL(S_SND_CNT, 0)) * 100),2)
END AS succRtS
, sum(L_SND_CNT) AS sndCntL
, sum(L_SUCC_CNT) AS succCntL
, CASE
WHEN IFNULL(SUM(L_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(L_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(L_SUCC_CNT, 0)) / SUM(IFNULL(L_SND_CNT, 0)) * 100),2)
END AS succRtL
, sum(M_SND_CNT) AS sndCntM
, sum(M_SUCC_CNT) AS succCntM
, CASE
WHEN IFNULL(SUM(M_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(M_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(M_SUCC_CNT, 0)) / SUM(IFNULL(M_SND_CNT, 0)) * 100),2)
END AS succRtM
, sum(A_SND_CNT) AS sndCntR
, sum(A_SUCC_CNT) AS succCntR
, CASE
WHEN IFNULL(SUM(A_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(A_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(A_SUCC_CNT, 0)) / SUM(IFNULL(A_SND_CNT, 0)) * 100),2)
END AS succRtR
from (
<include refid="totalTodayMonth"/>
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'SMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'LMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'MMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'ALIMTALK'
) T
UNION ALL
select SUM_YM AS sumYm
, sum(T_SND_CNT) AS sndCnt
, sum(T_SUCC_CNT) AS succCnt
, sum(T_SUCC_RT) AS succRt
, sum(S_SND_CNT) AS sndCntS
, sum(S_SUCC_CNT) AS succCntS
, sum(S_SUCC_RT) AS succRtS
, sum(L_SND_CNT) AS sndCntL
, sum(L_SUCC_CNT) AS succCntL
, sum(L_SUCC_RT) AS succRtL
, sum(M_SND_CNT) AS sndCntM
, sum(M_SUCC_CNT) AS succCntM
, sum(M_SUCC_RT) AS succRtM
, sum(A_SND_CNT) AS sndCntR
, sum(A_SUCC_CNT) AS succCntR
, sum(A_SUCC_RT) AS succRtR
from (
<include refid="todayMonth"/>
SELECT DATE_FORMAT(SUM_YM, '%Y-%m') AS SUM_YM
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
GROUP BY SUM_YM
union all
SELECT DATE_FORMAT(SUM_YM, '%Y-%m') AS SUM_YM
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'SMS'
GROUP BY SUM_YM
union all
SELECT DATE_FORMAT(SUM_YM, '%Y-%m') AS SUM_YM
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'LMS'
GROUP BY SUM_YM
union all
SELECT DATE_FORMAT(SUM_YM, '%Y-%m') AS SUM_YM
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'MMS'
GROUP BY SUM_YM
union all
SELECT DATE_FORMAT(SUM_YM, '%Y-%m') AS SUM_YM
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
FROM hubez_common.EZ_MON_STAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
AND SND_CH_CD = 'ALIMTALK'
GROUP BY SUM_YM
) T GROUP BY SUM_YM order by sumYm desc
</select>
<select id="selectDayStatList" parameterType="kr.co.uplus.ez.api.stats.dto.DayListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.DayList">
/* stats-mapper.xml(selectDayStatList) */
select '전체' AS sumYmd
, sum(T_SND_CNT) AS sndCnt
, sum(T_SUCC_CNT) AS succCnt
, CASE
WHEN IFNULL(SUM(T_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(T_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(T_SUCC_CNT, 0)) / SUM(IFNULL(T_SND_CNT, 0)) * 100),2)
END AS succRt
, sum(S_SND_CNT) AS sndCntS
, sum(S_SUCC_CNT) AS succCntS
, CASE
WHEN IFNULL(SUM(S_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(S_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(S_SUCC_CNT, 0)) / SUM(IFNULL(S_SND_CNT, 0)) * 100),2)
END AS succRtS
, sum(L_SND_CNT) AS sndCntL
, sum(L_SUCC_CNT) AS succCntL
, CASE
WHEN IFNULL(SUM(L_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(L_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(L_SUCC_CNT, 0)) / SUM(IFNULL(L_SND_CNT, 0)) * 100),2)
END AS succRtL
, sum(M_SND_CNT) AS sndCntM
, sum(M_SUCC_CNT) AS succCntM
, CASE
WHEN IFNULL(SUM(M_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(M_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(M_SUCC_CNT, 0)) / SUM(IFNULL(M_SND_CNT, 0)) * 100),2)
END AS succRtM
, sum(A_SND_CNT) AS sndCntR
, sum(A_SUCC_CNT) AS succCntR
, CASE
WHEN IFNULL(SUM(A_SUCC_CNT), 0) = 0 THEN 0
WHEN IFNULL(SUM(A_SND_CNT), 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(A_SUCC_CNT, 0)) / SUM(IFNULL(A_SND_CNT, 0)) * 100),2)
END AS succRtR
from (
<include refid="totalTodayDate"/>
SELECT SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
, ROUND((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'SMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'LMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'MMS'
union all
SELECT 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'ALIMTALK'
) T
UNION ALL
select DATE_FORMAT(SUM_YMD, '%Y-%m-%d') AS sumYmd
, sum(T_SND_CNT) AS sndCnt
, sum(T_SUCC_CNT) AS succCnt
, sum(T_SUCC_RT) AS succRt
, sum(S_SND_CNT) AS sndCntS
, sum(S_SUCC_CNT) AS succCntS
, sum(S_SUCC_RT) AS succRtS
, sum(L_SND_CNT) AS sndCntL
, sum(L_SUCC_CNT) AS succCntL
, sum(L_SUCC_RT) AS succRtL
, sum(M_SND_CNT) AS sndCntM
, sum(M_SUCC_CNT) AS succCntM
, sum(M_SUCC_RT) AS succRtM
, sum(A_SND_CNT) AS sndCntR
, sum(A_SUCC_CNT) AS succCntR
, sum(A_SUCC_RT) AS succRtR
from (
<include refid="todayDate"/>
SELECT SUM_YMD
, SUM(IFNULL(SND_CNT,0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT,0)) AS T_SUCC_CNT
,TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
GROUP BY SUM_YMD
union all
SELECT SUM_YMD
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS S_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS S_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'SMS'
GROUP BY SUM_YMD
union all
SELECT SUM_YMD
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS L_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS L_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'LMS'
GROUP BY SUM_YMD
union all
SELECT SUM_YMD
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS M_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS M_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS M_SUCC_RT
, 0 as A_SND_CNT
, 0 as A_SUCC_CNT
, 0 as A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'MMS'
GROUP BY SUM_YMD
union all
SELECT SUM_YMD
, 0 as T_SND_CNT
, 0 as T_SUCC_CNT
, 0 as T_SUCC_RT
, 0 as S_SND_CNT
, 0 as S_SUCC_CNT
, 0 as S_SUCC_RT
, 0 as L_SND_CNT
, 0 as L_SUCC_CNT
, 0 as L_SUCC_RT
, 0 as M_SND_CNT
, 0 as M_SUCC_CNT
, 0 as M_SUCC_RT
, SUM(IFNULL(SND_CNT,0)) AS A_SND_CNT
, SUM(IFNULL(SUCC_CNT,0)) AS A_SUCC_CNT
, TRUNCATE((SUM(IFNULL(SUCC_CNT,0)) / SUM(IFNULL(SND_CNT,0)) * 100), 2) AS A_SUCC_RT
FROM hubez_common.EZ_DAY_STAT
WHERE 1=1
AND SUM_YMD BETWEEN STR_TO_DATE(#{startDay},'%Y%m%d') AND STR_TO_DATE(#{endDay},'%Y%m%d')
AND SND_CH_CD = 'ALIMTALK'
GROUP BY SUM_YMD
) T GROUP BY SUM_YMD order by sumYmd desc
</select>
<select id="selectCustMstatListTotalCnt" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList" resultType="int">
/* stats-mapper.xml(selectCustMstatListTotalCnt) */
SELECT
COUNT(*) AS TOTALCNT
FROM
(
SELECT
SUM_YM
,USER_SEQ
,CUST_NM
,BIZRNO
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
GROUP BY SUM_YM, USER_SEQ
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-01') AS SUM_YM
,ewm.USER_SEQ
,(SELECT CUST_NM FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as CUST_NM
,(SELECT BIZRNO FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as BIZRNO
FROM
hubez_common.EZ_WEB_MSG ewm
INNER JOIN hubez_common.EZ_SUBS_INFO esi ON ewm.USER_SEQ = esi.USER_SEQ
WHERE
1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( ewm.REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
GROUP BY DATE_FORMAT(ewm.REG_DT, '%Y-%m') , ewm.USER_SEQ
) A
WHERE 1=1
<include refid="custMstatListCondition"/>
</select>
<select id="selectCustMstatList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList" resultType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList">
/* stats-mapper.xml(selectCustMstatList) */
select DATE_FORMAT(t1.SUM_YM, '%Y-%m') AS sumYm
, t1.CUST_NM AS custNm
, t1.BIZRNO AS bizrno
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS succCnt
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as succRt
, t2.sndCntS
, t2.succCntS
, t2.succRtS
, t2.sndCntL
, t2.succCntL
, t2.succRtL
, t2.sndCntM
, t2.succCntM
, t2.succRtM
, t2.sndCntR
, t2.succCntR
, t2.succRtR
from (
select SUM_YM
, USER_SEQ
, BIZRNO
, CUST_NM
from (
select ecm.SUM_YM
, ecm.USER_SEQ
, ecm.BIZRNO
, ecm.CUST_NM
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') <!-- <include refid="custMstatListCondition"/> -->
group by ecm.SUM_YM , ecm.USER_SEQ <!-- ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ -->
) list <!-- 추가분 (시작) -->
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-01') AS SUM_YM
,ewm.USER_SEQ
,(SELECT BIZRNO FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as BIZRNO
,(SELECT CUST_NM FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as CUST_NM
FROM
hubez_common.EZ_WEB_MSG ewm
INNER JOIN hubez_common.EZ_SUBS_INFO esi ON ewm.USER_SEQ = esi.USER_SEQ
WHERE
1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( ewm.REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
GROUP BY DATE_FORMAT(ewm.REG_DT, '%Y-%m') , ewm.USER_SEQ <!-- 추가분 (끝) -->
LIMIT #{page}, #{pagePerRows}
) t1 inner join (
select SUM_YM
, USER_SEQ
, sum(smsSndCnt) AS sndCntS
, sum(smsSuccCnt) AS succCntS
, sum(smsSuccRt) AS succRtS
, sum(lmsSndCnt) AS sndCntL
, sum(lmsSuccCnt) AS succCntL
, sum(lmsSuccRt) AS succRtL
, sum(mmsSndCnt) AS sndCntM
, sum(mmsSuccCnt) AS succCntM
, sum(mmsSuccRt) AS succRtM
, sum(alimtSndCnt) AS sndCntR
, sum(alimtSuccCnt) AS succCntR
, sum(alimtSuccRt) AS succRtR
from (
select SUM_YM
, USER_SEQ
, case when sndChCd = 'SMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as smsSndCnt
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as smsSuccCnt
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as smsSuccRt
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as lmsSndCnt
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as lmsSuccCnt
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as lmsSuccRt
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as mmsSndCnt
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as mmsSuccCnt
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as mmsSuccRt
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as alimtSndCnt
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as alimtSuccCnt
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as alimtSuccRt
from (
select ecm.SUM_YM, ecm.USER_SEQ, SND_CH_CD as sndChCd
, ifnull(sum(SND_CNT) , 0) as SND_CNT
, ifnull(sum(SUCC_CNT) , 0) as SUCC_CNT
, ifnull(sum(FAIL_CNT) , 0) as FAIL_CNT
, 0 as FBACK_CNT
, 0 as FBACK_SUCC_CNT
, 0 as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_MSTAT ecm
inner join (
select SUM_YM
, USER_SEQ
from (
select ecm.SUM_YM
, ecm.USER_SEQ
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') <!-- <include refid="custMstatListCondition"/> -->
group by ecm.SUM_YM , ecm.USER_SEQ
ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ
) list
LIMIT #{page}, #{pagePerRows}
) list
on list.SUM_YM = ecm.SUM_YM and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
group by ecm.SUM_YM, ecm.USER_SEQ, SND_CH_CD -- , RPLCSND_CH_CD
union all
select ecm.SUM_YM, ecm.USER_SEQ, ecm.RPLCSND_CH_CD as sndChCd
, 0 as SND_CNT
, 0 as SUCC_CNT
, 0 as FAIL_CNT
, ifnull(sum(FBACK_CNT) , 0) as FBACK_CNT
, ifnull(sum(FBACK_SUCC_CNT) , 0) as FBACK_SUCC_CNT
, ifnull(sum(FBACK_FAIL_CNT) , 0) as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_MSTAT ecm
inner join (
select SUM_YM
, USER_SEQ
from (
select ecm.SUM_YM
, ecm.USER_SEQ
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d') <!-- <include refid="custMstatListCondition"/> -->
group by ecm.SUM_YM , ecm.USER_SEQ
ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ
) list
LIMIT #{page}, #{pagePerRows}
) list
on list.SUM_YM = ecm.SUM_YM and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
and RPLCSND_CH_CD in ('SMS', 'LMS', 'MMS', 'ALIMTALK')
group by ecm.SUM_YM, ecm.USER_SEQ, ecm.RPLCSND_CH_CD <!-- 추가분 (시작) -->
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-01') AS SUM_YM
,ewm.USER_SEQ
,REPLACE (ewm.CH_STR ,'KKO_NOTI', 'ALIMTALK') AS sndChCd
,SUM(IFNULL(ewm.SEND_CNT, 0)) AS SND_CNT
,SUM(IFNULL(ewm.SUCC_CNT, 0)) AS SUCC_CNT
,SUM(IFNULL(ewm.FAIL_CNT, 0)) AS FAIL_CNT
,SUM(IFNULL(ewm.FB_SUCC_CNT , 0)) + SUM(IFNULL(ewm.FB_FAIL_CNT, 0)) AS FBACK_CNT
,SUM(IFNULL(ewm.FB_SUCC_CNT, 0)) AS FBACK_SUCC_CNT
,SUM(IFNULL(ewm.FB_FAIL_CNT, 0)) AS FBACK_FAIL_CNT
FROM
hubez_common.EZ_WEB_MSG ewm
WHERE
1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
GROUP BY
DATE_FORMAT(ewm.REG_DT, '%Y-%m') , ewm.CH_STR <!-- 추가분 (끝) -->
) t1 group by SUM_YM, USER_SEQ, sndChCd order by null
) t2 group by SUM_YM, USER_SEQ order by null
) t2 on t2.SUM_YM = t1.SUM_YM and t2.USER_SEQ = t1.USER_SEQ
<include refid="custMstatListCondition"/>
GROUP BY t1.BIZRNO, t1.SUM_YM
ORDER BY t1.SUM_YM desc
</select>
<select id="selectCustMstatExcelList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmMonthListExcelReqDto" resultType="kr.co.uplus.ez.api.stats.dto.BsnmMonthList">
/* stats-mapper.xml(selectCustMstatExcelList) */
select DATE_FORMAT(t1.SUM_YM, '%Y-%m') AS sumYm
, t1.CUST_NM AS custNm
, t1.BIZRNO AS bizrno
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS sndCnt
, CONCAT((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR),'(',(TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2)),'%)') AS succCnt
, t2.sndCntS
, CONCAT(t2.succCntS, '(', t2.succRtS, '%)') AS succCntS
, t2.sndCntL
, CONCAT(t2.succCntL, '(', t2.succRtL, '%)') AS succCntL
, t2.sndCntM
, CONCAT(t2.succCntM, '(', t2.succRtM, '%)') AS succCntM
, t2.sndCntR
, CONCAT(t2.succCntR, '(', t2.succRtR, '%)') AS succCntR
from (
select SUM_YM
, USER_SEQ
, BIZRNO
, CUST_NM
from (
select ecm.SUM_YM
, ecm.USER_SEQ
, ecm.BIZRNO
, ecm.CUST_NM
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
<include refid="custMstatListCondition"/>
group by ecm.SUM_YM , ecm.USER_SEQ
ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ
) list
) t1 inner join (
select SUM_YM
, USER_SEQ
, sum(smsSndCnt) AS sndCntS
, sum(smsSuccCnt) AS succCntS
, sum(smsSuccRt) AS succRtS
, sum(lmsSndCnt) AS sndCntL
, sum(lmsSuccCnt) AS succCntL
, sum(lmsSuccRt) AS succRtL
, sum(mmsSndCnt) AS sndCntM
, sum(mmsSuccCnt) AS succCntM
, sum(mmsSuccRt) AS succRtM
, sum(alimtSndCnt) AS sndCntR
, sum(alimtSuccCnt) AS succCntR
, sum(alimtSuccRt) AS succRtR
from (
select SUM_YM
, USER_SEQ
, case when sndChCd = 'SMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as smsSndCnt
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as smsSuccCnt
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as smsSuccRt
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as lmsSndCnt
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as lmsSuccCnt
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as lmsSuccRt
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as mmsSndCnt
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as mmsSuccCnt
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as mmsSuccRt
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as alimtSndCnt
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as alimtSuccCnt
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as alimtSuccRt
from (
select ecm.SUM_YM, ecm.USER_SEQ, SND_CH_CD as sndChCd
, ifnull(sum(SND_CNT) , 0) as SND_CNT
, ifnull(sum(SUCC_CNT) , 0) as SUCC_CNT
, ifnull(sum(FAIL_CNT) , 0) as FAIL_CNT
, 0 as FBACK_CNT
, 0 as FBACK_SUCC_CNT
, 0 as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_MSTAT ecm
inner join (
select SUM_YM
, USER_SEQ
from (
select ecm.SUM_YM
, ecm.USER_SEQ
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
<include refid="custMstatListCondition"/>
group by ecm.SUM_YM , ecm.USER_SEQ
ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ
) list
) list
on list.SUM_YM = ecm.SUM_YM and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
group by ecm.SUM_YM, ecm.USER_SEQ, SND_CH_CD -- , RPLCSND_CH_CD
union all
select ecm.SUM_YM, ecm.USER_SEQ, ecm.RPLCSND_CH_CD as sndChCd
, 0 as SND_CNT
, 0 as SUCC_CNT
, 0 as FAIL_CNT
, ifnull(sum(FBACK_CNT) , 0) as FBACK_CNT
, ifnull(sum(FBACK_SUCC_CNT) , 0) as FBACK_SUCC_CNT
, ifnull(sum(FBACK_FAIL_CNT) , 0) as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_MSTAT ecm
inner join (
select SUM_YM
, USER_SEQ
from (
select ecm.SUM_YM
, ecm.USER_SEQ
from hubez_common.EZ_CUST_MSTAT ecm
where 1=1
AND SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
<include refid="custMstatListCondition"/>
group by ecm.SUM_YM , ecm.USER_SEQ
ORDER BY ecm.SUM_YM DESC, ecm.USER_SEQ
) list
) list
on list.SUM_YM = ecm.SUM_YM and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YM BETWEEN STR_TO_DATE(CONCAT(#{startMon},'01'),'%Y%m%d') AND STR_TO_DATE(CONCAT(#{endMon},'01'),'%Y%m%d')
and RPLCSND_CH_CD in ('SMS', 'LMS', 'MMS', 'ALIMTALK')
group by ecm.SUM_YM, ecm.USER_SEQ, ecm.RPLCSND_CH_CD
) t1 group by SUM_YM, USER_SEQ, sndChCd order by null
) t2 group by SUM_YM, USER_SEQ order by null
) t2 on t2.SUM_YM = t1.SUM_YM and t2.USER_SEQ = t1.USER_SEQ
order by t1.SUM_YM, t1.USER_SEQ
</select>
<select id="selectCustDstatListTotalCnt" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmDayListReqDto" resultType="int">
/* stats-mapper.xml(selectCustDstatListTotalCnt) */
SELECT
COUNT(*) AS TOTALCNT
FROM
(
SELECT
SUM_YMD
,USER_SEQ
,CUST_NM
,BIZRNO
FROM
hubez_common.EZ_CUST_DSTAT
WHERE 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
GROUP BY SUM_YMD, USER_SEQ
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-%d') AS SUM_YMD
,ewm.USER_SEQ
,(SELECT CUST_NM FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as CUST_NM
,(SELECT BIZRNO FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as BIZRNO
FROM
hubez_common.EZ_WEB_MSG ewm
INNER JOIN hubez_common.EZ_SUBS_INFO esi ON ewm.USER_SEQ = esi.USER_SEQ
WHERE
1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( ewm.REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
GROUP BY DATE_FORMAT(ewm.REG_DT, '%Y-%m-%d') , ewm.USER_SEQ
) A
WHERE 1=1
<if test="custNm != null and custNm != ''">
AND CUST_NM LIKE CONCAT('%',#{custNm},'%')
</if>
<if test="bizrno != null and bizrno != ''">
AND BIZRNO LIKE CONCAT('%',#{bizrno},'%')
</if>
</select>
<select id="selectCustDstatList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmDayListReqDto" resultType="kr.co.uplus.ez.api.stats.dto.BsnmDayList">
/* stats-mapper.xml(selectCustDstatList) */
select DATE_FORMAT(t1.SUM_YMD, '%Y-%m-%d') AS SUM_YMD
, t1.CUST_NM AS CUST_NM
, t1.BIZRNO AS BIZRNO
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
, (t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) AS SUCC_CNT
, TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2) as SUCC_RT
, t2.sndCntS as SND_CNT_S
, t2.succCntS as SUCC_CNT_S
, t2.succRtS as SUCC_RT_S
, t2.sndCntL as SND_CNT_L
, t2.succCntL as SUCC_CNT_L
, t2.succRtL as SUCC_RT_L
, t2.sndCntM as SND_CNT_M
, t2.succCntM as SUCC_CNT_M
, t2.succRtM as SUCC_RT_M
, t2.sndCntR as SND_CNT_R
, t2.succCntR as SUCC_CNT_R
, t2.succRtR as SUCC_RT_R
from (
select SUM_YMD
, USER_SEQ
, BIZRNO
, CUST_NM
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
, ecm.BIZRNO
, ecm.CUST_NM
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<!-- <include refid="custDstatListCondition"/> -->
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD, ecm.USER_SEQ
) list
<!-- 추가분 (시작) -->
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-%d') AS SUM_YMD
,ewm.USER_SEQ
,(SELECT BIZRNO FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as BIZRNO
,(SELECT CUST_NM FROM hubez_common.EZ_CUST_INFO ci WHERE ci.CUST_SEQ = esi.CUST_SEQ) as CUST_NM
FROM
hubez_common.EZ_WEB_MSG ewm
INNER JOIN hubez_common.EZ_SUBS_INFO esi ON ewm.USER_SEQ = esi.USER_SEQ
WHERE
1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( ewm.REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
GROUP BY DATE_FORMAT(ewm.REG_DT, '%Y-%m-%d') , ewm.USER_SEQ
<!-- 추가분 (끝) -->
LIMIT #{page}, #{pagePerRows}
) t1 inner join (
select SUM_YMD
, USER_SEQ
, sum(smsSndCnt) AS sndCntS
, sum(smsSuccCnt) AS succCntS
, sum(smsSuccRt) AS succRtS
, sum(lmsSndCnt) AS sndCntL
, sum(lmsSuccCnt) AS succCntL
, sum(lmsSuccRt) AS succRtL
, sum(mmsSndCnt) AS sndCntM
, sum(mmsSuccCnt) AS succCntM
, sum(mmsSuccRt) AS succRtM
, sum(alimtSndCnt) AS sndCntR
, sum(alimtSuccCnt) AS succCntR
, sum(alimtSuccRt) AS succRtR
from (
select SUM_YMD
, USER_SEQ
, case when sndChCd = 'SMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as smsSndCnt
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as smsSuccCnt
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as smsSuccRt
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as lmsSndCnt
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as lmsSuccCnt
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as lmsSuccRt
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as mmsSndCnt
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as mmsSuccCnt
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as mmsSuccRt
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as alimtSndCnt
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as alimtSuccCnt
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as alimtSuccRt
from (
select ecm.SUM_YMD, ecm.USER_SEQ, SND_CH_CD as sndChCd
, ifnull(sum(SND_CNT) , 0) as SND_CNT
, ifnull(sum(SUCC_CNT) , 0) as SUCC_CNT
, ifnull(sum(FAIL_CNT) , 0) as FAIL_CNT
, 0 as FBACK_CNT
, 0 as FBACK_SUCC_CNT
, 0 as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_DSTAT ecm
inner join (
select SUM_YMD
, USER_SEQ
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<!-- <include refid="custDstatListCondition"/> -->
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD , ecm.USER_SEQ
) list
LIMIT #{page}, #{pagePerRows}
) list
on list.SUM_YMD = ecm.SUM_YMD and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
group by ecm.SUM_YMD , ecm.USER_SEQ, SND_CH_CD
union all
select ecm.SUM_YMD, ecm.USER_SEQ, ecm.RPLCSND_CH_CD as sndChCd
, 0 as SND_CNT
, 0 as SUCC_CNT
, 0 as FAIL_CNT
, ifnull(sum(FBACK_CNT) , 0) as FBACK_CNT
, ifnull(sum(FBACK_SUCC_CNT) , 0) as FBACK_SUCC_CNT
, ifnull(sum(FBACK_FAIL_CNT) , 0) as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_DSTAT ecm
inner join (
select SUM_YMD
, USER_SEQ
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<!-- <include refid="custDstatListCondition"/> -->
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD , ecm.USER_SEQ
) list
LIMIT #{page}, #{pagePerRows}
) list
on list.SUM_YMD = ecm.SUM_YMD and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
and RPLCSND_CH_CD in ('SMS', 'LMS', 'MMS', 'ALIMTALK')
group by ecm.SUM_YMD, ecm.USER_SEQ, ecm.RPLCSND_CH_CD
<!-- 추가분 (시작) -->
UNION ALL
SELECT
DATE_FORMAT(ewm.REG_DT , '%Y-%m-%d') AS SUM_YMD
,ewm.USER_SEQ
,REPLACE (ewm.CH_STR ,'KKO_NOTI', 'ALIMTALK') AS sndChCd
,SUM(IFNULL(ewm.SEND_CNT, 0)) AS SND_CNT
,SUM(IFNULL(ewm.SUCC_CNT, 0)) AS SUCC_CNT
,SUM(IFNULL(ewm.FAIL_CNT, 0)) AS FAIL_CNT
,SUM(IFNULL(ewm.FB_SUCC_CNT , 0)) + SUM(IFNULL(ewm.FB_FAIL_CNT, 0)) AS FBACK_CNT
,SUM(IFNULL(ewm.FB_SUCC_CNT, 0)) AS FBACK_SUCC_CNT
,SUM(IFNULL(ewm.FB_FAIL_CNT, 0)) AS FBACK_FAIL_CNT
FROM
hubez_common.EZ_WEB_MSG ewm
WHERE
1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( ewm.REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
GROUP BY
DATE_FORMAT(ewm.REG_DT, '%Y-%m-%d') , ewm.CH_STR
<!-- 추가분 (끝) -->
) t1 group by SUM_YMD, USER_SEQ, sndChCd order by null
) t2 group by SUM_YMD, USER_SEQ order by null
) t2 on t2.SUM_YMD = t1.SUM_YMD and t2.USER_SEQ = t1.USER_SEQ
<include refid="custDstatListCondition"/>
order by SUM_YMD DESC
</select>
<select id="selectCustDstatExcelList" parameterType="kr.co.uplus.ez.api.stats.dto.BsnmDayListExcelReqDto" resultType="kr.co.uplus.ez.api.stats.dto.BsnmDayList">
/* stats-mapper.xml(selectCustDstatExcelList) */
select DATE_FORMAT(t1.SUM_YMD, '%Y-%m-%d') AS SUM_YMD
, t1.CUST_NM AS CUST_NM
, t1.BIZRNO AS BIZRNO
, (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) AS SND_CNT
, CONCAT((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR),'(',(TRUNCATE((t2.succCntS + t2.succCntL + t2.succCntM + t2.succCntR) / (t2.sndCntS + t2.sndCntL + t2.sndCntM + t2.sndCntR) * 100, 2)) , '%)') AS SUCC_CNT
, t2.sndCntS as SND_CNT_S
, CONCAT(t2.succCntS,'(', t2.succRtS, '%)') as SUCC_CNT_S
, t2.sndCntL as SND_CNT_L
, CONCAT(t2.succCntL, '(', t2.succRtL, '%)') as SUCC_CNT_L
, t2.sndCntM as SND_CNT_M
, CONCAT(t2.succCntM, '(', t2.succRtM, '%)') as SUCC_CNT_M
, t2.sndCntR as SND_CNT_R
, CONCAT(t2.succCntR, '(', t2.succRtR, '%)') as SUCC_CNT_R
from (
select SUM_YMD
, USER_SEQ
, BIZRNO
, CUST_NM
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
, ecm.BIZRNO
, ecm.CUST_NM
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<include refid="custDstatListCondition"/>
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD , ecm.USER_SEQ
) list
) t1 inner join (
select SUM_YMD
, USER_SEQ
, sum(smsSndCnt) AS sndCntS
, sum(smsSuccCnt) AS succCntS
, sum(smsSuccRt) AS succRtS
, sum(lmsSndCnt) AS sndCntL
, sum(lmsSuccCnt) AS succCntL
, sum(lmsSuccRt) AS succRtL
, sum(mmsSndCnt) AS sndCntM
, sum(mmsSuccCnt) AS succCntM
, sum(mmsSuccRt) AS succRtM
, sum(alimtSndCnt) AS sndCntR
, sum(alimtSuccCnt) AS succCntR
, sum(alimtSuccRt) AS succRtR
from (
select SUM_YMD
, USER_SEQ
, case when sndChCd = 'SMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as smsSndCnt
, case when sndChCd = 'SMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as smsSuccCnt
, case when sndChCd = 'SMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as smsSuccRt
, case when sndChCd = 'LMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as lmsSndCnt
, case when sndChCd = 'LMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as lmsSuccCnt
, case when sndChCd = 'LMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as lmsSuccRt
, case when sndChCd = 'MMS' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as mmsSndCnt
, case when sndChCd = 'MMS' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as mmsSuccCnt
, case when sndChCd = 'MMS' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as mmsSuccRt
, case when sndChCd = 'ALIMTALK' then SUM(SND_CNT) + SUM(FBACK_CNT)
else 0
end as alimtSndCnt
, case when sndChCd = 'ALIMTALK' then SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)
else 0
end as alimtSuccCnt
, case when sndChCd = 'ALIMTALK' then TRUNCATE((SUM(SUCC_CNT) + SUM(FBACK_SUCC_CNT)) / (SUM(SND_CNT) + SUM(FBACK_CNT)) * 100, 2)
else 0
end as alimtSuccRt
from (
select ecm.SUM_YMD, ecm.USER_SEQ, SND_CH_CD as sndChCd
, ifnull(sum(SND_CNT) , 0) as SND_CNT
, ifnull(sum(SUCC_CNT) , 0) as SUCC_CNT
, ifnull(sum(FAIL_CNT) , 0) as FAIL_CNT
, 0 as FBACK_CNT
, 0 as FBACK_SUCC_CNT
, 0 as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_DSTAT ecm
inner join (
select SUM_YMD
, USER_SEQ
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<include refid="custDstatListCondition"/>
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD , ecm.USER_SEQ
) list
) list
on list.SUM_YMD = ecm.SUM_YMD and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
group by ecm.SUM_YMD , ecm.USER_SEQ, SND_CH_CD
union all
select ecm.SUM_YMD, ecm.USER_SEQ, ecm.RPLCSND_CH_CD as sndChCd
, 0 as SND_CNT
, 0 as SUCC_CNT
, 0 as FAIL_CNT
, ifnull(sum(FBACK_CNT) , 0) as FBACK_CNT
, ifnull(sum(FBACK_SUCC_CNT) , 0) as FBACK_SUCC_CNT
, ifnull(sum(FBACK_FAIL_CNT) , 0) as FBACK_FAIL_CNT
from hubez_common.EZ_CUST_DSTAT ecm
inner join (
select SUM_YMD
, USER_SEQ
from (
select ecm.SUM_YMD
, ecm.USER_SEQ
from hubez_common.EZ_CUST_DSTAT ecm
where 1=1
AND SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
<include refid="custDstatListCondition"/>
group by ecm.SUM_YMD , ecm.USER_SEQ
ORDER BY ecm.SUM_YMD , ecm.USER_SEQ
) list
) list
on list.SUM_YMD = ecm.SUM_YMD and list.USER_SEQ = ecm.USER_SEQ
where ecm.SUM_YMD BETWEEN DATE_FORMAT(#{startDay},'%Y%m%d') AND DATE_FORMAT(#{endDay},'%Y%m%d')
and RPLCSND_CH_CD in ('SMS', 'LMS', 'MMS', 'ALIMTALK')
group by ecm.SUM_YMD, ecm.USER_SEQ, ecm.RPLCSND_CH_CD
) t1 group by SUM_YMD, USER_SEQ, sndChCd order by null
) t2 group by SUM_YMD, USER_SEQ order by null
) t2 on t2.SUM_YMD = t1.SUM_YMD and t2.USER_SEQ = t1.USER_SEQ
order by t1.SUM_YMD, t1.USER_SEQ
</select>
<sql id="custMstatListCondition">
<if test="custNm != null and custNm != ''">
AND CUST_NM LIKE CONCAT('%',#{custNm},'%')
</if>
<if test="bizrno != null and bizrno != ''">
AND BIZRNO LIKE CONCAT('%',#{bizrno},'%')
</if>
</sql>
<sql id="custDstatListCondition">
<if test="custNm != null and custNm != ''">
AND CUST_NM LIKE CONCAT('%',#{custNm},'%')
</if>
<if test="bizrno != null and bizrno != ''">
AND BIZRNO LIKE CONCAT('%',#{bizrno},'%')
</if>
</sql>
<!-- 실시간 일별 통계 반영분 (합계) -->
<sql id="totalTodayDate">
SELECT SUM(IFNULL(SEND_CNT, 0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS T_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS S_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS S_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'SMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS L_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS L_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'LMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS M_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS M_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'MMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS A_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS A_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'KKO_NOTI'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
</sql>
<!-- 실시간 일별 통계 반영분 (날짜) -->
<sql id="todayDate">
SELECT DATE_FORMAT(REG_DT, '%Y-%m-%d') AS SUM_YMD
,SUM(IFNULL(SEND_CNT, 0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS T_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m-%d') AS SUM_YMD
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS S_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS S_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'SMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m-%d') AS SUM_YMD
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS L_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS L_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'LMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m-%d') AS SUM_YMD
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS M_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS M_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'MMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m-%d') AS SUM_YMD
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS A_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS A_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND DATE_FORMAT( #{endDay}, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND DATE_FORMAT( REG_DT, '%Y-%m-%d') = DATE_FORMAT( NOW(), '%Y-%m-%d')
AND CH_STR = 'KKO_NOTI'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m-%d')
UNION ALL
</sql>
<!-- 실시간 월별 통계 반영분 (합계) -->
<sql id="totalTodayMonth">
SELECT SUM(IFNULL(SEND_CNT, 0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS T_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS S_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS S_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'SMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS L_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS L_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'LMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS M_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS M_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'MMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT 0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS A_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS A_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE ((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'KKO_NOTI'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
</sql>
<!-- 실시간 월별 통계 반영분 (날짜) -->
<sql id="todayMonth">
SELECT DATE_FORMAT(REG_DT, '%Y-%m') AS SUM_YM
,SUM(IFNULL(SEND_CNT, 0)) AS T_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS T_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m') AS SUM_YM
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS S_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS S_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'SMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m') AS SUM_YM
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS L_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS L_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'LMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m') AS SUM_YM
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS M_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS M_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS M_SUCC_RT
,0 AS A_SND_CNT
,0 AS A_SUCC_CNT
,0 AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'MMS'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
SELECT DATE_FORMAT(REG_DT, '%Y-%m') AS SUM_YM
,0 AS T_SND_CNT
,0 AS T_SUCC_CNT
,0 AS T_SUCC_RT
,0 AS S_SND_CNT
,0 AS S_SUCC_CNT
,0 AS S_SUCC_RT
,0 AS L_SND_CNT
,0 AS L_SUCC_CNT
,0 AS L_SUCC_RT
,0 AS M_SND_CNT
,0 AS M_SUCC_CNT
,0 AS M_SUCC_RT
,SUM(IFNULL(SEND_CNT, 0)) AS A_SND_CNT
,SUM(IFNULL(SUCC_CNT, 0)) AS A_SUCC_CNT
,CASE
WHEN IFNULL(SUCC_CNT, 0) = 0 THEN 0
WHEN IFNULL(SEND_CNT, 0) = 0 THEN 0
ELSE TRUNCATE((SUM(IFNULL(SUCC_CNT, 0)) / SUM(IFNULL(SEND_CNT, 0)) * 100),2)
END AS A_SUCC_RT
FROM hubez_common.EZ_WEB_MSG
WHERE 1 = 1
AND #{endMon} = DATE_FORMAT( NOW(), '%Y%m')
AND DATE_FORMAT( REG_DT, '%Y-%m') = DATE_FORMAT( NOW(), '%Y-%m')
AND CH_STR = 'KKO_NOTI'
GROUP BY DATE_FORMAT(REG_DT, '%Y-%m')
UNION ALL
</sql>
</mapper>