Merge branch 'master' of http://tolag3@vcs.iten.co.kr:9999/hylee/kcc_adr_advc_git
This commit is contained in:
commit
a0baab8980
@ -577,5 +577,17 @@ public final class StringUtil2 {
|
|||||||
int fieldLength = 10;
|
int fieldLength = 10;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String extractLogMethodNm(
|
||||||
|
String p_url
|
||||||
|
) throws Exception{
|
||||||
|
String[] s_arr = p_url.split("/");
|
||||||
|
|
||||||
|
if (s_arr.length>=3) {
|
||||||
|
return s_arr[s_arr.length-3]+"/"+s_arr[s_arr.length-2]+"/"+s_arr[s_arr.length-1];
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_url;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,6 +55,10 @@ public interface EgovLoginLogService {
|
|||||||
public void logInsertAdminLoginLog(LoginLog loginLog) throws Exception;
|
public void logInsertAdminLoginLog(LoginLog loginLog) throws Exception;
|
||||||
|
|
||||||
public List<LoginLog> selectAmdinLog(LoginLog loginLog) throws Exception;
|
public List<LoginLog> selectAmdinLog(LoginLog loginLog) throws Exception;
|
||||||
|
|
||||||
|
public List<LoginLog> selectNAmdinLog(LoginLog loginLog) throws Exception;
|
||||||
|
|
||||||
|
public List<LoginLog> selectNWebLog(LoginLog loginLog) throws Exception;
|
||||||
|
|
||||||
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception;
|
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception;
|
||||||
|
|
||||||
|
|||||||
@ -146,6 +146,12 @@ public class LoginLog extends ComDefaultVO implements Serializable {
|
|||||||
|
|
||||||
private String totalLogCnt;
|
private String totalLogCnt;
|
||||||
|
|
||||||
|
private String useYn; //통계 사용여부
|
||||||
|
|
||||||
|
private String sortNum; //통계 순서
|
||||||
|
|
||||||
|
private String methodCd; //통계 순서
|
||||||
|
|
||||||
|
|
||||||
private List<LoginLog> logDataList = new ArrayList<LoginLog>() ;
|
private List<LoginLog> logDataList = new ArrayList<LoginLog>() ;
|
||||||
|
|
||||||
@ -480,4 +486,27 @@ public class LoginLog extends ComDefaultVO implements Serializable {
|
|||||||
this.totalLogCnt = totalLogCnt;
|
this.totalLogCnt = totalLogCnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getUseYn() {
|
||||||
|
return useYn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUseYn(String useYn) {
|
||||||
|
this.useYn = useYn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSortNum() {
|
||||||
|
return sortNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSortNum(String sortNum) {
|
||||||
|
this.sortNum = sortNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMethodCd() {
|
||||||
|
return methodCd;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMethodCd(String methodCd) {
|
||||||
|
this.methodCd = methodCd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,6 +122,16 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
return loginLogDAO.selectAmdinLog(loginLog);
|
return loginLogDAO.selectAmdinLog(loginLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LoginLog> selectNAmdinLog(LoginLog loginLog) throws Exception {
|
||||||
|
return loginLogDAO.selectNAmdinLog(loginLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LoginLog> selectNWebLog(LoginLog loginLog) throws Exception {
|
||||||
|
return loginLogDAO.selectNWebLog(loginLog);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception {
|
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception {
|
||||||
return loginLogDAO.selectAmdinLogTotCnt(loginLog);
|
return loginLogDAO.selectAmdinLogTotCnt(loginLog);
|
||||||
|
|||||||
@ -102,6 +102,14 @@ public class LoginLogDAO extends EgovAbstractDAO {
|
|||||||
return (List<LoginLog>)list("LoginLogDAO.selectAmdinLog", loginLog);
|
return (List<LoginLog>)list("LoginLogDAO.selectAmdinLog", loginLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<LoginLog> selectNAmdinLog(LoginLog loginLog) throws Exception{
|
||||||
|
return (List<LoginLog>)list("LoginLogDAO.selectNAmdinLog", loginLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<LoginLog> selectNWebLog(LoginLog loginLog) throws Exception{
|
||||||
|
return (List<LoginLog>)list("LoginLogDAO.selectNWebLog", loginLog);
|
||||||
|
}
|
||||||
|
|
||||||
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception{
|
public int selectAmdinLogTotCnt(LoginLog loginLog) throws Exception{
|
||||||
return (Integer)select("LoginLogDAO.selectAmdinLogTotCnt", loginLog);
|
return (Integer)select("LoginLogDAO.selectAmdinLogTotCnt", loginLog);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -122,6 +122,84 @@ public class EgovLoginLogController {
|
|||||||
return "sym/log/clg/EgovLoginLogList";
|
return "sym/log/clg/EgovLoginLogList";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 로그인 로그 목록 조회(관리자)
|
||||||
|
*
|
||||||
|
* @param loginLog
|
||||||
|
* @return sym/log/clg/EgovLoginLogList
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/sym/log/clg/NSelectLoginLogList.do")
|
||||||
|
public String NSelectLoginLogList(@ModelAttribute("searchVO") LoginLog loginLog, @RequestParam Map<String, Object> commandMap ,ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
if(loginLog.getPageUnit() != 10) {
|
||||||
|
loginLog.setPageUnit(loginLog.getPageUnit());
|
||||||
|
}
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(loginLog.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(loginLog.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(loginLog.getPageSize());
|
||||||
|
|
||||||
|
loginLog.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
|
loginLog.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
|
loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(loginLog.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
loginLog.setSearchSortCnd("b.ADMINLOG_ID");
|
||||||
|
loginLog.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
List<LoginLog> adminLogList = loginLogService.selectNAmdinLog(loginLog);
|
||||||
|
int adminLogListCnt = 0;
|
||||||
|
|
||||||
|
if (adminLogList.size()>0) {
|
||||||
|
adminLogListCnt = adminLogList.get(0).getTotCnt();
|
||||||
|
}
|
||||||
|
|
||||||
|
paginationInfo.setTotalRecordCount(adminLogListCnt);
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
model.addAttribute("adminLogList", adminLogList);
|
||||||
|
return "sym/log/clg/NSelectLoginLogList";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 로그인 로그 목록 조회(관리자)
|
||||||
|
*
|
||||||
|
* @param loginLog
|
||||||
|
* @return sym/log/clg/EgovLoginLogList
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping(value = "/sym/log/clg/NSelectWebLogList.do")
|
||||||
|
public String NSelectWebLogList(@ModelAttribute("searchVO") LoginLog loginLog, @RequestParam Map<String, Object> commandMap ,ModelMap model) throws Exception {
|
||||||
|
|
||||||
|
if(loginLog.getPageUnit() != 10) {
|
||||||
|
loginLog.setPageUnit(loginLog.getPageUnit());
|
||||||
|
}
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(loginLog.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(loginLog.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(loginLog.getPageSize());
|
||||||
|
|
||||||
|
loginLog.setFirstIndex(paginationInfo.getFirstRecordIndex());
|
||||||
|
loginLog.setLastIndex(paginationInfo.getLastRecordIndex());
|
||||||
|
loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(loginLog.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
loginLog.setSearchSortCnd("b.ADMINLOG_ID");
|
||||||
|
loginLog.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
List<LoginLog> adminLogList = loginLogService.selectNWebLog(loginLog);
|
||||||
|
int adminLogListCnt = 0;
|
||||||
|
|
||||||
|
if (adminLogList.size()>0) {
|
||||||
|
adminLogListCnt = adminLogList.get(0).getTotCnt();
|
||||||
|
}
|
||||||
|
|
||||||
|
paginationInfo.setTotalRecordCount(adminLogListCnt);
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
model.addAttribute("adminLogList", adminLogList);
|
||||||
|
return "sym/log/clg/NSelectWebLogList";
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 로그인 로그 상세 조회
|
* 로그인 로그 상세 조회
|
||||||
*
|
*
|
||||||
@ -245,11 +323,16 @@ public class EgovLoginLogController {
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/sym/log/clg/SelectLogMethodList.do")
|
@RequestMapping(value = "/sym/log/clg/SelectLogMethodList.do")
|
||||||
public String selectLogMethodList(@ModelAttribute("searchVO") LoginLog loginLog, @RequestParam Map<String, Object> commandMap ,ModelMap model) throws Exception {
|
public String selectLogMethodList(
|
||||||
|
@ModelAttribute("searchVO") LoginLog loginLog,
|
||||||
|
@RequestParam Map<String, Object> commandMap ,
|
||||||
|
ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
/*
|
||||||
if(loginLog.getPageUnit() != 10) {
|
if(loginLog.getPageUnit() != 10) {
|
||||||
loginLog.setPageUnit(loginLog.getPageUnit());
|
loginLog.setPageUnit(loginLog.getPageUnit());
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
paginationInfo.setCurrentPageNo(loginLog.getPageIndex());
|
paginationInfo.setCurrentPageNo(loginLog.getPageIndex());
|
||||||
paginationInfo.setRecordCountPerPage(loginLog.getPageUnit());
|
paginationInfo.setRecordCountPerPage(loginLog.getPageUnit());
|
||||||
|
|||||||
@ -435,6 +435,7 @@ public class EgovSysLogAspect {
|
|||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public void logAdminSelect(JoinPoint joinPoint) throws Throwable {
|
public void logAdminSelect(JoinPoint joinPoint) throws Throwable {
|
||||||
|
System.out.println("logAdminSelect");
|
||||||
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
|
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
|
||||||
if(isAuthenticated.booleanValue()) {
|
if(isAuthenticated.booleanValue()) {
|
||||||
SysLog sysLog = new SysLog();
|
SysLog sysLog = new SysLog();
|
||||||
|
|||||||
@ -3,17 +3,18 @@ package kcc.let.sym.log.lgm.service.impl;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
|
||||||
import kcc.com.cmm.LoginVO;
|
import kcc.com.cmm.LoginVO;
|
||||||
|
import kcc.com.cmm.util.StringUtil2;
|
||||||
import kcc.let.sym.log.lgm.service.EgovSysLogService;
|
import kcc.let.sym.log.lgm.service.EgovSysLogService;
|
||||||
import kcc.let.sym.log.lgm.service.SysLog;
|
import kcc.let.sym.log.lgm.service.SysLog;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 로그관리(시스템)를 위한 서비스 구현 클래스
|
* 로그관리(시스템)를 위한 서비스 구현 클래스
|
||||||
* @author 공통서비스개발팀 이삼섭
|
* @author 공통서비스개발팀 이삼섭
|
||||||
@ -100,6 +101,9 @@ public class EgovSysLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
return _map;
|
return _map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 관리자 로그 정보 이므로, method_cd='A' 이어야만 한다.
|
||||||
|
* */
|
||||||
@Override
|
@Override
|
||||||
public void logInsertAdminSysLog(SysLog sysLog) throws Exception {
|
public void logInsertAdminSysLog(SysLog sysLog) throws Exception {
|
||||||
String requstId = egovAdminLogIdGnrService.getNextStringId();
|
String requstId = egovAdminLogIdGnrService.getNextStringId();
|
||||||
@ -108,7 +112,59 @@ public class EgovSysLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
if(null != loginVO){
|
if(null != loginVO){
|
||||||
sysLog.setSiteId(loginVO.getSiteId());
|
sysLog.setSiteId(loginVO.getSiteId());
|
||||||
}
|
}
|
||||||
sysLogDAO.logInsertAdminSysLog(sysLog);
|
|
||||||
|
//하기 내용으로 대체 - 2023-09-21
|
||||||
|
//sysLogDAO.logInsertAdminSysLog(sysLog);
|
||||||
|
|
||||||
|
//고유값으로 만들기
|
||||||
|
sysLog.setMethodNm(StringUtil2.extractLogMethodNm(sysLog.getUrl()));
|
||||||
|
|
||||||
|
//sysLogDAO.logInsertAdminSysLog(sysLog);
|
||||||
|
int i = sysLogDAO.logInsertAdminSysLogNewStep1(sysLog);
|
||||||
|
|
||||||
|
System.out.println("=====i=====");
|
||||||
|
System.out.println(i);
|
||||||
|
System.out.println(i);
|
||||||
|
|
||||||
|
String[] s_arr = sysLog.getSrvcNm().split("[.]");
|
||||||
|
sysLog.setTrgetMenuNm(s_arr[s_arr.length-1]);
|
||||||
|
|
||||||
|
System.out.println("=====i====="+sysLog.getTrgetMenuNm());
|
||||||
|
System.out.println("=====i====="+sysLog.getSrvcNm());
|
||||||
|
System.out.println("=====i====="+sysLog.getUrl());
|
||||||
|
System.out.println("=====i====="+sysLog.getPageUnit());
|
||||||
|
System.out.println("=====i====="+sysLog.getRqsterNm());
|
||||||
|
|
||||||
|
System.out.println("=====i====="+sysLog.getMethodNm());
|
||||||
|
|
||||||
|
|
||||||
|
try {
|
||||||
|
//저장이 안되었으면 LETTNADMINMETHOD 테이블에 추가하고 다시 저장해보기
|
||||||
|
if (i<=0) {
|
||||||
|
//LETTNADMINMETHOD 테이블에 추가하기
|
||||||
|
i = sysLogDAO.logInsertAdminSysLogNewStep3(sysLog);
|
||||||
|
|
||||||
|
//다시 로그 남기기
|
||||||
|
i = sysLogDAO.logInsertAdminSysLogNewStep1(sysLog);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("====re=i=====");
|
||||||
|
System.out.println(i);
|
||||||
|
System.out.println(i);
|
||||||
|
|
||||||
|
//그래도 저장이 안되었으면 길이잘라서 log만 저장하기
|
||||||
|
if (i<=0) {
|
||||||
|
if (sysLog.getUrl().length()>1000) sysLog.setUrl(sysLog.getUrl().substring(0,1000));
|
||||||
|
|
||||||
|
i = sysLogDAO.logInsertAdminSysLogNewStep2(sysLog);
|
||||||
|
|
||||||
|
System.out.println("=====i=====");
|
||||||
|
System.out.println(i);
|
||||||
|
System.out.println(i);
|
||||||
|
}
|
||||||
|
}catch(Exception ex) {
|
||||||
|
System.out.println(ex.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,11 +2,11 @@ package kcc.let.sym.log.lgm.service.impl;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
|
||||||
import kcc.let.sym.log.lgm.service.SysLog;
|
import kcc.let.sym.log.lgm.service.SysLog;
|
||||||
|
|
||||||
import org.springframework.stereotype.Repository;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 로그관리(시스템)를 위한 데이터 접근 클래스
|
* 로그관리(시스템)를 위한 데이터 접근 클래스
|
||||||
* @author 공통서비스개발팀 이삼섭
|
* @author 공통서비스개발팀 이삼섭
|
||||||
@ -96,4 +96,20 @@ public class SysLogDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int logInsertAdminSysLogNewStep1(SysLog sysLog) throws Exception{
|
||||||
|
return update("SysLogDAO.logInsertAdminSysLogNewStep1", sysLog);
|
||||||
|
//return update("SysLogDAO.logInsertAdminSysLogNewStep1_bak", sysLog);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int logInsertAdminSysLogNewStep2(SysLog sysLog) throws Exception{
|
||||||
|
return update("SysLogDAO.logInsertAdminSysLogNewStep2", sysLog);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public int logInsertAdminSysLogNewStep3(SysLog sysLog) throws Exception{
|
||||||
|
return update("SysLogDAO.logInsertAdminSysLogNewStep3", sysLog);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -227,7 +227,116 @@
|
|||||||
, now())
|
, now())
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 관리자 대쉬보드 접속 리스트 -->
|
||||||
|
<select id="LoginLogDAO.selectNAmdinLog" parameterClass="loginLog" resultClass="loginLog">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* LoginLogDAO.selectNAmdinLog */
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt
|
||||||
|
, a.MENU_NM AS menuNm
|
||||||
|
, a.APPRO_NM AS approNm
|
||||||
|
, a.METHOD_NM AS methodNm
|
||||||
|
, b.URL AS url
|
||||||
|
, b.creat_dt AS creatDt
|
||||||
|
, b.CONECT_IP AS loginIp
|
||||||
|
, b.CONECT_ID AS conectId
|
||||||
|
, c.USER_ID AS loginId
|
||||||
|
, c.USER_NM AS userNm
|
||||||
|
FROM LETTNADMINMETHOD a
|
||||||
|
, LETTNADMINLOG b
|
||||||
|
, COMVNUSERMASTER c
|
||||||
|
WHERE 1=1
|
||||||
|
AND a.use_yn='Y'
|
||||||
|
AND a.method_cd='A'
|
||||||
|
AND a.METHOD_NM =b.PROGRM_FILE_NM
|
||||||
|
AND b.CONECT_ID =c.ESNTL_ID
|
||||||
|
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="">
|
||||||
|
( a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%') OR a.URL LIKE CONCAT('%' , #searchKeyword#, '%') )
|
||||||
|
</isEqual>
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="1">
|
||||||
|
a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="2">
|
||||||
|
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' ) >= #searchStartDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND #searchEndDt# >= DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' )
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchSortOrd">
|
||||||
|
$searchSortOrd$
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<!-- 관리자 대쉬보드 접속 리스트 -->
|
||||||
|
<select id="LoginLogDAO.selectNWebLog" parameterClass="loginLog" resultClass="loginLog">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* LoginLogDAO.selectNWebLog */
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
COUNT(1) OVER() AS totCnt
|
||||||
|
, a.MENU_NM AS menuNm
|
||||||
|
, a.APPRO_NM AS approNm
|
||||||
|
, a.METHOD_NM AS methodNm
|
||||||
|
, b.URL AS url
|
||||||
|
, b.creat_dt AS creatDt
|
||||||
|
, b.CONECT_IP AS loginIp
|
||||||
|
, b.CONECT_ID AS conectId
|
||||||
|
, c.USER_ID AS loginId
|
||||||
|
, c.USER_NM AS userNm
|
||||||
|
FROM LETTNADMINMETHOD a
|
||||||
|
, LETTNADMINLOG b
|
||||||
|
, COMVNUSERMASTER c
|
||||||
|
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
|
||||||
|
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="">
|
||||||
|
( a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%') OR a.URL LIKE CONCAT('%' , #searchKeyword#, '%') )
|
||||||
|
</isEqual>
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="1">
|
||||||
|
a.MENU_NM LIKE CONCAT('%' , #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual prepend="AND" property="searchCondition" compareValue="2">
|
||||||
|
a.URL LIKE CONCAT('%' , #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' ) >= #searchStartDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND #searchEndDt# >= DATE_FORMAT(b.CREAT_DT, '%Y.%m.%d' )
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchSortOrd">
|
||||||
|
$searchSortOrd$
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 관리자 대쉬보드 접속 리스트 -->
|
<!-- 관리자 대쉬보드 접속 리스트 -->
|
||||||
<select id="LoginLogDAO.selectAmdinLog" parameterClass="loginLog" resultClass="loginLog">
|
<select id="LoginLogDAO.selectAmdinLog" parameterClass="loginLog" resultClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
@ -292,7 +401,7 @@
|
|||||||
|
|
||||||
<!-- 관리자 로그설정 메소드 리스트 -->
|
<!-- 관리자 로그설정 메소드 리스트 -->
|
||||||
<select id="LoginLogDAO.selectLogMethodList" parameterClass="loginLog" resultClass="loginLog">
|
<select id="LoginLogDAO.selectLogMethodList" parameterClass="loginLog" resultClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* selectLogMethodList */
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(A.ADMOT_ID) OVER() AS totCnt,
|
COUNT(A.ADMOT_ID) OVER() AS totCnt,
|
||||||
A.ADMOT_ID AS admotId,
|
A.ADMOT_ID AS admotId,
|
||||||
@ -302,7 +411,10 @@
|
|||||||
A.APPRO_NM AS approNm,
|
A.APPRO_NM AS approNm,
|
||||||
A.PARAM AS param,
|
A.PARAM AS param,
|
||||||
A.CREAT_DT AS tempSortNum,
|
A.CREAT_DT AS tempSortNum,
|
||||||
A.PRIVACY AS privacy
|
A.PRIVACY AS privacy,
|
||||||
|
A.USE_YN AS useYn,
|
||||||
|
A.SORT_NUM AS sortNum,
|
||||||
|
A.method_cd as dateType
|
||||||
FROM LETTNADMINMETHOD A
|
FROM LETTNADMINMETHOD A
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<isNotEmpty property="searchKeyword">
|
<isNotEmpty property="searchKeyword">
|
||||||
@ -360,6 +472,8 @@
|
|||||||
, MENU_NM = #menuNm#
|
, MENU_NM = #menuNm#
|
||||||
, APPRO_NM = #approNm#
|
, APPRO_NM = #approNm#
|
||||||
, PRIVACY = #privacy#
|
, PRIVACY = #privacy#
|
||||||
|
, USE_YN = #useYn#
|
||||||
|
, sort_num = #sortNum#
|
||||||
WHERE ADMOT_ID = #admotId#
|
WHERE ADMOT_ID = #admotId#
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
|||||||
@ -192,5 +192,95 @@
|
|||||||
</isEmpty>
|
</isEmpty>
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
|
||||||
|
<update id="SysLogDAO.logInsertAdminSysLogNewStep1" parameterClass="sysLog">
|
||||||
|
/* SysLogDAO.logInsertAdminSysLogNewStep1 */
|
||||||
|
INSERT INTO LETTNADMINLOG
|
||||||
|
( ADMINLOG_ID
|
||||||
|
, CONECT_ID
|
||||||
|
, CONECT_IP
|
||||||
|
, CREAT_DT
|
||||||
|
, PROGRM_FILE_NM
|
||||||
|
, MENU_NM
|
||||||
|
, APPRO_NM
|
||||||
|
, URL
|
||||||
|
)
|
||||||
|
SELECT #requstId# ,
|
||||||
|
#rqesterId# ,
|
||||||
|
#rqesterIp# ,
|
||||||
|
|
||||||
|
now(),
|
||||||
|
|
||||||
|
#methodNm#,
|
||||||
|
MENU_NM ,
|
||||||
|
APPRO_NM ,
|
||||||
|
#url#
|
||||||
|
FROM LETTNADMINMETHOD
|
||||||
|
WHERE METHOD_NM = #methodNm#
|
||||||
|
AND method_cd='A'
|
||||||
|
<isNotEmpty prepend="AND" property="param">
|
||||||
|
PARAM = #param#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty prepend="AND" property="param">
|
||||||
|
PARAM = 'N'
|
||||||
|
</isEmpty>
|
||||||
|
LIMIT 1
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) -->
|
||||||
|
<update id="SysLogDAO.logInsertAdminSysLogNewStep2" parameterClass="sysLog">
|
||||||
|
/* SysLogDAO.logInsertAdminSysLogNewStep2 */
|
||||||
|
INSERT INTO LETTNADMINLOG
|
||||||
|
( ADMINLOG_ID
|
||||||
|
, CONECT_ID
|
||||||
|
, CONECT_IP
|
||||||
|
, CREAT_DT
|
||||||
|
, PROGRM_FILE_NM
|
||||||
|
, MENU_NM
|
||||||
|
, APPRO_NM
|
||||||
|
, URL
|
||||||
|
)
|
||||||
|
SELECT #requstId# ,
|
||||||
|
#rqesterId# ,
|
||||||
|
#rqesterIp# ,
|
||||||
|
|
||||||
|
now(),
|
||||||
|
|
||||||
|
#methodNm#,
|
||||||
|
'MENU_NM' ,
|
||||||
|
'APPRO_NM' ,
|
||||||
|
#url#
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) -->
|
||||||
|
<update id="SysLogDAO.logInsertAdminSysLogNewStep3" parameterClass="sysLog">
|
||||||
|
/* SysLogDAO.logInsertAdminSysLogNewStep3 */
|
||||||
|
INSERT INTO lettnadminmethod (
|
||||||
|
admot_id,
|
||||||
|
method_nm,
|
||||||
|
param,
|
||||||
|
creat_dt,
|
||||||
|
menu_nm,
|
||||||
|
appro_nm,
|
||||||
|
privacy,
|
||||||
|
method_cd /* A or U */
|
||||||
|
)
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
MAX(REPLACE(admot_id,'ADMOTID_','')*1)+1
|
||||||
|
, #methodNm#
|
||||||
|
, 'N'
|
||||||
|
|
||||||
|
, NOW()
|
||||||
|
|
||||||
|
, #trgetMenuNm#
|
||||||
|
, #url#
|
||||||
|
, 'N'
|
||||||
|
, 'A'
|
||||||
|
FROM LETTNADMINMETHOD
|
||||||
|
</update>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
||||||
|
|||||||
@ -80,6 +80,7 @@
|
|||||||
<pattern>/cmm/main/mainPage.do</pattern><!-- 메인페이지 -->
|
<pattern>/cmm/main/mainPage.do</pattern><!-- 메인페이지 -->
|
||||||
<pattern>/cmm/main/exctvMainPage.do</pattern><!-- 메인페이지 -->
|
<pattern>/cmm/main/exctvMainPage.do</pattern><!-- 메인페이지 -->
|
||||||
<pattern>/kccadr/*</pattern><!-- 전자조정시스템 -->
|
<pattern>/kccadr/*</pattern><!-- 전자조정시스템 -->
|
||||||
|
<pattern>/sym/log/clg/SelectLogMethodList.do</pattern><!-- 로그상세보기 팝업-->
|
||||||
</decorator>
|
</decorator>
|
||||||
|
|
||||||
<decorator name="adminPoplayout" page="/WEB-INF/jsp/layout/adminLayoutPopup.jsp">
|
<decorator name="adminPoplayout" page="/WEB-INF/jsp/layout/adminLayoutPopup.jsp">
|
||||||
@ -124,6 +125,7 @@
|
|||||||
|
|
||||||
<pattern>/web/kccadr/payment/inipay/*</pattern> <!-- 결재 모듈 테스트 -->
|
<pattern>/web/kccadr/payment/inipay/*</pattern> <!-- 결재 모듈 테스트 -->
|
||||||
<pattern>/kccadr/adjPgrMgr/drtCtr/drtCtrReg_for_ApprovManageEndDetail.do</pattern>
|
<pattern>/kccadr/adjPgrMgr/drtCtr/drtCtrReg_for_ApprovManageEndDetail.do</pattern>
|
||||||
|
|
||||||
|
|
||||||
</decorator>
|
</decorator>
|
||||||
|
|
||||||
|
|||||||
209
src/main/webapp/WEB-INF/jsp/sym/log/clg/NSelectLoginLogList.jsp
Normal file
209
src/main/webapp/WEB-INF/jsp/sym/log/clg/NSelectLoginLogList.jsp
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<%--
|
||||||
|
Class Name : EgovLoginLogList.jsp
|
||||||
|
Description : 로그인 로그 정보목록 화면
|
||||||
|
Modification Information
|
||||||
|
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
------- -------- ---------------------------
|
||||||
|
2009.03.11 이삼섭 최초 생성
|
||||||
|
2011.08.31 JJY 경량환경 버전 생성
|
||||||
|
|
||||||
|
author : 공통서비스 개발팀 이삼섭
|
||||||
|
since : 2009.03.11
|
||||||
|
--%>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Language" content="ko" >
|
||||||
|
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>" ></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$( document ).ready(function(){
|
||||||
|
var tempSearchBgnDe = "${searchVO.searchBgnDe}" ;
|
||||||
|
var tempSearchEndDe = "${searchVO.searchEndDe}" ;
|
||||||
|
if(""!=tempSearchBgnDe && tempSearchBgnDe.length==8){
|
||||||
|
$('#searchBgnDe').val(tempSearchBgnDe.substring(0,4)+"-"+tempSearchBgnDe.substring(4,6)+"-"+tempSearchBgnDe.substring(6,8));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(""!=tempSearchEndDe && tempSearchEndDe.length==8){
|
||||||
|
$('#searchEndDe').val(tempSearchEndDe.substring(0,4)+"-"+tempSearchEndDe.substring(4,6)+"-"+tempSearchEndDe.substring(6,8));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* PROTOTYPE JS FUNCTION
|
||||||
|
******************************************************** */
|
||||||
|
String.prototype.trim = function(){
|
||||||
|
return this.replace(/^\s+|\s+$/g, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.replaceAll = function(src, repl){
|
||||||
|
var str = this;
|
||||||
|
if(src == repl){return str;}
|
||||||
|
while(str.indexOf(src) != -1) {
|
||||||
|
str = str.replace(src, repl);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_select(pageNo){
|
||||||
|
<%--<c:if test="${!empty loginId}">
|
||||||
|
if(""!= document.frm.searchKeyword.value){
|
||||||
|
updateRecentSearch();//최근검색어 등록
|
||||||
|
}
|
||||||
|
</c:if>--%>
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_select_loginLog(pageNo){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_inqire_loginLog(logId){
|
||||||
|
var url = "<c:url value ='/sym/log/clg/InqireLoginLog.do?logId='/>" + logId;
|
||||||
|
|
||||||
|
var openParam = "scrollbars=yes,toolbar=0,location=no,resizable=0,status=0,menubar=0,width=640,height=320,left=0,top=0";
|
||||||
|
window.open(url,"p_loginLogInqire", openParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var frm = document.frm;
|
||||||
|
frm.pageIndex.value = pageNo;
|
||||||
|
if($('#searchConditionSite').length != 0){
|
||||||
|
frm.searchConditionSite.value = $('#searchConditionSite').val();
|
||||||
|
}
|
||||||
|
frm.action = "<c:url value='/sym/log/clg/SelectLoginLogList.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//엑셀 다운로드
|
||||||
|
function logListExcelDownload(){
|
||||||
|
document.frm.method = "post";
|
||||||
|
document.frm.action = "<c:url value='/sym/log/clg/roleListExcelDownload.do'/>";
|
||||||
|
document.frm.submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>로그인 로그 목록</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
|
||||||
|
<form name="frm" id="frm" action ="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post">
|
||||||
|
<input type="hidden" name="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" />
|
||||||
|
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>관리자로그 관리</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>로그관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">관리자로그 관리</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_util">
|
||||||
|
<div class="detail_search">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p class="tit_text">구분</p>
|
||||||
|
<select name="searchCondition" id="searchCondition">
|
||||||
|
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
|
||||||
|
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>메뉴명</option>
|
||||||
|
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>URL</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
|
||||||
|
<button class="btn_search" onclick="fn_select('1'); return false;">검색</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="list tbType01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 12%">
|
||||||
|
<col style="width: 9%">
|
||||||
|
<col style="width: 20%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 24%">
|
||||||
|
<col style="width: 15%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>번호 <button type="button" class="sortBtn sort" id="sort_logId"></button></th>
|
||||||
|
<th>메뉴명 <button type="button" class="sortBtn sort" id="sort_menuNm"></button></th>
|
||||||
|
<th>접근구분 <button type="button" class="sortBtn sort" id="sort_approNm"></button></th>
|
||||||
|
<th>메소드 <button type="button" class="sortBtn sort" id="sort_progrmFileNm"></button></th>
|
||||||
|
<th>접속ID <button type="button" class="sortBtn sort" id="sort_loginId"></button></th>
|
||||||
|
<th>접속IP <button type="button" class="sortBtn sort" id="sort_loginIp"></button></th>
|
||||||
|
<th>접속URL <button type="button" class="sortBtn sort" id="sort_url"></button></th>
|
||||||
|
<th>접속일자 <button type="button" class="sortBtn sort" id="sort_creatDt"></button></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<c:forEach var="result" items="${adminLogList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
|
||||||
|
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
<td><c:out value="${result.menuNm}"/></td>
|
||||||
|
<td><c:out value="${result.approNm}"/></td>
|
||||||
|
<td><c:out value="${result.progrmFileNm}"/></td>
|
||||||
|
<td><span class="privateInfo"><c:out value="${result.loginId}"/></span></td>
|
||||||
|
<td><c:out value="${result.loginIp}"/></td>
|
||||||
|
<td><c:out value="${result.url}"/></td>
|
||||||
|
<td><c:out value="${result.creatDt}"/></td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty adminLogList}">
|
||||||
|
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
|
||||||
|
<input name="pageIndex" type="hidden" value="1" />
|
||||||
|
<input name="searchCondition" type="hidden" />
|
||||||
|
<input name="searchKeyword" type="hidden" />
|
||||||
|
<input name="searchConditionSite" type="hidden" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
208
src/main/webapp/WEB-INF/jsp/sym/log/clg/NSelectWebLogList.jsp
Normal file
208
src/main/webapp/WEB-INF/jsp/sym/log/clg/NSelectWebLogList.jsp
Normal file
@ -0,0 +1,208 @@
|
|||||||
|
<%--
|
||||||
|
Class Name : EgovLoginLogList.jsp
|
||||||
|
Description : 로그인 로그 정보목록 화면
|
||||||
|
Modification Information
|
||||||
|
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
------- -------- ---------------------------
|
||||||
|
2009.03.11 이삼섭 최초 생성
|
||||||
|
2011.08.31 JJY 경량환경 버전 생성
|
||||||
|
|
||||||
|
author : 공통서비스 개발팀 이삼섭
|
||||||
|
since : 2009.03.11
|
||||||
|
--%>
|
||||||
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Language" content="ko" >
|
||||||
|
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>" ></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$( document ).ready(function(){
|
||||||
|
var tempSearchBgnDe = "${searchVO.searchBgnDe}" ;
|
||||||
|
var tempSearchEndDe = "${searchVO.searchEndDe}" ;
|
||||||
|
if(""!=tempSearchBgnDe && tempSearchBgnDe.length==8){
|
||||||
|
$('#searchBgnDe').val(tempSearchBgnDe.substring(0,4)+"-"+tempSearchBgnDe.substring(4,6)+"-"+tempSearchBgnDe.substring(6,8));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(""!=tempSearchEndDe && tempSearchEndDe.length==8){
|
||||||
|
$('#searchEndDe').val(tempSearchEndDe.substring(0,4)+"-"+tempSearchEndDe.substring(4,6)+"-"+tempSearchEndDe.substring(6,8));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* PROTOTYPE JS FUNCTION
|
||||||
|
******************************************************** */
|
||||||
|
String.prototype.trim = function(){
|
||||||
|
return this.replace(/^\s+|\s+$/g, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.replaceAll = function(src, repl){
|
||||||
|
var str = this;
|
||||||
|
if(src == repl){return str;}
|
||||||
|
while(str.indexOf(src) != -1) {
|
||||||
|
str = str.replace(src, repl);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_select(pageNo){
|
||||||
|
<%--<c:if test="${!empty loginId}">
|
||||||
|
if(""!= document.frm.searchKeyword.value){
|
||||||
|
updateRecentSearch();//최근검색어 등록
|
||||||
|
}
|
||||||
|
</c:if>--%>
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_select_loginLog(pageNo){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_inqire_loginLog(logId){
|
||||||
|
var url = "<c:url value ='/sym/log/clg/InqireLoginLog.do?logId='/>" + logId;
|
||||||
|
|
||||||
|
var openParam = "scrollbars=yes,toolbar=0,location=no,resizable=0,status=0,menubar=0,width=640,height=320,left=0,top=0";
|
||||||
|
window.open(url,"p_loginLogInqire", openParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var frm = document.frm;
|
||||||
|
frm.pageIndex.value = pageNo;
|
||||||
|
if($('#searchConditionSite').length != 0){
|
||||||
|
frm.searchConditionSite.value = $('#searchConditionSite').val();
|
||||||
|
}
|
||||||
|
frm.action = "<c:url value='/sym/log/clg/SelectLoginLogList.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//엑셀 다운로드
|
||||||
|
function logListExcelDownload(){
|
||||||
|
document.frm.method = "post";
|
||||||
|
document.frm.action = "<c:url value='/sym/log/clg/roleListExcelDownload.do'/>";
|
||||||
|
document.frm.submit();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<title>로그인 로그 목록</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
|
||||||
|
<form name="frm" id="frm" action ="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post">
|
||||||
|
<input type="hidden" name="cal_url" value="<c:url value='/sym/cmm/EgovNormalCalPopup.do'/>" />
|
||||||
|
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||||
|
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>사용자로그 관리</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>로그관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span class="cur_nav">사용자로그 관리</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_util">
|
||||||
|
<div class="detail_search">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p class="tit_text">구분</p>
|
||||||
|
<select name="searchCondition" id="searchCondition">
|
||||||
|
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
|
||||||
|
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>메뉴명</option>
|
||||||
|
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>URL</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
|
||||||
|
<button class="btn_search" onclick="fn_select('1'); return false;">검색</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="list tbType01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 8%">
|
||||||
|
<col style="width: 12%">
|
||||||
|
<col style="width: 9%">
|
||||||
|
<col style="width: 20%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 24%">
|
||||||
|
<col style="width: 15%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>번호 <button type="button" class="sortBtn sort" id="sort_logId"></button></th>
|
||||||
|
<th>메뉴명 <button type="button" class="sortBtn sort" id="sort_menuNm"></button></th>
|
||||||
|
<th>접근구분 <button type="button" class="sortBtn sort" id="sort_approNm"></button></th>
|
||||||
|
<th>메소드 <button type="button" class="sortBtn sort" id="sort_progrmFileNm"></button></th>
|
||||||
|
<th>접속ID <button type="button" class="sortBtn sort" id="sort_loginId"></button></th>
|
||||||
|
<th>접속IP <button type="button" class="sortBtn sort" id="sort_loginIp"></button></th>
|
||||||
|
<th>접속URL <button type="button" class="sortBtn sort" id="sort_url"></button></th>
|
||||||
|
<th>접속일자 <button type="button" class="sortBtn sort" id="sort_creatDt"></button></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
<c:forEach var="result" items="${adminLogList}" varStatus="status">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
|
</c:if>
|
||||||
|
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
|
||||||
|
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
||||||
|
</c:if>
|
||||||
|
</td>
|
||||||
|
<td><c:out value="${result.menuNm}"/></td>
|
||||||
|
<td><c:out value="${result.approNm}"/></td>
|
||||||
|
<td><c:out value="${result.progrmFileNm}"/></td>
|
||||||
|
<td><span class="privateInfo"><c:out value="${result.loginId}"/></span></td>
|
||||||
|
<td><c:out value="${result.loginIp}"/></td>
|
||||||
|
<td><c:out value="${result.url}"/></td>
|
||||||
|
<td><c:out value="${result.creatDt}"/></td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty adminLogList}">
|
||||||
|
<tr><td colspan="10"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
|
</c:if>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
<!-- page -->
|
||||||
|
<div class="page">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
|
||||||
|
<input name="pageIndex" type="hidden" value="1" />
|
||||||
|
<input name="searchCondition" type="hidden" />
|
||||||
|
<input name="searchKeyword" type="hidden" />
|
||||||
|
<input name="searchConditionSite" type="hidden" />
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -1,5 +1,5 @@
|
|||||||
<%--
|
<%--
|
||||||
Class Name : EgovLoginLogList.jsp
|
Class Name : SelectLogMethodList.jsp
|
||||||
Description : 로그인 로그 정보목록 화면
|
Description : 로그인 로그 정보목록 화면
|
||||||
Modification Information
|
Modification Information
|
||||||
|
|
||||||
@ -124,7 +124,6 @@ function fnCheckAll(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<title>로그인 로그 목록</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
|
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
|
||||||
@ -137,37 +136,67 @@ function fnCheckAll(){
|
|||||||
<input type="hidden" name="pageType" value="" />
|
<input type="hidden" name="pageType" value="" />
|
||||||
<input type="hidden" name="admotId" value="" />
|
<input type="hidden" name="admotId" value="" />
|
||||||
|
|
||||||
<div class="contWrap">
|
<div class="cont_wrap">
|
||||||
<div class="pageTitle">
|
<div class="box">
|
||||||
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
|
<!-- cont_tit -->
|
||||||
<h2 class="titType1 c_222222 fwBold">관리자로그설정관리</h2>
|
<div class="cont_tit">
|
||||||
<p class="tType6 c_999999">관리자 로그 설정을 관리할 수 있습니다.</p>
|
<h2>관리자로그설정관리</h2>
|
||||||
</div>
|
<ul class="cont_nav">
|
||||||
<div class="pageCont">
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
<div class="listSerch">
|
<li>
|
||||||
<select name="searchCondition" id="searchCondition" class="select" title="검색조건선택">
|
<p>운영관리</p>
|
||||||
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
|
</li>
|
||||||
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>매뉴명</option>
|
<li><span class="cur_nav">관리자로그설정관리</span></li>
|
||||||
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>메소드명</option>
|
</ul>
|
||||||
</select>
|
|
||||||
<input id="searchKeyword" name="searchKeyword" class="recentSearch" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
|
|
||||||
<input type="button" class="btnType1" value="검색" onclick="fn_select('1'); return false;">
|
|
||||||
</div>
|
|
||||||
<div class="listTop">
|
|
||||||
<p class="tType5">건수 : <span class="tType4 c_456ded fwBold"><c:out value="${paginationInfo.totalRecordCount}"/></span>건</p>
|
|
||||||
<div class="rightWrap">
|
|
||||||
<!-- <input type="button" class="excelBtn" onclick="javascript:logListExcelDownload();"> -->
|
|
||||||
<input type="button" class="printBtn" >
|
|
||||||
<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>
|
|
||||||
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
|
||||||
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<!-- //cont_tit -->
|
||||||
<div class="tableWrap">
|
|
||||||
<table class="tbType1">
|
<div class="cont">
|
||||||
<colgroup>
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_util">
|
||||||
|
<div class="detail_search">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<p class="tit_text">구분</p>
|
||||||
|
<select name="searchCondition" id="searchCondition">
|
||||||
|
<option value='' <c:if test="${searchVO.searchCondition == ''}">selected</c:if> >전체</option>
|
||||||
|
<option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected</c:if>>매뉴명</option>
|
||||||
|
<option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected</c:if>>메소드명</option>
|
||||||
|
</select>
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${searchVO.searchKeyword}'/>" size="25" title="검색" maxlength="50"/>
|
||||||
|
<button class="btn_search" onclick="fn_select('1'); return false;">검색</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<p>
|
||||||
|
총 건수 :
|
||||||
|
<span>
|
||||||
|
<c:out value="${paginationInfo.totalRecordCount}" />
|
||||||
|
</span>
|
||||||
|
건
|
||||||
|
</p>
|
||||||
|
<div class="list_util">
|
||||||
|
<select class="sel2" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
|
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${searchVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${searchVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="list tbType01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
<col style="width: 8%">
|
<col style="width: 8%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 15%">
|
<col style="width: 15%">
|
||||||
@ -176,11 +205,12 @@ function fnCheckAll(){
|
|||||||
<col style="width: 15%">
|
<col style="width: 15%">
|
||||||
<col style="width: 15%">
|
<col style="width: 15%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
<col style="width: 20%">
|
<col style="width: 7%">
|
||||||
</colgroup>
|
<col style="width: 7%">
|
||||||
<thead>
|
<col style="width: 7%">
|
||||||
<tr>
|
</colgroup>
|
||||||
<th><input type="checkbox" id="checkAll" onclick="javascript:fnCheckAll();"><label for="checkAll"></label></th>
|
<thead>
|
||||||
|
<tr>
|
||||||
<th>번호 <input type="button" class="sortBtn sort" id="sort_tempSortNum"></th>
|
<th>번호 <input type="button" class="sortBtn sort" id="sort_tempSortNum"></th>
|
||||||
<th>메뉴명 <input type="button" class="sortBtn sort" id="sort_menuNm"></th>
|
<th>메뉴명 <input type="button" class="sortBtn sort" id="sort_menuNm"></th>
|
||||||
<th>메소드명 <input type="button" class="sortBtn sort" id="sort_methodNm"></th>
|
<th>메소드명 <input type="button" class="sortBtn sort" id="sort_methodNm"></th>
|
||||||
@ -188,55 +218,65 @@ function fnCheckAll(){
|
|||||||
<th>파라미터 <input type="button" class="sortBtn sort" id="sort_param"></th>
|
<th>파라미터 <input type="button" class="sortBtn sort" id="sort_param"></th>
|
||||||
<th>개인정보여부 <input type="button" class="sortBtn sort" id="sort_privacy"></th>
|
<th>개인정보여부 <input type="button" class="sortBtn sort" id="sort_privacy"></th>
|
||||||
<th>등록일자 <input type="button" class="sortBtn sort" id="sort_creatDt"></th>
|
<th>등록일자 <input type="button" class="sortBtn sort" id="sort_creatDt"></th>
|
||||||
<th>게시판관리</th>
|
<th>사용자구분<input type="button" class="sortBtn sort" id="sort_method_cd"></th>
|
||||||
|
<th>통계사용여부<input type="button" class="sortBtn sort" id="sort_use_yn"></th>
|
||||||
|
<th>통계순서<input type="button" class="sortBtn sort" id="sort_sort_num"></th>
|
||||||
|
<th>관리</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
<c:forEach var="result" items="${logMethodList}" varStatus="status">
|
<c:forEach var="result" items="${logMethodList}" varStatus="status">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<!--
|
||||||
<input name="del" id="del" type="checkbox" value="${result.admotId}" />
|
<td>
|
||||||
</td>
|
<input name="del" id="del" type="checkbox" value="${result.admotId}" />
|
||||||
<td>
|
</td>
|
||||||
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
-->
|
||||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
<td>
|
||||||
</c:if>
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
</c:if>
|
||||||
</c:if>
|
<c:if test="${searchVO.searchSortOrd eq 'asc' }">
|
||||||
</td>
|
<c:out value="${(paginationInfo.currentPageNo - 1) * paginationInfo.recordCountPerPage + status.count}"/>
|
||||||
<td><c:out value="${result.menuNm}"/></td>
|
</c:if>
|
||||||
<td><c:out value="${result.methodNm}"/></td>
|
</td>
|
||||||
<td><c:out value="${result.approNm}"/></td>
|
<td><c:out value="${result.menuNm}"/></td>
|
||||||
<td><c:out value="${result.param}"/></td>
|
<td><c:out value="${result.methodNm}"/></td>
|
||||||
<td><c:out value="${result.privacy}"/></td>
|
<td><c:out value="${result.approNm}"/></td>
|
||||||
<td><c:out value="${result.creatDt}"/></td>
|
<td><c:out value="${result.param}"/></td>
|
||||||
<td>
|
<td><c:out value="${result.privacy}"/></td>
|
||||||
<input type="button" value="수정" class="btnType1" onclick="fn_modify('${result.admotId}'); return false;">
|
<td><c:out value="${result.creatDt}"/></td>
|
||||||
</td>
|
<td><c:out value="${result.dateType}"/></td>
|
||||||
</tr>
|
<td><c:out value="${result.useYn}"/></td>
|
||||||
</c:forEach>
|
<td><c:out value="${result.sortNum}"/></td>
|
||||||
|
<td>
|
||||||
|
<input type="button" value="수정" class="btnType1" onclick="fn_modify('${result.admotId}'); return false;">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
<c:if test="${empty logMethodList}">
|
<c:if test="${empty logMethodList}">
|
||||||
<tr><td colspan="9"><spring:message code="common.nodata.msg" /></td></tr>
|
<tr><td colspan="11"><spring:message code="common.nodata.msg" /></td></tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
</tbody>
|
|
||||||
</table>
|
</tbody>
|
||||||
</div>
|
</table>
|
||||||
<div class="btnWrap">
|
</div>
|
||||||
<input type="button" class="btnType2" value="삭제" onclick="fn_delete(); return false;">
|
<!-- //list -->
|
||||||
<input type="button" class="btnType1" value="등록" onclick="fn_insert(); return false;">
|
|
||||||
</div>
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
<!-- 페이지 네비게이션 시작 -->
|
<c:if test="${!empty logMethodList}">
|
||||||
<c:if test="${!empty logMethodList}">
|
<div class="page">
|
||||||
<div class="page">
|
|
||||||
<ul class="inline">
|
<ul class="inline">
|
||||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</c:if>
|
</c:if>
|
||||||
<!-- //페이지 네비게이션 끝 -->
|
<!-- //페이지 네비게이션 끝 -->
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
</form>
|
</form>
|
||||||
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
|
<form name="searchForm" method="get" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>">
|
||||||
<input name="pageIndex" type="hidden" value="1" />
|
<input name="pageIndex" type="hidden" value="1" />
|
||||||
|
|||||||
@ -1,42 +1,133 @@
|
|||||||
<%--
|
<%--
|
||||||
Class Name : FmsFileModify.jsp
|
Class Name : SelectLogMethodList.jsp
|
||||||
Description : 첨부파일 수정 페이지
|
Description : 로그인 로그 정보목록 화면
|
||||||
Modification Information
|
Modification Information
|
||||||
|
|
||||||
수정일 수정자 수정내용
|
수정일 수정자 수정내용
|
||||||
------- -------- ---------------------------
|
------- -------- ---------------------------
|
||||||
2009.09.16 장동한 최초 생성
|
2009.03.11 이삼섭 최초 생성
|
||||||
|
2011.08.31 JJY 경량환경 버전 생성
|
||||||
author : 공통서비스 개발팀 장동한
|
|
||||||
since : 2009.09.16
|
author : 공통서비스 개발팀 이삼섭
|
||||||
|
since : 2009.03.11
|
||||||
Copyright (C) 2009 by MOPAS All right reserved.
|
|
||||||
--%>
|
--%>
|
||||||
<%@ page contentType="text/html; charset=utf-8"%>
|
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
|
||||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
||||||
<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/" />
|
|
||||||
<c:set var="CssUrl" value="${pageContext.request.contextPath}/css/egovframework/com/" />
|
|
||||||
<c:set var="JsUrl" value="${pageContext.request.contextPath}/js/egovframework/com/uss/ion/pwm/"/>
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>팝업창관리 관리</title>
|
<meta http-equiv="Content-Language" content="ko" >
|
||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<script type="text/javascript" src="<c:url value='/js/EgovCalPopup.js'/>" ></script>
|
||||||
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
|
<script type="text/javascript">
|
||||||
<script type="text/javaScript" language="javascript">
|
|
||||||
$( document ).ready(function(){
|
$( document ).ready(function(){
|
||||||
|
var tempSearchBgnDe = "${searchVO.searchBgnDe}" ;
|
||||||
|
var tempSearchEndDe = "${searchVO.searchEndDe}" ;
|
||||||
|
if(""!=tempSearchBgnDe && tempSearchBgnDe.length==8){
|
||||||
|
$('#searchBgnDe').val(tempSearchBgnDe.substring(0,4)+"-"+tempSearchBgnDe.substring(4,6)+"-"+tempSearchBgnDe.substring(6,8));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(""!=tempSearchEndDe && tempSearchEndDe.length==8){
|
||||||
|
$('#searchEndDe').val(tempSearchEndDe.substring(0,4)+"-"+tempSearchEndDe.substring(4,6)+"-"+tempSearchEndDe.substring(6,8));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* ********************************************************
|
||||||
|
* PROTOTYPE JS FUNCTION
|
||||||
|
******************************************************** */
|
||||||
|
String.prototype.trim = function(){
|
||||||
|
return this.replace(/^\s+|\s+$/g, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
String.prototype.replaceAll = function(src, repl){
|
||||||
|
var str = this;
|
||||||
|
if(src == repl){return str;}
|
||||||
|
while(str.indexOf(src) != -1) {
|
||||||
|
str = str.replace(src, repl);
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_select(pageNo){
|
||||||
|
<%--<c:if test="${!empty loginId}">
|
||||||
|
if(""!= document.frm.searchKeyword.value){
|
||||||
|
updateRecentSearch();//최근검색어 등록
|
||||||
|
}
|
||||||
|
</c:if>--%>
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_select_loginLog(pageNo){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fn_egov_inqire_loginLog(logId){
|
||||||
|
var url = "<c:url value ='/sym/log/clg/InqireLoginLog.do?logId='/>" + logId;
|
||||||
|
|
||||||
|
var openParam = "scrollbars=yes,toolbar=0,location=no,resizable=0,status=0,menubar=0,width=640,height=320,left=0,top=0";
|
||||||
|
window.open(url,"p_loginLogInqire", openParam);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var frm = document.frm;
|
||||||
|
frm.pageIndex.value = pageNo;
|
||||||
|
frm.action = "<c:url value='/sym/log/clg/SelectLogMethodList.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
//엑셀 다운로드
|
||||||
|
function logListExcelDownload(){
|
||||||
|
document.frm.method = "post";
|
||||||
|
document.frm.action = "<c:url value='/sym/log/clg/roleListExcelDownload.do'/>";
|
||||||
|
document.frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 등록 */
|
||||||
|
function fn_insert(){
|
||||||
|
var frm = document.frm;
|
||||||
|
frm.pageType.value="Insert" ;
|
||||||
|
frm.action = "<c:url value='/sym/log/clg/ViewLogMethod.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 수정 */
|
||||||
|
function fn_modify(id){
|
||||||
|
var frm = document.frm;
|
||||||
|
frm.pageType.value="Insert" ;
|
||||||
|
frm.admotId.value = id;
|
||||||
|
frm.pageType.value = "Modify";
|
||||||
|
//frm.action = "<c:url value='/uss/ion/cnf/metaTagModifyView.do'/>";
|
||||||
|
frm.action = "<c:url value='/sym/log/clg/ViewLogMethod.do'/>";
|
||||||
|
frm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 삭제 */
|
||||||
|
function fn_delete(){
|
||||||
|
if($("input:checkbox[name='del']").is(":checked")==true){
|
||||||
|
if(confirm("삭제하시겠습니까?")) {
|
||||||
|
document.frm.action = "<c:url value='/sym/log/clg/DeleteLogMethod.do'/>";
|
||||||
|
document.frm.submit();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
alert("선택된 항목이 없습니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function fnCheckAll(){
|
||||||
|
if( $("#checkAll").is(':checked') ){
|
||||||
|
$("input[name=del]").prop("checked", true);
|
||||||
|
}else{
|
||||||
|
$("input[name=del]").prop("checked", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* pagination 페이지 링크 function */
|
/* pagination 페이지 링크 function */
|
||||||
function goList(){
|
function goList(){
|
||||||
//document.searchForm.submit();
|
document.searchForm.submit();
|
||||||
location.href = "/sym/log/clg/SelectLogMethodList.do";
|
//location.href = "<c:url value='/sym/log/clg/SelectLogMethodList.do'/>";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 등록시 값 확인 */
|
/* 등록시 값 확인 */
|
||||||
@ -99,28 +190,47 @@ function fn_delete() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style>
|
|
||||||
.del_file_btn{border: none;background-color: transparent;background-image: url(/direct/img/upload_delect_img.png);background-repeat: no-repeat;background-position: center center;vertical-align: middle;margin-top: -4px;margin-right: 15px;}
|
|
||||||
.file_size{color: #0388d2;font-weight: bold;}
|
|
||||||
.uploaded_obj{width: 100%;}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<noscript>자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
|
||||||
<form name="writeForm" method="post">
|
<form name="writeForm" method="post">
|
||||||
<input type="hidden" name="del" value="${loginLog.admotId}" />
|
<input type="hidden" name="del" value="${loginLog.admotId}" />
|
||||||
<input type="hidden" name="admotId" value="${loginLog.admotId}" />
|
<input type="hidden" name="admotId" value="${loginLog.admotId}" />
|
||||||
<div class="contWrap">
|
|
||||||
<div class="pageTitle">
|
<input name="searchCondition" type="hidden" value="<c:out value="${searchFr.searchCondition}" />" />
|
||||||
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
|
<input name="searchKeyword" type="hidden" value="<c:out value="${searchFr.searchKeyword}" />"/>
|
||||||
<h2 class="titType1 c_222222 fwBold">관리자로그설정관리</h2>
|
|
||||||
<p class="tType6 c_999999">관리자 로그 설정을 관리 합니다.</p>
|
|
||||||
</div>
|
<div class="cont_wrap">
|
||||||
<div class="pageCont">
|
<div class="box">
|
||||||
<div class="listTop resisterList">
|
<!-- cont_tit -->
|
||||||
<p class="right block fwMd"><span class="tType4 c_e40000 fwBold">*</span>는 필수입력 항목입니다.</p>
|
<div class="cont_tit">
|
||||||
</div>
|
<h2>관리자로그설정관리상세</h2>
|
||||||
<table class="tbType2">
|
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>운영관리</p>
|
||||||
|
</li>
|
||||||
|
<li><span>관리자로그설정관리</span></li>
|
||||||
|
<li><span class="cur_nav">상세화면</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="list tb_type01">
|
||||||
|
|
||||||
|
|
||||||
|
<table class="tbType2">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 20%">
|
<col style="width: 20%">
|
||||||
<col style="width: 80%">
|
<col style="width: 80%">
|
||||||
@ -128,35 +238,65 @@ function fn_delete() {
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th><span class="reqArea">메뉴명</span></th>
|
<th><span class="reqArea">메뉴명</span></th>
|
||||||
<td colspan="3">
|
<td colspan="3" style="text-align:left;">
|
||||||
<input type="text" size="50" name="menuNm" value="${loginLog.menuNm}" title="menuNm" maxlength="100" />
|
<input type="text" size="100" name="menuNm" value="${loginLog.menuNm}" title="menuNm" maxlength="100" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th><span class="reqArea">메소드명</span></th>
|
<th><span class="reqArea">메소드명</span></th>
|
||||||
<td colspan="3">
|
<td colspan="3" style="text-align:left;">
|
||||||
<input type="text" size="50" name="methodNm" value="${loginLog.methodNm}" title="methodNm" maxlength="100" />
|
<input type="text" size="100" name="methodNm" value="${loginLog.methodNm}" title="methodNm" maxlength="100" />
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th><span class="reqArea">파라미터</span></th>
|
|
||||||
<td colspan="3">
|
|
||||||
<input type="text" size="50" name="param" value="${empty loginLog.admotId ? 'N' : loginLog.param }" title="param" maxlength="100" />
|
|
||||||
<br><span class="cfText">*기본값은 N 입니다.</span>
|
|
||||||
<br><span class="cfText c_ed4555">*N이 아닌 값을 사용할 경우는 url에 'logParam=파라미터값' 형식을 추가해야 적용됩니다.</span>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th><span class="reqArea">기능명</span></th>
|
<th><span class="reqArea">기능명</span></th>
|
||||||
<td colspan="3">
|
<td colspan="3" style="text-align:left;">
|
||||||
<input name="approNm" value="${loginLog.approNm}" title="approNm" maxlength="100" />
|
<input type="text" size="100" name="approNm" value="${loginLog.approNm}" title="approNm" maxlength="100" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">파라미터</span></th>
|
||||||
|
<td colspan="3" style="text-align:left;">
|
||||||
|
<input type="text" size="100" name="param" value="${empty loginLog.admotId ? 'N' : loginLog.param }" title="param" maxlength="100" />
|
||||||
|
<br><span class="cfText">*기본값은 N 입니다.</span> <span class="cfText c_ed4555">*N이 아닌 값을 사용할 경우는 url에 'logParam=파라미터값' 형식을 추가해야 적용됩니다.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">privacy</span></th>
|
||||||
|
<td colspan="3" style="text-align:left;">
|
||||||
|
<input type="text" size="100" name="privacy" value="${empty loginLog.admotId ? 'N' : loginLog.privacy }" title="privacy" maxlength="100" />
|
||||||
|
<br><span class="cfText">*기본값은 N 입니다.</span> <span class="cfText c_ed4555">N / Y *개인정보 포함 여부를 표시합니다.</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">사용자구분</span></th>
|
||||||
|
<td colspan="3" style="text-align:left;">${loginLog.dateType} - <span class="cfText c_ed4555">U(사용자) / A(관리자)</span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">통계노출여부</span></th>
|
||||||
|
<td colspan="3" style="text-align:left;">
|
||||||
|
<select name="useYn" id="useYn" class="sel_type1">
|
||||||
|
<option value="N" <c:if test="${loginLog.useYn == 'N'}">selected</c:if>>미사용</option>
|
||||||
|
<option value="Y" <c:if test="${loginLog.useYn == 'Y'}">selected</c:if>>사용</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">통계순서</span></th>
|
||||||
|
<td colspan="3" style="text-align:left;">
|
||||||
|
<input type="text" size="10" name="sortNum" value="${loginLog.sortNum}" title="sortNum" maxlength="10" />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<c:if test="${!empty loginLog.admotId }">
|
<c:if test="${!empty loginLog.admotId }">
|
||||||
<tr>
|
<tr>
|
||||||
<th><span class="reqArea">등록일자</span></th>
|
<th><span class="reqArea">등록일자</span></th>
|
||||||
<td colspan="3">
|
<td colspan="3" style="text-align:left;">
|
||||||
<input name="creatDt" value="${loginLog.creatDt}" title="creatDt" maxlength="100" readonly />
|
${loginLog.creatDt}
|
||||||
|
<%-- <input name="creatDt" value="${loginLog.creatDt}" title="creatDt" maxlength="100" readonly /> --%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
@ -173,8 +313,49 @@ function fn_delete() {
|
|||||||
</c:if>
|
</c:if>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- //list -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<!--
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="area_right">
|
||||||
|
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
|
||||||
|
</div>
|
||||||
|
<div class="area_right">
|
||||||
|
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<!-- //btn_wrap -->
|
||||||
|
|
||||||
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
|
<c:if test="${!empty logMethodList}">
|
||||||
|
<div class="page">
|
||||||
|
<ul class="inline">
|
||||||
|
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</c:if>
|
||||||
|
<!-- //페이지 네비게이션 끝 -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<form name="searchForm" method="post" action="<c:url value='/sym/log/clg/SelectLogMethodList.do'/>">
|
||||||
|
<input name="pageIndex" type="hidden" value="1" />
|
||||||
|
<input name="searchCondition" type="hidden" value="<c:out value="${searchFr.searchCondition}" />" />
|
||||||
|
<input name="searchKeyword" type="hidden" value="<c:out value="${searchFr.searchKeyword}" />"/>
|
||||||
|
<input name="searchConditionSite" type="hidden" />
|
||||||
|
</form>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user