/* attractMgt-mapper.xml(selectAttractListTotalCnt) */
SELECT
COUNT(*) AS totalCnt
FROM
hubez_common.EZ_SUBS_INFO esi
INNER JOIN hubez_common.EZ_CUST_INFO eci
ON eci.CUST_SEQ = esi.CUST_SEQ
INNER JOIN hubez_common.EZ_SVC_USER esu
ON esu.USER_SEQ = esi.USER_SEQ
INNER JOIN hubez_imdb.EZ_IM_USER eiu
ON eiu.LOGIN_ID = esi.ATTRCTOR_ID
INNER JOIN hubez_imdb.EZ_IM_GROUP eig
ON eiu.EX_DEPT_CD = eig.NORG_CD
WHERE 1 = 1
/* attractMgt-mapper.xml(selectAttractList) */
SELECT
@ROWNUM := @ROWNUM + 1 AS NO
, A.SUBS_DT
, A.NORG_NM
, A.USER_SEQ
, A.LOGIN_ID
, A.CUST_NM
, A.BIZRNO
, A.USER_NM
, A.SUBS_STTUS_CD
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as
SUBS_STTUS_NM
, A.CUST_TY_CD
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as
CUST_TY_NM
, (
SELECT
sum(IFNULL(ecm.SND_CNT,0)) AS SND_CNT
FROM
hubez_common.EZ_CUST_MSTAT ecm
WHERE
ecm.USER_SEQ = A.USER_SEQ
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -24 MONTH) AND NOW()
) AS SND_CNT
FROM
(
SELECT
DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d') AS SUBS_DT
, eig.NORG_NM
, esi.USER_SEQ
, eiu.LOGIN_ID
, eci.CUST_NM
, eci.BIZRNO
, esu.USER_NM
, esi.SUBS_STTUS_CD
, eci.CUST_TY_CD
FROM
hubez_common.EZ_SUBS_INFO esi
INNER JOIN hubez_common.EZ_CUST_INFO eci
ON eci.CUST_SEQ = esi.CUST_SEQ
INNER JOIN hubez_common.EZ_SVC_USER esu
ON esu.USER_SEQ = esi.USER_SEQ
INNER JOIN hubez_imdb.EZ_IM_USER eiu
ON eiu.LOGIN_ID = esi.ATTRCTOR_ID
INNER JOIN hubez_imdb.EZ_IM_GROUP eig
ON eiu.EX_DEPT_CD = eig.NORG_CD
WHERE 1 = 1
ORDER BY esi.SUBS_DT DESC
LIMIT #{page}, #{pagePerRows}
) A , ( SELECT @ROWNUM := #{page} ) AS R
/* attractMgt-mapper.xml(selectAttractExcelList) */
SELECT
@ROWNUM := @ROWNUM + 1 AS NO
, A.SUBS_DT
, A.NORG_NM
, A.USER_SEQ
, A.LOGIN_ID
, A.CUST_NM
, A.BIZRNO
, A.USER_NM
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'SUBS_STTUS_CD' AND DTL_CD = A.SUBS_STTUS_CD) as
SUBS_STTUS_NM
, (SELECT DTL_CD_NM FROM hubez_common.EZ_CD_DTL WHERE GRP_CD = 'CUST_KD_CD' AND DTL_CD = A.CUST_TY_CD) as
CUST_TY_NM
, (
SELECT
sum(IFNULL(ecm.SND_CNT,0)) AS SND_CNT
FROM
hubez_common.EZ_CUST_MSTAT ecm
WHERE
ecm.USER_SEQ = A.USER_SEQ
AND ecm.SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -24 MONTH) AND NOW()
) AS SND_CNT
FROM
(
SELECT
DATE_FORMAT(esi.SUBS_DT , '%Y-%m-%d') AS SUBS_DT
, eig.NORG_NM
, esi.USER_SEQ
, eiu.LOGIN_ID
, eci.CUST_NM
, eci.BIZRNO
, esu.USER_NM
, esi.SUBS_STTUS_CD
, eci.CUST_TY_CD
FROM
hubez_common.EZ_SUBS_INFO esi
INNER JOIN hubez_common.EZ_CUST_INFO eci
ON eci.CUST_SEQ = esi.CUST_SEQ
INNER JOIN hubez_common.EZ_SVC_USER esu
ON esu.USER_SEQ = esi.USER_SEQ
INNER JOIN hubez_imdb.EZ_IM_USER eiu
ON eiu.LOGIN_ID = esi.ATTRCTOR_ID
INNER JOIN hubez_imdb.EZ_IM_GROUP eig
ON eiu.EX_DEPT_CD = eig.NORG_CD
WHERE 1 = 1
ORDER BY esi.SUBS_DT DESC) A ,
( SELECT @ROWNUM := 0 ) AS R
AND esi.SUBS_DT >= #{subsStDt} AND esi.SUBS_DT DATE_ADD(#{subsEdDt}, interval 1 day)
AND esi.SUBS_STTUS_CD = #{subsSttusCd}
AND eci.CUST_TY_CD = #{custTyCd}
AND eiu.LOGIN_ID LIKE CONCAT('%', #{loginId}, '%')
AND eig.NORG_NM LIKE CONCAT('%', #{norgNm}, '%')
AND eci.CUST_NM LIKE CONCAT('%', #{searchText}, '%')
AND esu.USER_NM LIKE CONCAT('%', #{searchText}, '%')
AND eci.BIZRNO LIKE CONCAT('%', #{searchText}, '%')
and esi.ATTRCTOR_ID LIKE CONCAT('%', #{attrctorId}, '%')
/* attractMgt-mapper.xml(selectAttractDetail) */
SELECT DATE_FORMAT(esi.SUBS_DT, '%Y-%m-%d') AS SUBS_DT
, esi.SUBS_STTUS_CD
, (SELECT T2.DTL_CD_NM AS codeNm
FROM hubez_common.EZ_CD_GRP T1
LEFT JOIN hubez_common.EZ_CD_DTL T2
ON T1.GRP_CD = T2.GRP_CD
WHERE T1.GRP_CD = 'SUBS_STTUS_CD'
AND T2.DTL_CD = esi.SUBS_STTUS_CD) AS SUBS_STTUS_NM
, eci.CUST_NM
, esi.PROD_CD
, eci.REPR_NM
, eci.CUST_TY_CD
, (SELECT T2.DTL_CD_NM AS codeNm
FROM hubez_common.EZ_CD_GRP T1
LEFT JOIN hubez_common.EZ_CD_DTL T2
ON T1.GRP_CD = T2.GRP_CD
WHERE T1.GRP_CD = 'CUST_KD_CD'
AND T2.DTL_CD = eci.CUST_TY_CD) AS CUST_TY_NM
, eci.BIZRNO
, eci.CORPNO AS CPR_REG_NO
, eci.ZIPCD AS ADR1
, eci.ADDR1 AS ADR2
, eci.ADDR2 AS ADR3
, esi.ATTRCTOR_ID AS CHANNEL_ID
, esi.ATTRCTOR_NM AS CHANNEL_NM
, esi.SUBSMNGR_ID AS ADMIN_ID
, esi.SUBSMNGR_NM AS ADMIN_NM
, esu.USER_ID
, (
SELECT PROD_NM
FROM hubez_common.EZ_PROD_INFO
WHERE PROD_CD = esi.PROD_CD) AS PLAN
FROM hubez_common.EZ_SUBS_INFO esi
INNER JOIN hubez_common.EZ_CUST_INFO eci
ON eci.CUST_SEQ = esi.CUST_SEQ
INNER JOIN hubez_common.EZ_SVC_USER esu
ON esu.USER_SEQ = esi.USER_SEQ
INNER JOIN hubez_imdb.EZ_IM_USER eiu
ON eiu.LOGIN_ID = esi.ATTRCTOR_ID
INNER JOIN hubez_imdb.EZ_IM_GROUP eig
ON eiu.EX_DEPT_CD = eig.NORG_CD
WHERE 1 = 1
AND esu.USER_SEQ = #{userSeq}
/* attractMgt-mapper.xml(selectSndCountList) */
SELECT
SUM_YM AS sumYm, A.sndCnt, A.succCnt, A.sndCntS, A.succCntS, A.sndCntL, A.succCntL,
A.sndCntM, A.succCntM, A.sndCntR AS sndCntA, A.succCntR AS succCntA, A.fbSndCntS, A.fbSuccCntS, A.fbSndCntL,
A.fbSuccCntL, A.fbSndCntM, A.fbSuccCntM
FROM
(
SELECT
DATE_FORMAT(S1.SUM_YM, '%Y-%m') AS SUM_YM,
(SUM(S1.sndCntS) + SUM(S1.sndCntL) + SUM(S1.sndCntM) + SUM(S1.sndCntR)) AS sndCnt,
(SUM(S1.succCntS) + SUM(S1.succCntL) +SUM(S1.succCntM) +SUM(S1.succCntR) + SUM(fbSuccCntS) + SUM(fbSuccCntL)+ SUM(fbSuccCntM)) AS succCnt,
SUM(S1.sndCntS) AS sndCntS, SUM(S1.succCntS) AS succCntS, SUM(S1.sndCntL) AS sndCntL, SUM(S1.succCntL) AS succCntL, SUM(S1.sndCntM) AS sndCntM,
SUM(S1.succCntM) AS succCntM, SUM(S1.sndCntR) AS sndCntR, SUM(S1.succCntR) AS succCntR, SUM(S1.fbSndCntS) AS fbSndCntS, SUM(S1.fbSuccCntS) AS fbSuccCntS,
SUM(S1.fbSndCntL) AS fbSndCntL, SUM(S1.fbSuccCntL) AS fbSuccCntL, SUM(S1.fbSndCntM) AS fbSndCntM, SUM(S1.fbSuccCntM) AS fbSuccCntM
FROM
(
SELECT
SUM_YM,
CASE WHEN SND_CH_CD = 'SMS' THEN IFNULL(SND_CNT, 0) ELSE 0 END AS sndCntS,
CASE WHEN SND_CH_CD = 'SMS' THEN IFNULL(SUCC_CNT, 0) ELSE 0 END AS succCntS,
CASE WHEN SND_CH_CD = 'LMS' THEN IFNULL(SND_CNT, 0) ELSE 0 END AS sndCntL,
CASE WHEN SND_CH_CD = 'LMS' THEN IFNULL(SUCC_CNT, 0) ELSE 0 END AS succCntL,
CASE WHEN SND_CH_CD = 'MMS' THEN IFNULL(SND_CNT, 0) ELSE 0 END AS sndCntM,
CASE WHEN SND_CH_CD = 'MMS' THEN IFNULL(SUCC_CNT, 0) ELSE 0 END AS succCntM,
CASE WHEN SND_CH_CD = 'ALIMTALK' THEN IFNULL(SND_CNT, 0) ELSE 0 END AS sndCntR,
CASE WHEN SND_CH_CD = 'ALIMTALK' THEN IFNULL(SUCC_CNT, 0) ELSE 0 END AS succCntR,
CASE WHEN RPLCSND_CH_CD = 'SMS' THEN IFNULL(FBACK_CNT, 0) ELSE 0 END AS fbSndCntS,
CASE WHEN RPLCSND_CH_CD = 'SMS' THEN IFNULL(FBACK_SUCC_CNT, 0) ELSE 0 END AS fbSuccCntS,
CASE WHEN RPLCSND_CH_CD = 'LMS' THEN IFNULL(FBACK_CNT, 0) ELSE 0 END AS fbSndCntL,
CASE WHEN RPLCSND_CH_CD = 'LMS' THEN IFNULL(FBACK_SUCC_CNT, 0) ELSE 0 END AS fbSuccCntL,
CASE WHEN RPLCSND_CH_CD = 'MMS' THEN IFNULL(FBACK_CNT, 0) ELSE 0 END AS fbSndCntM,
CASE WHEN RPLCSND_CH_CD = 'MMS' THEN IFNULL(FBACK_SUCC_CNT, 0) ELSE 0 END AS fbSuccCntM
FROM
hubez_common.EZ_CUST_MSTAT ewm INNER JOIN
hubez_common.EZ_SVC_USER esu ON ewm.USER_SEQ = esu.USER_SEQ
WHERE
SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -24 MONTH) AND NOW()
AND ewm.USER_SEQ = #{userSeq}
UNION ALL
SELECT
SUM_YM,
CASE WHEN SND_CH_CD = 'SMS' THEN SUM(SND_CNT) ELSE 0 END AS sndCntS,
CASE WHEN SND_CH_CD = 'SMS' THEN SUM(SUCC_CNT) ELSE 0 END AS succCntS,
CASE WHEN SND_CH_CD = 'LMS' THEN SUM(SND_CNT) ELSE 0 END AS sndCntL,
CASE WHEN SND_CH_CD = 'LMS' THEN SUM(SUCC_CNT) ELSE 0 END AS succCntL,
CASE WHEN SND_CH_CD = 'MMS' THEN SUM(SND_CNT) ELSE 0 END AS sndCntM,
CASE WHEN SND_CH_CD = 'MMS' THEN SUM(SUCC_CNT) ELSE 0 END AS succCntM,
CASE WHEN SND_CH_CD = 'ALIMTALK' THEN SUM(SND_CNT) ELSE 0 END AS sndCntR,
CASE WHEN SND_CH_CD = 'ALIMTALK' THEN SUM(SUCC_CNT) ELSE 0 END AS succCntR,
CASE WHEN SND_CH_CD = 'SMS' THEN SUM(FBACK_CNT) ELSE 0 END AS fbSndCntS,
CASE WHEN SND_CH_CD = 'SMS' THEN SUM(FBACK_SUCC_CNT) ELSE 0 END AS fbSuccCntS,
CASE WHEN SND_CH_CD = 'LMS' THEN SUM(FBACK_CNT) ELSE 0 END AS fbSndCntL,
CASE WHEN SND_CH_CD = 'LMS' THEN SUM(FBACK_SUCC_CNT) ELSE 0 END AS fbSuccCntL,
CASE WHEN SND_CH_CD = 'MMS' THEN SUM(FBACK_CNT) ELSE 0 END AS fbSndCntM,
CASE WHEN SND_CH_CD = 'MMS' THEN SUM(FBACK_SUCC_CNT) ELSE 0 END AS fbSuccCntM
FROM
(
SELECT
DATE_FORMAT(ewm.YMD, '%Y-%m-01') AS SUM_YM,
REPLACE (ewm.CH_STR ,'KKO_NOTI', 'ALIMTALK') AS SND_CH_CD,
SUM(IFNULL(ewm.SEND_CNT, 0)) AS SND_CNT,
SUM(IFNULL(ewm.SUCC_CNT, 0)) AS SUCC_CNT,
0 AS FBACK_CNT,
0 AS FBACK_SUCC_CNT
FROM
hubez_common.EZ_WEB_MSG ewm INNER JOIN
hubez_common.EZ_SVC_USER esu ON ewm.USER_SEQ = esu.USER_SEQ
WHERE
ewm.YMD BETWEEN DATE_FORMAT( NOW(), '%Y-%m-01') AND DATE_FORMAT( NOW(), '%Y-%m-%d')
AND esu.PRNTS_USER_SEQ = #{userSeq}
GROUP BY ewm.YMD, ewm.CH_STR
UNION ALL
SELECT
DATE_FORMAT(ewm.YMD, '%Y-%m-01') AS SUM_YM,
FB_CH_STR AS SND_CH_CD,
0 AS SND_CNT,
0 AS SUCC_CNT,
SUM(IFNULL(ewm.FB_SUCC_CNT + ewm.FB_FAIL_CNT, 0)) AS FBACK_CNT,
SUM(IFNULL(ewm.FB_SUCC_CNT, 0)) AS FBACK_SUCC_CNT
FROM
hubez_common.EZ_WEB_MSG ewm INNER JOIN
hubez_common.EZ_SVC_USER esu ON ewm.USER_SEQ = esu.USER_SEQ
WHERE
ewm.YMD BETWEEN DATE_FORMAT( NOW(), '%Y-%m-01') AND DATE_FORMAT( NOW(), '%Y-%m-%d')
AND esu.PRNTS_USER_SEQ = #{userSeq}
AND (FB_SUCC_CNT > 0 OR FB_FAIL_CNT > 0)
GROUP BY ewm.YMD, ewm.FB_CH_STR
) T1
WHERE
1 = 1
GROUP BY SUM_YM, SND_CH_CD
) S1
WHERE
1 = 1
GROUP BY S1.SUM_YM
) A
WHERE 1 = 1
ORDER BY A.SUM_YM DESC
/* attractMgt-mapper.xml(sendNumberListExcel) */
SELECT DATE_FORMAT(ecm.SUM_YM, '%Y-%m') AS SUM_YM
, ecm.SND_CNT
, S.SND_CNT AS SND_CNT_S
, L.SND_CNT AS SND_CNT_L
, M.SND_CNT AS SND_CNT_M
, A.SND_CNT AS SND_CNT_A
FROM (
SELECT SUM_YM
, USER_SEQ
, SUM(IFNULL(SND_CNT, 0) + IFNULL(FBACK_CNT, 0)) AS SND_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ
) ecm,
(
SELECT S1.SUM_YM
, S1.USER_SEQ
, SUM(IFNULL(S1.SND_CNT, 0) + IFNULL(S2.FBACK_CNT, 0)) AS SND_CNT
FROM (SELECT SUM_YM
, USER_SEQ
, SUM(SND_CNT) AS SND_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'SMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S1
LEFT OUTER JOIN
(SELECT SUM_YM
, USER_SEQ
, SUM(FBACK_CNT) AS FBACK_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'ALIMTALK'
AND RPLCSND_CH_CD = 'SMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S2
ON S1.SUM_YM = S2.SUM_YM
AND S1.USER_SEQ = S2.USER_SEQ
GROUP BY S1.SUM_YM, S1.USER_SEQ) S,
(
SELECT S1.SUM_YM
, S1.USER_SEQ
, SUM(IFNULL(S1.SND_CNT, 0) + IFNULL(S2.FBACK_CNT, 0)) AS SND_CNT
FROM (SELECT SUM_YM
, USER_SEQ
, SUM(SND_CNT) AS SND_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'LMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S1
LEFT OUTER JOIN
(SELECT SUM_YM
, USER_SEQ
, SUM(FBACK_CNT) AS FBACK_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'ALIMTALK'
AND RPLCSND_CH_CD = 'LMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S2
ON S1.SUM_YM = S2.SUM_YM
AND S1.USER_SEQ = S2.USER_SEQ
GROUP BY S1.SUM_YM, S1.USER_SEQ) AS L,
(
SELECT S1.SUM_YM
, S1.USER_SEQ
, SUM(IFNULL(S1.SND_CNT, 0) + IFNULL(S2.FBACK_CNT, 0)) AS SND_CNT
FROM (SELECT SUM_YM
, USER_SEQ
, SUM(SND_CNT) AS SND_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'MMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S1
LEFT OUTER JOIN
(SELECT SUM_YM
, USER_SEQ
, SUM(FBACK_CNT) AS FBACK_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'ALIMTALK'
AND RPLCSND_CH_CD = 'MMS'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) S2
ON S1.SUM_YM = S2.SUM_YM
AND S1.USER_SEQ = S2.USER_SEQ
GROUP BY S1.SUM_YM, S1.USER_SEQ) AS M,
(
SELECT SUM_YM
, USER_SEQ
, SUM(SND_CNT) AS SND_CNT
FROM hubez_common.EZ_CUST_MSTAT
WHERE 1 = 1
AND SUM_YM BETWEEN DATE_ADD(NOW(), INTERVAL -37 MONTH) AND DATE_ADD(NOW(), INTERVAL -1 MONTH)
AND SND_CH_CD = 'ALIMTALK'
AND USER_SEQ = #{userSeq}
GROUP BY SUM_YM, USER_SEQ) AS A
WHERE 1 = 1
AND ecm.SUM_YM = S.SUM_YM
AND ecm.SUM_YM = L.SUM_YM
AND ecm.SUM_YM = M.SUM_YM
AND ecm.SUM_YM = A.SUM_YM
AND ecm.USER_SEQ = S.USER_SEQ
AND ecm.USER_SEQ = L.USER_SEQ
AND ecm.USER_SEQ = M.USER_SEQ
AND ecm.USER_SEQ = A.USER_SEQ
ORDER BY ecm.SUM_YM DESC