청구 검증 추가

This commit is contained in:
Jeon
2023-07-06 09:25:43 +09:00
parent ba0dad6d51
commit 1f43877aef
18 changed files with 961 additions and 417 deletions

View File

@@ -139,4 +139,352 @@
ORDER BY eud.USE_YM DESC, eud.CUST_NM DESC
</select>
<select id="getVerificationList" parameterType="kr.co.uplus.ez.api.calculate.dto.VerificationReqDto" resultType="kr.co.uplus.ez.api.calculate.dto.VerificationDto">
/* calculate-mapper.xml(getVerificationList) 청구 검증 목록 조회 */
SELECT
CUST_NM
,A.BIZRNO
,A.ENTR_NO
,A.PROD_NM
,A.OPN_DT
,A.DAY_USER
,A.DTL_CD_NM
,A.SUCC_CNT
,A.FX_LMT_AMT
,A.LMT_PER_USE_DAY
,A.CFWD_AMT
,A.EXTNC_AMT
,A.EXTC_CHRG_AMT
,A.CFWD_CHRG_AMT
,A.EXTC_CHRG_RSRT
,A.CFWD_CHRG_RSRT
,A.EXTC_CHRG_BLNC
,A.CFWD_CHRG_BLNC
,FORMAT(A.MRT_USE_AMT,0) AS MRT_USE_AMT
,FORMAT(A.NOW_CFWD_AMT,0) AS NOW_CFWD_AMT
,CONCAT(IF(A.EST_CFWD_AMT <![CDATA[ < ]]> 0,'(과금)',''),FORMAT(ABS(A.EST_CFWD_AMT),0)) AS EST_CFWD_AMT
,IF((A.EST_CFWD_AMT <![CDATA[ < ]]> 0 AND (A.MRT_USE_AMT + A.EST_CFWD_AMT) = 0) OR (A.EST_CFWD_AMT = A.NOW_CFWD_AMT),'일치','불일치') AS RSLT_STR
,A.TOTAL_USE_AMT
,A.KKO_NOTI_USE_AMT
,A.SMS_USE_AMT
,A.LMS_USE_AMT
,A.MMS_USE_AMT
FROM (
SELECT
CUST_NM
,A.USER_SEQ
,A.CUST_SEQ
,A.SUBS_ID
,A.BIZRNO
,A.ENTR_NO
,A.PROD_CD
,A.PROD_NM
,A.OPN_DT
,A.SUBS_STTUS_CD
,A.DTL_CD_NM
,FORMAT(A.FX_LMT_AMT,1) AS FX_LMT_AMT
,FORMAT(A.CFWD_AMT,1) AS CFWD_AMT
,FORMAT(A.EXTNC_AMT,1) AS EXTNC_AMT
,FORMAT(A.CFWD_RSTRT_BLNC,1) AS CFWD_RSTRT_BLNC
,A.MRT_USE_AMT
,FORMAT(A.EXTC_CHRG_AMT,1) AS EXTC_CHRG_AMT
,FORMAT(A.CFWD_CHRG_AMT,1) AS CFWD_CHRG_AMT
,FORMAT(A.EXTC_CHRG_RSRT,1) AS EXTC_CHRG_RSRT
,FORMAT(A.CFWD_CHRG_RSRT,1) AS CFWD_CHRG_RSRT
,FORMAT(A.EXTC_CHRG_BLNC,1) AS EXTC_CHRG_BLNC
,FORMAT(A.CFWD_CHRG_BLNC,1) AS CFWD_CHRG_BLNC
,A.NOW_CFWD_AMT
,(CASE
WHEN A.SUBS_STTUS_CD = '99'
THEN 0
ELSE (IF(A.SUBS_STTUS_CD IN ('03','04') AND A.USE_DAY IS NULL,0,(ROUND((A.FX_LMT_AMT/LAST_DT)*IFNULL(A.USE_DAY,LAST_DT))))
+ A.CFWD_AMT - A.EXTNC_AMT - A.TOTAL_USE_AMT
+ (A.EXTC_CHRG_AMT - (A.EXTC_CHRG_RSRT+A.EXTC_CHRG_BLNC)) + (A.CFWD_CHRG_RSRT + A.CFWD_CHRG_BLNC))
END) AS EST_CFWD_AMT
,IF(A.SUBS_STTUS_CD IN ('03','04') AND A.USE_DAY IS NULL,0,(ROUND((A.FX_LMT_AMT/LAST_DT)*IFNULL(A.USE_DAY,LAST_DT)))) AS LMT_PER_USE_DAY
,A.TOTAL_USE_AMT
,A.KKO_NOTI_USE_AMT
,A.SMS_USE_AMT
,A.LMS_USE_AMT
,A.MMS_USE_AMT
,A.REQ_CNT
,A.SUCC_CNT
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,A.SMS_WAIT
,A.LMS_WAIT
,A.MMS_WAIT
,A.KKO_NOTI_WAIT
,A.USE_DAY
,IF(A.LAST_DT = A.USE_DAY,'비대상','대상') AS DAY_USER
FROM (
SELECT
ECI.CUST_NM
,ECI.BIZRNO
,A.ENTR_NO
,A.PROD_CD
,EPI.PROD_NM
,A.OPN_DT
,A.SUBS_STTUS_CD
,ECD.DTL_CD_NM
,ECI.CUST_SEQ
,A.USER_SEQ
,A.SUBS_ID
,A.FX_LMT_AMT
,A.CFWD_AMT
,A.EXTNC_AMT
,A.CFWD_RSTRT_BLNC
,A.MRT_USE_AMT
,A.NOW_CFWD_AMT
,A.EXTC_CHRG_AMT
,A.CFWD_CHRG_AMT
,A.EXTC_CHRG_RSRT
,A.CFWD_CHRG_RSRT
,A.EXTC_CHRG_BLNC
,A.CFWD_CHRG_BLNC
,((A.KKO_NOTI+A.KKO_NOTI_WAIT) * A.KKO_NOTI_COST) AS KKO_NOTI_USE_AMT
,((A.SMS+A.SMS_FB+A.SMS_WAIT) * A.SMS_COST) AS SMS_USE_AMT
,((A.LMS+A.LMS_FB+A.LMS_WAIT) * A.LMS_COST) AS LMS_USE_AMT
,((A.MMS+A.MMS_FB+A.MMS_WAIT) * A.MMS_COST) AS MMS_USE_AMT
,((A.KKO_NOTI+A.KKO_NOTI_WAIT) * A.KKO_NOTI_COST)
+((A.SMS+A.SMS_FB+A.SMS_WAIT) * A.SMS_COST)
+((A.LMS+A.LMS_FB+A.LMS_WAIT) * A.LMS_COST)
+((A.MMS+A.MMS_FB+A.MMS_WAIT) * A.MMS_COST) AS TOTAL_USE_AMT
,A.REQ_CNT
,(A.SMS + A.LMS + A.MMS + A.SMS_GLOBAL + A.RCS + A.KKO_NOTI + A.KKO_FRIEND + A.SMS_FB + A.LMS_FB + A.MMS_FB) AS SUCC_CNT
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,A.SMS_WAIT
,A.LMS_WAIT
,A.MMS_WAIT
,A.KKO_NOTI_WAIT
,A.KKO_NOTI_COST
,A.SMS_COST
,A.LMS_COST
,A.MMS_COST
,IF(USETB.USE_DAY <![CDATA[ < ]]> 0,NULL,USETB.USE_DAY) AS USE_DAY
,DATE_FORMAT(LAST_DAY(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01')),'%d') AS LAST_DT
FROM (
SELECT
LMT.USER_SEQ
,LMT.ENTR_NO
,LMT.PROD_CD
,LMT.OPN_DT
,LMT.SUBS_STTUS_CD
,LMT.FX_LMT_AMT
,LMT.CFWD_AMT
,LMT.EXTNC_AMT
,LMT.CFWD_RSTRT_BLNC
,LMT.MRT_USE_AMT
,LMT.NOW_CFWD_AMT
,LMT.EXTC_CHRG_AMT
,LMT.CFWD_CHRG_AMT
,LMT.EXTC_CHRG_RSRT
,LMT.CFWD_CHRG_RSRT
,LMT.EXTC_CHRG_BLNC
,LMT.CFWD_CHRG_BLNC
,LMT.KKO_NOTI_COST
,LMT.SMS_COST
,LMT.LMS_COST
,LMT.MMS_COST
,LMT.SUBS_ID
,MAX(LMT.CUST_SEQ) AS CUST_SEQ
,IFNULL(SUM(VRF.REQ_CNT),0) AS REQ_CNT
,IFNULL(SUM(VRF.SMS),0) AS SMS
,IFNULL(SUM(VRF.LMS),0) AS LMS
,IFNULL(SUM(VRF.MMS),0) AS MMS
,IFNULL(SUM(VRF.SMS_GLOBAL),0) AS SMS_GLOBAL
,IFNULL(SUM(VRF.RCS),0) AS RCS
,IFNULL(SUM(VRF.KKO_NOTI),0) AS KKO_NOTI
,IFNULL(SUM(VRF.KKO_FRIEND),0) AS KKO_FRIEND
,IFNULL(SUM(VRF.SMS_FB),0) AS SMS_FB
,IFNULL(SUM(VRF.LMS_FB),0) AS LMS_FB
,IFNULL(SUM(VRF.MMS_FB),0) AS MMS_FB
,IFNULL(SUM(VRF.SMS_FAIL),0) AS SMS_FAIL
,IFNULL(SUM(VRF.LMS_FAIL),0) AS LMS_FAIL
,IFNULL(SUM(VRF.MMS_FAIL),0) AS MMS_FAIL
,IFNULL(SUM(VRF.SMS_GLOBAL_FAIL),0) AS SMS_GLOBAL_FAIL
,IFNULL(SUM(VRF.RCS_FAIL),0) AS RCS_FAIL
,IFNULL(SUM(VRF.KKO_NOTI_FAIL),0) AS KKO_NOTI_FAIL
,IFNULL(SUM(VRF.KKO_FRIEND_FAIL),0) AS KKO_FRIEND_FAIL
,IFNULL(SUM(VRF.SMS_WAIT),0) AS SMS_WAIT
,IFNULL(SUM(VRF.LMS_WAIT),0) AS LMS_WAIT
,IFNULL(SUM(VRF.MMS_WAIT),0) AS MMS_WAIT
,IFNULL(SUM(VRF.KKO_NOTI_WAIT),0) AS KKO_NOTI_WAIT
FROM (
SELECT
ESI.USER_SEQ
,ESI.ENTR_NO
,IFNULL(EPR.PROD_CD,ESI.PROD_CD) AS PROD_CD
,ESU.CUST_SEQ
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.FX_LMT_AMT,0)) AS FX_LMT_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.CFWD_AMT,0)) AS CFWD_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),INTERVAL +1 MONTH),'%Y%m'),EUL.EXTNC_AMT,0)) AS EXTNC_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.CFWD_RSTRT_BLNC,0)) AS CFWD_RSTRT_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.MRT_USE_AMT,0)) AS MRT_USE_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.EXTC_CHRG_AMT,0)) AS EXTC_CHRG_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.CFWD_CHRG_AMT,0)) AS CFWD_CHRG_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.EXTC_CHRG_RSRT,0)) AS EXTC_CHRG_RSRT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.CFWD_CHRG_RSRT,0)) AS CFWD_CHRG_RSRT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.EXTC_CHRG_BLNC,0)) AS EXTC_CHRG_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),EUL.CFWD_CHRG_BLNC,0)) AS CFWD_CHRG_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),INTERVAL +1 MONTH),'%Y%m'),EUL.CFWD_AMT,0)) AS NOW_CFWD_AMT
,ESC.KKO_NOTI_COST
,ESC.SMS_COST
,ESC.LMS_COST
,ESC.MMS_COST
,ESI.SUBS_ID
,DATE_FORMAT(ESI.OPN_DT,'%Y-%m-%d') AS OPN_DT
,ESI.SUBS_STTUS_CD
FROM hubez_common.EZ_SUBS_INFO ESI
LEFT JOIN hubez_admin.EZ_USER_LMT EUL
ON ESI.USER_SEQ = EUL.USER_SEQ AND EUL.LMT_YM BETWEEN DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m') AND DATE_FORMAT(DATE_ADD(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),INTERVAL +1 MONTH),'%Y%m')
INNER JOIN hubez_common.EZ_SVC_USER ESU ON ESI.USER_SEQ = ESU.USER_SEQ
LEFT JOIN (SELECT
SUBS_ID,PROD_CD
FROM hubez_common.EZ_PRDCHG_RSRV
WHERE (SUBS_ID,EFCT_ST_DT) IN (
SELECT
SUBS_ID, MAX(EFCT_ST_DT)
FROM hubez_common.EZ_PRDCHG_RSRV
WHERE TRT_STTUS_CD = '02'
AND DATE_FORMAT(EFCT_ST_DT,'%Y%m') = DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m')
GROUP BY SUBS_ID
)
) EPR ON ESI.SUBS_ID = EPR.SUBS_ID
, (
SELECT
SUM(IF(ESC.SND_CH_CD = 'ALIMTALK',UCOST,0)) AS KKO_NOTI_COST
,SUM(IF(ESC.SND_CH_CD = 'SMS',UCOST,0)) AS SMS_COST
,SUM(IF(ESC.SND_CH_CD = 'LMS',UCOST,0)) AS LMS_COST
,SUM(IF(ESC.SND_CH_CD = 'MMS',UCOST,0)) AS MMS_COST
FROM hubez_common.EZ_SND_UCOST ESC
) ESC
WHERE ESI.SUBS_STTUS_CD IN ('02','03','04','99')
AND ESI.OPN_DT <![CDATA[ < ]]> DATE_FORMAT(DATE_ADD(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),INTERVAL +1 MONTH),'%Y%m01')
GROUP BY ESI.USER_SEQ
) LMT
LEFT JOIN (
SELECT
A.WEB_REQ_ID
,A.USER_SEQ
,A.REQ_CNT
,A.SNDREQ_CH_CD
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,IF(A.SNDREQ_CH_CD = 'SMS',(A.REQ_CNT)-(A.SMS+A.SMS_FAIL),0) AS SMS_WAIT
,IF(A.SNDREQ_CH_CD = 'LMS',(A.REQ_CNT)-(A.LMS+A.LMS_FAIL),0) AS LMS_WAIT
,IF(A.SNDREQ_CH_CD = 'MMS',(A.REQ_CNT)-(A.MMS+A.MMS_FAIL),0) AS MMS_WAIT
,IF(A.SNDREQ_CH_CD = 'ALIMTALK',(A.REQ_CNT)-(A.KKO_NOTI+A.KKO_NOTI_FAIL+KKO_NOTI_FW_FB_CNT),0) AS KKO_NOTI_WAIT
FROM (
SELECT
ESR.WEB_REQ_ID
,ESR.USER_SEQ
,ESR.REQ_CNT
,ESR.SNDREQ_CH_CD
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'SMS', 1, 0)) AS SMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'LMS', 1, 0)) AS LMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'MMS', 1, 0)) AS MMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'SMS_GLOBAL', 1, 0)) AS SMS_GLOBAL
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'RCS') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'KALT1') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'KALT2') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'SMS', 1, 0)) AS SMS_FB
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'LMS', 1, 0)) AS LMS_FB
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'MMS', 1, 0)) AS MMS_FB
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'RCS') AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS_FW_FB_CNT
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'KALT1') AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI_FW_FB_CNT
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'KALT2') AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND_FW_FB_CNT
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'SMS', 1, 0)) AS SMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'LMS', 1, 0)) AS LMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'MMS', 1, 0)) AS MMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'SMS_GLOBAL', 1, 0)) AS SMS_GLOBAL_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND_FAIL
FROM hubez_admin.EZ_SNDDCT_REQ PARTITION(EZ_SNDDCT_REQ_${lmtYm}) ESR LEFT OUTER JOIN hubez_send.EZ_MSG_LOG PARTITION(PT_EZ_MSG_LOG_${lmtYm}) EML ON ESR.WEB_REQ_ID = EML.WEB_REQ_ID
GROUP BY ESR.WEB_REQ_ID ,ESR.USER_SEQ ,ESR.REQ_CNT
) A
) VRF ON LMT.USER_SEQ = VRF.USER_SEQ
GROUP BY LMT.USER_SEQ
) A LEFT JOIN hubez_common.EZ_CD_DTL ECD ON A.SUBS_STTUS_CD = ECD.DTL_CD AND ECD.GRP_CD = 'SUBS_STTUS_CD'
LEFT JOIN (
SELECT
A.USER_SEQ
,SUM(CASE
WHEN A.STTUS_PLAG = 'S' THEN A.EFCT_FNS_DT - A.EFCT_ST_DT + 1
WHEN A.STTUS_PLAG = 'P' THEN -1
WHEN A.STTUS_PLAG = 'E' THEN 0
END) AS USE_DAY
FROM (
SELECT
ESI.CUST_SEQ
,ESI.USER_SEQ
,ESI.SUBS_ID
,IF(DATE_FORMAT(ESH.EFCT_ST_DT,'%Y%m') != DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m'),'01',DATE_FORMAT(ESH.EFCT_ST_DT,'%d')) AS EFCT_ST_DT
,IF(ESH.EFCT_FNS_DT <![CDATA[ > ]]> LAST_DAY(DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m01')) ,DATE_FORMAT(LAST_DAY(DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m01')),'%d'),DATE_FORMAT(ESH.EFCT_FNS_DT,'%d')) AS EFCT_FNS_DT
,(CASE WHEN ESH.SUBS_STTUS_CD IN ('02') THEN 'S' WHEN ESH.SUBS_STTUS_CD IN ('03','04') THEN 'P' ELSE 'E' END) AS STTUS_PLAG
,DATE_FORMAT(LAST_DAY(DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m01')),'%d') AS LAST_DT
FROM hubez_common.EZ_SUBS_INFO ESI, hubez_common.EZ_SBSCST_HST ESH
WHERE ESI.SUBS_ID = ESH.SUBS_ID
AND (DATE_FORMAT(EFCT_ST_DT,'%Y%m%d') <![CDATA[ < ]]> DATE_FORMAT(DATE_ADD(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),INTERVAL +1 MONTH),'%Y%m01'))
AND DATE_FORMAT(EFCT_FNS_DT,'%Y%m%d') <![CDATA[ > ]]> DATE_FORMAT(CONCAT(STR_TO_DATE(#{lmtYm},'%Y%m'),'01'),'%Y%m01')
AND ESH.SUBS_STTUS_CD NOT IN ('00','01','98')
) A
GROUP BY A.USER_SEQ
) USETB ON A.USER_SEQ = USETB.USER_SEQ
,hubez_common.EZ_CUST_INFO ECI, hubez_common.EZ_PROD_INFO EPI
WHERE A.CUST_SEQ = ECI.CUST_SEQ
AND A.PROD_CD = EPI.PROD_CD
AND A.CUST_SEQ NOT IN ('100000001','100000164')
) A
) A
ORDER BY ENTR_NO ASC
</select>
</mapper>

View File

@@ -523,348 +523,4 @@
</if>
</select>
<select id="getVerificationList" resultType="kr.co.uplus.ez.api.sysMgt.dto.VerificationDto">
SELECT
CUST_NM
,A.BIZRNO
,A.ENTR_NO
,A.PROD_NM
,A.OPN_DT
,A.DAY_USER
,A.DTL_CD_NM
,A.SUCC_CNT
,A.FX_LMT_AMT
,A.LMT_PER_USE_DAY
,A.CFWD_AMT
,A.EXTNC_AMT
,A.EXTC_CHRG_AMT
,A.CFWD_CHRG_AMT
,A.EXTC_CHRG_RSRT
,A.CFWD_CHRG_RSRT
,A.EXTC_CHRG_BLNC
,A.CFWD_CHRG_BLNC
,FORMAT(A.MRT_USE_AMT,0) AS MRT_USE_AMT
,FORMAT(A.NOW_CFWD_AMT,0) AS NOW_CFWD_AMT
,CONCAT(IF(A.EST_CFWD_AMT <![CDATA[ < ]]> 0,'(과금)',''),FORMAT(ABS(A.EST_CFWD_AMT),0)) AS EST_CFWD_AMT
,IF((A.EST_CFWD_AMT <![CDATA[ < ]]> 0 AND (A.MRT_USE_AMT + A.EST_CFWD_AMT) = 0) OR (A.EST_CFWD_AMT = A.NOW_CFWD_AMT),'일치','불일치') AS RSLT_STR
,A.TOTAL_USE_AMT
,A.KKO_NOTI_USE_AMT
,A.SMS_USE_AMT
,A.LMS_USE_AMT
,A.MMS_USE_AMT
FROM (
SELECT
CUST_NM
,A.USER_SEQ
,A.CUST_SEQ
,A.SUBS_ID
,A.BIZRNO
,A.ENTR_NO
,A.PROD_CD
,A.PROD_NM
,A.OPN_DT
,A.SUBS_STTUS_CD
,A.DTL_CD_NM
,FORMAT(A.FX_LMT_AMT,1) AS FX_LMT_AMT
,FORMAT(A.CFWD_AMT,1) AS CFWD_AMT
,FORMAT(A.EXTNC_AMT,1) AS EXTNC_AMT
,FORMAT(A.CFWD_RSTRT_BLNC,1) AS CFWD_RSTRT_BLNC
,A.MRT_USE_AMT
,FORMAT(A.EXTC_CHRG_AMT,1) AS EXTC_CHRG_AMT
,FORMAT(A.CFWD_CHRG_AMT,1) AS CFWD_CHRG_AMT
,FORMAT(A.EXTC_CHRG_RSRT,1) AS EXTC_CHRG_RSRT
,FORMAT(A.CFWD_CHRG_RSRT,1) AS CFWD_CHRG_RSRT
,FORMAT(A.EXTC_CHRG_BLNC,1) AS EXTC_CHRG_BLNC
,FORMAT(A.CFWD_CHRG_BLNC,1) AS CFWD_CHRG_BLNC
,A.NOW_CFWD_AMT
,(CASE
WHEN A.SUBS_STTUS_CD = '99'
THEN 0
ELSE (IF(A.SUBS_STTUS_CD IN ('03','04') AND A.USE_DAY IS NULL,0,(ROUND((A.FX_LMT_AMT/LAST_DT)*IFNULL(A.USE_DAY,LAST_DT))))
+ A.CFWD_AMT - A.EXTNC_AMT - A.TOTAL_USE_AMT
+ (A.EXTC_CHRG_AMT - (A.EXTC_CHRG_RSRT+A.EXTC_CHRG_BLNC)) + (A.CFWD_CHRG_RSRT + A.CFWD_CHRG_BLNC))
END) AS EST_CFWD_AMT
,IF(A.SUBS_STTUS_CD IN ('03','04') AND A.USE_DAY IS NULL,0,(ROUND((A.FX_LMT_AMT/LAST_DT)*IFNULL(A.USE_DAY,LAST_DT)))) AS LMT_PER_USE_DAY
,A.TOTAL_USE_AMT
,A.KKO_NOTI_USE_AMT
,A.SMS_USE_AMT
,A.LMS_USE_AMT
,A.MMS_USE_AMT
,A.REQ_CNT
,A.SUCC_CNT
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,A.SMS_WAIT
,A.LMS_WAIT
,A.MMS_WAIT
,A.KKO_NOTI_WAIT
,A.USE_DAY
,IF(A.LAST_DT = A.USE_DAY,'비대상','대상') AS DAY_USER
FROM (
SELECT
ECI.CUST_NM
,ECI.BIZRNO
,A.ENTR_NO
,A.PROD_CD
,EPI.PROD_NM
,A.OPN_DT
,A.SUBS_STTUS_CD
,ECD.DTL_CD_NM
,ECI.CUST_SEQ
,A.USER_SEQ
,A.SUBS_ID
,A.FX_LMT_AMT
,A.CFWD_AMT
,A.EXTNC_AMT
,A.CFWD_RSTRT_BLNC
,A.MRT_USE_AMT
,A.NOW_CFWD_AMT
,A.EXTC_CHRG_AMT
,A.CFWD_CHRG_AMT
,A.EXTC_CHRG_RSRT
,A.CFWD_CHRG_RSRT
,A.EXTC_CHRG_BLNC
,A.CFWD_CHRG_BLNC
,((A.KKO_NOTI+A.KKO_NOTI_WAIT) * A.KKO_NOTI_COST) AS KKO_NOTI_USE_AMT
,((A.SMS+A.SMS_FB+A.SMS_WAIT) * A.SMS_COST) AS SMS_USE_AMT
,((A.LMS+A.LMS_FB+A.LMS_WAIT) * A.LMS_COST) AS LMS_USE_AMT
,((A.MMS+A.MMS_FB+A.MMS_WAIT) * A.MMS_COST) AS MMS_USE_AMT
,((A.KKO_NOTI+A.KKO_NOTI_WAIT) * A.KKO_NOTI_COST)
+((A.SMS+A.SMS_FB+A.SMS_WAIT) * A.SMS_COST)
+((A.LMS+A.LMS_FB+A.LMS_WAIT) * A.LMS_COST)
+((A.MMS+A.MMS_FB+A.MMS_WAIT) * A.MMS_COST) AS TOTAL_USE_AMT
,A.REQ_CNT
,(A.SMS + A.LMS + A.MMS + A.SMS_GLOBAL + A.RCS + A.KKO_NOTI + A.KKO_FRIEND + A.SMS_FB + A.LMS_FB + A.MMS_FB) AS SUCC_CNT
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,A.SMS_WAIT
,A.LMS_WAIT
,A.MMS_WAIT
,A.KKO_NOTI_WAIT
,A.KKO_NOTI_COST
,A.SMS_COST
,A.LMS_COST
,A.MMS_COST
,IF(USETB.USE_DAY <![CDATA[ < ]]> 0,NULL,USETB.USE_DAY) AS USE_DAY
,DATE_FORMAT(LAST_DAY(DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m01')),'%d') AS LAST_DT
FROM (
SELECT
LMT.USER_SEQ
,LMT.ENTR_NO
,LMT.PROD_CD
,LMT.OPN_DT
,LMT.SUBS_STTUS_CD
,LMT.FX_LMT_AMT
,LMT.CFWD_AMT
,LMT.EXTNC_AMT
,LMT.CFWD_RSTRT_BLNC
,LMT.MRT_USE_AMT
,LMT.NOW_CFWD_AMT
,LMT.EXTC_CHRG_AMT
,LMT.CFWD_CHRG_AMT
,LMT.EXTC_CHRG_RSRT
,LMT.CFWD_CHRG_RSRT
,LMT.EXTC_CHRG_BLNC
,LMT.CFWD_CHRG_BLNC
,LMT.KKO_NOTI_COST
,LMT.SMS_COST
,LMT.LMS_COST
,LMT.MMS_COST
,LMT.SUBS_ID
,MAX(LMT.CUST_SEQ) AS CUST_SEQ
,IFNULL(SUM(VRF.REQ_CNT),0) AS REQ_CNT
,IFNULL(SUM(VRF.SMS),0) AS SMS
,IFNULL(SUM(VRF.LMS),0) AS LMS
,IFNULL(SUM(VRF.MMS),0) AS MMS
,IFNULL(SUM(VRF.SMS_GLOBAL),0) AS SMS_GLOBAL
,IFNULL(SUM(VRF.RCS),0) AS RCS
,IFNULL(SUM(VRF.KKO_NOTI),0) AS KKO_NOTI
,IFNULL(SUM(VRF.KKO_FRIEND),0) AS KKO_FRIEND
,IFNULL(SUM(VRF.SMS_FB),0) AS SMS_FB
,IFNULL(SUM(VRF.LMS_FB),0) AS LMS_FB
,IFNULL(SUM(VRF.MMS_FB),0) AS MMS_FB
,IFNULL(SUM(VRF.SMS_FAIL),0) AS SMS_FAIL
,IFNULL(SUM(VRF.LMS_FAIL),0) AS LMS_FAIL
,IFNULL(SUM(VRF.MMS_FAIL),0) AS MMS_FAIL
,IFNULL(SUM(VRF.SMS_GLOBAL_FAIL),0) AS SMS_GLOBAL_FAIL
,IFNULL(SUM(VRF.RCS_FAIL),0) AS RCS_FAIL
,IFNULL(SUM(VRF.KKO_NOTI_FAIL),0) AS KKO_NOTI_FAIL
,IFNULL(SUM(VRF.KKO_FRIEND_FAIL),0) AS KKO_FRIEND_FAIL
,IFNULL(SUM(VRF.SMS_WAIT),0) AS SMS_WAIT
,IFNULL(SUM(VRF.LMS_WAIT),0) AS LMS_WAIT
,IFNULL(SUM(VRF.MMS_WAIT),0) AS MMS_WAIT
,IFNULL(SUM(VRF.KKO_NOTI_WAIT),0) AS KKO_NOTI_WAIT
FROM (
SELECT
ESI.USER_SEQ
,ESI.ENTR_NO
,IFNULL(EPR.PROD_CD,ESI.PROD_CD) AS PROD_CD
,ESU.CUST_SEQ
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.FX_LMT_AMT,0)) AS FX_LMT_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.CFWD_AMT,0)) AS CFWD_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(SYSDATE(),'%Y%m'),EUL.EXTNC_AMT,0)) AS EXTNC_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.CFWD_RSTRT_BLNC,0)) AS CFWD_RSTRT_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.MRT_USE_AMT,0)) AS MRT_USE_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.EXTC_CHRG_AMT,0)) AS EXTC_CHRG_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.CFWD_CHRG_AMT,0)) AS CFWD_CHRG_AMT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.EXTC_CHRG_RSRT,0)) AS EXTC_CHRG_RSRT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.CFWD_CHRG_RSRT,0)) AS CFWD_CHRG_RSRT
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.EXTC_CHRG_BLNC,0)) AS EXTC_CHRG_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),EUL.CFWD_CHRG_BLNC,0)) AS CFWD_CHRG_BLNC
,SUM(IF(EUL.LMT_YM = DATE_FORMAT(SYSDATE(),'%Y%m'),EUL.CFWD_AMT,0)) AS NOW_CFWD_AMT
,ESC.KKO_NOTI_COST
,ESC.SMS_COST
,ESC.LMS_COST
,ESC.MMS_COST
,ESI.SUBS_ID
,DATE_FORMAT(ESI.OPN_DT,'%Y-%m-%d') AS OPN_DT
,ESI.SUBS_STTUS_CD
FROM hubez_common.EZ_SUBS_INFO ESI LEFT JOIN hubez_admin.EZ_USER_LMT EUL ON ESI.USER_SEQ = EUL.USER_SEQ AND EUL.LMT_YM BETWEEN DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m') AND DATE_FORMAT(SYSDATE(),'%Y%m')
INNER JOIN hubez_common.EZ_SVC_USER ESU ON ESI.USER_SEQ = ESU.USER_SEQ
LEFT JOIN (SELECT
SUBS_ID,PROD_CD
FROM hubez_common.EZ_PRDCHG_RSRV
WHERE (SUBS_ID,EFCT_ST_DT) IN (
SELECT
SUBS_ID, MAX(EFCT_ST_DT)
FROM hubez_common.EZ_PRDCHG_RSRV
WHERE TRT_STTUS_CD = '02'
AND DATE_FORMAT(EFCT_ST_DT,'%Y%m') = DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m')
GROUP BY SUBS_ID
)
) EPR ON ESI.SUBS_ID = EPR.SUBS_ID
, (
SELECT
SUM(IF(ESC.SND_CH_CD = 'ALIMTALK',UCOST,0)) AS KKO_NOTI_COST
,SUM(IF(ESC.SND_CH_CD = 'SMS',UCOST,0)) AS SMS_COST
,SUM(IF(ESC.SND_CH_CD = 'LMS',UCOST,0)) AS LMS_COST
,SUM(IF(ESC.SND_CH_CD = 'MMS',UCOST,0)) AS MMS_COST
FROM hubez_common.EZ_SND_UCOST ESC
) ESC
WHERE ESI.SUBS_STTUS_CD IN ('02','03','04','99')
AND ESI.OPN_DT <![CDATA[ < ]]> DATE_FORMAT(SYSDATE(),'%Y%m01')
GROUP BY ESI.USER_SEQ
) LMT
LEFT JOIN (
SELECT
A.WEB_REQ_ID
,A.USER_SEQ
,A.REQ_CNT
,A.SNDREQ_CH_CD
,A.SMS
,A.LMS
,A.MMS
,A.SMS_GLOBAL
,A.RCS
,A.KKO_NOTI
,A.KKO_FRIEND
,A.SMS_FB
,A.LMS_FB
,A.MMS_FB
,A.SMS_FAIL
,A.LMS_FAIL
,A.MMS_FAIL
,A.SMS_GLOBAL_FAIL
,A.RCS_FAIL
,A.KKO_NOTI_FAIL
,A.KKO_FRIEND_FAIL
,IF(A.SNDREQ_CH_CD = 'SMS',(A.REQ_CNT)-(A.SMS+A.SMS_FAIL),0) AS SMS_WAIT
,IF(A.SNDREQ_CH_CD = 'LMS',(A.REQ_CNT)-(A.LMS+A.LMS_FAIL),0) AS LMS_WAIT
,IF(A.SNDREQ_CH_CD = 'MMS',(A.REQ_CNT)-(A.MMS+A.MMS_FAIL),0) AS MMS_WAIT
,IF(A.SNDREQ_CH_CD = 'ALIMTALK',(A.REQ_CNT)-(A.KKO_NOTI+A.KKO_NOTI_FAIL+KKO_NOTI_FW_FB_CNT),0) AS KKO_NOTI_WAIT
FROM (
SELECT
ESR.WEB_REQ_ID
,ESR.USER_SEQ
,ESR.REQ_CNT
,ESR.SNDREQ_CH_CD
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'SMS', 1, 0)) AS SMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'LMS', 1, 0)) AS LMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'MMS', 1, 0)) AS MMS
,SUM(IF((EML.DONE_CODE = 10000 OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'SMS_GLOBAL', 1, 0)) AS SMS_GLOBAL
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'RCS') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'KALT1') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI
,SUM(IF(((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT = 'KALT2') OR DRSLT_CMPLT_DT IS NULL) AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'SMS', 1, 0)) AS SMS_FB
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'LMS', 1, 0)) AS LMS_FB
,SUM(IF(EML.DONE_CODE = 10000 AND EML.REQ_PRODUCT IN ('RCS','KKO_NOTI','KKO_FRIEND') AND EML.DONE_PRODUCT = 'MMS', 1, 0)) AS MMS_FB
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'RCS') AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS_FW_FB_CNT
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'KALT1') AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI_FW_FB_CNT
,SUM(IF((EML.DONE_CODE = 10000 AND EML.DONE_PRODUCT != 'KALT2') AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND_FW_FB_CNT
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'SMS', 1, 0)) AS SMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'LMS', 1, 0)) AS LMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'MMS', 1, 0)) AS MMS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'SMS_GLOBAL', 1, 0)) AS SMS_GLOBAL_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'RCS', 1, 0)) AS RCS_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'KKO_NOTI', 1, 0)) AS KKO_NOTI_FAIL
,SUM(IF(EML.DONE_CODE != 10000 AND ESR.DRSLT_CMPLT_DT IS NOT NULL AND EML.REQ_PRODUCT = 'KKO_FRIEND', 1, 0)) AS KKO_FRIEND_FAIL
FROM hubez_admin.EZ_SNDDCT_REQ PARTITION(EZ_SNDDCT_REQ_202306) ESR LEFT OUTER JOIN hubez_send.EZ_MSG_LOG PARTITION(PT_EZ_MSG_LOG_202306) EML ON ESR.WEB_REQ_ID = EML.WEB_REQ_ID
GROUP BY ESR.WEB_REQ_ID ,ESR.USER_SEQ ,ESR.REQ_CNT
) A
) VRF ON LMT.USER_SEQ = VRF.USER_SEQ
GROUP BY LMT.USER_SEQ
) A LEFT JOIN hubez_common.EZ_CD_DTL ECD ON A.SUBS_STTUS_CD = ECD.DTL_CD AND ECD.GRP_CD = 'SUBS_STTUS_CD'
LEFT JOIN (
SELECT
A.USER_SEQ
,SUM(CASE
WHEN A.STTUS_PLAG = 'S' THEN A.EFCT_FNS_DT - A.EFCT_ST_DT + 1
WHEN A.STTUS_PLAG = 'P' THEN -1
WHEN A.STTUS_PLAG = 'E' THEN 0
END) AS USE_DAY
FROM (
SELECT
ESI.CUST_SEQ
,ESI.USER_SEQ
,ESI.SUBS_ID
,IF(DATE_FORMAT(ESH.EFCT_ST_DT,'%Y%m') != DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m'),'01',DATE_FORMAT(ESH.EFCT_ST_DT,'%d')) AS EFCT_ST_DT
,IF(ESH.EFCT_FNS_DT <![CDATA[ > ]]> LAST_DAY(DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m%d')) ,DATE_FORMAT(LAST_DAY(DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m%d')),'%d'),DATE_FORMAT(ESH.EFCT_FNS_DT,'%d')) AS EFCT_FNS_DT
,(CASE WHEN ESH.SUBS_STTUS_CD IN ('02') THEN 'S' WHEN ESH.SUBS_STTUS_CD IN ('03','04') THEN 'P' ELSE 'E' END) AS STTUS_PLAG
,DATE_FORMAT(LAST_DAY(DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m%d')),'%d') AS LAST_DT
FROM hubez_common.EZ_SUBS_INFO ESI, hubez_common.EZ_SBSCST_HST ESH
WHERE ESI.SUBS_ID = ESH.SUBS_ID
AND (DATE_FORMAT(EFCT_ST_DT,'%Y%m%d') <![CDATA[ < ]]> DATE_FORMAT(SYSDATE(),'%Y%m01')
AND DATE_FORMAT(EFCT_FNS_DT,'%Y%m%d') <![CDATA[ > ]]> DATE_FORMAT(DATE_ADD(SYSDATE(),INTERVAL -1 MONTH),'%Y%m01'))
AND ESH.SUBS_STTUS_CD NOT IN ('00','01','98')
) A
GROUP BY A.USER_SEQ
) USETB ON A.USER_SEQ = USETB.USER_SEQ
,hubez_common.EZ_CUST_INFO ECI, hubez_common.EZ_PROD_INFO EPI
WHERE A.CUST_SEQ = ECI.CUST_SEQ
AND A.PROD_CD = EPI.PROD_CD
AND A.CUST_SEQ NOT IN ('100000001','100000164')
) A
) A
ORDER BY ENTR_NO ASC
</select>
</mapper>