관리자로그관리 기간설정 추가
@fc7aac45a943dede6642b610c9941a6eb6113dfd
--- src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java
+++ src/main/java/itn/let/sym/log/clg/web/EgovLoginLogController.java
... | ... | @@ -36,6 +36,7 @@ |
| 36 | 36 |
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; |
| 37 | 37 |
import itn.com.cmm.EgovMessageSource; |
| 38 | 38 |
import itn.com.cmm.LoginVO; |
| 39 |
+import itn.com.cmm.util.MJUtil; |
|
| 39 | 40 |
import itn.com.cmm.util.RedirectUrlMaker; |
| 40 | 41 |
import itn.let.sym.log.clg.service.EgovLoginLogService; |
| 41 | 42 |
import itn.let.sym.log.clg.service.LoginLog; |
... | ... | @@ -112,6 +113,13 @@ |
| 112 | 113 |
loginLog.setSearchSortCnd("creatDt");
|
| 113 | 114 |
loginLog.setSearchSortOrd("desc");
|
| 114 | 115 |
} |
| 116 |
+ |
|
| 117 |
+ // 기간검색 설정 |
|
| 118 |
+ String beforeMonthDay = MJUtil.getBefore1MonthDate(); //한달 전 |
|
| 119 |
+ if (null == loginLog.getSearchStartDate() || loginLog.getSearchStartDate().equals("")) {
|
|
| 120 |
+ loginLog.setSearchStartDate(beforeMonthDay); |
|
| 121 |
+ } |
|
| 122 |
+ |
|
| 115 | 123 |
List<LoginLog> adminLogList = loginLogService.selectAmdinLog(loginLog); |
| 116 | 124 |
int adminLogListCnt = loginLogService.selectAmdinLogTotCnt(loginLog); |
| 117 | 125 |
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
... | ... | @@ -230,44 +230,42 @@ |
| 230 | 230 |
SELECT |
| 231 | 231 |
COUNT(1) OVER() AS totCnt , |
| 232 | 232 |
a.ADMINLOG_ID logId , |
| 233 |
- b.USER_NM loginNm, |
|
| 233 |
+ c.USER_NM loginNm, |
|
| 234 | 234 |
DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %T' ) creatDt, |
| 235 | 235 |
a.CONECT_IP loginIp, |
| 236 | 236 |
a.PROGRM_FILE_NM AS progrmFileNm, |
| 237 | 237 |
a.MENU_NM AS menuNm, |
| 238 | 238 |
a.APPRO_NM AS approNm, |
| 239 |
- b.USER_ID AS loginId, |
|
| 239 |
+ c.EMPLYR_ID AS loginId, |
|
| 240 | 240 |
a.URL AS url |
| 241 | 241 |
FROM |
| 242 |
- LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b |
|
| 243 |
- ON a.CONECT_ID = b.ESNTL_ID |
|
| 242 |
+ LETTNADMINLOG a |
|
| 244 | 243 |
INNER JOIN lettnemplyrinfo c |
| 245 |
- ON b.USER_ID = c.EMPLYR_ID |
|
| 244 |
+ ON a.CONECT_ID = c.ESNTL_ID |
|
| 246 | 245 |
WHERE 1=1 |
| 247 | 246 |
AND a.CONECT_ID != '' |
| 248 | 247 |
AND a.CREAT_DT > DATE_ADD(NOW(), INTERVAL -1 DAY) |
| 249 |
- ORDER BY a.CREAT_DT DESC |
|
| 250 |
- LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 248 |
+ ORDER BY a.CREAT_DT DESC |
|
| 249 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 251 | 250 |
</select> |
| 252 | 251 |
|
| 253 | 252 |
<!-- 관리자 로그 접속 리스트 --> |
| 254 | 253 |
<select id="LoginLogDAO.selectAmdinLog" parameterClass="loginLog" resultClass="loginLog"> |
| 255 | 254 |
SELECT |
| 256 |
- COUNT(1) OVER() AS totCnt , |
|
| 255 |
+ 0 totCnt , |
|
| 257 | 256 |
a.ADMINLOG_ID logId , |
| 258 |
- b.USER_NM loginNm, |
|
| 257 |
+ c.USER_NM loginNm, |
|
| 259 | 258 |
DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %H:%i' ) creatDt, |
| 260 | 259 |
a.CONECT_IP loginIp, |
| 261 | 260 |
a.PROGRM_FILE_NM AS progrmFileNm, |
| 262 | 261 |
a.MENU_NM AS menuNm, |
| 263 | 262 |
a.APPRO_NM AS approNm, |
| 264 |
- b.USER_ID AS loginId, |
|
| 263 |
+ c.EMPLYR_ID AS loginId, |
|
| 265 | 264 |
a.URL AS url |
| 266 | 265 |
FROM |
| 267 |
- LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b |
|
| 268 |
- ON a.CONECT_ID = b.ESNTL_ID |
|
| 266 |
+ LETTNADMINLOG a |
|
| 269 | 267 |
INNER JOIN lettnemplyrinfo c |
| 270 |
- ON b.USER_ID = c.EMPLYR_ID |
|
| 268 |
+ ON a.CONECT_ID = c.ESNTL_ID |
|
| 271 | 269 |
WHERE 1=1 |
| 272 | 270 |
AND a.CONECT_ID != '' |
| 273 | 271 |
<isNotEmpty property="searchKeyword"> |
... | ... | @@ -281,8 +279,18 @@ |
| 281 | 279 |
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
|
| 282 | 280 |
</isEqual> |
| 283 | 281 |
</isNotEmpty> |
| 284 |
- |
|
| 285 |
- ORDER BY 1=1 |
|
| 282 |
+ |
|
| 283 |
+ <isNotEmpty prepend="AND" property="searchStartDate"> |
|
| 284 |
+ <![CDATA[ |
|
| 285 |
+ a.CREAT_DT >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d') |
|
| 286 |
+ ]]> |
|
| 287 |
+ </isNotEmpty> |
|
| 288 |
+ <isNotEmpty prepend="AND" property="searchEndDate"> |
|
| 289 |
+ <![CDATA[ |
|
| 290 |
+ a.CREAT_DT <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY) |
|
| 291 |
+ ]]> |
|
| 292 |
+ </isNotEmpty> |
|
| 293 |
+ ORDER BY 1=1 |
|
| 286 | 294 |
<isNotEmpty property="searchSortCnd"> |
| 287 | 295 |
,$searchSortCnd$ |
| 288 | 296 |
</isNotEmpty> |
... | ... | @@ -297,10 +305,9 @@ |
| 297 | 305 |
SELECT |
| 298 | 306 |
COUNT(0) |
| 299 | 307 |
FROM |
| 300 |
- LETTNADMINLOG a INNER JOIN COMVNUSERMASTER b |
|
| 301 |
- ON a.CONECT_ID = b.ESNTL_ID |
|
| 308 |
+ LETTNADMINLOG a |
|
| 302 | 309 |
INNER JOIN lettnemplyrinfo c |
| 303 |
- ON b.USER_ID = c.EMPLYR_ID |
|
| 310 |
+ ON a.CONECT_ID = c.ESNTL_ID |
|
| 304 | 311 |
WHERE 1=1 |
| 305 | 312 |
AND a.CONECT_ID != '' |
| 306 | 313 |
<isNotEmpty property="searchKeyword"> |
... | ... | @@ -314,6 +321,17 @@ |
| 314 | 321 |
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
|
| 315 | 322 |
</isEqual> |
| 316 | 323 |
</isNotEmpty> |
| 324 |
+ |
|
| 325 |
+ <isNotEmpty prepend="AND" property="searchStartDate"> |
|
| 326 |
+ <![CDATA[ |
|
| 327 |
+ a.CREAT_DT >= DATE_FORMAT(#searchStartDate#, '%Y-%m-%d') |
|
| 328 |
+ ]]> |
|
| 329 |
+ </isNotEmpty> |
|
| 330 |
+ <isNotEmpty prepend="AND" property="searchEndDate"> |
|
| 331 |
+ <![CDATA[ |
|
| 332 |
+ a.CREAT_DT <= DATE_ADD(DATE_FORMAT(#searchEndDate#, '%Y-%m-%d'), INTERVAL 1 DAY) |
|
| 333 |
+ ]]> |
|
| 334 |
+ </isNotEmpty> |
|
| 317 | 335 |
</select> |
| 318 | 336 |
|
| 319 | 337 |
<!-- 관리자 대쉬보드 접속 리스트(일자별, 아이디별 중복제거) --> |
--- src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogList.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogList.jsp
... | ... | @@ -24,15 +24,7 @@ |
| 24 | 24 |
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>" ></script> |
| 25 | 25 |
<script type="text/javascript"> |
| 26 | 26 |
$( document ).ready(function(){
|
| 27 |
- var tempSearchBgnDe = "${searchVO.searchBgnDe}" ;
|
|
| 28 |
- var tempSearchEndDe = "${searchVO.searchEndDe}" ;
|
|
| 29 |
- if(""!=tempSearchBgnDe && tempSearchBgnDe.length==8){
|
|
| 30 |
- $('#searchBgnDe').val(tempSearchBgnDe.substring(0,4)+"-"+tempSearchBgnDe.substring(4,6)+"-"+tempSearchBgnDe.substring(6,8));
|
|
| 31 |
- } |
|
| 32 |
- |
|
| 33 |
- if(""!=tempSearchEndDe && tempSearchEndDe.length==8){
|
|
| 34 |
- $('#searchEndDe').val(tempSearchEndDe.substring(0,4)+"-"+tempSearchEndDe.substring(4,6)+"-"+tempSearchEndDe.substring(6,8));
|
|
| 35 |
- } |
|
| 27 |
+ |
|
| 36 | 28 |
}); |
| 37 | 29 |
|
| 38 | 30 |
/* ******************************************************** |
... | ... | @@ -53,7 +45,7 @@ |
| 53 | 45 |
|
| 54 | 46 |
function fn_select(pageNo){
|
| 55 | 47 |
<c:if test="${!empty loginId}">
|
| 56 |
- if(""!= document.frm.searchKeyword.value){
|
|
| 48 |
+ if(""!= document.listForm.searchKeyword.value){
|
|
| 57 | 49 |
updateRecentSearch();//최근검색어 등록 |
| 58 | 50 |
} |
| 59 | 51 |
</c:if> |
... | ... | @@ -72,7 +64,7 @@ |
| 72 | 64 |
} |
| 73 | 65 |
|
| 74 | 66 |
function linkPage(pageNo){
|
| 75 |
- var frm = document.frm; |
|
| 67 |
+ var frm = document.listForm; |
|
| 76 | 68 |
frm.pageIndex.value = pageNo; |
| 77 | 69 |
if($('#searchConditionSite').length != 0){
|
| 78 | 70 |
frm.searchConditionSite.value = $('#searchConditionSite').val();
|
... | ... | @@ -83,17 +75,37 @@ |
| 83 | 75 |
|
| 84 | 76 |
//엑셀 다운로드 |
| 85 | 77 |
function logListExcelDownload(){
|
| 86 |
- document.frm.method = "post"; |
|
| 87 |
- document.frm.action = "<c:url value='/sym/log/clg/roleListExcelDownload.do'/>"; |
|
| 88 |
- document.frm.submit(); |
|
| 78 |
+ document.listForm.method = "post"; |
|
| 79 |
+ document.listForm.action = "<c:url value='/sym/log/clg/roleListExcelDownload.do'/>"; |
|
| 80 |
+ document.listForm.submit(); |
|
| 89 | 81 |
} |
| 82 |
+ |
|
| 83 |
+//기간선택 select |
|
| 84 |
+function fnSetCalMonth(val) {
|
|
| 85 |
+ var form = document.listForm; |
|
| 86 |
+ var today = new Date(); |
|
| 87 |
+ |
|
| 88 |
+ var year = today.getFullYear(); |
|
| 89 |
+ var month = ("0"+(today.getMonth()+1)).slice(-2);
|
|
| 90 |
+ var date = ("0"+today.getDate()).slice(-2);
|
|
| 91 |
+ |
|
| 92 |
+ var sDate = new Date(today.setMonth(today.getMonth() - val)); |
|
| 93 |
+ |
|
| 94 |
+ var sYear = sDate.getFullYear(); |
|
| 95 |
+ var sMonth = ("0"+(sDate.getMonth()+1)).slice(-2);
|
|
| 96 |
+ var sDate = ("0"+sDate.getDate()).slice(-2);
|
|
| 97 |
+ |
|
| 98 |
+ form.searchStartDate.value = sYear + "-" + sMonth + "-" + sDate; |
|
| 99 |
+ form.searchEndDate.value = year + "-" + month + "-" + date; |
|
| 100 |
+ |
|
| 101 |
+} |
|
| 102 |
+ |
|
| 90 | 103 |
</script> |
| 91 | 104 |
<title>로그인 로그 목록</title> |
| 92 | 105 |
</head> |
| 93 | 106 |
<body> |
| 94 | 107 |
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript> |
| 95 |
-<form name="frm" id="frm" action ="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post"> |
|
| 96 |
- <input type="hidden" name="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" /> |
|
| 108 |
+<form name="listForm" action ="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post"> |
|
| 97 | 109 |
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
| 98 | 110 |
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
| 99 | 111 |
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
... | ... | @@ -105,6 +117,26 @@ |
| 105 | 117 |
</div> |
| 106 | 118 |
<div class="pageCont"> |
| 107 | 119 |
<div class="listSerch"> |
| 120 |
+ <div class="calendar_wrap"> |
|
| 121 |
+ <select name="setCalMonth" onchange="fnSetCalMonth(this.value)"> |
|
| 122 |
+ <option value="0">전체</option> |
|
| 123 |
+ <option value="1">1개월</option> |
|
| 124 |
+ <option value="3">3개월</option> |
|
| 125 |
+ <option value="6">6개월</option> |
|
| 126 |
+ </select> |
|
| 127 |
+ <input type="hidden" name="cal_url" id="cal_url" value="/sym/cmm/EgovNormalCalPopup.do"> |
|
| 128 |
+ <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchStartDate);"> |
|
| 129 |
+ <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}'/>">
|
|
| 130 |
+ <input type="button" class="calBtn"> |
|
| 131 |
+ </div> |
|
| 132 |
+ <span class="line">~</span> |
|
| 133 |
+ <div class="calendar_box" onclick="javascript:fn_egov_NormalCalendar(document.forms.listForm, document.forms.listForm.searchEndDate);"> |
|
| 134 |
+ <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}'/>">
|
|
| 135 |
+ <input type="button" class="calBtn"> |
|
| 136 |
+ </div> |
|
| 137 |
+ </div> |
|
| 138 |
+ |
|
| 139 |
+ |
|
| 108 | 140 |
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택"> |
| 109 | 141 |
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
|
| 110 | 142 |
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>메뉴명</option>
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?