이호영 이호영 2025-02-05
발송결과 상세화면 진행중
@a021a3670e549830f9f89859adc3a369dd6fd735
src/main/java/itn/let/mjo/msgsent/service/MjonMsgDetailSentVO.java
--- src/main/java/itn/let/mjo/msgsent/service/MjonMsgDetailSentVO.java
+++ src/main/java/itn/let/mjo/msgsent/service/MjonMsgDetailSentVO.java
@@ -20,6 +20,7 @@
 	private String msgGroupCnt;
 	private String reserveYn;
 	private String reserveCYn;
+	private String canceldate;
 	private String callFrom;
 	private String userId;
 	private String smsTxt;
src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml
@@ -355,6 +355,7 @@
 			, MGD.MSG_GROUP_CNT as msgGroupCnt 
 			, MGD.RESERVE_YN as reserveYn
 			, MGD.RESERVE_C_YN as reserveCYn
+			, DATE_FORMAT(MGD.CANCELDATE, '%Y-%m-%d %H:%i') as canceldate
 			, MGD.CALL_FROM  as callFrom 
 			, MGD.USER_ID as userId
 			, MGD.SMS_TXT as smsTxt
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentAllListAjax.jsp
@@ -344,6 +344,4 @@
 	
 	<form id="resCancelForm" name="resCancelForm" method="post">
 		<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
-<!-- 		<input type="hidden" id="agentCode" name="agentCode" value=""/> -->
-<!-- 		<input type="hidden" id="msgType" name="msgType" value=""/> -->
 	</form>
src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgsent/MsgSentDetailView.jsp
@@ -222,20 +222,136 @@
 		data: filteredData // 필터링된 데이터만 다운로드
 	});
 }
+	
+/**
+ * @ 예약 취소
+ */
+function fnReservCancel(msgGroupId){
+	
+	var form = document.resCancelForm;
+	var loginVO = '${LoginVO}';
+	
+	form.msgGroupId.value = msgGroupId;
+	
+	if(loginVO == "" || loginVO == null){
+		
+		alert("로그인 후 이용이 가능합니다.");
+		return false;
+		
+	}
+	console.log('msgGroupId : ', msgGroupId);
+	var data = new FormData(form);
+	url = "/web/mjon/reservmsg/deleteReservMsgCancelDataAjax.do";
+	
+	if(confirm("정말 예약을 취소하시겠습니까?")){
+		
+		$.ajax({
+			type: "POST",
+			url: url,
+			data: data,
+			dataType:'json',
+			async: true,
+			processData: false,
+			contentType: false,
+			cache: false,
+			success: function (returnData, status) {
+				if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
+					if("fail"==returnData.result){
+						alert(returnData.message);
+						return false;
+					}
+				
+					alert("예약 발송이 정상적으로 취소 되었습니다.");
+					
+					location.reload(true);
+					
+				} else if(status== 'fail'){
+					alert(returnData.message);
+				}
+			},
+	        error: function (e) { 
+	        	alert("예약 취소에 실패하였습니다."); console.log("ERROR : ", e); 
+	        },
+			beforeSend : function(xmlHttpRequest) {
+	        	//로딩창 show
+	        	$('.loading_layer').addClass('active');				
+			},	        	        
+	        complete : function(xhr, textStatus) {
+	        	//로딩창 hide
+	        	$('.loading_layer').removeClass('active');
+			}
+	    });
+		
+	}
+	
+}
+	
+/**
+ * @문자 재전송
+ */
+function fnMjMsgReSendAll(msgGroupId
+		, replaceCnt, electionCnt, advertisementCnt
+		) {
+	
+	
+	
+	var form = document.reSendAllForm;
+	form.msgResendAllFlag.value = "Y";
+	form.msgResendAllGroupId.value = msgGroupId;
+
+	if (replaceCnt > 0) {
+		if (confirm("특정문구 일괄변환 문자(치환문자)의 경우 문자내용은 재전송할 수 없고 받는 사람 목록만 불러올 수 있습니다.\n받는사람 목록을 불러올까요?")) {
+			// 광고문자
+			form.msgResendAllReplaceYn.value = "Y";
+			if (electionCnt > 0) {
+				form.action="/web/mjon/msgcampain/selectMsgDataView.do";
+			}
+			else {
+				if (advertisementCnt > 0) {
+					// 광고문자
+					form.msgResendAllAdvertiseYn.value = "Y";
+					form.action="/web/mjon/msgdata/excel/selectMsgExcelDataView.do";
+				}
+				else
+				{
+					form.action="/web/mjon/msgdata/selectMsgDataView.do";
+				}
+			}
+			form.submit();					
+		}
+	}
+	else {
+		var title = "";
+		if (electionCnt > 0) {
+			title = "선거문자발송";
+		}
+		else {
+			title = "문자발송";
+		}
+		
+	    if (confirm(title + " 화면으로 이동합니다.\n문자내용, 받는 사람 목록 확인후 발송해주세요.")) {
+			if (electionCnt > 0) {
+				form.action="/web/mjon/msgcampain/selectMsgDataView.do";
+			}
+			else {
+				if (advertisementCnt > 0) {
+					// 광고문자
+					form.msgResendAllAdvertiseYn.value = "Y";
+					form.action="/web/mjon/msgdata/excel/selectMsgExcelDataView.do";
+				}
+				else
+				{
+					form.action="/web/mjon/msgdata/selectMsgDataView.do";
+				}
+			}
+			form.submit();		
+	    }
+	}
+}
+
 
 </script>
 <div class="inner">
-	<form id="goList" name="goList" method="post" action="/web/mjon/msgsent/selectMsgSentView.do">
-		<input type="hidden" name="pageIndex" value="<c:out value="${searchVO.pageIndex}" />" />
-		<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" name="searchCondition01" value="<c:out value='${searchVO.searchCondition01 }' />" />
-		<input type="hidden" name="searchCondition02" value="<c:out value='${searchVO.searchCondition02 }' />" />
-		<input type="hidden" name="searchStartDate" value="<c:out value='${searchVO.searchStartDate }' />" />
-		<input type="hidden" name="searchEndDate" value="<c:out value='${searchVO.searchEndDate }' />" />
-		<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition }' />" />
-		<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword }' />" />
-	</form>
 	<input id="msgGroupId" name="msgGroupId" type="hidden" value="${result.msgGroupId}"/>
 		<!-- send top -->
 	<div class="send_top">
@@ -255,7 +371,7 @@
 								<div class="res_info_in">
 									<div class="res_info_top clearfix">
 										<p>발송정보</p>
-										<p><button type="button" class="btnType btnType3">재전송</button></p>
+										<p><button type="button" class="btnType btnType3"onClick="javascript:fnMjMsgReSendAll('${result.msgGroupId}'); return false;">재전송</button></p>
 									</div>
 									<div class="res_info_btm">
 										<dl>
@@ -270,10 +386,12 @@
 											<dd>${result.regDate }</dd>
 										</dl>
 										</c:if>
+										<c:if test="${not empty result.subject }">
 										<dl>
 											<dt>제목</dt>
 											<dd>${result.subject }</dd>
 										</dl>
+										</c:if>
 										<dl>
 											<dt>형태</dt>
 											<dd>
@@ -311,11 +429,12 @@
 											</c:if>
 											<!--//  예약인 경우 --> 
 											</dt>
-											<!--<dd>진행중</dd>-->
-											<!--<dd>완료</dd>-->
 											<dd>
 											
 											<c:choose>
+												<c:when test="${result.statusCd eq '04' }">
+													예약취소(<c:out value="${result.canceldate }" />)
+												</c:when>
 												<c:when test="${result.statusCd ne '03' }">
 													<ec:code codeId="ITN057" code="${result.statusCd }" />
 												</c:when>
@@ -526,5 +645,31 @@
 
 		</div>
 	</div>
-	<!-- //발송대상 리스트 안내 팝업 -->	
+	<!-- //발송대상 리스트 안내 팝업 -->
+	
+	<!-- 이전 리스트 상태(검색조건, 페이징) 그대로 가기 위한 form -->
+	<form id="goList" name="goList" method="post" action="/web/mjon/msgsent/selectMsgSentView.do">
+		<input type="hidden" name="pageIndex" value="<c:out value="${searchVO.pageIndex}" />" />
+		<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" name="searchCondition01" value="<c:out value='${searchVO.searchCondition01 }' />" />
+		<input type="hidden" name="searchCondition02" value="<c:out value='${searchVO.searchCondition02 }' />" />
+		<input type="hidden" name="searchStartDate" value="<c:out value='${searchVO.searchStartDate }' />" />
+		<input type="hidden" name="searchEndDate" value="<c:out value='${searchVO.searchEndDate }' />" />
+		<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition }' />" />
+		<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword }' />" />
+	</form>
+	
+	<!-- 예약 취소 -->
+	<form id="resCancelForm" name="resCancelForm" method="post">
+		<input type="hidden" id="msgGroupId" name="msgGroupId" value=""/>
+	</form>	
+
+	<!-- 재발송 form -->
+	<form name="reSendAllForm" method="post">
+		<input type="hidden" name="msgResendAllFlag" value="N"/>
+		<input type="hidden" name="msgResendAllGroupId" value=""/>
+		<input type="hidden" name="msgResendAllAdvertiseYn" value="N"/>
+		<input type="hidden" name="msgResendAllReplaceYn" value="N"/>		
+	</form>
 
Add a comment
List