itn 2023-09-13
관리자방문수 관리 쿼리 성능개선, 기간검색 시작일 초기값 설정 추가
@6360aba168991c96bfcdbb4ea5c5c986bf4b6b8d
src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java
--- src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java
+++ src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java
@@ -172,6 +172,13 @@
 				loginLog.setSearchEndDate(toDay);			
 			}
 		}
+		
+		// 기간검색 설정
+    	String beforeMonthDay = MJUtil.getBefore1MonthDate();	//한달 전        
+    	if (null == loginLog.getSearchStartDate() || loginLog.getSearchStartDate().equals("")) {
+    		loginLog.setSearchStartDate(beforeMonthDay);
+    	}						
+		
 		List<LoginLog> adminLogList  = loginLogService.selectAdminGroupLog(loginLog);
 		int adminLogListCnt = loginLogService.selectAdminGroupLogTotCnt(loginLog);
 		paginationInfo.setTotalRecordCount(adminLogListCnt);
src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
@@ -287,7 +287,7 @@
 			</isNotEmpty>
 			<isNotEmpty prepend="AND" property="searchEndDate">
 				<![CDATA[ 
-					a.CREAT_DT <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
+					a.CREAT_DT < DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
 				]]>
 			</isNotEmpty>            
         ORDER BY 1=1
@@ -329,7 +329,7 @@
 			</isNotEmpty>
 			<isNotEmpty prepend="AND" property="searchEndDate">
 				<![CDATA[ 
-					a.CREAT_DT <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
+					a.CREAT_DT < DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
 				]]>
 			</isNotEmpty>                        
 	</select>
@@ -338,20 +338,19 @@
 	<select id="LoginLogDAO.selectAdminGroupLog" parameterClass="loginLog" resultClass="loginLog">
 		SELECT
 	       	a.ADMINLOG_ID 	logId ,
-	       	b.USER_NM 	loginNm,
+	       	c.USER_NM 	loginNm,
 	       	DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d' )   creatDt,
 	       	a.CONECT_IP 	loginIp,
 	       	a.PROGRM_FILE_NM AS progrmFileNm,
         	a.MENU_NM AS menuNm,
         	a.APPRO_NM AS approNm,
-        	b.USER_ID AS loginId,
+        	c.EMPLYR_ID AS loginId,
         	a.URL AS url,
         	count(0) AS visitCnt
 	    FROM
-	        LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b       
-	        ON a.CONECT_ID = b.ESNTL_ID   
+	        LETTNADMINLOG a
 	        INNER JOIN lettnemplyrinfo c
-	        ON b.USER_ID = c.EMPLYR_ID	            	            
+	        ON a.CONECT_ID = c.ESNTL_ID
 	    WHERE 1=1 
 	        AND a.CONECT_ID != ''
 			<isNotEmpty property="searchKeyword">
@@ -365,14 +364,14 @@
 				 	b.USER_NM LIKE CONCAT('%' , #searchKeyword#, '%')
                 </isEqual>
             </isNotEmpty>
-	        <isNotEmpty prepend="AND" property="searchStartDate">
+			<isNotEmpty prepend="AND" property="searchStartDate">
 				<![CDATA[ 
-					DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d') >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
+					a.CREAT_DT >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
 				]]>
 			</isNotEmpty>
 			<isNotEmpty prepend="AND" property="searchEndDate">
 				<![CDATA[ 
-					DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d') <= DATE_FORMAT(#searchEndDate#, '%Y-%m-%d')  
+					a.CREAT_DT < DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
 				]]>
 			</isNotEmpty>            
             GROUP BY DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d'), a.CONECT_ID
@@ -392,10 +391,9 @@
 		    SELECT
 	        	a.ADMINLOG_ID             
 		    FROM
-		        LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b       
-		        ON a.CONECT_ID = b.ESNTL_ID 
+		        LETTNADMINLOG a
 		        INNER JOIN lettnemplyrinfo c
-		        ON b.USER_ID = c.EMPLYR_ID	            	              
+		        ON a.CONECT_ID = c.ESNTL_ID
 		    WHERE 1=1 
 		        AND a.CONECT_ID != '' 
 				<isNotEmpty property="searchKeyword">
@@ -409,16 +407,16 @@
 					 	b.USER_NM LIKE CONCAT('%' , #searchKeyword#, '%')
 	                </isEqual>
 	            </isNotEmpty>
-		        <isNotEmpty prepend="AND" property="searchStartDate">
+				<isNotEmpty prepend="AND" property="searchStartDate">
 					<![CDATA[ 
-						DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d') >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
+						a.CREAT_DT >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d')
 					]]>
 				</isNotEmpty>
 				<isNotEmpty prepend="AND" property="searchEndDate">
 					<![CDATA[ 
-						DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d') <= DATE_FORMAT(#searchEndDate#, '%Y-%m-%d')  
+						a.CREAT_DT < DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY)  
 					]]>
-				</isNotEmpty>            	            
+				</isNotEmpty>            
 	        GROUP BY DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d'), a.CONECT_ID
 	    ) M
 	</select>
src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogGroupList.jsp
--- src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogGroupList.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogGroupList.jsp
@@ -210,7 +210,7 @@
 				<div class="rightWrap">
 					<input type="button" style="cursor: pointer;" onclick="setYesterday();" value="어제">
 					<input type="button" style="cursor: pointer;" onclick="setToday();" value="오늘">
-					<input type="button" style="cursor: pointer;" onclick="setStart();" value="전체">
+					<input type="button" style="cursor: pointer;" onclick="setStart();" value="초기화">
 				
 					<select name="pageUnit" id="pageUnit" class="select" title="검색조건선택" onchange="linkPage(1);">
 					   <option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
Add a comment
List