통계관리 월문자발송건수 내역 API 수정
This commit is contained in:
parent
25dacf7516
commit
abcbbf05cc
@ -170,12 +170,13 @@ public class MjonMsgVO extends ComDefaultVO{
|
||||
private int aSuccessCount; // API 문자발송 성공건수
|
||||
private int aSendCount; // API 문자 발송건수
|
||||
|
||||
private int totalSendCount; // 전체 문자발송 건수
|
||||
private int totalSuccessCount; // 전체 문자발송 성공건수
|
||||
|
||||
private int rateTotalSuccessCount; // 전체 문자발송 성공율
|
||||
private int rateSuccessCount; // 홈페이지 전송 성공율
|
||||
private int rateApiSuccessCount; // API 전송 성공율
|
||||
|
||||
private int totalSendCount; // 전체 문자발송 건수
|
||||
private int totalSuccessCount; // 전체 문자발송 성공건수
|
||||
private int totalRateSuccessCount; // 전체 문자발송 성공율
|
||||
|
||||
public int getRateSuccessCount() {
|
||||
return rateSuccessCount;
|
||||
@ -201,11 +202,11 @@ public class MjonMsgVO extends ComDefaultVO{
|
||||
public void setTotalSuccessCount(int totalSuccessCount) {
|
||||
this.totalSuccessCount = totalSuccessCount;
|
||||
}
|
||||
public int getTotalRateSuccessCount() {
|
||||
return totalRateSuccessCount;
|
||||
public int getRateTotalSuccessCount() {
|
||||
return rateTotalSuccessCount;
|
||||
}
|
||||
public void setTotalRateSuccessCount(int totalRateSuccessCount) {
|
||||
this.totalRateSuccessCount = totalRateSuccessCount;
|
||||
public void setRateTotalSuccessCount(int rateTotalSuccessCount) {
|
||||
this.rateTotalSuccessCount = rateTotalSuccessCount;
|
||||
}
|
||||
public int getaSuccessCount() {
|
||||
return aSuccessCount;
|
||||
|
||||
@ -5019,17 +5019,17 @@
|
||||
|
||||
SELECT
|
||||
a.SEND_DATE AS regDate
|
||||
, a.send_cnt AS sendCount
|
||||
, a.success_cnt AS successCount
|
||||
, IFNULL(ROUND((a.success_cnt / a.send_cnt ) * 100), 0) AS rateSuccessCount
|
||||
|
||||
, IFNULL(a.send_cnt, 0) AS sendCount
|
||||
, 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.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
|
||||
, IFNULL(a.success_cnt, 0) AS successCount
|
||||
, IFNULL(a.API_SUCCESS_CNT, 0) AS aSuccessCount
|
||||
, 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 rateTotalSuccessCount
|
||||
, IFNULL(ROUND((a.success_cnt / a.send_cnt ) * 100), 0) AS rateSuccessCount
|
||||
, IFNULL(ROUND((a.API_SUCCESS_CNT / a.API_SEND_CNT ) * 100), 0) AS rateApiSuccessCount
|
||||
|
||||
, DATE_FORMAT(a.regist_pnttm, '%H:%i:%s') AS registPnttm
|
||||
, COUNT(a.SEND_DATE) OVER() AS totCnt /** 전체 건수 */
|
||||
@ -5107,16 +5107,29 @@
|
||||
|
||||
<!-- 월별 문자발송 건수 -->
|
||||
<select id="mjonMsgDAO.selectMsgMonthChart_230125" parameterClass="mjonMsgVO" resultClass="mjonMsgVO">
|
||||
SELECT substring(a.send_date,1,7) AS regDate
|
||||
, sum(a.send_cnt) AS sendCount
|
||||
, sum(a.success_cnt) AS successCount
|
||||
SELECT
|
||||
substring(a.send_date,1,7) AS regDate
|
||||
|
||||
, IFNULL(sum(a.send_cnt), 0) AS sendCount
|
||||
, IFNULL(sum(a.API_SEND_CNT), 0) AS aSendCount
|
||||
, IFNULL(sum(a.send_cnt), 0) + IFNULL(sum(a.API_SEND_CNT), 0) AS totalSendCount
|
||||
|
||||
, IFNULL(sum(a.success_cnt), 0) AS successCount
|
||||
, IFNULL(sum(a.API_SUCCESS_CNT), 0) AS aSuccessCount
|
||||
, IFNULL(sum(a.success_cnt), 0) + IFNULL(sum(a.API_SUCCESS_CNT), 0) AS totalSuccessCount
|
||||
|
||||
, IFNULL(ROUND((IFNULL(sum(a.success_cnt), 0) / IFNULL(sum(a.send_cnt), 0)) * 100), 0) AS rateSuccessCount
|
||||
, IFNULL(ROUND((IFNULL(sum(a.API_SUCCESS_CNT), 0) / IFNULL(sum(a.API_SEND_CNT), 0)) * 100), 0) AS rateApiSuccessCount
|
||||
, IFNULL(ROUND((IFNULL(sum(a.success_cnt), 0) + IFNULL(sum(a.API_SUCCESS_CNT), 0)) / (IFNULL(sum(a.send_cnt), 0) + IFNULL(sum(a.API_SEND_CNT), 0)) * 100), 0) AS rateTotalSuccessCount
|
||||
|
||||
|
||||
, max(DATE_FORMAT(a.regist_pnttm, '%H:%i:%s')) AS registPnttm
|
||||
FROM mj_sttst_msg a
|
||||
FROM
|
||||
mj_sttst_msg a
|
||||
WHERE 1=1
|
||||
AND a.send_date like concat(#ntceBgnde#,'%')
|
||||
AND <![CDATA[ a.send_date <= DATE_FORMAT(NOW(), '%Y-%m-%d') ]]>
|
||||
|
||||
group by substring(a.send_date,1,7)
|
||||
group by substring(a.send_date,1,7)
|
||||
order by send_date desc
|
||||
|
||||
</select>
|
||||
|
||||
@ -233,7 +233,7 @@ function fnSetCalMonth(val) {
|
||||
</td>
|
||||
|
||||
<td class="all">
|
||||
<fmt:formatNumber value="${result.totalRateSuccessCount}" pattern="#,###" />%
|
||||
<fmt:formatNumber value="${result.rateTotalSuccessCount}" pattern="#,###" />%
|
||||
</td>
|
||||
<td class="homePage">
|
||||
<fmt:formatNumber value="${result.rateSuccessCount}" pattern="#,###" />%
|
||||
|
||||
@ -11,9 +11,6 @@
|
||||
response.setDateHeader("Expires",0);
|
||||
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title>월별 문자발송건수 통계</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
||||
@ -30,20 +27,31 @@ $(document).ready(function(){
|
||||
}
|
||||
/* $('#searchYear').find('option:contains("${searchVO.ntceBgnde}")').attr("selected",true); */
|
||||
$('#searchYear').find('option[value="${searchVO.ntceBgnde}"]').attr("selected",true);
|
||||
|
||||
|
||||
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 linkPage(){
|
||||
function setThead(index){
|
||||
$("#sendHead").attr('colspan',index);
|
||||
$("#successHead").attr('colspan',index);
|
||||
$("#rateHead").attr('colspan',index);
|
||||
}
|
||||
|
||||
function linkPage(){
|
||||
var listForm = document.listForm ;
|
||||
/* if( $('#ntceBgndeYYYMMDD').val() != '' && $('#ntceEnddeYYYMMDD').val() != '' ){
|
||||
var iChkBeginDe = Number($('#ntceBgndeYYYMMDD').val().replaceAll("-", ""));
|
||||
var iChkEndDe = Number($('#ntceEnddeYYYMMDD').val().replaceAll("-", ""));
|
||||
if(iChkBeginDe > iChkEndDe || iChkEndDe < iChkBeginDe ){
|
||||
alert("검색 시작 일자는 종료 일자 보다 클 수 없습니다.");
|
||||
return;
|
||||
}
|
||||
} */
|
||||
$('#ntceBgnde').val($('#searchYear option:selected').val());
|
||||
listForm.submit();
|
||||
}
|
||||
@ -63,8 +71,6 @@ $(document).ready(function(){
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<compress:html>
|
||||
|
||||
@ -84,60 +90,95 @@ $(document).ready(function(){
|
||||
|
||||
<div class="pageCont">
|
||||
<div class="listSerch">
|
||||
<%-- <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
|
||||
<a href="#" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.ntceBgndeYYYMMDD);">
|
||||
<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="ntceBgndeYYYMMDD" id="ntceBgndeYYYMMDD" size="4" maxlength="4" readonly=""
|
||||
value="<c:out value="${searchVO.ntceBgnde}" />" >
|
||||
<input type="button" class="calBtn">
|
||||
</a>
|
||||
~
|
||||
<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=""
|
||||
value="<c:out value="${searchVO.ntceEndde}" />"
|
||||
>
|
||||
<input type="button" class="calBtn">
|
||||
</a>
|
||||
<a href="#" style="margin-left: 17px;" onclick="init_date(); return false;">
|
||||
<img src="/pb/img/common/topTimeOut.png" alt="타임아웃 아이콘">
|
||||
</a>
|
||||
<input type="button" class="btnType1" style="margin-left:10px;" value="검색" onclick="fn_search(); return false;"> --%>
|
||||
<select id="sendKind" name="sendKind" onchange="linkPage();">
|
||||
<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 id="searchYear" name="searchYear" onchange="linkPage();"></select>
|
||||
<br/><br/>
|
||||
<c:if test="${sttstDate ne '' and sttstDate ne null }">
|
||||
(집계 일시 : ${sttstDate}(금일))
|
||||
</c:if>
|
||||
</div>
|
||||
<%-- <div class="listTop">
|
||||
<p class="tType5">총 <span class="tType4 c_456ded fwBold"><fmt:formatNumber value="${paginationInfo.totalRecordCount}" pattern="#,###" /></span>건</p>
|
||||
</div> --%>
|
||||
<div class="listTop">
|
||||
<p class="tType5">
|
||||
<c:if test="${sttstDate ne '' and sttstDate ne null }">
|
||||
(집계 일시 : ${sttstDate}(금일))
|
||||
</c:if>
|
||||
</p>
|
||||
</div>
|
||||
<div class="tableWrap">
|
||||
<table class="tbType1">
|
||||
<colgroup>
|
||||
<col style="width: auto;">
|
||||
<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>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>발송월</th>
|
||||
<th>발송건수</th>
|
||||
<th>성공건수</th>
|
||||
<th>성공율</th>
|
||||
<th rowspan="2" style="vertical-align: middle;">발송일</th>
|
||||
<th id="sendHead">발송건수</th>
|
||||
<th id="successHead">성공건수</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>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="result" items="${resultList}" varStatus="status">
|
||||
<tr>
|
||||
<td><c:out value="${result.regDate}"/></td>
|
||||
<td><fmt:formatNumber value="${result.sendCount}" pattern="#,###" /></td>
|
||||
<td><fmt:formatNumber value="${result.successCount}" pattern="#,###" /></td>
|
||||
<td><fmt:formatNumber value="${(result.successCount / result.sendCount) * 100}" pattern="#,###" />%</td>
|
||||
<td>
|
||||
<c:out value="${result.regDate}"/>
|
||||
</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.rateTotalSuccessCount}" pattern="#,###" />%
|
||||
</td>
|
||||
<td class="homePage">
|
||||
<fmt:formatNumber value="${result.rateSuccessCount}" pattern="#,###.##" />%
|
||||
</td>
|
||||
<td class="api">
|
||||
<fmt:formatNumber value="${result.rateApiSuccessCount}" pattern="#,###" />%
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty resultList}">
|
||||
<tr><td colspan="4"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
<tr>
|
||||
<td colspan="10"><spring:message code="common.nodata.msg" /></td>
|
||||
</tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -145,5 +186,3 @@ $(document).ready(function(){
|
||||
</div>
|
||||
</form>
|
||||
</compress:html>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user