From 59a09ea2f29ba7d318e794e62962081d660360d9 Mon Sep 17 00:00:00 2001 From: myname Date: Thu, 21 Sep 2023 12:14:14 +0900 Subject: [PATCH] =?UTF-8?q?2023-09-21=2012:14=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=90=20=EB=A1=9C=EA=B7=B8=EC=9D=B8=20=EB=A1=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../log/clg/service/EgovLoginLogService.java | 2 + .../service/impl/EgovLoginLogServiceImpl.java | 54 ++++++++ .../sym/log/clg/service/impl/LoginLogDAO.java | 13 ++ .../log/clg/web/EgovLoginLogController.java | 2 +- src/main/java/kcc/web/MainController.java | 4 +- .../sym/log/clg/EgovLoginLog_SQL_Mysql.xml | 129 +++++++++++++++++- .../jsp/sym/log/clg/NSelectLoginLogList.jsp | 6 +- .../jsp/sym/log/clg/NSelectWebLogList.jsp | 12 +- 8 files changed, 207 insertions(+), 15 deletions(-) diff --git a/src/main/java/kcc/let/sym/log/clg/service/EgovLoginLogService.java b/src/main/java/kcc/let/sym/log/clg/service/EgovLoginLogService.java index 2c93bf7c..913becfc 100644 --- a/src/main/java/kcc/let/sym/log/clg/service/EgovLoginLogService.java +++ b/src/main/java/kcc/let/sym/log/clg/service/EgovLoginLogService.java @@ -29,6 +29,8 @@ public interface EgovLoginLogService { * @param LoginLog */ public void logInsertLoginLog(LoginLog loinLog) throws Exception; + + public int logInsertLoginLogNewStep1(LoginLog loinLog) throws Exception; /** * 접속로그를 조회한다. diff --git a/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java b/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java index 65a59df1..3f83ddbb 100644 --- a/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java +++ b/src/main/java/kcc/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import kcc.com.cmm.util.StringUtil2; import kcc.let.sym.log.clg.service.EgovLoginLogService; import kcc.let.sym.log.clg.service.LoginLog; @@ -66,6 +67,59 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements loginLogDAO.logInsertWebLoginLog(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) } + public int logInsertLoginLogNewStep1(LoginLog loinLog) throws Exception { + // TODO Auto-generated method stub + String logId = egovLoginLogIdGnrService.getNextStringId(); + loinLog.setLogId(logId); + + //method name 설정 + //LETTNLOGINLOG_BAK 테이블을 위해서 추가됨 + //String[] s_arr = loinLog.getUrl().split("/"); + + //loinLog.setMethodNm(s_arr[s_arr.length-3]+"/"+s_arr[s_arr.length-2]+"/"+s_arr[s_arr.length-1]); + + loinLog.setMethodNm(StringUtil2.extractLogMethodNm(loinLog.getUrl())); + + + System.out.println("loinLog.getMethodNm()"); + System.out.println(loinLog.getMethodNm()); + + + //loginLogDAO.logInsertLoginLog(loinLog); + int i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) + + + System.out.println("=====i====="); + System.out.println(i); + System.out.println(i); + + try { + if (loinLog.getUrl().length()>400) { + loinLog.setUrl(loinLog.getUrl().substring(0,399)); + } + + if (i<=0) { + //LETTNADMINMETHOD 테이블에 추가하기 + loginLogDAO.logInsertWebLoginLogNewStep3(loinLog); + + //다시 남기기 + i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) + + //lettnloginlog 에 남기기 + i=loginLogDAO.logInsertWebLoginLogNewStep2(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김) + } + + }catch(Exception ex) { + ex.printStackTrace(); + } + + System.out.println("=====i====="); + System.out.println(i); + System.out.println(i); + + return i; + } + /** * 접속로그를 조회한다. * diff --git a/src/main/java/kcc/let/sym/log/clg/service/impl/LoginLogDAO.java b/src/main/java/kcc/let/sym/log/clg/service/impl/LoginLogDAO.java index f3dc7e5c..25376638 100644 --- a/src/main/java/kcc/let/sym/log/clg/service/impl/LoginLogDAO.java +++ b/src/main/java/kcc/let/sym/log/clg/service/impl/LoginLogDAO.java @@ -143,6 +143,19 @@ public class LoginLogDAO extends EgovAbstractDAO { insert("LoginLogDAO.logInsertWebLoginLog", loinLog); } + public int logInsertWebLoginLogNewStep1(LoginLog loinLog) throws Exception{ + return update("LoginLogDAO.logInsertWebLoginLogNewStep1", loinLog); + //return update("LoginLogDAO.logInsertWebLoginLogNewStep1_bak", loinLog); + } + + public int logInsertWebLoginLogNewStep2(LoginLog loinLog) throws Exception{ + return update("LoginLogDAO.logInsertWebLoginLogNewStep2", loinLog); + } + + public int logInsertWebLoginLogNewStep3(LoginLog loinLog) throws Exception{ + return update("LoginLogDAO.logInsertWebLoginLogNewStep3_bak", loinLog); + } + @SuppressWarnings("unchecked") public List selectWebLogList(LoginLog loginLog) throws Exception{ return (List)list("LoginLogDAO.selectWebLogList", loginLog); diff --git a/src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java b/src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java index d645d98f..c0bb13f8 100644 --- a/src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java +++ b/src/main/java/kcc/let/sym/log/clg/web/EgovLoginLogController.java @@ -184,7 +184,7 @@ public class EgovLoginLogController { loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(loginLog.getSearchSortCnd())){ //최초조회시 최신것 조회List - loginLog.setSearchSortCnd("b.ADMINLOG_ID"); + loginLog.setSearchSortCnd("b.CREAT_DT"); loginLog.setSearchSortOrd("desc"); } List adminLogList = loginLogService.selectNWebLog(loginLog); diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index d2c91ae0..3eaeb94b 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -735,7 +735,9 @@ public class MainController { }else { loginLog.setUrl(request.getRequestURI()); } - loginLogService.logInsertLoginLog(loginLog); + //loginLogService.logInsertLoginLog(loginLog); + + loginLogService.logInsertLoginLogNewStep1(loginLog); } //오늘 접속 / 최종접속 diff --git a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml index c5f407ef..2db991ad 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml @@ -298,13 +298,16 @@ , c.USER_ID AS loginId , c.USER_NM AS userNm FROM LETTNADMINMETHOD a - , LETTNADMINLOG b - , COMVNUSERMASTER c + , lettnloginlog b + LEFT OUTER JOIN COMVNUSERMASTER c + ON( + 1=1 + AND b.CONECT_ID =c.ESNTL_ID + ) WHERE 1=1 AND a.use_yn='Y' AND a.method_cd='U' - AND a.METHOD_NM =b.PROGRM_FILE_NM - AND b.CONECT_ID =c.ESNTL_ID + AND a.METHOD_NM =b.PROGRM_FILE_NM @@ -546,6 +549,124 @@ AND B.URL = #url# + + + /* 임시.*NOT_SQL_LOG.* */ + /* 2023-06-20일 저장확인을 위해 update 추가함*/ + /* LoginLogDAO.logInsertWebLoginLogNewStep1 */ + INSERT INTO LETTNLOGINLOG + ( LOG_ID + , CONECT_ID + , CONECT_IP + , USER_AT + , DEVICE_TYPE /**인테넛,모바일 */ + , PROGRM_FILE_NM + , MENU_NM + , URL + , CREAT_DT ) + + SELECT + #logId# + , #loginId# + , #loginIp# + , #userAt# /**A:관리자, U:홈페이지 */ + , #deviceType# + , method_nm + , menu_nm + , #url# + , NOW() + FROM LETTNADMINMETHOD + WHERE METHOD_NM = #methodNm# + LIMIT 1 + + + + + /* 임시.*NOT_SQL_LOG.* */ + /* 2023-06-20일 저장확인을 위해 update 추가함*/ + /* LoginLogDAO.logInsertWebLoginLogNewStep2 */ + INSERT INTO LETTNLOGINLOG + ( LOG_ID + , CONECT_ID + , CONECT_IP + , USER_AT + , DEVICE_TYPE /**인테넛,모바일 */ + , PROGRM_FILE_NM + , MENU_NO + , MENU_NM + , URL + , CREAT_DT ) + SELECT + #logId# + , #loginId# + , #loginIp# + , #userAt# /**A:관리자, U:홈페이지 */ + , #deviceType# + , 'PROGRM_FILE_NM' + , '999999999' + , 'MENU_NM' + , #url# + , NOW() + FROM DUAL + + + + + + + /* 임시.*NOT_SQL_LOG.* */ + /* 2023-06-20일 저장확인을 위해 update 추가함*/ + /* LoginLogDAO.logInsertWebLoginLogNewStep2 */ + INSERT INTO LETTNLOGINLOG_BAK + ( LOG_ID + , CONECT_ID + , CONECT_IP + , USER_AT + , DEVICE_TYPE /**인테넛,모바일 */ + , PROGRM_FILE_NM + , MENU_NO + , MENU_NM + , URL + , CREAT_DT ) + SELECT + #logId# + , #loginId# + , #loginIp# + , #userAt# /**A:관리자, U:홈페이지 */ + , #deviceType# + , 'PROGRM_FILE_NM' + , '999999999' + , 'MENU_NM' + , #url# + , NOW() + + + + + /* LoginLogDAO.logInsertWebLoginLogNewStep3_bak */ + INSERT INTO lettnadminmethod ( + admot_id, + method_nm, + param, + creat_dt, + menu_nm, + appro_nm, + privacy, + method_cd /* A or U */ + ) + + SELECT + NVL(MAX(TO_NUMBER(REPLACE(admot_id, 'ADMOTID_', ''))) + 1, 1) + , #methodNm# + , 'N' + , NOW() + , #methodNm# + , #url# + , 'N' + , 'U' + FROM LETTNADMINMETHOD + +