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
File name
Commit message
Commit date
<%
/**
* @Class Name : ReserveKakaoATModify.jsp
* @Description : 알림톡 예약 전송내역 상세
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.02.01 박정규 최초 생성
* 2016.06.13 김연호 표준프레임워크 v3.6 개선
*
* @author 공통서비스팀
* @since 2009.02.01
* @version 1.0
* @see
*
*/
%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<% pageContext.setAttribute("newLineChar", "\r\n"); %>
<% pageContext.setAttribute("newLineChar2", "\n"); %>
<!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>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$('.byte').find('span').html(calByte.getByteLength($('textarea[name=smsTxt]').val()));
<c:if test="${!empty mjonKakaoATVO.msgId}">
$('.contWrap').find('input').prop('readonly', true);
$('.contWrap').find('textarea').prop('readonly', true);
$('select[name=agentCode] option').not(":selected").attr("disabled", "disabled");
</c:if>
<c:if test="${empty mjonKakaoATVO.msgId}">
$('.no_modi').remove();
//문자 바이트수 계산하기
var ibyte = 0;
$('textarea[name=smsTxt]').keyup(function(e){
ibyte = calByte.getByteLength($(this).val());
if(ibyte > 200){
//alert("내용은 200Byte를 넣을수 없습니다.");
//$('textarea[name=smsTxt]').val(calByte.cutByteLength($(this).val(), 200));
$('.byte').find('span').html(calByte.getByteLength($('textarea[name=smsTxt]').val()));
//return false ;
}else{
$('.byte').find('span').html( ibyte) ;
}
});//문자 바이트수 계산하기 끝
</c:if>
});
var calByte = {
getByteLength : function(s) {
if (s == null || s.length == 0) {
return 0;
}
var size = 0;
for ( var i = 0; i < s.length; i++) {
size += this.charByteSize(s.charAt(i));
}
return size;
},
cutByteLength : function(s, len) {
if (s == null || s.length == 0) {
return 0;
}
var size = 0;
var rIndex = s.length;
for ( var i = 0; i < s.length; i++) {
size += this.charByteSize(s.charAt(i));
if( size == len ) {
rIndex = i + 1;
break;
} else if( size > len ) {
rIndex = i;
break;
}
}
return s.substring(0, rIndex);
},
charByteSize : function(ch) {
if (ch == null || ch.length == 0) {
return 0;
}
var charCode = ch.charCodeAt(0);
if (charCode <= 0x00007F) {
return 1;
} else if (charCode <= 0x0007FF) {
return 2;
} else if (charCode <= 0x00FFFF) {
return 2;
} else {
return 2;
}
}
};
/* pagination 페이지 링크 function */
function goList(){
var frm = document.listForm;
frm.action = "/uss/ion/kakaoat/SendKakaoATDetailList.do";
frm.submit();
}
/* 신규회원 문자전송리스트 이동 */
function goSpamMemberList(){
var frm = document.listForm;
var detailType = frm.detailType.value;
if(detailType == "newUserSendMsgList") {
frm.action ='/uss/ion/msg/NewUserSendMsgList.do';
}
if(detailType == "sendKakaoATList") {
frm.action ='/uss/ion/kakaoat/SendKakaoATList.do';
}
frm.submit();
}
/* 등록시 값 확인 */
function fn_checkForm(flag) {
frm = document.writeForm;
/* if(frm.fmsNm.value=="") {
alert("제목을 입력해 주십시오");
frm.fmsNm.focus();
return false;
} */
if(frm.content.value=="") {
alert("내용을 입력해 주십시오");
frm.content.focus();
return false;
}
if(flag==1){
if($('.td_txt_exist').find('span').length==0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
return true;
}
/* 등록 */
//사용중인지? 기존에 form에 callFrom이 없었는데, 스팸처리를 위하여 callFrom 추가 22.06.20
function fn_insert(){
var frm = document.writeForm;
if(frm.callFrom.value == ''){
alert("발신번호는 필수입니다.");
return;
}
if(frm.callTo.value.trim() == ''){
alert("수신번호는 필수입니다.");
return;
}
if(frm.smsTxt.value.trim() == ''){
alert("내용은 필수입니다.");
return;
}
frm.action = "<c:url value='/uss/ion/msg/SendMsgInsert.do'/>";
//스팸 문구 확인
var spamKeywrodCheck = false;
var form = document.writeForm ;
form.checkSpamCn.value = form.smsTxt.value;
var data = new FormData(form);
$.ajax({
type: "POST",
url: "/uss/ion/cnf/spamKeywordCheckAjax.do",
async:false,
data: data,
dataType:'json',
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
if(returnData.result == 'fail'){
}else if(returnData.result == 'auth_fail'){
}else if(returnData.result =='success'){
if(null != returnData.spamKeywordVO.spamCn){
alert( returnData.spamKeywordVO.spamCn + " 단어는 스팸 문구로 등록되어 있는 단어입니다." );
spamKeywrodCheck = true;
}
}
}else{
//alert("등록에 실패하였습니다.");
}
},
error: function (e) {
//alert("등록에 실패하였습니다.");
}
});
if(spamKeywrodCheck){
return;
}
frm.submit();
}
/* 수정 */
function fn_modify(){
var frm = document.writeForm;
frm.action = "<c:url value='/uss/olp/hpc/updateHpcm.do'/>";
frm.submit();
}
function fn_delete(){
frm = document.writeForm;
frm.action = "<c:url value='/uss/ion/msg/SendMsgDelete.do' />";
frm.submit();
}
/* 기존에 스팸 회원인지 확인 */
function fn_spamUserChk(mberId,callFrom){
$.ajax({
type: "POST",
url: "/uss/umt/user/selectMberSttusAjax.do",
data: {"mberId" : mberId},
dataType:'json',
success: function (returnData, status) {
if(status == 'success'){
if(returnData.result != 'B'){
fn_updateSpamUser(mberId,callFrom);
}else{
alert("이미 이용정지 처리된 회원입니다.");
}
}else{
alert("스팸처리에 실패하였습니다.");
}
},
error: function (e) {
alert("스팸처리에 실패하였습니다.");
}
});
}
/* 회원 스팸회원 처리 */
function fn_updateSpamUser(mberId,callFrom){
var frm = document.writeForm;
frm.mberId.value = mberId;
frm.callFrom.value = callFrom;
var url = "/uss/umt/user/updateMberSttusBlockAjax.do";
var data = new FormData(frm);
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
if(returnData.result == 'success'){
alert(returnData.message);
goSpamMemberList();
}else if(returnData.result == 'fail'){
alert(returnData.message);
}
}else{
alert("차단처리에 실패하였습니다.");
}
},
error: function (e) {
alert("차단처리에 실패하였습니다.");
}
});
}
function fnSelectMber(mberId) {
document.modiForm.mberId.value = mberId;
window.open("about:blank", 'popupSelectMber', 'width=900, height=1800, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>";
document.modiForm.target = "popupSelectMber";
document.modiForm.submit();
}
function fnTemplateDetail(templateCode){
var form = document.templateForm;
form.templateCode.value = templateCode;
window.open("about:blank", 'popupTemplateDetail', 'width=1240, height=1080, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
form.action = "<c:url value='/uss/ion/kakaoat/KakaoATChannelIDTemplateDetailPopupAjax.do'/>";
form.target = "popupTemplateDetail";
form.submit();
}
</script>
</head>
<body>
<form name="listForm" id="listForm" method="post">
<input type="hidden" name="detailType" value="${searchVO.detailType}" />
<input type="hidden" name="msgGroupId" value="${searchVO.msgGroupId}" />
</form>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" name="del" value="${mjonKakaoATDetailVO.msgId}" />
<input type="hidden" name="delFlag" value="${'Y' eq mjonKakaoATDetailVO.delFlag ? 'N' : 'Y'}" />
<input type="hidden" name="checkSpamCn" value="" />
<input type="hidden" name="mberId" value="<c:out value='${mjonKakaoATDetailVO.userId}'/>" />
<input type="hidden" name="callFrom" value="" />
<input type="hidden" name="msgGroupId" value="${mjonKakaoATDetailVO.msgGroupId}" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
<h2 class="titType1 c_222222 fwBold">알림톡 예약 전송내역 상세</h2>
<p class="tType6 c_999999">예약 전송한 알림톡을 상세 조회 할 수 있습니다.</p>
</div>
<div class="pageCont">
<table class="tbType2">
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr class="no_modi">
<th>아이디</th>
<td colspan="3">
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${mjonKakaoATDetailVO.userId}"/>'); return false;">
<c:out value="${mjonKakaoATDetailVO.userId}"/>
</a>
</td>
</tr>
<tr>
<th><span class="reqArea">전송사구분</span></th>
<td colspan="3">
<%-- <ec:select codeId="ITN019" name="agentCode" id="agentCode" css="class='select'" selectedValue="${mjonKakaoATVO.agentCode}" /> --%>
<ec:code codeId="ITN019" code="${mjonKakaoATDetailVO.agentCode}" />
</td>
</tr>
<tr>
<th><span class="reqArea">채널ID</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.yellowId}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">템플릿명</span></th>
<td colspan="3">
<div class="btnWrap">
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnTemplateDetail('<c:out value="${mjonKakaoATDetailVO.msgNoticetalkTmpKey}"/>'); return false;" value="템플릿 상세보기">
</div>
</td>
</tr>
<%-- <tr>
<th><span class="reqArea">발신번호</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.callFrom}"/>
</td>
</tr> --%>
<tr>
<th><span class="reqArea">수신번호</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.callTo}" />
</td>
</tr>
<tr>
<th><span class="reqArea">메세지타입</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.msgTypeName}"/>
</td>
</tr>
<%--
<tr>
<th><span class="reqArea">제목</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATVO.subject}"/>
</td>
</tr>
--%>
<tr>
<th><span class="reqArea">내용</span></th>
<td colspan="3">
<%-- <textarea name="smsTxt" class="textarea" cols="75" rows="5" title="내용" style="width:84%;"><c:out value="${mjonKakaoATVO.smsTxt}" /></textarea> --%>
<c:out value="${fn:replace(fn:replace(mjonKakaoATDetailVO.smsTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
<br><br>
<!-- <span class="byte" style="vertical-align: bottom;">
(<span style="color: red;">0</span>byte)
</span> -->
</td>
</tr>
<tr>
<th><span class="reqArea">전송 요청 시간</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.reqDate}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">전송 완료 시간</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.rsltDate}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">현재상태</span></th>
<td colspan="3">
<c:choose>
<c:when test="${mjonKakaoATDetailVO.reserveCYn == 'Y'}">
예약 취소(<c:out value="${mjonKakaoATDetailVO.cancelDate}"/>)
</c:when>
<c:otherwise>
<c:out value="${mjonKakaoATDetailVO.curStateTxt}"/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th><span class="reqArea">알림톡 처리결과</span></th>
<td colspan="3">
(
<c:if test="${not empty mjonKakaoATDetailVO.rsltCode}">
<c:out value="${mjonKakaoATDetailVO.rsltCode}"/>
</c:if>
)
<c:choose>
<c:when test="${mjonKakaoATDetailVO.resultCodeTxt eq 'S'}">
발송 성공
</c:when>
<c:when test="${mjonKakaoATDetailVO.resultCodeTxt eq 'W'}">
발송 대기
</c:when>
<c:otherwise>
발송 실패
</c:otherwise>
</c:choose>
</td>
</tr>
<c:if test="${mjonKakaoATDetailVO.resultCodeTxt eq 'F'}">
<tr>
<th><span class="reqArea">발송실패 사유</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.agentCodeTxt}"/>
</td>
</tr>
</c:if>
<c:choose>
<c:when test="${mjonKakaoATDetailVO.resultCodeTxt eq 'F'}">
<tr>
<th><span class="reqArea">알림톡 환불결과(전송실패시)</span></th>
<td colspan="3">
<c:choose>
<c:when test="${mjonKakaoATDetailVO.refundYn == 'N'}">
미환불
</c:when>
<c:otherwise>
환불 완료
</c:otherwise>
</c:choose>
</td>
</tr>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
<tr>
<th><span class="reqArea">대체문자 사용여부</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.subMsgSendYn}"/>(<c:out value="${mjonKakaoATDetailVO.subMsgType}"/>)
</td>
</tr>
<!-- 대체문자 발송으로 선택한 경우에만 표시됨 -->
<c:if test="${mjonKakaoATDetailVO.subMsgSendYn eq '대체문자 발송'}">
<tr>
<th><span class="reqArea">대체문자 내용</span></th>
<td colspan="3">
<c:out value="${fn:replace(fn:replace(mjonKakaoATDetailVO.subMsgTxt, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>
</td>
</tr>
<tr>
<th><span class="reqArea">대체문자 성공여부</span></th>
<td colspan="3">
<c:choose>
<c:when test="${mjonKakaoATDetailVO.resultCodeTxt eq 'F'}">
<c:choose>
<c:when test="${mjonKakaoATDetailVO.bizLogCallStatusCode eq 'S'}">
대체문자 발송 성공
</c:when>
<c:when test="${mjonKakaoATDetailVO.bizLogCallStatusCode eq 'W'}">
대체문자 발송 대기
</c:when>
<c:otherwise>
대체문자 발송 실패
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
대체문자 미발송
</c:otherwise>
</c:choose>
<c:if test="${not empty mjonKakaoATDetailVO.bizLogCallStatus}">
(<c:out value="${mjonKakaoATDetailVO.bizLogCallStatus}"/>)
</c:if>
</td>
</tr>
<c:if test="${mjonKakaoATDetailVO.bizLogCallStatusCode eq 'F'}">
<tr>
<th><span class="reqArea">대체문자 발송실패 사유</span></th>
<td colspan="3">
<c:choose>
<c:when test="${not empty mjonKakaoATDetailVO.bizLogCallStatusTxt}">
<c:out value="${mjonKakaoATDetailVO.bizLogCallStatusTxt}"/>
</c:when>
<c:when test="${empty mjonKakaoATDetailVO.bizLogCallStatusTxt && empty mjonKakaoATDetailVO.bizUmid}">
대체문자가 발송되지 않음
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:if>
</c:if>
<tr>
<th><span class="reqArea">접속기기</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.conectMthdTxt}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">전송사</span></th>
<td colspan="3">
<ec:code codeId="ITN019" code="${mjonKakaoATDetailVO.agentCode}" />
</td>
</tr>
<tr>
<th><span class="reqArea">통신사</span></th>
<td colspan="3">
<c:out value="${mjonKakaoATDetailVO.rsltNet}"/>
</td>
</tr>
<tr>
<th><span class="reqArea">삭제여부</span></th>
<td colspan="3">
${mjonKakaoATDetailVO.delFlag}
</td>
</tr>
</tbody>
</table>
<div class="btnWrap">
<input type="button" class="btnType1 bg_888888" value="목 록" onclick="goList(); return false;">
</div>
</div>
</div>
</form>
<form name="modiForm" id="modiForm" method="post">
<input name="mberId" type="hidden" />
</form>
<form id="templateForm" name="templateForm" method="post">
<input type="hidden" name="SenderKey" value="<c:out value="${mjonKakaoATDetailVO.msgNoticetalkSenderKey }"/>">
<input type="hidden" id="templateCode" name="templateCode" value="">
<input type="hidden" id="userId" name="userId" value="<c:out value="${mjonKakaoATDetailVO.userId}"/>">
</form>
</body>
</html>