Merge branch 'master' of http://dudgusw@vcs.iten.co.kr:9999/hylee/kcc_adr_advc_git
This commit is contained in:
commit
853fa9ebd5
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -85,4 +85,10 @@ public class SendMgrSMSController {
|
|||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/kccadr/sendMgr/smsSendMgr_tabulator.do")
|
||||||
|
public String smsSendMgrPage_tabulator() {
|
||||||
|
|
||||||
|
return "/kccadr/sendMgr/smsSendMgr_tabulator";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -33,7 +33,8 @@ public class SttsVO extends ComDefaultVO implements Serializable {
|
|||||||
private String rcptTotCnt = ""; // 접수 총계
|
private String rcptTotCnt = ""; // 접수 총계
|
||||||
private String succCnt = ""; // 성립 건수(기일성립+조정권고성립)
|
private String succCnt = ""; // 성립 건수(기일성립+조정권고성립)
|
||||||
private String jikSuccCnt = ""; // 직권결정 성립 건수
|
private String jikSuccCnt = ""; // 직권결정 성립 건수
|
||||||
private String failCnt = ""; // 불성립 건수(모든 불성립)
|
private String failCnt = ""; // 불성립 건수(불성립 건수(직권 불성립 제외한 불성립))
|
||||||
|
private String failJikCnt = ""; // 불성립 건수(직권 불성립)
|
||||||
private String cancleCnt = ""; // 취하 건수
|
private String cancleCnt = ""; // 취하 건수
|
||||||
private String succPer = ""; // 성립율
|
private String succPer = ""; // 성립율
|
||||||
private String finalTotCnt = ""; // 종결총계
|
private String finalTotCnt = ""; // 종결총계
|
||||||
@ -272,6 +273,14 @@ public class SttsVO extends ComDefaultVO implements Serializable {
|
|||||||
public void setReqOlCd(String reqOlCd) {
|
public void setReqOlCd(String reqOlCd) {
|
||||||
this.reqOlCd = reqOlCd;
|
this.reqOlCd = reqOlCd;
|
||||||
}
|
}
|
||||||
|
public String getFailJikCnt() {
|
||||||
|
return failJikCnt;
|
||||||
|
}
|
||||||
|
public void setFailJikCnt(String failJikCnt) {
|
||||||
|
this.failJikCnt = failJikCnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -29,6 +29,8 @@ public interface EgovLoginLogService {
|
|||||||
* @param LoginLog
|
* @param LoginLog
|
||||||
*/
|
*/
|
||||||
public void logInsertLoginLog(LoginLog loinLog) throws Exception;
|
public void logInsertLoginLog(LoginLog loinLog) throws Exception;
|
||||||
|
|
||||||
|
public int logInsertLoginLogNewStep1(LoginLog loinLog) throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 접속로그를 조회한다.
|
* 접속로그를 조회한다.
|
||||||
@ -55,6 +57,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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,6 +10,7 @@ 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 kcc.com.cmm.util.StringUtil2;
|
||||||
import kcc.let.sym.log.clg.service.EgovLoginLogService;
|
import kcc.let.sym.log.clg.service.EgovLoginLogService;
|
||||||
import kcc.let.sym.log.clg.service.LoginLog;
|
import kcc.let.sym.log.clg.service.LoginLog;
|
||||||
|
|
||||||
@ -66,6 +67,59 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
loginLogDAO.logInsertWebLoginLog(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 접속로그를 조회한다.
|
* 접속로그를 조회한다.
|
||||||
*
|
*
|
||||||
@ -122,6 +176,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);
|
||||||
}
|
}
|
||||||
@ -135,6 +143,19 @@ public class LoginLogDAO extends EgovAbstractDAO {
|
|||||||
insert("LoginLogDAO.logInsertWebLoginLog", loinLog);
|
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")
|
@SuppressWarnings("unchecked")
|
||||||
public List<LoginLog> selectWebLogList(LoginLog loginLog) throws Exception{
|
public List<LoginLog> selectWebLogList(LoginLog loginLog) throws Exception{
|
||||||
return (List<LoginLog>)list("LoginLogDAO.selectWebLogList", loginLog);
|
return (List<LoginLog>)list("LoginLogDAO.selectWebLogList", 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.CREAT_DT");
|
||||||
|
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.CREAT_DT");
|
||||||
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -735,7 +735,9 @@ public class MainController {
|
|||||||
}else {
|
}else {
|
||||||
loginLog.setUrl(request.getRequestURI());
|
loginLog.setUrl(request.getRequestURI());
|
||||||
}
|
}
|
||||||
loginLogService.logInsertLoginLog(loginLog);
|
//loginLogService.logInsertLoginLog(loginLog);
|
||||||
|
|
||||||
|
loginLogService.logInsertLoginLogNewStep1(loginLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
//오늘 접속 / 최종접속
|
//오늘 접속 / 최종접속
|
||||||
|
|||||||
@ -168,68 +168,114 @@
|
|||||||
|
|
||||||
<!-- 분쟁조정 통계 -->
|
<!-- 분쟁조정 통계 -->
|
||||||
<select id="SttsDAO.sttsYrlyPrcsList" parameterClass="SttsVO" resultClass="SttsVO">
|
<select id="SttsDAO.sttsYrlyPrcsList" parameterClass="SttsVO" resultClass="SttsVO">
|
||||||
WITH hst AS (
|
WITH hst AS
|
||||||
SELECT *
|
( SELECT *
|
||||||
FROM adr_hstry hst
|
FROM adr_hstry hst
|
||||||
WHERE EXISTS (
|
WHERE EXISTS
|
||||||
SELECT 1
|
( SELECT 1
|
||||||
FROM (
|
FROM ( SELECT MAX(adr_hstry_seq) AS max_adr_hstry_seq
|
||||||
SELECT
|
FROM adr_hstry
|
||||||
MAX(adr_hstry_seq) AS max_adr_hstry_seq
|
WHERE '309000' <![CDATA[ > ]]> stat_cd
|
||||||
FROM adr_hstry
|
GROUP BY adr_seq
|
||||||
WHERE '309000' > stat_cd
|
)
|
||||||
GROUP BY adr_seq
|
hst2
|
||||||
) hst2
|
WHERE hst2.max_adr_hstry_seq = hst.adr_hstry_seq
|
||||||
WHERE hst2.max_adr_hstry_seq = hst.adr_hstry_seq
|
)
|
||||||
)
|
)
|
||||||
)
|
, failJik AS
|
||||||
SELECT
|
( SELECT *
|
||||||
t.strYear
|
FROM adr_hstry hst
|
||||||
,t.rcptTotCnt /* 접수 총계 */
|
WHERE EXISTS
|
||||||
,t.succCnt /* 성립 건수(기일성립+조정권고성립) */
|
( SELECT 1
|
||||||
,t.jikSuccCnt /* 직권결정 성립 건수 */
|
FROM ( SELECT MAX(adr_hstry_seq) AS max_adr_hstry_seq
|
||||||
,t.failCnt /* 불성립 건수(모든 불성립) */
|
FROM adr_hstry
|
||||||
,t.cancleCnt /* 취하 건수 */
|
WHERE '307050' <![CDATA[ > ]]> stat_cd AND stat_cd LIKE '%50'
|
||||||
,TRUNC(
|
GROUP BY adr_seq
|
||||||
(t.succCnt + t.jikSuccCnt)
|
)
|
||||||
/ IF((t.succCnt + t.jikSuccCnt + t.failCnt) = 0, 1, (t.succCnt + t.jikSuccCnt + t.failCnt))
|
hst2
|
||||||
* 100
|
WHERE hst2.max_adr_hstry_seq = hst.adr_hstry_seq
|
||||||
, 2) AS succPer /* 성립율 */
|
)
|
||||||
,(t.succCnt + t.jikSuccCnt + t.failCnt + t.cancleCnt) AS finalTotCnt /* 종결총계 */
|
)
|
||||||
,(t.yearTotCnt - t.rcptTotCnt - t.succCnt - t.jikSuccCnt
|
SELECT t.strYear ,
|
||||||
- t.failCnt - t.cancleCnt) AS ingCnt /* 진행 건수 */
|
t.rcptTotCnt
|
||||||
FROM (
|
/* 접수 총계 */
|
||||||
SELECT
|
,
|
||||||
TO_CHAR(am.appr_de, 'YYYY') AS strYear
|
t.succCnt
|
||||||
,COUNT(1) AS yearTotCnt /* 년도 총계 */
|
/* 성립 건수(기일성립+조정권고성립) */
|
||||||
,COUNT(IF(am.stat_cd = '101050', 1, null)) AS rcptTotCnt /* 접수 총계 */
|
,
|
||||||
,COUNT(IF(hst.stat_cd = '304050', 1, null)) AS succCnt /* 성립 건수(기일성립+조정권고성립) */
|
t.jikSuccCnt
|
||||||
,COUNT(IF(am.stat_cd = '400000' AND hst.stat_cd = '306050', 1, null))
|
/* 직권결정 성립 건수 */
|
||||||
AS jikSuccCnt /* 직권결정 성립 건수 */
|
,
|
||||||
,COUNT(IF(hst.stat_cd = '307050', 1, null)) AS failCnt /* 불성립 건수(모든 불성립) */
|
t.failCnt
|
||||||
,COUNT(IF(hst.stat_cd = '305050', 1, null)) AS cancleCnt /* 취하 건수 */
|
/* 불성립 건수(직권 불성립 제외한 불성립) */
|
||||||
FROM adr_mgr_master am /* 마스터 */
|
,
|
||||||
INNER JOIN adr_mgr_detail ad ON am.adr_seq = ad.adr_seq /* 상세 */
|
|
||||||
LEFT OUTER JOIN hst ON ad.adr_seq = hst.adr_seq /* 히스토리 */
|
t.failJikCnt
|
||||||
WHERE 1=1
|
/* 불성립 건수(직권 불성립) */
|
||||||
AND am.USE_YN != 'N'
|
,
|
||||||
AND
|
t.cancleCnt
|
||||||
(
|
/* 취하 건수 */
|
||||||
am.adr_no IS NOT NULL OR
|
,
|
||||||
(
|
TRUNC( (t.succCnt + t.jikSuccCnt) / IF((t.succCnt + t.jikSuccCnt + (t.failCnt+t.failJikCnt)) = 0, 1, (t.succCnt + t.jikSuccCnt + (t.failCnt+t.failJikCnt))) * 100 , 2) AS succPer
|
||||||
am.adr_no IS NULL
|
/* 성립율 */
|
||||||
AND am.stat_cd *1 <![CDATA[ < ]]> 201000
|
,
|
||||||
AND am.stat_cd NOT IN ('101000',
|
(t.succCnt + t.jikSuccCnt + (t.failCnt+t.failJikCnt) + t.cancleCnt) AS finalTotCnt
|
||||||
'101090' )
|
/* 종결총계 */
|
||||||
)
|
,
|
||||||
)
|
(t.yearTotCnt - t.rcptTotCnt - t.succCnt - t.jikSuccCnt - (t.failCnt+t.failJikCnt) - t.cancleCnt) AS ingCnt
|
||||||
<isNotEmpty property="searchYear">
|
/* 진행 건수 */
|
||||||
/* 년 */
|
FROM ( SELECT TO_CHAR(am.appr_de, 'YYYY') AS strYear ,
|
||||||
AND am.appr_de BETWEEN TO_DATE(#searchYear#||'0101', 'yyyyMMdd')
|
COUNT(1) AS yearTotCnt
|
||||||
AND TO_DATE(#searchYear#||'1231', 'yyyyMMdd')
|
/* 년도 총계 */
|
||||||
</isNotEmpty>
|
,
|
||||||
GROUP BY TO_CHAR(am.appr_de, 'YYYY')
|
COUNT(IF(am.stat_cd = '101050', 1, NULL)) AS rcptTotCnt
|
||||||
) t
|
/* 접수 총계 */
|
||||||
|
,
|
||||||
|
COUNT(IF(hst.stat_cd = '304050', 1, NULL)) AS succCnt
|
||||||
|
/* 성립 건수(기일성립+조정권고성립) */
|
||||||
|
,
|
||||||
|
COUNT(IF(am.stat_cd = '400000'
|
||||||
|
AND hst.stat_cd = '306050', 1, NULL)) AS jikSuccCnt
|
||||||
|
/* 직권결정 성립 건수 */
|
||||||
|
,
|
||||||
|
COUNT(IF(hst.stat_cd = '307050' AND failJik.stat_cd != '306050', 1, NULL)) AS failCnt
|
||||||
|
/* 불성립 건수(모든 불성립) */
|
||||||
|
,
|
||||||
|
COUNT(IF(hst.stat_cd = '307050' AND failJik.stat_cd = '306050', 1, NULL)) AS failJikCnt
|
||||||
|
/* 불성립 건수(모든 불성립) */
|
||||||
|
,
|
||||||
|
COUNT(IF(hst.stat_cd = '305050', 1, NULL)) AS cancleCnt
|
||||||
|
/* 취하 건수 */
|
||||||
|
FROM adr_mgr_master am
|
||||||
|
/* 마스터 */
|
||||||
|
INNER JOIN adr_mgr_detail ad
|
||||||
|
ON am.adr_seq = ad.adr_seq
|
||||||
|
/* 상세 */
|
||||||
|
LEFT OUTER JOIN hst
|
||||||
|
ON ad.adr_seq = hst.adr_seq
|
||||||
|
/* 히스토리 */
|
||||||
|
LEFT OUTER JOIN failJik
|
||||||
|
ON ad.adr_seq = failJik.adr_seq
|
||||||
|
WHERE 1 =1
|
||||||
|
AND am.USE_YN != 'N'
|
||||||
|
AND
|
||||||
|
(
|
||||||
|
am.adr_no IS NOT NULL OR
|
||||||
|
(
|
||||||
|
am.adr_no IS NULL
|
||||||
|
AND am.stat_cd *1 <![CDATA[ < ]]> 201000
|
||||||
|
AND am.stat_cd NOT IN ('101000',
|
||||||
|
'101090' )
|
||||||
|
)
|
||||||
|
)
|
||||||
|
<isNotEmpty property="searchYear">
|
||||||
|
/* 년 */
|
||||||
|
AND am.appr_de BETWEEN TO_DATE(#searchYear#||'0101', 'yyyyMMdd')
|
||||||
|
AND TO_DATE(#searchYear#||'1231', 'yyyyMMdd')
|
||||||
|
</isNotEmpty>
|
||||||
|
GROUP BY TO_CHAR(am.appr_de, 'YYYY')
|
||||||
|
)
|
||||||
|
t
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 조정 사건부 현황 통계화면 -->
|
<!-- 조정 사건부 현황 통계화면 -->
|
||||||
|
|||||||
@ -227,7 +227,119 @@
|
|||||||
, 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
|
||||||
|
, 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
|
||||||
|
|
||||||
|
<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 +404,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 +414,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 +475,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>
|
||||||
|
|
||||||
@ -432,6 +549,124 @@
|
|||||||
AND B.URL = #url#
|
AND B.URL = #url#
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
|
||||||
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1" parameterClass="loginLog">
|
||||||
|
/* 임시.*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
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 사용자 접속 로그 등록(매뉴에 없는 페이지 등록용 )-->
|
||||||
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2" parameterClass="loginLog">
|
||||||
|
/* 임시.*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
|
||||||
|
</update>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 사용자 접속 로그 등록(매뉴에 없는 페이지 등록용 )-->
|
||||||
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2_bak" parameterClass="loginLog">
|
||||||
|
/* 임시.*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()
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록하기) -->
|
||||||
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep3_bak" parameterClass="loginLog">
|
||||||
|
/* 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
|
||||||
|
</update>
|
||||||
|
|
||||||
<!-- 사용자 메뉴별 접속 리스트 -->
|
<!-- 사용자 메뉴별 접속 리스트 -->
|
||||||
<select id="LoginLogDAO.selectWebLogList" parameterClass="loginLog" resultClass="loginLog">
|
<select id="LoginLogDAO.selectWebLogList" parameterClass="loginLog" resultClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
|
|||||||
@ -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>
|
||||||
|
|
||||||
|
|||||||
@ -24,7 +24,10 @@
|
|||||||
*/
|
*/
|
||||||
%>
|
%>
|
||||||
|
|
||||||
<link href="/tabulator/dist/css/tabulator.css" rel="stylesheet">
|
<!-- <link href="/tabulator/dist/css/tabulator.css" rel="stylesheet"> -->
|
||||||
|
<!-- <link href="/tabulator/dist/css/tabulator_bulma.min.css" rel="stylesheet"> -->
|
||||||
|
<link href="/tabulator/dist/css/tabulator_modern.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-------------------------- tabulator use js ---------------------------------->
|
<!-------------------------- tabulator use js ---------------------------------->
|
||||||
@ -117,21 +120,36 @@
|
|||||||
clipboard:true,
|
clipboard:true,
|
||||||
reactiveData:true,
|
reactiveData:true,
|
||||||
clipboardPasteAction:"replace",
|
clipboardPasteAction:"replace",
|
||||||
|
validationMode:"highlight",
|
||||||
columns:[
|
columns:[
|
||||||
{title:"메일주소", field:"mailAdress", width:200, editor:true},
|
{title:"메일주소", field:"mailAdress", width:200, editor:true},
|
||||||
{formatter:"buttonCross", width:30, hozAlign:"center",
|
{formatter:"buttonCross", width:30, hozAlign:"center", headerSort:false,
|
||||||
cellClick:function(e, cell){
|
cellClick:function(e, cell){
|
||||||
$("#tabulatorArea").tabulator("deleteRow", 0);
|
cell.getRow().delete();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
//메일추가 클릭 시 tabulator에 추가
|
//메일추가 클릭 시 tabulator에 추가
|
||||||
document.getElementById("emailAdd").addEventListener("click", function(){
|
document.getElementById("emailAdd").addEventListener("click", function(){
|
||||||
var inputEmail = $("#callTo").val();
|
var inputEmail = $("#callTo").val();
|
||||||
|
|
||||||
|
if(inputEmail == "" || inputEmail == null){
|
||||||
|
alert("메일주소를 입력해 주세요");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var taxExptext = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i;
|
||||||
|
if(taxExptext.test(inputEmail)==false){
|
||||||
|
alert("이메일주소 형식이 올바르지 않습니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
tabledata.push({mailAdress:inputEmail});
|
tabledata.push({mailAdress:inputEmail});
|
||||||
$("#callTo").val('');
|
$("#callTo").val('');
|
||||||
|
// var test = $("#tabulatorArea").tabulator("getInvalidCells");
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -184,7 +202,7 @@
|
|||||||
<input type="text" class="write_info" id="callTo" name="callTo" placeholder="email주소를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='email주소를 입력하세요'">
|
<input type="text" class="write_info" id="callTo" name="callTo" placeholder="email주소를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='email주소를 입력하세요'">
|
||||||
<button type="button" class="btnType01" id="emailAdd">메일추가</button>
|
<button type="button" class="btnType01" id="emailAdd">메일추가</button>
|
||||||
</br>
|
</br>
|
||||||
<div id="tabulatorArea" ></div>
|
<div id="tabulatorArea" style="border: 1px solid #d5d5d5; margin: 20px 0 0 0; border-radius: 10px;"></div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -0,0 +1,212 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<%@ 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"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : smsSendMgr.do
|
||||||
|
* @Description : SMS 발송 화면
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2023.09.13 원영현 최초 생성
|
||||||
|
* @author 원영현
|
||||||
|
* @since 2023.09.13
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
|
||||||
|
<link href="/tabulator/dist/css/tabulator_modern.min.css" rel="stylesheet">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-------------------------- tabulator use js ---------------------------------->
|
||||||
|
<script type="text/javascript" src="/tabulator/jquery-ui-1.13.2.custom/external/jquery/jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="/tabulator/jquery-ui-1.13.2.custom/jquery-ui.js"></script>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="/tabulator/dist/js/tabulator.min.js"></script>
|
||||||
|
<script type="text/javascript" src="/tabulator/dist/js/jquery_wrapper.js"></script>
|
||||||
|
<!-------------------------- tabulator use js ---------------------------------->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
$( document ).ready(function() {
|
||||||
|
tabulator_create();
|
||||||
|
});
|
||||||
|
|
||||||
|
function fnSmsSend(){
|
||||||
|
|
||||||
|
|
||||||
|
var phone = $("#tabulatorArea").tabulator("getData", "phone");
|
||||||
|
|
||||||
|
var sendLength = phone.length;
|
||||||
|
var sendMsg = $("#sendMsg").val();
|
||||||
|
|
||||||
|
|
||||||
|
if(sendLength == 0){
|
||||||
|
alert("수신번호를 입력해 주세요");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(sendMsg == ""){
|
||||||
|
alert("발송내용을 입력해 주세요");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//배열 생성
|
||||||
|
var phoneArr = new Array(sendLength);
|
||||||
|
for(var i=0; i < sendLength; i++){
|
||||||
|
phoneArr[i] = phone[i].phone;
|
||||||
|
}
|
||||||
|
$("#phoneList").val(phoneArr);
|
||||||
|
|
||||||
|
|
||||||
|
var data = new FormData(document.smsForm);
|
||||||
|
$.ajax({
|
||||||
|
type: "POST"
|
||||||
|
, url: "/kccadr/sendMgr/smsSendMgrAjax.do"
|
||||||
|
, data: data
|
||||||
|
, dataType:'json'
|
||||||
|
, async: false
|
||||||
|
, processData: false
|
||||||
|
, contentType: false
|
||||||
|
, cache: false
|
||||||
|
, success: function (returnData, status) {
|
||||||
|
console.log(returnData.result);
|
||||||
|
if(returnData.result == 'SUCCESS'){
|
||||||
|
alert("문자발송요청에 성공하였습니다.");
|
||||||
|
location.reload();
|
||||||
|
}else{
|
||||||
|
alert(returnData.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function (e) {
|
||||||
|
alert("요청에 실패하였습니다.");
|
||||||
|
console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function tabulator_create(){
|
||||||
|
|
||||||
|
var tabledata = [
|
||||||
|
];
|
||||||
|
|
||||||
|
//Build Tabulator
|
||||||
|
//구현 편의성을 위해 jquery 로 만들기
|
||||||
|
// jquery로 만들어서 jquery로 함수 호출 가능
|
||||||
|
$("#tabulatorArea").tabulator({
|
||||||
|
//table setup options
|
||||||
|
height:"500px",
|
||||||
|
data:tabledata,
|
||||||
|
layout:"fitDataTable",
|
||||||
|
clipboard:true,
|
||||||
|
reactiveData:true,
|
||||||
|
clipboardPasteAction:"replace",
|
||||||
|
validationMode:"highlight",
|
||||||
|
columns:[
|
||||||
|
{title:"수신번호", field:"phone", width:200, editor:true},
|
||||||
|
{formatter:"buttonCross", width:30, hozAlign:"center", headerSort:false,
|
||||||
|
cellClick:function(e, cell){
|
||||||
|
cell.getRow().delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
});
|
||||||
|
|
||||||
|
//메일추가 클릭 시 tabulator에 추가
|
||||||
|
document.getElementById("phoneAdd").addEventListener("click", function(){
|
||||||
|
var inputPhone = $("#callTo").val();
|
||||||
|
|
||||||
|
if(inputPhone == "" || inputPhone == null){
|
||||||
|
alert("수신번호를 입력해 주세요");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var taxExptext = /^[0-9]{3}[0-9]{4}[0-9]{4}$/;
|
||||||
|
if(taxExptext.test(inputPhone)==false){
|
||||||
|
alert("휴대폰 번호 형식이 올바르지 않습니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabledata.push({phone:inputPhone});
|
||||||
|
$("#callTo").val('');
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<form id="smsForm" name="smsForm" method="post">
|
||||||
|
<input type="hidden" id="phoneList" name="phoneList"/>
|
||||||
|
<!-- cont -->
|
||||||
|
<div class="cont_wrap">
|
||||||
|
<div class="box">
|
||||||
|
<!-- cont_tit -->
|
||||||
|
<div class="cont_tit">
|
||||||
|
<h2>SMS 발송</h2>
|
||||||
|
<ul class="cont_nav">
|
||||||
|
<li class="home"><a href="/"><i></i></a></li>
|
||||||
|
<li>
|
||||||
|
<p>발송 관리</p>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<span class="cur_nav">SMS 발송</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tbType02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 220px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>발송내용</th>
|
||||||
|
<td>
|
||||||
|
<textarea name="sendMsg" id="sendMsg" cols="30" rows="10"></textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>수신번호</th>
|
||||||
|
<td>
|
||||||
|
<div class="input_form">
|
||||||
|
<input type="text" class="write_info" id="callTo" name="callTo" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'">
|
||||||
|
<button type="button" class="btnType01" id="phoneAdd">번호추가</button>
|
||||||
|
</br>
|
||||||
|
<div id="tabulatorArea" style="border: 1px solid #d5d5d5; margin: 20px 0 0 0; border-radius: 10px;"></div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="area_left">
|
||||||
|
</div>
|
||||||
|
<div class="area_right">
|
||||||
|
<button class="btnType02" onclick="fnSmsSend(); return false;">발송</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //btn_wrap -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
</form>
|
||||||
@ -116,6 +116,8 @@ $(document).ready(function() {
|
|||||||
<col style="width: 8%;">
|
<col style="width: 8%;">
|
||||||
|
|
||||||
<col style="width: 7%;">
|
<col style="width: 7%;">
|
||||||
|
<col style="width: 7%;">
|
||||||
|
|
||||||
<col style="width: 7%;">
|
<col style="width: 7%;">
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
|
|
||||||
@ -125,7 +127,7 @@ $(document).ready(function() {
|
|||||||
<tr>
|
<tr>
|
||||||
<th rowspan="2">연도</th>
|
<th rowspan="2">연도</th>
|
||||||
<th colspan="3">접수</th>
|
<th colspan="3">접수</th>
|
||||||
<th colspan="6">종결</th>
|
<th colspan="7">종결</th>
|
||||||
<th rowspan="2">진행</th>
|
<th rowspan="2">진행</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -133,9 +135,10 @@ $(document).ready(function() {
|
|||||||
<th>신규</th>
|
<th>신규</th>
|
||||||
<th>계</th>
|
<th>계</th>
|
||||||
|
|
||||||
<th>성립</th>
|
<th>성립(합의)</th>
|
||||||
<th>직권성립</th>
|
<th>직권성립(직권)</th>
|
||||||
<th>불성립</th>
|
<th>불성립(합의)</th>
|
||||||
|
<th>불성립(직권)</th>
|
||||||
|
|
||||||
<!-- <th>직권불성립</th> -->
|
<!-- <th>직권불성립</th> -->
|
||||||
<th>취하</th>
|
<th>취하</th>
|
||||||
@ -156,6 +159,7 @@ $(document).ready(function() {
|
|||||||
<td><p><c:out value="${vo.succCnt}" /></p></td>
|
<td><p><c:out value="${vo.succCnt}" /></p></td>
|
||||||
<td><p><c:out value="${vo.jikSuccCnt}" /></p></td>
|
<td><p><c:out value="${vo.jikSuccCnt}" /></p></td>
|
||||||
<td><p><c:out value="${vo.failCnt}" /></p></td>
|
<td><p><c:out value="${vo.failCnt}" /></p></td>
|
||||||
|
<td><p><c:out value="${vo.failJikCnt}" /></p></td>
|
||||||
|
|
||||||
<td><p><c:out value="${vo.cancleCnt}" /></p></td>
|
<td><p><c:out value="${vo.cancleCnt}" /></p></td>
|
||||||
<td><p><c:out value="${vo.succPer}" /></p></td>
|
<td><p><c:out value="${vo.succPer}" /></p></td>
|
||||||
|
|||||||
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: 5%">
|
||||||
|
<col style="width: 12%">
|
||||||
|
<%-- <col style="width: 9%"> --%>
|
||||||
|
<col style="width: 6%">
|
||||||
|
<col style="width: 15%">
|
||||||
|
<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.methodNm}"/></td> --%>
|
||||||
|
<td><c:out value="${result.approNm}"/></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>
|
||||||
@ -265,18 +265,18 @@ function fn_egov_inqire_notice(bbsId, nttId) {
|
|||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="<c:out value='${selectBoardList}'/>" title="문의 게시판 페이지 바로가기">
|
<a href="<c:out value='${selectBoardList}'/>" title="1:1 문의 게시판 페이지 바로가기">
|
||||||
<i class="baro_inquiry_board"></i>문의게시판
|
<i class="baro_inquiry_board"></i>1:1 문의
|
||||||
</a>
|
</a>
|
||||||
<div class="tooltip_box">
|
<div class="tooltip_box">
|
||||||
<div class="tooltip_type01">
|
<div class="tooltip_type01">
|
||||||
<a href="<c:out value='${selectBoardList}'/>" title="문의 게시판 페이지 바로가기" class="text_area">
|
<a href="<c:out value='${selectBoardList}'/>" title="1:1 문의 게시판 페이지 바로가기" class="text_area">
|
||||||
<p class="tooltip_tit01">
|
<p class="tooltip_tit01">
|
||||||
조정신청 또는 진행 중 본인의 사건과<br>관련한 문의와 답변을 받을 수 있는 게시판
|
조정신청 또는 진행 중 본인의 사건과<br>관련한 문의와 답변을 받을 수 있는 게시판
|
||||||
</p>
|
</p>
|
||||||
<p class="tooltip_tit02">- 전자조정시스템 회원가입 및 로그인 필수</p>
|
<p class="tooltip_tit02">- 전자조정시스템 회원가입 및 로그인 필수</p>
|
||||||
</a>
|
</a>
|
||||||
<button type="button" title="페이지 이동" onclick="location.href='<c:out value='${selectBoardList}'/>'">문의게시판 바로가기</button>
|
<button type="button" title="페이지 이동" onclick="location.href='<c:out value='${selectBoardList}'/>'">1:1 문의 바로가기</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user