itn 2023-10-16
문자재전송 작업중
@91bf9d0175b8fdaa34ed61405c617e002acaaf10
src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
@@ -5993,6 +5993,8 @@
 		PaginationInfo paginationInfo = new PaginationInfo();
 		
     	if(loginVO != null) {
+	    	mjonMsgSentVO.setStateType("all");
+	    	mjonMsgSentVO.setListType("groupList");
 	    	mjonMsgSentVO.setUserId(userId);
 	    	
 	    	// 검색 리스트 불러오기
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
@@ -3190,7 +3190,7 @@
 }
 
 //문자 발송목록(msgSentType : 01:문자전송, 02:선거문자)
-function getMjMsgSentListAll(pageNo, msgSenTType) {
+function getMjMsgSentListAll(pageNo, msgSentType) {
 	document.sentListForm.pageIndex.value = pageNo;
 	
 	var sendData= $(document.sentListForm).serializeArray();
@@ -3211,11 +3211,6 @@
 	<form id="sentListForm" name="sentListForm" method="post">
 		<input type="hidden" id="pageType" name="pageType"  value=""/>
 		<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
-		<input type="hidden" id="msgGroupIdList" name="msgGroupIdList" value=""/>
-		<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=""/><!-- 주소록 그룹 이름 -->
 	</form>
 	
 	<!-- 2023 10 16 재전송 : 상세내용 팝업 -->
@@ -3227,33 +3222,10 @@
 				<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">
-				<div class="rev_pop_in">
-					<div class="rev_pop_middle clearfix">
-						<span>발송일시 : 2021-05-28 16:52:30</span>
-						<span class="msg_com msg_photo">MMS</span>
-						<!--  장문, 단문 일때 
-						<span class="msg_com msg_long">LMS</span>
-						<span class="msg_com msg_short">SMS</span>-->
-					</div>
-					<div class="rev_pop_txt">
-						<ul>
-							<li><img src="/publish/images/content/thumb1.jpg" alt="발송된 그림문자 미리보기"></li>
-							<li><img src="/publish/images/content/thumb2.jpg" alt="발송된 그림문자 미리보기"></li>
-							<li><img src="/publish/images/content/thumb3.jpg" alt="발송된 그림문자 미리보기"></li>
-						</ul>
-						<div>
-							<p class="deny_receipt">(광고) 무료거부 080-888-8282</p>
-							<p class="rev_cont">안녕하세요. 문자온미용실 입니다.<br>
-								여름 맞이 이벤트 입니다.<br>
-								7월부터 8월까지 모든 염색 10만원(시세이도 및 탈색은 별도)
-							</p>
-						</div>
-					</div>
-				</div>
-				<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 class="layer_in" id="msgSentDetailPopLoad" style="padding-bottom: 0px;">
+			</div>
+			<div class="popup_btn_wrap2" style="justify-content: center; margin-bottom: 30px;">
+				<button type="button" class="tooltip-close" data-focus="rev_popup01-close" data-focus-next="rev_popup01">닫기</button>
 			</div>
 		</div>
 	</div>
@@ -3266,10 +3238,8 @@
 				<p><span>전송내역</p>
 				<button type="button" class="tooltip-close" data-focus="popup05-close" id="btnLatestAddPhoneClose"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
 			</div>
-			<div class="layer_in" id="mjMsgSentListAllLoad" style="padding-bottom: 0px;">
-
+			<div class="layer_in" id="mjMsgSentListAllLoad" style="padding-bottom: 0px; min-height:428px;">
 			</div>
-			
 			<div class="popup_btn_wrap2" style="margin-bottom: 30px;">
 				<button type="button" class="tooltip-close" data-focus="popup05-close"  data-focus-next="popup05">닫기</button>                      
 			</div>			
@@ -3909,7 +3879,7 @@
 											<div class="btn_popup_wrap">
 												<button type="button" data-tooltip="popup05" class="btnType btnType7 tab2" onclick="getMjMsgSentListAll('1','01');">재전송</button>
 											</div>
-											 --%>
+											--%>
 											<div class="btn_popup_wrap check_validity_wrap">
 												<button type="button" class="btnType btnType7 check_validity">오류 검사 <i class="qmMark"></i></button>
 												<div class="error_hover_cont send_hover_cont">
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
@@ -44,70 +44,184 @@
 		$("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거
 		if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc");
 		else $("[name='searchSortOrd']").val("desc");
-		payUserListAjax('1');  //각 JSP마다 다를때 메소드 정의해 줘야됨
+		getMjMsgSentListAll('1');  //각 JSP마다 다를때 메소드 정의해 줘야됨
 	};
 });
 
+//문자 재전송
+function fnMjMsgReSendAll(msgGroupId, replaceCnt, electionCnt, advertisementCnt) {
+	if (replaceCnt > 0) {
+		alert("치환문자는 재전송 불가합니다.");
+	}
+	else {
+		var title = "";
+		if (electionCnt > 0) {
+			title = "선거문자발송";
+		}
+		else {
+			title = "문자발송";
+		}
+		
+	    //if (confirm(title + " 화면으로 이동합니다.\n문자내용, 받는사람 확인후 발송해주세요.")) {
+	    if (confirm("문자내용, 받는사람 확인후 발송해주세요.")) {
+			var form = document.reSendAllForm;
+			form.msgResendAllFlag.value = "Y";
+			form.msgResendAllGroupId.value = msgGroupId;
+			if (electionCnt > 0) {
+				form.action="/web/mjon/msgcampain/selectMsgDataView.do";
+			}
+			else {
+				if (advertisementCnt > 0) {
+					// 광고문자
+					form.msgResendAllAdvertiseYn.value = "Y";
+				}
+				form.action="/web/mjon/msgdata/selectMsgDataView.do";
+			}
+			form.submit();		
+	    }
+	}
+}
+
+//상세보기 버튼 실행
+function fnRevDetailPop(msgGroupId, msgId, fileCnt){
+	document.resPopForm.msgGroupId.value = msgGroupId;
+	document.resPopForm.msgId.value = msgId;
+	var sendData =  $(document.resPopForm).serializeArray();
+	
+	var form = document.searchForm;
+	$("#msgSentDetailPopLoad").load("/web/mjon/msgsent/selectMsgSentDetailDataAjax.do", sendData ,function(response, status, xhr){
+	});		
+}
+
 </script>
 
+	<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 name="reSendAllForm" method="post">
+		<input type="hidden" name="msgResendAllFlag" value="N"/>
+		<input type="hidden" name="msgResendAllGroupId" value=""/>
+		<input type="hidden" name="msgResendAllAdvertiseYn" value="N"/>		
+	</form>
+	
 				<!-- 전송내역 불러오기 -->					
-				<div class="tb_wrap" style="min-height:400px;">
+				<div class="tb_wrap" style="min-height:428px;">
 					<table class="tType4">
 						<colgroup>
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
+							<col style="width: 13%;">
+							<col style="width: 8%;">
+							<col style="width: 9%;">
+							<col style="width: 12%;">
+							<col style="width: *%;">
+							<col style="width: 12%;">
+							<col style="width: 9%;">
+							<col style="width: 12%;">
 						</colgroup>
 						<thead>
 						<tr>
-							<th>발송일시
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
-							<th>형태
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
-							<th>발송방식
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
+							<th>발송일시</th>
+							<th>형태</th>
+							<th>발송방식</th>
 							<th>내용</th>
-							<th>받는사람
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
-							<th>발신번호
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
-							<th>발송건수
-								<div class="sort_wrap"><button type="button"><img src="/publish/images/sortUp.png" alt="오름차순으로 분류"></button><button type="button"><img src="/publish/images/sortDown.png" alt="내림차순으로 분류"></button></div>
-							</th>
+							<th>받는사람</th>
+							<th>발신번호</th>
+							<th>발송건수</th>
 							<th>재전송 선택	</th>									
 						</tr>
 						</thead>
 						<tbody>
+						<c:choose>
+							<c:when test="${not empty mjMsgSentList}">
+							<c:forEach var="result" items="${mjMsgSentList}" varStatus="status">	
+								<c:set var="replaceCnt" value="0" />
+								<c:set var="electionCnt" value="0" />
+								<c:set var="advertisementCnt" value="0" />		
+		
+								<c:if test="${fn:indexOf(result.smsTxt,'[*이름*]') != -1 || fn:indexOf(result.smsTxt,'[*1*]') != -1 || fn:indexOf(result.smsTxt,'[*2*]') != -1 || fn:indexOf(result.smsTxt,'[*3*]') != -1 || fn:indexOf(result.smsTxt,'[*4*]') != -1}">
+									<c:set var="replaceCnt" value="1" />
+								</c:if>
+								<c:if test="${fn:indexOf(result.smsTxt,'(선거운동정보)') == 0}">
+									<c:set var="electionCnt" value="1" />
+								</c:if>					
+								<c:if test="${fn:indexOf(result.smsTxt,'(광고)') == 0}">
+									<c:set var="advertisementCnt" value="1" />
+								</c:if>	
+								<tr>
+									<td>
+										<fmt:formatDate pattern = "yyyy-MM-dd HH:mm" value = "${result.reqdate}" />
+									</td>
+									<td>
+										<c:choose>
+											<c:when test="${result.msgType eq '6' && result.fileCnt eq 0 }">
+												장문
+											</c:when>
+											<c:when test="${result.msgType eq '6' && result.fileCnt ne 0 }">
+												그림
+											</c:when>
+											<c:otherwise>
+												단문
+											</c:otherwise>
+										</c:choose>
+									</td>
+									<td>
+										<c:choose>
+											<c:when test="${result.sendKind eq 'H' }">
+												WEB
+											</c:when>
+											<c:when test="${result.sendKind eq 'A'}">
+												API
+											</c:when>
+											<c:otherwise>
+												-
+											</c:otherwise>
+										</c:choose>
+									</td>
+									<td>
+										<button class="btnType btnType20" data-tooltip="rev_popup01" onClick="javascript:fnRevDetailPop('${result.msgGroupId}','${result.msgId}','${result.fileCnt}'); return false;">상세보기</button>										
+									</td>
+									<td>
+										<c:choose>
+											<c:when test="${result.msgGroupCnt > 1}">
+												<p>
+													<c:choose>
+														<c:when test="${result.addrNm ne '-' and result.addrNm ne ''}">
+															<c:out value="${result.addrNm}"/>
+														</c:when>
+														<c:otherwise>
+															<c:out value="${result.callToComma}"/>
+														</c:otherwise>
+													</c:choose> 외 <fmt:formatNumber value="${result.msgGroupCnt - 1}" pattern="#,###"/>명
+												</p>	
+											</c:when>
+											<c:when test="${result.addrNm ne '-' and result.addrNm ne ''}">
+												<p><c:out value="${result.addrNm}"/></p>
+											</c:when>
+											<c:otherwise>
+												<p><c:out value="${result.callToComma}"/></p>
+											</c:otherwise>
+										</c:choose>
+									</td>
+									<td>
+										<c:out value="${result.callFromComma}"/>								
+									</td>
+									<td>
+										<c:out value="${result.msgGroupCnt}"/>
+									</td>
+									<td>
+										<button class="btnType btnType24" onClick="javascript:fnMjMsgReSendAll('${result.msgGroupId}','${replaceCnt}','${electionCnt}','${advertisementCnt}'); return false;">재전송</button>								
+									</td>
+								</tr>
+							</c:forEach>
+							</c:when>
+							<c:otherwise>
 							<tr>
-								<td>2023-06-10 17:50</td>
-								<td>그림</td>
-								<td>WEB</td>
-								<td><button class="btnType btnType20" data-tooltip="rev_popup01" type="button">상세보기</button></td>
-								<td>010-1547-5895 외 1명</td>
-								<td>010-5897-7895</td>
-								<td>8</td>
-								<td><button class="btnType btnType24" type="button">재전송</button></td>
+								<td colspan="8">발송 내역이 없습니다.</td>
 							</tr>
-							<tr>
-								<td>2023-06-10 17:50</td>
-								<td>그림</td>
-								<td>WEB</td>
-								<td><button class="btnType btnType20" data-tooltip="rev_popup01" type="button">상세보기</button></td>
-								<td>010-1547-5895 외 1명</td>
-								<td>010-5897-7895</td>
-								<td>8</td>
-								<td><button class="btnType btnType24" type="button">재전송</button></td>
-							</tr>									
+							</c:otherwise>
+						</c:choose>							
 						</tbody>
 					</table>
 				</div>						
@@ -120,3 +234,5 @@
 					</ul>
 				</c:if>
 				<!-- pagination -->
+
+				
(No newline at end of file)
Add a comment
List