itn 2023-09-06
관리자 주소록관리 기간검색기능 추가
@99e96e3dfed6110b8d746c1c8e08796752f4d0c8
src/main/java/itn/let/mjo/addr/service/AddrVO.java
--- src/main/java/itn/let/mjo/addr/service/AddrVO.java
+++ src/main/java/itn/let/mjo/addr/service/AddrVO.java
@@ -47,6 +47,8 @@
 	
 	private String searchAddrGrpId;
 	private String startKeyword;
+	private String searchStartDate;
+	private String searchEndDate;
 	
 	private String[] excelDownTitles;
 	
@@ -62,7 +64,19 @@
 	String[] memoList;	
 	
 	private int dupliCnt;
-	
+
+	public String getSearchStartDate() {
+		return searchStartDate;
+	}
+	public void setSearchStartDate(String searchStartDate) {
+		this.searchStartDate = searchStartDate;
+	}
+	public String getSearchEndDate() {
+		return searchEndDate;
+	}
+	public void setSearchEndDate(String searchEndDate) {
+		this.searchEndDate = searchEndDate;
+	}	
 	public int getDupliCnt() {
 		return dupliCnt;
 	}
src/main/java/itn/let/mjo/addr/web/AddrController.java
--- src/main/java/itn/let/mjo/addr/web/AddrController.java
+++ src/main/java/itn/let/mjo/addr/web/AddrController.java
@@ -1,9 +1,6 @@
 package itn.let.mjo.addr.web;
 
 import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.text.SimpleDateFormat;
@@ -49,6 +46,7 @@
 import itn.com.cmm.EgovMessageSource;
 import itn.com.cmm.JsonResult;
 import itn.com.cmm.LoginVO;
+import itn.com.cmm.util.MJUtil;
 import itn.com.cmm.util.RedirectUrlMaker;
 import itn.com.cmm.util.StringUtil;
 import itn.com.utl.fcc.service.EgovStringUtil;
@@ -120,6 +118,12 @@
 			addrVO.setSearchSortOrd("desc");
 		}
 		
+		// 기간검색 설정
+    	String toDay = MJUtil.getTodayDate();	//오늘    
+    	String beforeMonthDay = MJUtil.getBefore1MonthDate();	//한달 전        
+    	if (null == addrVO.getSearchStartDate() || addrVO.getSearchStartDate().equals("")) {
+    		addrVO.setSearchStartDate(beforeMonthDay);
+    	}				
 		
 		List<AddrVO> addrList = addrService.selectAddrNewList(addrVO);
 		
src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/addr/Addr_SQL_Mysql.xml
@@ -159,18 +159,25 @@
 				ON
 					B.ADDR_GRP_ID = C.ADDR_GRP_ID
 				WHERE 1=1
+				AND	(C.RECV_STATUS = 'Y' OR C.RECV_STATUS IS NULL)
 				<isNotEmpty property="mberId">
 					AND A.MBER_ID = #mberId#
 				</isNotEmpty>		
-				
-				AND	(C.RECV_STATUS = 'Y' OR C.RECV_STATUS IS NULL)
-				
+				<isNotEmpty property="searchStartDate">
+					<![CDATA[ 
+						AND A.FRST_REGIST_PNTTM >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
+					]]>
+				</isNotEmpty>
+				<isNotEmpty property="searchEndDate">
+					<![CDATA[ 
+						AND A.FRST_REGIST_PNTTM <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d')  , INTERVAL 1 DAY) 
+					]]>
+				</isNotEmpty>				
 				<isNotEmpty property="addrIdList">
 					<iterate prepend="AND A.ADDR_ID IN " open="(" close=")" conjunction="," property="addrIdList">
 						#addrIdList[]#
 					</iterate>
 				</isNotEmpty>		
-				
 				<isNotEmpty property="addrGrpId">
 					AND A.ADDR_GRP_ID = #addrGrpId#
 				</isNotEmpty>
@@ -305,18 +312,25 @@
 			ON
 				B.ADDR_GRP_ID = C.ADDR_GRP_ID
 			WHERE 1=1
+			AND	(C.RECV_STATUS = 'Y' OR C.RECV_STATUS IS NULL)
 			<isNotEmpty property="mberId">
 				AND A.MBER_ID = #mberId#
 			</isNotEmpty>		
-			
-			AND	(C.RECV_STATUS = 'Y' OR C.RECV_STATUS IS NULL)
-			
+			<isNotEmpty prepend="AND" property="searchStartDate">
+				<![CDATA[ 
+					A.FRST_REGIST_PNTTM >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
+				]]>
+			</isNotEmpty>
+			<isNotEmpty prepend="AND" property="searchEndDate">
+				<![CDATA[ 
+					DATE_FORMAT(A.FRST_REGIST_PNTTM, '%Y-%m-%d') <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d')  , INTERVAL 1 DAY) 
+				]]>
+			</isNotEmpty>							
 			<isNotEmpty property="addrIdList">
 				<iterate prepend="AND A.ADDR_ID IN " open="(" close=")" conjunction="," property="addrIdList">
 					#addrIdList[]#
 				</iterate>
 			</isNotEmpty>		
-			
 			<isNotEmpty property="addrGrpId">
 				AND A.ADDR_GRP_ID = #addrGrpId#
 			</isNotEmpty>
src/main/webapp/WEB-INF/jsp/uss/ion/addr/AddrList.jsp
--- src/main/webapp/WEB-INF/jsp/uss/ion/addr/AddrList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/addr/AddrList.jsp
@@ -81,6 +81,8 @@
 	searchForm.pageUnit.value = $('#pageUnit').val();
 	searchForm.searchCondition.value = $('#searchCondition').val();
 	searchForm.searchKeyword.value = $('#searchKeyword').val();
+	searchForm.searchStartDate.value = $('#searchStartDate').val();
+	searchForm.searchEndDate.value = $('#searchEndDate').val();
 	searchForm.action = "<c:url value='/uss/ion/addr/selectAddrList.do'/>";
 	searchForm.submit();
 }
@@ -112,9 +114,26 @@
     document.memForm.submit();
 }
 
+//기간선택 select
+function fnSetCalMonth(val) {
+	var form = document.listForm;
+	var today = new Date();
+
+	var year = today.getFullYear();
+	var month = ("0"+(today.getMonth()+1)).slice(-2);
+	var date = ("0"+today.getDate()).slice(-2);
+
+	var sDate = new Date(today.setMonth(today.getMonth() - val));
+
+	var sYear = sDate.getFullYear();
+	var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2);
+	var sDate = ("0"+sDate.getDate()).slice(-2);
+	
+	form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate;
+	form.searchEndDate.value = year + "-" + month + "-" + date;
+	
+}
 </script>
-
-
 </head>
 <body>
 <form name="listForm" action="<c:url value='/uss/ion/addr/selectAddrList.do'/>" method="post">
@@ -130,13 +149,32 @@
 		</div>
 	<div class="pageCont">
 		<div class="listSerch">
+			<div class="calendar_wrap">
+				<select name="setCalMonth" onchange="fnSetCalMonth(this.value)">
+					<option value="0">전체</option>
+					<option value="1">1개월</option>
+					<option value="3">3개월</option>
+					<option value="6">6개월</option>
+				</select>
+				<input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do">
+				<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);">
+					<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchStartDate" id="searchStartDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchStartDate}'/>">
+					<input type="button" class="calBtn">
+				</div>
+				<span class="line">~</span>
+				<div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);">
+					<input style="width:auto;min-width: 83px;" type="text" class="date_format" name="searchEndDate" id="searchEndDate" size="4" maxlength="4" readonly="" value="<c:out value='${searchVO.searchEndDate}'/>">
+					<input type="button" class="calBtn">
+				</div>
+			</div>		
+		
 			<select name="searchCondition" id="searchCondition" title="검색조건2-검색어구분">
 				<option value="" <c:if test="${empty searchVO.searchCondition }">selected="selected"</c:if> >전체</option>
 				<option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> >휴대폰번호</option>
 				<option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> >주소록 이름</option>
 				<option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if> >회원아이디</option>
 			</select>
-			<input type="text" name="searchKeyword" id="searchKeyword" class="recentSearch" title="검색어" type="text" value="<c:out value="${searchVO.searchKeyword}"/>" maxlength="300" size="40"/>
+			<input type="text" name="searchKeyword" id="searchKeyword" class="recentSearch" title="검색어" type="text" value="<c:out value="${searchVO.searchKeyword}"/>" maxlength="300" size="20"/>
 			<input type="button" class="btnType1" onclick="fn_search(); return false;" value="검색">
 		</div>
 		<div class="listTop">
@@ -256,12 +294,14 @@
 	<input name="mberId" type="hidden" />
 </form>
 <form name="searchForm" id="searchForm" method="post">
-	<input name="searchCondition" type="hidden" />
-	<input name="searchKeyword" type="hidden" />
-	<input name="pageIndex" type="hidden" />
-	<input name="pageUnit" type="hidden" />
-	<input name="searchSortCnd" id="searchSortCnd" type="hidden"  value="<c:out value="${searchVO.searchSortCnd}" />" />
-	<input name="searchSortOrd" id="searchSortOrd" type="hidden" value="<c:out value="${searchVO.searchSortOrd}" />" />
+	<input type="hidden" name="searchCondition" />
+	<input type="hidden" name="searchKeyword" />
+	<input type="hidden" name="pageIndex" />
+	<input type="hidden" name="pageUnit" />
+	<input type="hidden" name="searchSortCnd" id="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
+	<input type="hidden" name="searchSortOrd" id="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
+	<input type="hidden" name="searchStartDate" />
+	<input type="hidden" name="searchEndDate" />
 </form>
 
 
Add a comment
List