접속통계 게시판 오류 수정
@7ccc08989b8096ba7a59f26a7a1cb5d9077b5294
--- src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java
+++ src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java
... | ... | @@ -106,7 +106,7 @@ |
| 106 | 106 |
loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
| 107 | 107 |
|
| 108 | 108 |
if("".equals(loginLog.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
| 109 |
- loginLog.setSearchSortCnd("b.creat_dt");
|
|
| 109 |
+ loginLog.setSearchSortCnd("a.creat_dt");
|
|
| 110 | 110 |
loginLog.setSearchSortOrd("desc");
|
| 111 | 111 |
} |
| 112 | 112 |
List<LoginLog> adminLogList = loginLogService.selectAmdinLog(loginLog); |
--- 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
... | ... | @@ -190,40 +190,21 @@ |
| 190 | 190 |
|
| 191 | 191 |
<!-- 관리자 로그 등록 --> |
| 192 | 192 |
<insert id="LoginLogDAO.logInsertAdminLoginLog" parameterClass="loginLog"> |
| 193 |
- /* 임시.*NOT_SQL_LOG.* */ |
|
| 194 |
- INSERT INTO LETTNLOGINLOG |
|
| 195 |
- ( LOG_ID |
|
| 196 |
- , CONECT_MTHD |
|
| 193 |
+ /* 임시.*NOT_SQL_LOG.* 관리자 로그 */ |
|
| 194 |
+ INSERT INTO LETTNADMINLOG |
|
| 195 |
+ ( ADMINLOG_ID |
|
| 197 | 196 |
, CONECT_ID |
| 198 | 197 |
, CONECT_IP |
| 199 |
- , ERROR_OCCRRNC_AT |
|
| 200 |
- , ERROR_CODE |
|
| 201 |
- <isNotEmpty property="userAt"> |
|
| 202 |
- ,USER_AT |
|
| 203 |
- </isNotEmpty> |
|
| 204 |
- <isNotEmpty property="deviceType"> |
|
| 205 |
- ,DEVICE_TYPE |
|
| 206 |
- </isNotEmpty> |
|
| 207 |
- ,PROGRM_FILE_NM |
|
| 208 |
- ,MENU_NM |
|
| 198 |
+ , PROGRM_FILE_NM |
|
| 199 |
+ , MENU_NM |
|
| 200 |
+ , URL |
|
| 209 | 201 |
, CREAT_DT ) |
| 210 | 202 |
VALUES ( #logId# |
| 211 |
- , #loginMthd# |
|
| 212 | 203 |
, #loginId# |
| 213 | 204 |
, #loginIp# |
| 214 |
- , #errOccrrAt# |
|
| 215 |
- , #errorCode# |
|
| 216 |
- <isNotEmpty property="userAt"> |
|
| 217 |
- ,#userAt# |
|
| 218 |
- </isNotEmpty> |
|
| 219 |
- <isNotEmpty property="deviceType"> |
|
| 220 |
- ,#deviceType# |
|
| 221 |
- </isNotEmpty> |
|
| 222 |
- , |
|
| 223 |
- ( SELECT A.PROGRM_FILE_NM FROM LETTNPROGRMLIST A WHERE A.URL = #url# LIMIT 1 ) |
|
| 224 |
- ,( |
|
| 225 |
- SELECT B.MENU_NM FROM LETTNPROGRMLIST A INNER JOIN LETTNMENUINFO B |
|
| 226 |
- WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM AND A.URL = #url# LIMIT 1 ) |
|
| 205 |
+ , ( SELECT A.PROGRM_FILE_NM FROM LETTNPROGRMLIST A WHERE A.URL = #url# LIMIT 1 ) |
|
| 206 |
+ , ( SELECT B.MENU_NM FROM LETTNPROGRMLIST A INNER JOIN LETTNMENUINFO B ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM WHERE A.URL = #url# LIMIT 1 ) |
|
| 207 |
+ , #url# |
|
| 227 | 208 |
, now()) |
| 228 | 209 |
</insert> |
| 229 | 210 |
|
... | ... | @@ -282,32 +263,29 @@ |
| 282 | 263 |
|
| 283 | 264 |
</select> |
| 284 | 265 |
|
| 285 |
- <!-- 관리자 대쉬보드 접속 리스트 --> |
|
| 266 |
+ <!-- 사용자 로그 리스트 (성능 개선: INNER JOIN 사용) --> |
|
| 286 | 267 |
<select id="LoginLogDAO.selectNWebLog" parameterClass="loginLog" resultClass="loginLog"> |
| 287 | 268 |
/* 임시.*NOT_SQL_LOG.* LoginLogDAO.selectNWebLog */ |
| 288 |
- |
|
| 289 |
- SELECT |
|
| 290 |
- COUNT(1) OVER() AS totCnt |
|
| 291 |
- , a.MENU_NM AS menuNm |
|
| 292 |
- , a.APPRO_NM AS approNm |
|
| 293 |
- , a.METHOD_NM AS methodNm |
|
| 294 |
- , b.URL AS url |
|
| 295 |
- , b.creat_dt AS creatDt |
|
| 296 |
- , b.CONECT_IP AS loginIp |
|
| 297 |
- , b.CONECT_ID AS conectId |
|
| 298 |
- , c.USER_ID AS loginId |
|
| 299 |
- , c.USER_NM AS userNm |
|
| 300 |
- FROM LETTNADMINMETHOD a |
|
| 301 |
- , lettnloginlog b |
|
| 269 |
+ |
|
| 270 |
+ SELECT |
|
| 271 |
+ COUNT(1) OVER() AS totCnt |
|
| 272 |
+ , a.MENU_NM AS menuNm |
|
| 273 |
+ , a.APPRO_NM AS approNm |
|
| 274 |
+ , a.METHOD_NM AS methodNm |
|
| 275 |
+ , b.URL AS url |
|
| 276 |
+ , b.creat_dt AS creatDt |
|
| 277 |
+ , b.CONECT_IP AS loginIp |
|
| 278 |
+ , b.CONECT_ID AS conectId |
|
| 279 |
+ , c.USER_ID AS loginId |
|
| 280 |
+ , c.USER_NM AS userNm |
|
| 281 |
+ FROM LETTNLOGINLOG b |
|
| 282 |
+ INNER JOIN LETTNADMINMETHOD a |
|
| 283 |
+ ON a.METHOD_NM = b.PROGRM_FILE_NM |
|
| 284 |
+ AND a.use_yn = 'Y' |
|
| 285 |
+ AND a.method_cd = 'U' |
|
| 302 | 286 |
LEFT OUTER JOIN COMVNUSERMASTER c |
| 303 |
- ON( |
|
| 304 |
- 1=1 |
|
| 305 |
- AND b.CONECT_ID =c.ESNTL_ID |
|
| 306 |
- ) |
|
| 287 |
+ ON b.CONECT_ID = c.ESNTL_ID |
|
| 307 | 288 |
WHERE 1=1 |
| 308 |
- AND a.use_yn='Y' |
|
| 309 |
- AND a.method_cd='U' |
|
| 310 |
- AND a.METHOD_NM =b.PROGRM_FILE_NM |
|
| 311 | 289 |
|
| 312 | 290 |
<isNotEmpty property="searchKeyword"> |
| 313 | 291 |
<isEqual prepend="AND" property="searchCondition" compareValue=""> |
... | ... | @@ -320,30 +298,31 @@ |
| 320 | 298 |
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
|
| 321 | 299 |
</isEqual> |
| 322 | 300 |
</isNotEmpty> |
| 323 |
- |
|
| 301 |
+ |
|
| 324 | 302 |
<isNotEmpty property="searchStartDt"> |
| 325 |
- AND DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' ) >= #searchStartDt# |
|
| 303 |
+ AND b.CREAT_DT >= STR_TO_DATE(#searchStartDt#, '%Y.%m.%d') |
|
| 326 | 304 |
</isNotEmpty> |
| 327 | 305 |
<isNotEmpty property="searchEndDt"> |
| 328 |
- AND #searchEndDt# >= DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' ) |
|
| 306 |
+ AND b.CREAT_DT <![CDATA[<]]> DATE_ADD(STR_TO_DATE(#searchEndDt#, '%Y.%m.%d'), INTERVAL 1 DAY) |
|
| 329 | 307 |
</isNotEmpty> |
| 330 | 308 |
|
| 331 |
- ORDER BY 1=1 |
|
| 309 |
+ ORDER BY b.CREAT_DT DESC |
|
| 332 | 310 |
<isNotEmpty property="searchSortCnd"> |
| 333 | 311 |
,$searchSortCnd$ |
| 334 | 312 |
</isNotEmpty> |
| 335 | 313 |
<isNotEmpty property="searchSortOrd"> |
| 336 | 314 |
$searchSortOrd$ |
| 337 | 315 |
</isNotEmpty> |
| 338 |
- |
|
| 316 |
+ |
|
| 339 | 317 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 340 |
- |
|
| 318 |
+ |
|
| 341 | 319 |
</select> |
| 342 | 320 |
|
| 343 | 321 |
<!-- 관리자 대쉬보드 접속 리스트 --> |
| 344 | 322 |
<select id="LoginLogDAO.selectAmdinLog" parameterClass="loginLog" resultClass="loginLog"> |
| 345 | 323 |
/* 임시.*NOT_SQL_LOG.* */ |
| 346 | 324 |
SELECT |
| 325 |
+ COUNT(1) OVER() AS totCnt, |
|
| 347 | 326 |
a.ADMINLOG_ID logId , |
| 348 | 327 |
b.USER_NM loginNm, |
| 349 | 328 |
DATE_FORMAT(a.CREAT_DT, '%Y-%m-%d %T' ) creatDt, |
... | ... | @@ -644,7 +623,7 @@ |
| 644 | 623 |
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) --> |
| 645 | 624 |
<update id="LoginLogDAO.logInsertWebLoginLogNewStep3_bak" parameterClass="loginLog"> |
| 646 | 625 |
/* LoginLogDAO.logInsertWebLoginLogNewStep3_bak */ |
| 647 |
- INSERT INTO lettnadminmethod ( |
|
| 626 |
+ INSERT INTO lettnadminmethod ( |
|
| 648 | 627 |
admot_id, |
| 649 | 628 |
method_nm, |
| 650 | 629 |
param, |
... | ... | @@ -652,18 +631,20 @@ |
| 652 | 631 |
menu_nm, |
| 653 | 632 |
appro_nm, |
| 654 | 633 |
privacy, |
| 655 |
- method_cd /* A or U */ |
|
| 634 |
+ method_cd, /* A or U */ |
|
| 635 |
+ use_yn |
|
| 656 | 636 |
) |
| 657 | 637 |
|
| 658 |
- SELECT |
|
| 638 |
+ SELECT |
|
| 659 | 639 |
CONCAT('ADMOTID_', IFNULL(MAX(CAST(REPLACE(admot_id, 'ADMOTID_', '') AS UNSIGNED)) + 1, 1))
|
| 660 | 640 |
, #methodNm# |
| 661 | 641 |
, 'N' |
| 662 | 642 |
, NOW() |
| 663 | 643 |
, #methodNm# |
| 664 | 644 |
, #url# |
| 665 |
- , 'N' |
|
| 645 |
+ , 'N' |
|
| 666 | 646 |
, 'U' |
| 647 |
+ , 'Y' |
|
| 667 | 648 |
FROM LETTNADMINMETHOD |
| 668 | 649 |
</update> |
| 669 | 650 |
|
--- src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectWebLogList.jsp
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/SelectWebLogList.jsp
... | ... | @@ -16,7 +16,9 @@ |
| 16 | 16 |
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> |
| 17 | 17 |
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> |
| 18 | 18 |
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> |
| 19 |
-<%@page import="seed.utils.SeedConstants"%> |
|
| 19 |
+<%-- <%@page import="seed.utils.SeedConstants"%> --%> |
|
| 20 |
+<%@ page import="seed.utils.constants.*" %> |
|
| 21 |
+ |
|
| 20 | 22 |
<!DOCTYPE html> |
| 21 | 23 |
<html> |
| 22 | 24 |
<head> |
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?