itn 2023-10-16
문자 재전송 기능 작업중
@05cbc9fa0e3b4c7eda307c948a5182060e3d9415
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
@@ -85,6 +85,8 @@
 import itn.let.mjo.msgdata.service.MjonMsgDataVO;
 import itn.let.mjo.msgdata.service.MjonMsgReturnVO;
 import itn.let.mjo.msgdata.service.PhoneVO;
+import itn.let.mjo.msgsent.service.MjonMsgSentService;
+import itn.let.mjo.msgsent.service.MjonMsgSentVO;
 import itn.let.mjo.pay.service.MjonPayService;
 import itn.let.mjo.pay.service.MjonPayVO;
 import itn.let.mjo.spammsg.service.MjonSpamMsgService;
@@ -175,6 +177,9 @@
 	/** 등급제 관리 서비스 */
 	@Resource(name = "mberGrdService")
 	MberGrdService mberGrdService;
+	
+	@Resource(name = "MjonMsgSentService")
+    private MjonMsgSentService mjonMsgSentService;
 	
     private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
 	
@@ -5964,4 +5969,62 @@
 		return modelAndView;
 	}
 	
+	/**
+	 * 문자발송 리스트 화면 불러오기
+	 *
+	 * @param MjonMsgDataVO
+	 * @param 
+	 * @param sessionVO
+	 * @param model
+	 * @return
+	 * @throws Exception
+	 */
+	@RequestMapping(value= {"/web/mjon/msgdata/selectMjMsgSentListAjax.do"})
+	public String selectMjMsgSentListAjax(
+			@ModelAttribute("searchVO") MjonMsgSentVO mjonMsgSentVO, 
+			ModelMap model) throws Exception {
+
+		//로그인 권한정보 불러오기
+    	LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
+    	String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
+
+		List<MjonMsgSentVO> mjMsgSentList = null;
+		/** pageing */
+		PaginationInfo paginationInfo = new PaginationInfo();
+		
+    	if(loginVO != null) {
+	    	mjonMsgSentVO.setUserId(userId);
+	    	
+	    	// 검색 리스트 불러오기
+			if(mjonMsgSentVO.getPageUnit() != 10) {
+	    		mjonMsgSentVO.setPageUnit(mjonMsgSentVO.getPageUnit());
+	    	}
+			
+	    	//기본 내림차순 정렬
+	    	if(mjonMsgSentVO.getSearchSortOrd().equals("")) {
+	    		mjonMsgSentVO.setSearchSortOrd("desc");
+	    		mjonMsgSentVO.setSearchSortCnd("regdate");
+	    	}
+	    	
+			paginationInfo.setCurrentPageNo(mjonMsgSentVO.getPageIndex());
+			paginationInfo.setRecordCountPerPage(mjonMsgSentVO.getPageUnit());
+			paginationInfo.setPageSize(mjonMsgSentVO.getPageSize());
+	
+			mjonMsgSentVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+			mjonMsgSentVO.setLastIndex(paginationInfo.getLastRecordIndex());
+			mjonMsgSentVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+			
+	    	//전체 발송 리스트 불러오기
+	    	mjMsgSentList = mjonMsgSentService.selectAllMsgSentList(mjonMsgSentVO);
+	    	
+	    	paginationInfo.setTotalRecordCount( mjMsgSentList.size()> 0 ? (Integer.parseInt((mjMsgSentList.get(0)).getTotMsgCnt())) : 0);
+    	}
+
+		model.addAttribute("mjMsgSentList", mjMsgSentList);
+    	model.addAttribute("paginationInfo", paginationInfo);
+    	model.addAttribute("totalRecordCount", paginationInfo.getTotalRecordCount());	    	
+		
+		return "web/msgdata/MsgSentListAjax";
+	}	
+	
 }
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
@@ -3189,6 +3189,16 @@
   return true;
 }
 
+//문자 발송목록(msgSentType : 01:문자전송, 02:선거문자)
+function getMjMsgSentListAll(pageNo, msgSenTType) {
+	document.sentListForm.pageIndex.value = pageNo;
+	
+	var sendData= $(document.sentListForm).serializeArray();
+	$("#mjMsgSentListAllLoad").load("/web/mjon/msgdata/selectMjMsgSentListAjax.do", sendData ,function(response, status, xhr){
+
+	});
+}
+
 </script>
 	
 	<div class="loading_layer">
@@ -3197,6 +3207,16 @@
 			<div class="text">Loading</div>
 		</div>
 	</div>
+	
+	<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 재전송 : 상세내용 팝업 -->
 	<div class="tooltip-wrap" style="z-index:110;">
@@ -3246,90 +3266,13 @@
 				<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">
-				<!-- 전송내역 불러오기 -->					
-				<div class="tb_wrap" style="min-height:400px;">
-					<table class="tType4">
-						<colgroup>
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-							<col style="">
-						</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>받는사람
-								<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>									
-						</tr>
-						</thead>
-						<tbody>
-							<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>
-							<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>									
-						</tbody>
-					</table>
-				</div>						
-				<!--// 전송내역 불러오기 -->					
-				<!-- pagination -->
-				<ul class="pagination">
-					<li class="page_first"><button><img src="/publish/images/content/page_first.png" alt="첫페이지"></button></li>
-					<li class="page_prev"><button><img src="/publish/images/content/page_prev.png" alt=""></button></li>
-					<li class="on"><button>1</button></li>
-					<li><button>2</button></li>
-					<li><button>3</button></li>
-					<li><button>4</button></li>
-					<li><button>5</button></li>
-					<li><button>6</button></li>
-					<li><button>7</button></li>
-					<li><button>8</button></li>
-					<li><button>9</button></li>
-					<li><button>10</button></li>
-					<li class="page_next"><button><img src="/publish/images/content/page_next.png" alt=""></button></li>
-					<li class="page_last"><button><img src="/publish/images/content/page_last.png" alt="마지막페이지"></button></li>
-				</ul><!-- pagination -->					
-				<div class="popup_btn_wrap2">
-					<button type="button" class="tooltip-close" data-focus="popup05-close"  data-focus-next="popup05">닫기</button>                      
-				</div>
+			<div class="layer_in" id="mjMsgSentListAllLoad" style="padding-bottom: 0px;">
+
 			</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>			
 		</div>
 	</div>
 	<!--// 2023 10 16  재전송 팝업 -->
@@ -3963,7 +3906,7 @@
 												<button type="button" data-tooltip="popup03" class="btnType btnType7 tab2">자주 보내는 번호</button>
 											</div>
 											<div class="btn_popup_wrap">
-												<button type="button" data-tooltip="popup05" class="btnType btnType7 tab2">재전송</button>
+												<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>
 
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp (added)
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgSentListAjax.jsp
@@ -0,0 +1,122 @@
+<%--
+  Class Name : SendNumberList.jsp
+  Description : 발신번호 리스트 조회 페이지
+  Modification Information
+
+      수정일         수정자                   수정내용
+    -------    --------    ---------------------------
+    2021.03.31    신명섭          최초 생성
+
+    Copyright (C) 2009 by ITN  All right reserved.
+--%>
+<%@ 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="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
+
+<script src="/publish/js/content.js"></script>
+<script>
+$(document).ready(function(){
+	/* 목록 정렬 항목 아이콘 표시 */ 
+	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);
+	};
+	
+	// 정렬 항목 이벤트
+	$(".sort").click(function(e) {
+		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");
+		payUserListAjax('1');  //각 JSP마다 다를때 메소드 정의해 줘야됨
+	};
+});
+
+</script>
+
+				<!-- 전송내역 불러오기 -->					
+				<div class="tb_wrap" style="min-height:400px;">
+					<table class="tType4">
+						<colgroup>
+							<col style="">
+							<col style="">
+							<col style="">
+							<col style="">
+							<col style="">
+							<col style="">
+							<col style="">
+							<col style="">
+						</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>받는사람
+								<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>									
+						</tr>
+						</thead>
+						<tbody>
+							<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>
+							<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>									
+						</tbody>
+					</table>
+				</div>						
+				<!--// 전송내역 불러오기 -->			
+
+				<!-- pagination -->
+				<c:if test="${!empty mjMsgSentList}">
+					<ul class="pagination">
+						<ui:pagination paginationInfo = "${paginationInfo}"  type="imageWeb" jsFunction="getMjMsgSentListAll" />
+					</ul>
+				</c:if>
+				<!-- pagination -->
Add a comment
List