일문자 통계관리 API 기능 추가
This commit is contained in:
parent
e3faf8639a
commit
25dacf7516
@ -167,6 +167,58 @@ public class MjonMsgVO extends ComDefaultVO{
|
|||||||
|
|
||||||
private String sendKind; //문자전송 타입(H:홈페이지, A:API)
|
private String sendKind; //문자전송 타입(H:홈페이지, A:API)
|
||||||
|
|
||||||
|
private int aSuccessCount; // API 문자발송 성공건수
|
||||||
|
private int aSendCount; // API 문자 발송건수
|
||||||
|
|
||||||
|
private int rateSuccessCount; // 홈페이지 전송 성공율
|
||||||
|
private int rateApiSuccessCount; // API 전송 성공율
|
||||||
|
|
||||||
|
private int totalSendCount; // 전체 문자발송 건수
|
||||||
|
private int totalSuccessCount; // 전체 문자발송 성공건수
|
||||||
|
private int totalRateSuccessCount; // 전체 문자발송 성공율
|
||||||
|
|
||||||
|
public int getRateSuccessCount() {
|
||||||
|
return rateSuccessCount;
|
||||||
|
}
|
||||||
|
public void setRateSuccessCount(int rateSuccessCount) {
|
||||||
|
this.rateSuccessCount = rateSuccessCount;
|
||||||
|
}
|
||||||
|
public int getRateApiSuccessCount() {
|
||||||
|
return rateApiSuccessCount;
|
||||||
|
}
|
||||||
|
public void setRateApiSuccessCount(int rateApiSuccessCount) {
|
||||||
|
this.rateApiSuccessCount = rateApiSuccessCount;
|
||||||
|
}
|
||||||
|
public int getTotalSendCount() {
|
||||||
|
return totalSendCount;
|
||||||
|
}
|
||||||
|
public void setTotalSendCount(int totalSendCount) {
|
||||||
|
this.totalSendCount = totalSendCount;
|
||||||
|
}
|
||||||
|
public int getTotalSuccessCount() {
|
||||||
|
return totalSuccessCount;
|
||||||
|
}
|
||||||
|
public void setTotalSuccessCount(int totalSuccessCount) {
|
||||||
|
this.totalSuccessCount = totalSuccessCount;
|
||||||
|
}
|
||||||
|
public int getTotalRateSuccessCount() {
|
||||||
|
return totalRateSuccessCount;
|
||||||
|
}
|
||||||
|
public void setTotalRateSuccessCount(int totalRateSuccessCount) {
|
||||||
|
this.totalRateSuccessCount = totalRateSuccessCount;
|
||||||
|
}
|
||||||
|
public int getaSuccessCount() {
|
||||||
|
return aSuccessCount;
|
||||||
|
}
|
||||||
|
public void setaSuccessCount(int aSuccessCount) {
|
||||||
|
this.aSuccessCount = aSuccessCount;
|
||||||
|
}
|
||||||
|
public int getaSendCount() {
|
||||||
|
return aSendCount;
|
||||||
|
}
|
||||||
|
public void setaSendCount(int aSendCount) {
|
||||||
|
this.aSendCount = aSendCount;
|
||||||
|
}
|
||||||
public String getSendKind() {
|
public String getSendKind() {
|
||||||
return sendKind;
|
return sendKind;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5017,25 +5017,47 @@
|
|||||||
<!-- 일별 문자발송 건수 -->
|
<!-- 일별 문자발송 건수 -->
|
||||||
<select id="mjonMsgDAO.selectMsgDayChart_230125" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
<select id="mjonMsgDAO.selectMsgDayChart_230125" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
||||||
|
|
||||||
SELECT a.SEND_DATE AS regDate
|
SELECT
|
||||||
|
a.SEND_DATE AS regDate
|
||||||
, a.send_cnt AS sendCount
|
, a.send_cnt AS sendCount
|
||||||
, a.success_cnt AS successCount
|
, a.success_cnt AS successCount
|
||||||
|
, IFNULL(ROUND((a.success_cnt / a.send_cnt ) * 100), 0) AS rateSuccessCount
|
||||||
|
|
||||||
|
, IFNULL(a.API_SEND_CNT, 0) AS aSendCount
|
||||||
|
, IFNULL(a.API_SUCCESS_CNT, 0) AS aSuccessCount
|
||||||
|
, IFNULL(ROUND((a.API_SUCCESS_CNT / a.API_SEND_CNT ) * 100), 0) AS rateApiSuccessCount
|
||||||
|
|
||||||
|
, (IFNULL(a.send_cnt, 0) + IFNULL(a.API_SEND_CNT, 0)) AS totalSendCount
|
||||||
|
, (IFNULL(a.success_cnt, 0) + IFNULL(a.API_SUCCESS_CNT, 0)) AS totalSuccessCount
|
||||||
|
, IFNULL(ROUND(((IFNULL(a.success_cnt, 0) + IFNULL(a.API_SUCCESS_CNT, 0)) / (IFNULL(a.send_cnt, 0) + IFNULL(a.API_SEND_CNT, 0))) * 100), 0) AS totalRateSuccessCount
|
||||||
|
|
||||||
, DATE_FORMAT(a.regist_pnttm, '%H:%i:%s') AS registPnttm
|
, DATE_FORMAT(a.regist_pnttm, '%H:%i:%s') AS registPnttm
|
||||||
/*
|
|
||||||
, a.regist_pnttm AS registPnttm
|
|
||||||
*/
|
|
||||||
, COUNT(a.SEND_DATE) OVER() AS totCnt /** 전체 건수 */
|
, COUNT(a.SEND_DATE) OVER() AS totCnt /** 전체 건수 */
|
||||||
FROM mj_sttst_msg a
|
FROM
|
||||||
|
mj_sttst_msg a
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
AND <![CDATA[ a.send_date <= DATE_FORMAT(NOW(), '%Y-%m-%d') ]]>
|
AND <![CDATA[ a.send_date <= DATE_FORMAT(NOW(), '%Y-%m-%d') ]]>
|
||||||
|
|
||||||
<isNotEmpty property="ntceBgnde">
|
<isNotEmpty property="ntceBgnde">
|
||||||
AND <![CDATA[ a.send_date >= #ntceBgnde# ]]>
|
AND <![CDATA[ a.send_date >= #ntceBgnde# ]]>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
<isNotEmpty property="ntceEndde">
|
<isNotEmpty property="ntceEndde">
|
||||||
AND <![CDATA[ a.send_date <= #ntceEndde# ]]>
|
AND <![CDATA[ a.send_date <= #ntceEndde# ]]>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="sendKind">
|
||||||
|
<isEqual property="sendKind" compareValue="H">
|
||||||
|
AND a.send_cnt != 0
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="sendKind" compareValue="A">
|
||||||
|
AND a.API_SEND_CNT != 0
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty property="sendKind">
|
||||||
|
AND (a.send_cnt != 0 || a.API_SEND_CNT != 0)
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
ORDER BY a.SEND_DATE DESC
|
ORDER BY a.SEND_DATE DESC
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@ -8,39 +8,49 @@
|
|||||||
<typeAlias alias="mjonMsgVO" type="itn.let.mjo.msg.service.MjonMsgVO"/>
|
<typeAlias alias="mjonMsgVO" type="itn.let.mjo.msg.service.MjonMsgVO"/>
|
||||||
|
|
||||||
<insert id="mjonSttst.insertMjSttstMsgBulk" parameterClass="mjonMsgVO">
|
<insert id="mjonSttst.insertMjSttstMsgBulk" parameterClass="mjonMsgVO">
|
||||||
INSERT INTO mj_sttst_msg
|
INSERT INTO MJ_STTST_MSG
|
||||||
(send_date, send_cnt, success_cnt, regist_pnttm)
|
(
|
||||||
|
send_date
|
||||||
|
, send_cnt
|
||||||
|
, success_cnt
|
||||||
|
, API_SEND_CNT
|
||||||
|
, API_SUCCESS_CNT
|
||||||
|
, regist_pnttm
|
||||||
|
)
|
||||||
|
|
||||||
select aa.regDate
|
|
||||||
, aa.sendCount
|
|
||||||
, aa.successCount
|
|
||||||
, now()
|
|
||||||
|
|
||||||
from (
|
|
||||||
SELECT
|
SELECT
|
||||||
M2.regDate ,
|
aa.regDate
|
||||||
SUM(M2.sendCount) AS sendCount ,
|
, aa.hSendCount
|
||||||
SUM(M2.successCount) AS successCount
|
, aa.hSuccessCount
|
||||||
|
, aa.aSendCount
|
||||||
FROM ( SELECT
|
, aa.aSuccessCount
|
||||||
M.REQ_DATE AS regDate
|
, now()
|
||||||
/*발송일*/
|
FROM(
|
||||||
|
SELECT
|
||||||
, IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount
|
M2.regDate
|
||||||
/*발송건수*/
|
, SUM(M2.hSendCount) AS hSendCount
|
||||||
|
, SUM(M2.hSuccessCount) AS hSuccessCount
|
||||||
|
, SUM(M2.aSendCount) AS aSendCount
|
||||||
|
, SUM(M2.aSuccessCount) AS aSuccessCount
|
||||||
|
|
||||||
|
FROM(
|
||||||
|
SELECT
|
||||||
|
M.REQ_DATE AS regDate /*발송일*/
|
||||||
|
, IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/
|
||||||
|
, M.aSendCount /*API 발송건수*/
|
||||||
|
, M.hSendCount /*홈페이지 발송건수*/
|
||||||
, MSG_GROUP_ID
|
, MSG_GROUP_ID
|
||||||
|
, (SELECT
|
||||||
,
|
COUNT(0)
|
||||||
(SELECT COUNT(0)
|
FROM
|
||||||
FROM MJ_MSG_DATA A
|
MJ_MSG_DATA A
|
||||||
WHERE A.USER_ID NOT IN ('hftest',
|
WHERE 1=1
|
||||||
'itntest',
|
AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
|
||||||
'imotest',
|
|
||||||
'itntestBatch')
|
|
||||||
AND A.RESERVE_C_YN = 'N'
|
AND A.RESERVE_C_YN = 'N'
|
||||||
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
||||||
AND (CASE
|
AND M.SEND_KIND = 'H'
|
||||||
|
AND (
|
||||||
|
CASE
|
||||||
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0'))
|
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0'))
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
||||||
@ -57,78 +67,24 @@
|
|||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN (
|
WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL )
|
||||||
A.RSLT_CODE IS NULL
|
|
||||||
AND A.RSLT_CODE2 IS NULL
|
|
||||||
AND A.SENT_DATE IS NULL
|
|
||||||
AND A.RSLT_DATE IS NULL
|
|
||||||
)
|
|
||||||
THEN 'W'
|
THEN 'W'
|
||||||
ELSE 'F'
|
ELSE 'F'
|
||||||
END ) = 'S'
|
END
|
||||||
)
|
) = 'S'
|
||||||
AS successCount
|
) AS hSuccessCount /*홈페이지 성공건수*/
|
||||||
/*성공건수*/
|
, (SELECT
|
||||||
|
COUNT(0)
|
||||||
FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE ,
|
FROM
|
||||||
SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT ,
|
MJ_MSG_DATA A
|
||||||
P.MSG_GROUP_ID
|
WHERE 1=1
|
||||||
FROM MJ_MSG_GROUP_DATA P
|
AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
|
||||||
WHERE USER_ID NOT IN ('hftest',
|
|
||||||
'itntest',
|
|
||||||
'imotest',
|
|
||||||
'itntestBatch')
|
|
||||||
AND P.RESERVE_C_YN = 'N'
|
|
||||||
AND P.req_date > DATE_ADD(now(), interval -14 day)
|
|
||||||
GROUP BY P.MSG_GROUP_ID
|
|
||||||
)
|
|
||||||
M
|
|
||||||
)
|
|
||||||
M2
|
|
||||||
GROUP BY M2.regDate
|
|
||||||
)aa
|
|
||||||
on DUPLICATE KEY UPDATE
|
|
||||||
send_cnt=aa.sendCount
|
|
||||||
, success_cnt=aa.successCount
|
|
||||||
, regist_pnttm=now()
|
|
||||||
|
|
||||||
</insert>
|
|
||||||
|
|
||||||
<insert id="mjonSttst.insertMjSttstMsgDayBulk" parameterClass="mjonMsgVO">
|
|
||||||
INSERT INTO mj_sttst_msg
|
|
||||||
(send_date, send_cnt, success_cnt, regist_pnttm)
|
|
||||||
|
|
||||||
select aa.regDate
|
|
||||||
, aa.sendCount
|
|
||||||
, aa.successCount
|
|
||||||
, now()
|
|
||||||
|
|
||||||
from (
|
|
||||||
SELECT
|
|
||||||
M2.regDate ,
|
|
||||||
SUM(M2.sendCount) AS sendCount ,
|
|
||||||
SUM(M2.successCount) AS successCount
|
|
||||||
|
|
||||||
FROM ( SELECT
|
|
||||||
M.REQ_DATE AS regDate
|
|
||||||
/*발송일*/
|
|
||||||
|
|
||||||
, IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount
|
|
||||||
/*발송건수*/
|
|
||||||
|
|
||||||
, MSG_GROUP_ID
|
|
||||||
|
|
||||||
, (SELECT COUNT(0)
|
|
||||||
FROM MJ_MSG_DATA A
|
|
||||||
WHERE A.USER_ID NOT IN ('hftest',
|
|
||||||
'itntest',
|
|
||||||
'imotest',
|
|
||||||
'itntestBatch')
|
|
||||||
AND A.RESERVE_C_YN = 'N'
|
AND A.RESERVE_C_YN = 'N'
|
||||||
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
||||||
|
AND M.SEND_KIND = 'A'
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND(A.RSLT_CODE2 = '0'))
|
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0'))
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
@ -144,40 +100,159 @@
|
|||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
THEN 'S'
|
THEN 'S'
|
||||||
WHEN (
|
WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL )
|
||||||
A.RSLT_CODE IS NULL
|
|
||||||
AND A.RSLT_CODE2 IS NULL
|
|
||||||
AND A.SENT_DATE IS NULL
|
|
||||||
AND A.RSLT_DATE IS NULL
|
|
||||||
)
|
|
||||||
THEN 'W'
|
THEN 'W'
|
||||||
ELSE 'F'
|
ELSE 'F'
|
||||||
END ) = 'S'
|
END ) = 'S'
|
||||||
)
|
) AS aSuccessCount /*API 성공건수*/
|
||||||
AS successCount
|
FROM(
|
||||||
/*성공건수*/
|
SELECT
|
||||||
|
DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE
|
||||||
FROM ( SELECT DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE ,
|
, SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT
|
||||||
SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT ,
|
, P.MSG_GROUP_ID
|
||||||
P.MSG_GROUP_ID
|
, P.SEND_KIND
|
||||||
FROM MJ_MSG_GROUP_DATA P
|
, IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount
|
||||||
WHERE USER_ID NOT IN ('hftest',
|
, IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount
|
||||||
'itntest',
|
FROM
|
||||||
'imotest',
|
MJ_MSG_GROUP_DATA P
|
||||||
'itntestBatch')
|
WHERE 1=1
|
||||||
|
AND USER_ID NOT IN ('hftest', 'itntest', 'imotest', 'itntestBatch')
|
||||||
AND P.RESERVE_C_YN = 'N'
|
AND P.RESERVE_C_YN = 'N'
|
||||||
GROUP BY P.MSG_GROUP_ID
|
AND P.req_date > DATE_ADD(now(), interval -14 day)
|
||||||
)
|
GROUP BY
|
||||||
M
|
P.MSG_GROUP_ID
|
||||||
)
|
)M
|
||||||
M2
|
)M2
|
||||||
GROUP BY M2.regDate
|
GROUP BY M2.regDate
|
||||||
)aa
|
)aa
|
||||||
on DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
send_cnt=aa.sendCount
|
send_cnt =aa.hSendCount
|
||||||
, success_cnt=aa.successCount
|
, success_cnt =aa.hSuccessCount
|
||||||
, regist_pnttm=now()
|
, API_SEND_CNT =aa.aSendCount
|
||||||
|
, API_SUCCESS_CNT =aa.aSuccessCount
|
||||||
|
, regist_pnttm =now()
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
<insert id="mjonSttst.insertMjSttstMsgDayBulk" parameterClass="mjonMsgVO">
|
||||||
|
INSERT INTO MJ_STTST_MSG
|
||||||
|
(
|
||||||
|
send_date
|
||||||
|
, send_cnt
|
||||||
|
, success_cnt
|
||||||
|
, API_SEND_CNT
|
||||||
|
, API_SUCCESS_CNT
|
||||||
|
, regist_pnttm
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
aa.regDate
|
||||||
|
, aa.hSendCount
|
||||||
|
, aa.hSuccessCount
|
||||||
|
, aa.aSendCount
|
||||||
|
, aa.aSuccessCount
|
||||||
|
, now()
|
||||||
|
FROM(
|
||||||
|
SELECT
|
||||||
|
M2.regDate
|
||||||
|
, SUM(M2.sendCount) AS sendCount
|
||||||
|
, SUM(M2.successCount) AS successCount
|
||||||
|
FROM(
|
||||||
|
SELECT
|
||||||
|
M.REQ_DATE AS regDate /*발송일*/
|
||||||
|
, IFNULL(M.MSG_GROUP_CNT, 0) AS sendCount /*발송건수*/
|
||||||
|
, M.aSendCount /*API 발송건수*/
|
||||||
|
, M.hSendCount /*홈페이지 발송건수*/
|
||||||
|
, MSG_GROUP_ID
|
||||||
|
, (SELECT
|
||||||
|
COUNT(0)
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
|
||||||
|
AND A.RESERVE_C_YN = 'N'
|
||||||
|
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
||||||
|
AND M.SEND_KIND = 'H'
|
||||||
|
AND (
|
||||||
|
CASE
|
||||||
|
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0'))
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL )
|
||||||
|
THEN 'W'
|
||||||
|
ELSE 'F'
|
||||||
|
END
|
||||||
|
) = 'S'
|
||||||
|
) AS hSuccessCount /*홈페이지 성공건수*/
|
||||||
|
, (SELECT
|
||||||
|
COUNT(0)
|
||||||
|
FROM
|
||||||
|
MJ_MSG_DATA A
|
||||||
|
WHERE 1=1
|
||||||
|
AND A.USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
|
||||||
|
AND A.RESERVE_C_YN = 'N'
|
||||||
|
AND A.MSG_GROUP_ID = M.MSG_GROUP_ID
|
||||||
|
AND M.SEND_KIND = 'A'
|
||||||
|
AND (
|
||||||
|
CASE
|
||||||
|
WHEN A.AGENT_CODE = '01' AND (A.RSLT_CODE = '100' AND (A.RSLT_CODE2 = '0'))
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '02' AND (A.RSLT_CODE = '0')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '03' AND (A.RSLT_CODE = '100' OR A.RSLT_CODE = '101' OR A.RSLT_CODE = '110' OR A.RSLT_CODE = '800')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '04' AND (A.RSLT_CODE = '4100' OR A.RSLT_CODE = '6600')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '05' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '07' AND (A.RSLT_CODE = '6' OR A.RSLT_CODE = '1000')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '08' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN A.AGENT_CODE = '09' AND (A.RSLT_CODE = '1000' OR A.RSLT_CODE = '1001')
|
||||||
|
THEN 'S'
|
||||||
|
WHEN (A.RSLT_CODE IS NULL AND A.RSLT_CODE2 IS NULL AND A.SENT_DATE IS NULL AND A.RSLT_DATE IS NULL )
|
||||||
|
THEN 'W'
|
||||||
|
ELSE 'F'
|
||||||
|
END ) = 'S'
|
||||||
|
) AS aSuccessCount /*API 성공건수*/
|
||||||
|
FROM(
|
||||||
|
SELECT
|
||||||
|
DATE_FORMAT(P.REQ_DATE, '%Y-%m-%d') AS REQ_DATE
|
||||||
|
, SUM(P.MSG_GROUP_CNT) AS MSG_GROUP_CNT
|
||||||
|
, P.MSG_GROUP_ID
|
||||||
|
, P.SEND_KIND
|
||||||
|
, IF(P.SEND_KIND = 'A', SUM(P.MSG_GROUP_CNT), 0) AS aSendCount
|
||||||
|
, IF(P.SEND_KIND = 'H', SUM(P.MSG_GROUP_CNT), 0) AS hSendCount
|
||||||
|
FROM
|
||||||
|
MJ_MSG_GROUP_DATA P
|
||||||
|
WHERE 1=1
|
||||||
|
AND USER_ID NOT IN ('hftest','itntest','imotest','itntestBatch')
|
||||||
|
AND P.RESERVE_C_YN = 'N'
|
||||||
|
GROUP BY
|
||||||
|
P.MSG_GROUP_ID
|
||||||
|
)M
|
||||||
|
)M2
|
||||||
|
GROUP BY M2.regDate
|
||||||
|
)aa
|
||||||
|
ON DUPLICATE KEY UPDATE
|
||||||
|
send_cnt =aa.hSendCount
|
||||||
|
, success_cnt =aa.hSuccessCount
|
||||||
|
, API_SEND_CNT =aa.aSendCount
|
||||||
|
, API_SUCCESS_CNT =aa.aSuccessCount
|
||||||
|
, regist_pnttm =now()
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
<insert id="mjonSttst.insertMjSttstMsgRankBulk" parameterClass="mjonMsgVO">
|
<insert id="mjonSttst.insertMjSttstMsgRankBulk" parameterClass="mjonMsgVO">
|
||||||
|
|||||||
@ -11,14 +11,34 @@
|
|||||||
response.setDateHeader("Expires",0);
|
response.setDateHeader("Expires",0);
|
||||||
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
||||||
%>
|
%>
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>일별 문자발송건수 통계</title>
|
<title>일별 문자발송건수 통계</title>
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
||||||
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
|
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>"></script>
|
||||||
<script type="text/javaScript" language="javascript">
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
$( document ).ready(function(){
|
||||||
|
var selectSendKind = $("#sendKind option:selected").val();
|
||||||
|
|
||||||
|
if(selectSendKind == "H"){
|
||||||
|
$('.all').css('display', 'none');
|
||||||
|
$('.api').css('display', 'none');
|
||||||
|
setThead(1);
|
||||||
|
}else if(selectSendKind == "A"){
|
||||||
|
$('.all').css('display', 'none');
|
||||||
|
$('.homePage').css('display', 'none');
|
||||||
|
setThead(1);
|
||||||
|
}else{
|
||||||
|
setThead(3);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function setThead(index){
|
||||||
|
$("#sendHead").attr('colspan',index);
|
||||||
|
$("#successHead").attr('colspan',index);
|
||||||
|
$("#rateHead").attr('colspan',index);
|
||||||
|
}
|
||||||
|
|
||||||
function fn_search(){
|
function fn_search(){
|
||||||
linkPage(1);
|
linkPage(1);
|
||||||
}
|
}
|
||||||
@ -48,6 +68,8 @@ function init_date(){
|
|||||||
$('#ntceEnddeYYYMMDD').val('');
|
$('#ntceEnddeYYYMMDD').val('');
|
||||||
$('#ntceBgnde').val('');
|
$('#ntceBgnde').val('');
|
||||||
$('#ntceEndde').val('');
|
$('#ntceEndde').val('');
|
||||||
|
|
||||||
|
$('#sendKind').val('').prop("selected",true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//기간선택 select
|
//기간선택 select
|
||||||
@ -89,12 +111,9 @@ function fnSetCalMonth(val) {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<compress:html>
|
<compress:html>
|
||||||
|
|
||||||
|
|
||||||
<form name="listForm" action="<c:url value='/uss/ion/msg/msgDayChart_230125.do'/>" method="post">
|
<form name="listForm" action="<c:url value='/uss/ion/msg/msgDayChart_230125.do'/>" method="post">
|
||||||
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
||||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||||
@ -111,6 +130,11 @@ function fnSetCalMonth(val) {
|
|||||||
|
|
||||||
<div class="pageCont">
|
<div class="pageCont">
|
||||||
<div class="listSerch">
|
<div class="listSerch">
|
||||||
|
<select id="sendKind" name="sendKind" onchange="">
|
||||||
|
<option value=""<c:if test="${searchVO.sendKind eq ''}">selected="selected"</c:if>>발송방식 전체</option>
|
||||||
|
<option value="H"<c:if test="${searchVO.sendKind eq 'H'}">selected="selected"</c:if>>WEB</option>
|
||||||
|
<option value="A"<c:if test="${searchVO.sendKind eq 'A'}">selected="selected"</c:if>>API</option>
|
||||||
|
</select>
|
||||||
<select name="setCalMonth" onchange="fnSetCalMonth(this.value)">
|
<select name="setCalMonth" onchange="fnSetCalMonth(this.value)">
|
||||||
<option value="0">전체</option>
|
<option value="0">전체</option>
|
||||||
<option value="1">1개월</option>
|
<option value="1">1개월</option>
|
||||||
@ -126,15 +150,13 @@ function fnSetCalMonth(val) {
|
|||||||
~
|
~
|
||||||
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
|
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceEnddeYYYMMDD);">
|
||||||
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
|
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceEnddeYYYMMDD" id="ntceEnddeYYYMMDD" size="4" maxlength="4" readonly=""
|
||||||
value="<c:out value="${searchVO.ntceEndde}" />"
|
value="<c:out value="${searchVO.ntceEndde}" />" >
|
||||||
>
|
|
||||||
<input type="button" class="calBtn">
|
<input type="button" class="calBtn">
|
||||||
</a>
|
</a>
|
||||||
<a href="#" style="margin-left: 17px;" onclick="init_date(); return false;">
|
<a href="#" style="margin-left: 17px;" onclick="init_date(); return false;">
|
||||||
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
|
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
|
||||||
</a>
|
</a>
|
||||||
<input type="button" class="btnType1" style="margin-left:10px;" value="검색" onclick="fn_search(); return false;">
|
<input type="button" class="btnType1" style="margin-left:10px;" value="검색" onclick="fn_search(); return false;">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="listTop">
|
<div class="listTop">
|
||||||
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건
|
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건
|
||||||
@ -154,30 +176,77 @@ function fnSetCalMonth(val) {
|
|||||||
<div class="tableWrap">
|
<div class="tableWrap">
|
||||||
<table class="tbType1">
|
<table class="tbType1">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: auto;">
|
|
||||||
<col style="width: 25%">
|
|
||||||
<col style="width: 25%">
|
|
||||||
<col style="width: 25%">
|
<col style="width: 25%">
|
||||||
|
<col style="width: 25%" class="all">
|
||||||
|
<col style="width: 25%" class="homePage">
|
||||||
|
<col style="width: 25%" class="api">
|
||||||
|
<col style="width: 25%" class="all">
|
||||||
|
<col style="width: 25%" class="homePage">
|
||||||
|
<col style="width: 25%" class="api">
|
||||||
|
<col style="width: 25%" class="all">
|
||||||
|
<col style="width: 25%" class="homePage">
|
||||||
|
<col style="width: 25%" class="api">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>발송일</th>
|
<th rowspan="2" style="vertical-align: middle;">발송일</th>
|
||||||
<th>발송건수</th>
|
<th id="sendHead">발송건수</th>
|
||||||
<th>성공건수</th>
|
<th id="successHead">성공건수</th>
|
||||||
<th>성공율</th>
|
<th id="rateHead">성공율</th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th class="all">전체</th>
|
||||||
|
<th class="homePage">WEB</th>
|
||||||
|
<th class="api">API</th>
|
||||||
|
<th class="all">전체</th>
|
||||||
|
<th class="homePage">WEB</th>
|
||||||
|
<th class="api">API</th>
|
||||||
|
<th class="all">전체</th>
|
||||||
|
<th class="homePage">WEB</th>
|
||||||
|
<th class="api">API</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<c:forEach var="result" items="${resultList}" varStatus="status">
|
<c:forEach var="result" items="${resultList}" varStatus="status">
|
||||||
<tr>
|
<tr>
|
||||||
<td><c:out value="${result.regDate}"/></td>
|
<td>
|
||||||
<td><fmt:formatNumber value="${result.sendCount}" pattern="#,###" /></td>
|
<c:out value="${result.regDate}"/>
|
||||||
<td><fmt:formatNumber value="${result.successCount}" pattern="#,###" /></td>
|
</td>
|
||||||
<td><fmt:formatNumber value="${(result.successCount / result.sendCount) * 100}" pattern="#,###" />%</td>
|
<td class="all">
|
||||||
|
<fmt:formatNumber value="${result.totalSendCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
<td class="homePage">
|
||||||
|
<fmt:formatNumber value="${result.sendCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
<td class="api">
|
||||||
|
<fmt:formatNumber value="${result.aSendCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="all">
|
||||||
|
<fmt:formatNumber value="${result.totalSuccessCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
<td class="homePage">
|
||||||
|
<fmt:formatNumber value="${result.successCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
<td class="api">
|
||||||
|
<fmt:formatNumber value="${result.aSuccessCount}" pattern="#,###" />
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td class="all">
|
||||||
|
<fmt:formatNumber value="${result.totalRateSuccessCount}" pattern="#,###" />%
|
||||||
|
</td>
|
||||||
|
<td class="homePage">
|
||||||
|
<fmt:formatNumber value="${result.rateSuccessCount}" pattern="#,###" />%
|
||||||
|
</td>
|
||||||
|
<td class="api">
|
||||||
|
<fmt:formatNumber value="${result.rateApiSuccessCount}" pattern="#,###" />%
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<c:if test="${empty resultList}">
|
<c:if test="${empty resultList}">
|
||||||
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr>
|
||||||
|
<td colspan="10"><spring:message code="common.nodata.msg" /></td>
|
||||||
|
</tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -197,5 +266,3 @@ function fnSetCalMonth(val) {
|
|||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</compress:html>
|
</compress:html>
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user