File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page import="itn.com.cmm.LoginVO" %>
<!-- <script src="/publish/js/content.js"></script> -->
<script src="/publish/js/popupLayer.js"></script>
<script type="text/javascript">
var lastfulstday = ""; //전월 시작일
var lastfuledday = ""; //전월 마지막일
var thisfulstlday = ""; //당월 시작일
var thisfuledtlday = ""; //당원 마지막일
var threefulstday = ""; //3개월전 시작일
var threefuledday = ""; //3개월전 마지막일
$(document).ready(function(){
//초기 전체 리스트 페이지 보여주기
linkPage(1);
var date = new Date() ;
//이전달 첫날/마지막날 조회
if(date.getMonth()+1 == 1){
lastfulstday = date.getFullYear()-1 + "/12" + "/01";
lastfuledday = date.getFullYear()-1 + "/12" + "/"+new Date(date.getFullYear()-1, 12, 0);
}else{
lastfulstday = date.getFullYear() + "/" ;
lastfulstday += date.getMonth() < 10 ? "0"+ (date.getMonth()) : date.getMonth()+"" ;
lastfuledday = lastfulstday + "/"+ new Date(date.getFullYear(), date.getMonth(), 0).getDate()+"" ;
lastfulstday += "/01" ;
}
//당월 첫날/마지막날 조회
thisfulstlday = date.getFullYear() + "/" ;
thisfulstlday += date.getMonth()+1 < 10 ? "0"+ (date.getMonth()+1) : date.getMonth()+1+"" ;
thisfuledtlday = thisfulstlday + "/"+ new Date(date.getFullYear(), date.getMonth()+1, 0).getDate()+"";
thisfulstlday += "/01" ;
//3개월 이전 날짜 구해오기
threefulstday = prevMonth(3);
threefuledday = today();
/* 목록 정렬 항목 아이콘 표시 */
/* var searchSortCnd = $("[name='searchSortCnd']").val();
var searchSortOrd = $("[name='searchSortOrd']").val();
if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) {
var $sort_div = $("#sort_"+ searchSortCnd);
var sortClass = 'sortBtn' ;
if (searchSortOrd == "desc") sortClass = "sortBtnDesc";
$sort_div.replaceClass('sortBtn' , sortClass) ;
$sort_div.attr("sortOrd", searchSortOrd);
} */
// 정렬 항목 이벤트
$(document).on('click', '.sort', function (){
listSortOrd(this);
});
//목록 정렬 항목 클릭
function listSortOrd(obj){
var sortOrd = $(obj).attr("sortOrd");
var sortCnd = $(obj).attr("id");
$("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거
if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc");
else $("[name='searchSortOrd']").val("desc");
linkPage('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨
}
//전체선택 실행
var allChkSts = false;
$("#allCheck").click(function(){
if(!allChkSts){// 전체선택이 해제되어 있을 경우
$("input[name=msgSentDel]").prop("checked", true);
allChkSts = true;
}else{
$("input[name=msgSentDel]").prop("checked", false);
allChkSts = false;
}
});
$(document).on('change','#pageUnit', function(){
linkPage(1);
});
});
//오늘날짜 구하기
function today() {
var d = new Date();
return getDateStr(d);
}
//이전 날짜 구하기
function prevDay(days) {
var d = new Date();
var dayOfMonth = d.getDate();
d.setDate(dayOfMonth - days);
return getDateStr(d);
}
//이전 월 구하기
function prevMonth(month) {
var d = new Date();
var monthOfYear = d.getMonth();
d.setMonth(monthOfYear - month);
return getDateStr(d);
}
//날짜 받아오기
function getDateStr(myDate){
var year = myDate.getFullYear();
var month = ("0"+(myDate.getMonth()+1)).slice(-2);
var day = ("0"+myDate.getDate()).slice(-2);
return ( year + '/' + month + '/' + day );
}
//캘린더에 날짜 입력해 주기
function setCalVal(val,targetObj){
$('input[name='+targetObj+']').val(val) ;
}
//검색 버튼 실행
function linkPage(pageNo){
var form = document.searchForm;
var stateType = form.stateType.value;
form.pageIndex.value = pageNo;
var sendData = $(document.searchForm).serializeArray();
$(".msgSentAllLoad").html('<div class="list_info"><table class="tType4"><tbody><tr><td colspan="12">LOADING...</td></tr></tbody></table></div>');
$(".msgSentAllLoad").load("/web/mjon/msgsent/selectMsgSentListViewAjax.do", sendData ,function(response, status, xhr){
});
}
//선택 삭제 실행
function fnDelete(){
var msgId = [];
if($("input:checkbox[name='msgSentDel']").is(":checked")==false){
alert("한 개 이상의 전송 내역을 선택하세요");
return;
}
$("input:checkbox[name='msgSentDel']:checked").each(function(index){
var disabledChk = $(this).prop('disabled');
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
msgId[index] = $(this).val();
}
});
if(msgId.length > 0){
//22.04.25 구글 독스 alert 기준으로 이지우가 수정
/* if(confirm("선택한 발송문자를 삭제하시겠습니까? 삭제된 문자는 복구가 불가능 합니다.")) */
if(confirm("선택한 목록을 삭제하시겠습니까?")){
document.searchForm.msgGroupIdList.value = msgId;
var sendData = $(document.searchForm).serializeArray();
$(".msgSentAllLoad").load("/web/mjon/msgsent/deleteMsgSentDataAjax.do", sendData ,function(response, status, xhr){
});
// var form = document.searchForm;
// form.action="/web/mjon/msgsent/selectMsgSentView.do";
// form.submit();
}
}else{
alert("삭제할 문자를 선택해 주세요.");
return false;
}
}
//상세보기 버튼 실행
function fnRevDetailPop(msgGroupId, msgId, fileCnt){
document.resPopForm.msgGroupId.value = msgGroupId;
document.resPopForm.msgId.value = msgId;
var sendData = $(document.resPopForm).serializeArray();
var form = document.searchForm;
if (form.listType.value == "privateList") {
$("#msgSentDetailPopLoad").load("/web/mjon/msgsent/selectMsgSentDetailData2Ajax.do", sendData ,function(response, status, xhr){
});
}
else {
$("#msgSentDetailPopLoad").load("/web/mjon/msgsent/selectMsgSentDetailDataAjax.do", sendData ,function(response, status, xhr){
});
}
}
function fnListLoad(pageType, tabNum){
var form = document.searchForm;
var $tab = $(".table_tab_wrap li").eq(tabNum); //
$tab.addClass("active");
$tab.find("button").attr("title", "선택됨");
$tab.siblings("li.tab").removeClass("active");
$tab.siblings("li.btn_tab").removeClass("active");
$tab.siblings("li.tab").find("button").removeAttr("title");
if(pageType == 'all'){
form.stateType.value = "all";
$(".tab_depth1").show();
}else if(pageType == 'ready'){
form.stateType.value = "ready";
$(".tab_depth1").show();
}else if(pageType == 'complete'){
form.stateType.value = "complete";
$(".tab_depth1").show();
}else if(pageType == 'fail'){
form.listType.value = "privateList";
form.stateType.value = "fail";
$(".tab_depth1").hide();
}
/* if(pageType == 'fail'){//발송실패의 경우 모두 개인별 건수를 보여준다.
form.listType.value = 'privateList';
} */
linkPage(1);
}
// 전체/단문/장문/그림 탭 선택 처리
function fnTabLoad(tabType, tabNum){
var form = document.searchForm;
form.tabType.value = tabType;
//해당 탭의 전체 리스트 내역으로 불러오기
fnListLoad('all', '0');
var n=tabNum+1;
//탭 선택 CSS 처리
var $tab = $(".list_tab_wrap2 li:nth-child("+n+")");
var $tabPrev = $(".list_tab_wrap2 li:nth-child("+n+")").prev("li")
$tab.addClass("active");
$tab.find("button").attr("title", "선택됨");
$tab.siblings("li.tab").removeClass("active");
$tab.siblings("li.tab").find("button").removeAttr("title");
$tab.siblings("li:not(li:last-child)").find("button").css("border-right","1px solid #e5e5e5");
$tabPrev.find("button").css("border-right","0");
}
function fnSearch(pageNo){
var form = document.searchForm;
form.pageIndex.value = pageNo ;
form.action="/web/mjon/msgsent/selectMsgSentView.do";
form.submit();
}
function fnExcelDownLoad(pageType, tabType){
var form = document.searchForm;
var loginVO = '${LoginVO}';
form.stateType.value = pageType;
form.tabType.value = tabType;
if(loginVO == "" || loginVO == null){
alert("로그인 후 이용이 가능합니다.");
return false;
}
// 기간검색 유효성 검사
if ($("#startDate").val() == "" || $("#endDate").val() == "") {
alert("기간 설정을 먼저해주세요. 최근 3개월까지만 다운로드 가능합니다.")
return false;
}
else {
if ($("#startDate").val() < prevMonth(3)) {
alert("최근 3개월까지만 다운로드 가능합니다.")
return false;
}
}
if(confirm("엑셀 다운로드를 하시겠습니까?")){
form.action="/web/mjon/msgsent/msgSentExcelDownLoadAjax.do";
form.submit();
}
}
$(document).on('click', '.msgGgoupList', function(){
var form = document.searchForm;
form.listType.value = "groupList";
linkPage(1);
});
$(document).on('click', '.msgPrivateList', function(){
var form = document.searchForm;
form.listType.value = "privateList";
linkPage(1);
});
function fnDeleteAddrNo(listType){
var msgId = [];
if($("input:checkbox[name='msgSentDel']").is(":checked")==false){
alert("한 개 이상의 전송 내역을 선택하세요");
return;
}
$("input:checkbox[name='msgSentDel']:checked").each(function(index){
var disabledChk = $(this).prop('disabled');
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
msgId[index] = $(this).val();
}
});
if(msgId.length > 0){
//22.04.25 구글 독스 alert 기준으로 이지우가 수정
/* if(confirm("선택한 수신번호를 주소록에서 삭제하시겠습니까? 삭제된 주소록은 복구가 불가능 합니다.")){ */
if(confirm("선택하신 번호를 주소록에서 삭제하시겠습니까?")){
var form = document.searchForm;
form.msgGroupIdList.value = msgId;
form.listType.value = listType;
var data = new FormData(form);
url = "/web/mjon/msgsent/deleteAddrNoDataAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return false;
}else if("loginFail"==returnData.result){
alert(returnData.message);
return false;
}else if(returnData.resultCnt == '0'){
alert("주소록에 삭제할 연락처가 없습니다.");
return false;
}else{
alert(returnData.message);
return false;
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("주소록 삭제에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}else{
alert("삭제할 문자를 선택해 주세요.");
return false;
}
}
function fnAddBlockNo(listType){
var msgId = [];
if($("input:checkbox[name='msgSentDel']").is(":checked")==false){
alert("선택된 항목이 없습니다.");
return;
}
$("input:checkbox[name='msgSentDel']:checked").each(function(index){
var disabledChk = $(this).prop('disabled');
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
msgId[index] = $(this).val();
}
});
if(msgId.length > 0){
//if(confirm("선택한 수신번호를 주소록에서 삭제하시겠습니까? 삭제된 주소록은 복구가 불가능 합니다.")){
var form = document.searchForm;
form.msgGroupIdList.value = msgId;
form.listType.value = listType;
var data = new FormData(form);
url = "/web/mjon/msgsent/insertAddBlockNoDataAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return false;
}else if("loginFail"==returnData.result){
alert(returnData.message);
return false;
}else if(returnData.resultCnt == '0'){
alert("주소록에 삭제할 연락처가 없습니다.");
return false;
}else{
alert(returnData.message);
return false;
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("수신거부번호 등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
//}
}else{
alert("수신거부번호를 등록할 문자를 선택해 주세요.");
return false;
}
}
function fnReSendMsg(){
var msgSeq = [];
if($("input:checkbox[name='msgSentDel']").is(":checked")==false){
alert("선택된 항목이 없습니다.");
return;
}
$("input:checkbox[name='msgSentDel']:checked").each(function(index){
var disabledChk = $(this).prop('disabled');
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
msgSeq[index] = $(this).val();
}
});
var form = document.reSendForm;
form.msgSeqList.value = msgSeq;
form.msgResendFlag.value = "Y";
form.action="/web/mjon/msgdata/selectMsgDataView.do";
form.submit();
}
function fnMsgSFDetailList(msgGroupId, resultType){
var form = document.resPopForm;
form.msgGroupId.value = msgGroupId;
form.resultType.value = resultType;
//만들려는 팝업의 크기
var popup_wid = '1280';
var popup_ht = '700';
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
$("#resPopForm").attr("target","msgSFDetailPop");
window.open('', 'msgSFDetailPop', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top );
$("#resPopForm").attr({"action":"/web/mjon/msgsent/selectMsgSFDetailListAjax.do", "method":"post"}).submit();
}
/* 사용내역서 클릭 시 내역서 새창 팝업 오픈 */
function fnShowPrintPopup(tabType, type) {
//만들려는 팝업의 크기
var popup_wid = '840';
var popup_ht = '900';
var popup_left = (window.screen.width / 2) - (popup_wid / 2);
var popup_top =(window.screen.height / 2) - (popup_ht / 2);
$("#tabType").val(tabType);
$("#searchForm").attr("target","msgSentPrint");
window.open('', 'msgSentPrint', 'width='+ popup_wid +', height='+ popup_ht +', left=' + popup_left + ', top='+ popup_top +',scrollbars=1');
$("#searchForm").attr({"action":"/web/mjon/msgsent/printMsgSentDataAjax.do", "method":"post"}).submit();
}
function addrGroupDuplCnt() {
document.searchForm.addrGrpNm.value = $('#grpNm').val();
var data = $('#searchForm').serialize();
//var data = new FormData(form);
var flag = true;
var url = "/web/addr/selectDuplAddrGroupNameAjax.do";
$.ajax({
async: false,
type: "post",
url: url,
data: data,
dataType:"JSON",
// contentType: false,
// processData: false,
cache: false,
success: function (returnData, status) {
if("dupl"==returnData.result1) {
flag = false;
}
},
error: function (e) {
alert("error");
console.log("ERROR : ", e);
}
});
return flag;
}
//주소록 그룹 등록 기능
function fnAddAddrNo(){
var addrGrpNm = $('#grpNm').val(); //입력 그룹 이름 불러오기
var msgId = [];
if($("input:checkbox[name='msgSentDel']").is(":checked")==false){
alert("한 개 이상의 전송 내역을 선택하세요");
return;
}
$("input:checkbox[name='msgSentDel']:checked").each(function(index){
var disabledChk = $(this).prop('disabled');
if(!disabledChk){ //checkbox disabled 인 것은 제외하고 아이디 저장
msgId[index] = $(this).val();
}
});
if(msgId.length > 0 && addrGrpNm != ''){
//주소록 그룹명 중복체크
if(!addrGroupDuplCnt()) {
alert("이미 등록되어있는 주소록입니다.");
return false;
}
var form = document.searchForm;
form.msgGroupIdList.value = msgId;
form.addrGrpNm.value = addrGrpNm;
var data = new FormData(form);
url = "/web/mjon/msgsent/insertAddAddrGrpDataAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return false;
}else if("loginFail"==returnData.result){
alert(returnData.message);
return false;
}else if(returnData.resultCnt == '0'){
alert("주소록에 등록할 연락처가 없습니다.");
return false;
}else{
alert(returnData.message);
$('#grpNm').val(""); //입력한 그룹명 초기화
$(".tooltip-close").trigger("click");
return false;
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("주소록 등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
}else{
alert("등록할 문자를 선택해 주세요.");
return false;
}
}
/* 윈도우팝업 열기 */
function infoPop(pageUrl){
document.popForm.pageType.value = pageUrl;
document.popForm.action = "/web/pop/infoPop.do";
document.popForm.method = "post";
window.open("about:blank", 'infoPop', 'width=790, height=320, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
document.popForm.target = "infoPop";
document.popForm.submit();
}
</script>
<!-- 문자내용 팝업 data-tooltip: rev_popup01 -->
<div class="tooltip-wrap">
<div class="popup-com adr_layer rev_popup01" tabindex="0" data-tooltip-con="rev_popup01" data-focus="rev_popup01" data-focus-prev="rev_popup01-close" style="width: 440px;">
<div class="popup_heading">
<p>문자내용</p>
<button type="button" class="tooltip-close" data-focus="rev_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in" id="msgSentDetailPopLoad">
<div class="popup_btn_wrap2" style="justify-content: center;">
<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
</div>
</div>
</div>
</div><!--// 문자내용 팝업 -->
<!-- 그룹등록 팝업 data-tooltip:rev_popup02 -->
<div class="tooltip-wrap">
<div class="popup-com adr_layer rev_popup02" tabindex="0" data-tooltip-con="rev_popup02" data-focus="rev_popup02" data-focus-prev="rev_popup02-close" style="width: 500px;">
<div class="popup_heading">
<p>그룹등록</p>
<button type="button" class="tooltip-close" data-focus="rev_popup02-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
</div>
<div class="layer_in">
<div class="gorup_join_cont">
<p class="adr_pop_title">선택된 발송내역 전화번호를 그룹으로 등록합니다.</p>
<div class="group_input" style="margin-top: 0;">
<div class="input_left">그룹이름</div>
<div class="input_right">
<label for="grpNm" class="label">새 그룹명 입력</label>
<input type="text" id="grpNm" name="grpNm" placeholder="새 그룹명 입력" onfocus="this.placeholder=''" onblur="this.placeholder='새 그룹명 입력'" class="inputLight">
</div>
</div>
<div class="popup_btn_wrap2">
<button type="button" onclick="javascript:fnAddAddrNo(); return false;">저장</button>
<button type="button" class="tooltip-close" data-focus="rev_popup02-close" data-focus-next="rev_popup02">취소</button>
</div>
</div>
</div>
</div>
</div>
<div class="inner">
<!-- send top -->
<div class="send_top">
<!-- 결제관리 - 요금 사용내역 -->
<div class="rev_admin_cont serv_content current">
<div class="heading">
<h2>발송결과</h2>
<button type="button" class="button info" onclick="infoPop('selectMsgSentView');">사용안내</button>
<button type="button" class="button junk" data-tooltip="popupJunk">통신사 스팸규격안내</button>
</div>
<!-- tab button -->
<div class="pay_tab_wrap">
<%@include file="/WEB-INF/jsp/web/kakao/include/KakaoSentTopMentTap.jsp" %>
</div>
<!--// tab button -->
<%--<div class="titBox type1">
<p>- 보낸결과는 이동통신사의 결과값을 기반으로 표시되며, 최대 6개월간의 발송내역만 확인하실 수 있습니다.</p>
<p>- 전송내역이 필요한 경우 기간(6개월) 내에 다운로드하여 주시기 바랍니다.</p>
<p>- 보낸결과는 이동통신사 및 수신자 등의 사정으로 발송이 지연된 경우 결과가 다소 늦게 확인될 수 있습니다.</p>
<p>- 받는사람 기준으로 전송건별(묶음), 개인별(건) 상세조회가 가능합니다.</p>
<p>- 단문문자는 최대 24시간, 장문 및 그림문자는 최대 72시간까지 결과값이 수신되지 않은 경우 실패(비과금) 처리됩니다.</p>
<p>- 정상 수신인데도 불구하고 문자를 받지 못한 경우에는 “이통사별스팸차단서비스(버튼)” 안내를 확인하시기 바랍니다.</p>
<p>- 발송건 전체가 오류 처리되는 경우 번호도용 차단서비스에 가입되어 있을 수 있습니다. “번호도용 차단서비스(버튼)” 안내를 참고하시기 바랍니다.</p>
<p>- 보낸결과는 삭제 시 복구가 불가하오니 반드시 유의하시기 바랍니다.</p>
<div class="btnWrap type1">
<button type="button" data-tooltip="popupJunk" class="tab1">정상수신인데 못받은 경우<span>(통신사별 스팸차단서비스)</span></button>
<button type="button" data-tooltip="popupJunk" class="tab2">발송내용이 전체오류가 나는 경우<span>(통신사별 스팸차단서비스)</span></button>
</div>
</div>--%>
<form id="searchForm" name="searchForm" method="post">
<input type="hidden" id="pageIndex" name="pageIndex" value="1"/>
<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
<input type="hidden" id="tabType" name="tabType" value="all"/><!-- 탭 종류 -->
<input type="hidden" id="stateType" name="stateType" value="all"/><!-- 발송상태 종류 -->
<input type="hidden" id="listType" name="listType" value="groupList"/><!-- 리스트 종류 -->
<input type="hidden" id="addrGrpNm" name="addrGrpNm" value=""/><!-- 주소록 그룹 이름 -->
<input type="hidden" id="mberId" name="mberId" value="${LoginVO.id}"/><!-- 주소록 그룹 이름 -->
<!-- 각 통계별 총 건수 -->
<c:set var="totAllCnt" value="0"/><!-- 전체 건수 -->
<c:set var="totSmsCnt" value="0"/><!-- 단문 건수 -->
<c:set var="totLmsCnt" value="0"/><!-- 장문 건수 -->
<c:set var="totMmsCnt" value="0"/><!-- 그림 건수 -->
<!-- 각 통계별 성공, 실패 건수 처리 -->
<c:set var="waitAllCnt" value="0"/><!-- 전체 대기 건수 -->
<c:set var="succAllCnt" value="0"/><!-- 전체 성공 건수 -->
<c:set var="failAllCnt" value="0"/><!-- 전체 실패 건수 -->
<c:set var="waitSmsCnt" value="0"/><!-- 단문 대기 건수 -->
<c:set var="succSmsCnt" value="0"/><!-- 단문 성공 건수 -->
<c:set var="failSmsCnt" value="0"/><!-- 단문 실패 건수 -->
<c:set var="waitLmsCnt" value="0"/><!-- 장문 대기 건수 -->
<c:set var="succLmsCnt" value="0"/><!-- 장문 성공 건수 -->
<c:set var="failLmsCnt" value="0"/><!-- 장문 실패 건수 -->
<c:set var="waitMmsCnt" value="0"/><!-- 그림 대기 건수 -->
<c:set var="succMmsCnt" value="0"/><!-- 그림 성공 건수 -->
<c:set var="failMmsCnt" value="0"/><!-- 그림 실패 건수 -->
<!-- 발송대기 건수가 있으면 이것도 발송 실패건수로 일단 집계한다. -->
<c:forEach var="totalMsgCnt" items="${totalMsgCnt}" varStatus="status">
<!-- 전체 갯수 구하기 -->
<c:set var="totAllCnt" value="${totAllCnt + totalMsgCnt.msgResultCnt}"/>
<!-- 전체 대기 갯수 -->
<c:if test="${totalMsgCnt.msgResultSts == 'W'}">
<c:set var="waitAllCnt" value="${waitAllCnt + totalMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 전체 성공 갯수 -->
<c:if test="${totalMsgCnt.msgResultSts == 'S'}">
<c:set var="succAllCnt" value="${succAllCnt + totalMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 전체 실패 갯수 -->
<c:if test="${totalMsgCnt.msgResultSts == 'F'}">
<c:set var="failAllCnt" value="${failAllCnt + totalMsgCnt.msgResultCnt}"/>
</c:if>
</c:forEach>
<!-- 단문 처리 -->
<c:forEach var="smsMsgCnt" items="${smsMsgCnt}" varStatus="status">
<!-- 단문 전체 갯수 구하기 -->
<c:set var="totSmsCnt" value="${totSmsCnt + smsMsgCnt.msgResultCnt}"/>
<!-- 단문 대기 갯수 구하기 -->
<c:if test="${smsMsgCnt.msgResultSts == 'W'}">
<c:set var="waitSmsCnt" value="${waitSmsCnt + smsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 단문 성공 갯수 구하기 -->
<c:if test="${smsMsgCnt.msgResultSts == 'S'}">
<c:set var="succSmsCnt" value="${succSmsCnt + smsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 단문 실패 갯수 구하기 -->
<c:if test="${smsMsgCnt.msgResultSts == 'F'}">
<c:set var="failSmsCnt" value="${failSmsCnt + smsMsgCnt.msgResultCnt}"/>
</c:if>
</c:forEach>
<!-- 장문 처리 -->
<c:forEach var="lmsMsgCnt" items="${lmsMsgCnt}" varStatus="status">
<!-- 장문 전체 갯수 구하기 -->
<c:set var="totLmsCnt" value="${totLmsCnt + lmsMsgCnt.msgResultCnt}"/>
<!-- 장문 대기 갯수 구하기 -->
<c:if test="${lmsMsgCnt.msgResultSts == 'W'}">
<c:set var="waitLmsCnt" value="${waitLmsCnt + lmsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 장문 성공 갯수 구하기 -->
<c:if test="${lmsMsgCnt.msgResultSts == 'S'}">
<c:set var="succLmsCnt" value="${succLmsCnt + lmsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 장문 실패 갯수 구하기 -->
<c:if test="${lmsMsgCnt.msgResultSts == 'F'}">
<c:set var="failLmsCnt" value="${failLmsCnt + lmsMsgCnt.msgResultCnt}"/>
</c:if>
</c:forEach>
<!-- 그림 처리 -->
<c:forEach var="mmsMsgCnt" items="${mmsMsgCnt}" varStatus="status">
<!-- 그림 전체 갯수 구하기 -->
<c:set var="totMmsCnt" value="${totMmsCnt + mmsMsgCnt.msgResultCnt}"/>
<!-- 그림 대기 갯수 구하기 -->
<c:if test="${mmsMsgCnt.msgResultSts == 'W'}">
<c:set var="waitMmsCnt" value="${waitMmsCnt + mmsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 그림 성공 갯수 구하기 -->
<c:if test="${mmsMsgCnt.msgResultSts == 'S'}">
<c:set var="succMmsCnt" value="${succMmsCnt + mmsMsgCnt.msgResultCnt}"/>
</c:if>
<!-- 그림 실패 갯수 구하기 -->
<c:if test="${mmsMsgCnt.msgResultSts == 'F'}">
<c:set var="failMmsCnt" value="${failMmsCnt + mmsMsgCnt.msgResultCnt}"/>
</c:if>
</c:forEach>
<div class="rev_admin">
<div class="rev_admin_in">
<div class="rev_admin_top clearfix">
<p>전체</p>
<p><span><fmt:formatNumber value="${totAllCnt}" pattern="#,###"/></span> 건</p>
</div>
<div class="rev_admin_btm">
<dl>
<dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitAllCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succAllCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failAllCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</div>
<div class="rev_admin_in">
<div class="rev_admin_top clearfix">
<p>단문(SMS)</p>
<p><span><fmt:formatNumber value="${totSmsCnt}" pattern="#,###"/></span> 건</p>
</div>
<div class="rev_admin_btm">
<dl>
<dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitSmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succSmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failSmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</div>
<div class="rev_admin_in">
<div class="rev_admin_top clearfix">
<p>장문(LMS)</p>
<p><span><fmt:formatNumber value="${totLmsCnt}" pattern="#,###"/></span> 건</p>
</div>
<div class="rev_admin_btm">
<dl>
<dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitLmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succLmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failLmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</div>
<div class="rev_admin_in">
<div class="rev_admin_top clearfix">
<p>그림(MMS)</p>
<p><span><fmt:formatNumber value="${totMmsCnt}" pattern="#,###"/></span> 건</p>
</div>
<div class="rev_admin_btm">
<dl>
<dt>대기</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${waitMmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>성공</dt>
<dd><span class="c_002c9a"><fmt:formatNumber value="${succMmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
<dl>
<dt>실패</dt>
<dd><span class="c_e40000"><fmt:formatNumber value="${failMmsCnt}" pattern="#,###"/></span>건</dd>
</dl>
</div>
</div>
</div>
<div class="excel_middle">
<div class="select_btnWrap clearfix">
<div class="btn_left">
<span class="cal_label">기간선택</span>
<div class="calendar_wrap">
<input type="text" class="startDate inp calendar" title="검색 시작일" id="startDate" name="startDate" value="<c:out value='${mjonMsgSentVO.startDate}'/>" data-datecontrol="true">
<span class="dateEtc">~</span>
<input type="text" class="endDate inp calendar" title="검색 종료일" id="endDate" name="endDate" value="<c:out value='${mjonMsgSentVO.endDate}'/>" data-datecontrol="true">
</div>
<!-- <button type="button">전월</button>
<button type="button">당월</button> -->
<button type="button" onclick="setCalVal(lastfulstday,'startDate');setCalVal( lastfuledday,'endDate'); return false;" class="btnType btnType19">전월</button>
<button type="button" onclick="setCalVal(thisfulstlday,'startDate');setCalVal( thisfuledtlday,'endDate'); return false;" class="btnType btnType19">당월</button>
<!-- <button type="button">3개월</button> -->
<button type="button" onclick="setCalVal(threefulstday,'startDate');setCalVal( threefuledday,'endDate'); return false;" class="btnType btnType19">3개월</button>
<button type="button" class="btnType6" onClick="javascript:fnSearch(1); return false;">조회</button>
</div>
<div class="btn_right">
<%-- <label for="searchMsgType" class="label">문자형태 선택 == ${mjonMsgSentVO.searchMsgType}</label>
<select name="searchMsgType" id="searchMsgType" class="selType2">
<option value="">전체</option>
<option value="S" <c:if test="${mjonMsgSentVO.searchMsgType == 'S'}">selected</c:if> >단문</option>
<option value="L" <c:if test="${mjonMsgSentVO.searchMsgType == 'L'}">selected</c:if> >장문</option>
<option value="M" <c:if test="${mjonMsgSentVO.searchMsgType == 'M'}">selected</c:if> >그림</option>
</select> --%>
<label for="searchCondition" class="label">발신번호 선택 == ${mjonMsgSentVO.searchCondition}</label>
<select name="searchCondition" id="searchCondition" class="selType2">
<option value="2" <c:if test="${mjonMsgSentVO.searchCondition == '2'}">selected</c:if> >발신번호</option>
<option value="3" <c:if test="${mjonMsgSentVO.searchCondition == '3'}">selected</c:if> >수신번호</option>
</select>
<div class="search">
<label for="id" class="label"></label>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${searchKeyword}'/>" placeholder="검색어를 입력하세요." onfocus="this.placeholder=''" onblur="this.placeholder='검색어를 입력하세요.'">
<button type="button" class="btnType btnType2" onClick="javascript:fnSearch(1); return false;">검색</button>
</div>
</div>
</div>
</div>
<div class="list_tab_wrap2 type4">
<!-- tab button -->
<ul class="list_tab">
<li class="tab active"><button type="button" onclick="fnTabLoad('',0); return false;">전체</button></li>
<li class="tab"><button type="button" onclick="fnTabLoad('S',1); return false;">단문(SMS)</button></li>
<li class="tab"><button type="button" onclick="fnTabLoad('L',2); return false;">장문(LMS)</button></li>
<li class="tab"><button type="button" onclick="fnTabLoad('M',3); return false;">그림(MMS)</button></li>
</ul><!--// tab button -->
</div>
<!-- 예약관리 > 전체 -->
<div class="price_history_cont current" id="listTab_2">
<!-- tab button -->
<div class="table_tab_wrap">
<ul>
<li class="tab active">
<button type="button" onclick="fnListLoad('all','0'); return false;">전체</button></li>
<li class="tab"><button type="button" onclick="fnListLoad('ready','1'); return false;">결과대기</button></li>
<li class="tab"><button type="button" onclick="fnListLoad('complete','2'); return false;">정상수신</button></li>
<li class="tab"><button type="button" onclick="fnListLoad('fail','3'); return false;">수신오류</button></li>
</ul><!--// tab button -->
<div class="tab_depth1">
<a href="#none" class="on msgGgoupList">받는사람(전송건별)</a>
<a href="#none" style="display: none;"></a>
<a href="#none" class="msgPrivateList">받는사람(개인별)</a>
<div class="on_active">받는사람(전송건별)</div>
</div>
</div>
<!-- 발송관리 리스트 -->
<div class="table_cont current msgSentAllLoad" id="tableCont_1">
</div><!-- //전체 종료 -->
<!-- table -->
</div>
</form>
</div>
</div><!--// send top -->
</div>
<form id="resPopForm" name="resPopForm" method="post">
<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
<input type="hidden" id="msgId" name="msgId" value=""/>
<input type="hidden" id="fileCnt" name="fileCnt" value=""/>
<input type="hidden" id="resultType" name="resultType" value="S"/>
</form>
<form id="reSendForm" name="reSendForm" method="post">
<input type="hidden" id="msgSeqList" name="msgSeqList" value=""/>
<input type="hidden" id="msgResendFlag" name="msgResendFlag" value="N"/>
</form>
<form name="popForm" id="popForm" method="post">
<input type="hidden" name="pageType" id="pageType" value=""/>
</form>