2023-07-17 12:04 로그 관리 수정
This commit is contained in:
parent
e30afcd91b
commit
3a0222f969
@ -67,6 +67,15 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
String logId = egovLoginLogIdGnrService.getNextStringId();
|
String logId = egovLoginLogIdGnrService.getNextStringId();
|
||||||
loinLog.setLogId(logId);
|
loinLog.setLogId(logId);
|
||||||
|
|
||||||
|
//method name 설정
|
||||||
|
//LETTNLOGINLOG_BAK 테이블을 위해서 추가됨
|
||||||
|
String[] s_arr = loinLog.getUrl().split("/");
|
||||||
|
|
||||||
|
loinLog.setMethodNm(s_arr[s_arr.length-2]+"/"+s_arr[s_arr.length-1]);
|
||||||
|
System.out.println("loinLog.getMethodNm()");
|
||||||
|
System.out.println(loinLog.getMethodNm());
|
||||||
|
|
||||||
|
|
||||||
//loginLogDAO.logInsertLoginLog(loinLog);
|
//loginLogDAO.logInsertLoginLog(loinLog);
|
||||||
int i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
int i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
||||||
|
|
||||||
@ -80,7 +89,17 @@ public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
loinLog.setUrl(loinLog.getUrl().substring(0,399));
|
loinLog.setUrl(loinLog.getUrl().substring(0,399));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i<=0) i=loginLogDAO.logInsertWebLoginLogNewStep2(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
if (i<=0) {
|
||||||
|
//LETTNADMINMETHOD 테이블에 추가하기
|
||||||
|
loginLogDAO.logInsertWebLoginLogNewStep3(loinLog);
|
||||||
|
|
||||||
|
//다시 남기기
|
||||||
|
i=loginLogDAO.logInsertWebLoginLogNewStep1(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
||||||
|
|
||||||
|
//lettnloginlog 에 남기기
|
||||||
|
i=loginLogDAO.logInsertWebLoginLogNewStep2(loinLog); //사용자 페이지의 로그만 남김(메뉴에 등록된 페이지만 남김)
|
||||||
|
}
|
||||||
|
|
||||||
}catch(Exception ex) {
|
}catch(Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -136,13 +136,18 @@ public class LoginLogDAO extends EgovAbstractDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int logInsertWebLoginLogNewStep1(LoginLog loinLog) throws Exception{
|
public int logInsertWebLoginLogNewStep1(LoginLog loinLog) throws Exception{
|
||||||
return update("LoginLogDAO.logInsertWebLoginLogNewStep1", loinLog);
|
update("LoginLogDAO.logInsertWebLoginLogNewStep1", loinLog);
|
||||||
|
return update("LoginLogDAO.logInsertWebLoginLogNewStep1_bak", loinLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
public int logInsertWebLoginLogNewStep2(LoginLog loinLog) throws Exception{
|
public int logInsertWebLoginLogNewStep2(LoginLog loinLog) throws Exception{
|
||||||
return update("LoginLogDAO.logInsertWebLoginLogNewStep2", loinLog);
|
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);
|
||||||
|
|||||||
@ -251,11 +251,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,
|
||||||
if(loginLog.getPageUnit() != 10) {
|
@RequestParam Map<String, Object> commandMap ,
|
||||||
|
ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
/*
|
||||||
|
if(loginLog.getPageUnit() != 100) {
|
||||||
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());
|
||||||
@ -438,6 +443,8 @@ public class EgovLoginLogController {
|
|||||||
Model model , HttpSession session ,
|
Model model , HttpSession session ,
|
||||||
RedirectAttributes redirectAttributes) throws Exception {
|
RedirectAttributes redirectAttributes) throws Exception {
|
||||||
|
|
||||||
|
loginLog.setAdmotId(loginLog.getAdmotId().trim());
|
||||||
|
|
||||||
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
|
||||||
loginLogService.updateLogMethod(loginLog);
|
loginLogService.updateLogMethod(loginLog);
|
||||||
model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
|
model.addAttribute("message", egovMessageSource.getMessage("success.common.update"));
|
||||||
|
|||||||
@ -98,6 +98,7 @@ public class SysLogDAO extends EgovAbstractDAO {
|
|||||||
|
|
||||||
public int logInsertAdminSysLogNewStep1(SysLog sysLog) throws Exception{
|
public int logInsertAdminSysLogNewStep1(SysLog sysLog) throws Exception{
|
||||||
return update("SysLogDAO.logInsertAdminSysLogNewStep1", sysLog);
|
return update("SysLogDAO.logInsertAdminSysLogNewStep1", sysLog);
|
||||||
|
//return update("SysLogDAO.logInsertAdminSysLogNewStep1_bak", sysLog);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,222 @@
|
|||||||
|
package kcc.ve.oprtn.cndtnSspnIdtmt.prcsInfoMng.web;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
|
import kcc.com.cmm.util.StringUtil;
|
||||||
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수(관리자)
|
||||||
|
* 기반강화연수에 관한 controller 클래스를 정의한다.
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2023.07.12
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* << 개정이력(Modification Information) >>
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2021.12.16 조용준 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn")
|
||||||
|
public class CndtnPrcsInfoMngController {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(CndtnPrcsInfoMngController.class);
|
||||||
|
|
||||||
|
//로그인 체크 util
|
||||||
|
@Resource(name = "checkLoginUtil")
|
||||||
|
private CheckLoginUtil checkLoginUtil;
|
||||||
|
|
||||||
|
//과정 관리
|
||||||
|
@Resource(name = "vEPrcsService")
|
||||||
|
private VEPrcsService vEPrcsService;
|
||||||
|
|
||||||
|
//온라인콘텐츠과정 관리
|
||||||
|
@Resource(name = "vEPrcsOnlnCntntService")
|
||||||
|
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
|
||||||
|
|
||||||
|
|
||||||
|
//교육과정순번
|
||||||
|
@Resource(name="prcsGnrService")
|
||||||
|
private EgovIdGnrService prcsGnrService;
|
||||||
|
|
||||||
|
//과정온라인콘텐츠순번
|
||||||
|
@Resource(name="prcsOnlnGnrService")
|
||||||
|
private EgovIdGnrService prcsOnlnGnrService;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
// 교육신청 서비스단
|
||||||
|
@Resource(name = "AdjReqMgrService")
|
||||||
|
private AdjReqMgrService adjReqMgrService;
|
||||||
|
|
||||||
|
// eGov 공통코드
|
||||||
|
@Resource(name = "EgovCmmUseService")
|
||||||
|
private EgovCmmUseService cmmUseService;
|
||||||
|
|
||||||
|
@Resource(name = "EgovFileMngService")
|
||||||
|
private EgovFileMngService fileService;
|
||||||
|
|
||||||
|
// global 프로퍼티
|
||||||
|
@Resource(name="globalSettings")
|
||||||
|
protected Properties propertiesService;
|
||||||
|
|
||||||
|
//첨부파일 경로, realPath 설정
|
||||||
|
@Resource(name="EgovFileMngUtil")
|
||||||
|
private EgovFileMngUtil fileUtil;
|
||||||
|
|
||||||
|
// 첨부파일 정보
|
||||||
|
@Resource(name="EgovFileMngService")
|
||||||
|
private EgovFileMngService fileMngService;
|
||||||
|
|
||||||
|
//암복호화 유틸
|
||||||
|
@Resource(name = "egovCryptoUtil")
|
||||||
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource(name="KccadrMgrUdtService")
|
||||||
|
private KccadrMgrUdtService kccadrMgrUdtService;
|
||||||
|
|
||||||
|
// 교육신청 서비스단
|
||||||
|
@Resource(name = "checkAdrProcessUtil")
|
||||||
|
private CheckAdrProcessUtil checkAdrProcessUtil;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 조건부기소유예 과정 관리 목록 화면
|
||||||
|
*/
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do")
|
||||||
|
public String cndtnEduPrcsMngList(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//1.pageing step1
|
||||||
|
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||||
|
paginationInfo.setRecordCountPerPage(10000);
|
||||||
|
|
||||||
|
//2. pageing step2
|
||||||
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
|
//교육콘텐츠 조회
|
||||||
|
vEPrcsDetailVO.setLctrDivCd("40");
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||||
|
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||||
|
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
|
||||||
|
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
|
||||||
|
vEPrcsDetailVO.setSearchStatusArr(splited);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||||
|
|
||||||
|
vEPrcsDetailVO.setPrcsDiv("10");
|
||||||
|
|
||||||
|
}
|
||||||
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList";
|
||||||
|
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
||||||
|
//cndtnSspnIdtmt/cndtnEduPrcsMngList
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// private function
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||||
|
private PaginationInfo setPagingStep1(
|
||||||
|
VEPrcsDetailVO p_vEPrcsDetailVO
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step1
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
|
||||||
|
|
||||||
|
return paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화
|
||||||
|
private VEPrcsDetailVO setPagingStep2(
|
||||||
|
VEPrcsDetailVO p_vEPrcsDetailVO
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step2
|
||||||
|
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||||
|
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||||
|
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
|
||||||
|
p_vEPrcsDetailVO.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_vEPrcsDetailVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||||
|
private PaginationInfo setPagingStep3(
|
||||||
|
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
|
||||||
|
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
|
||||||
|
p_paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
return p_paginationInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,308 @@
|
|||||||
|
package kcc.ve.oprtn.fndtnEnhanceTrn.prcsInfoMng.web;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
|
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||||
|
import kcc.com.cmm.LoginVO;
|
||||||
|
import kcc.com.cmm.util.StringUtil;
|
||||||
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수(관리자)
|
||||||
|
* 기반강화연수에 관한 controller 클래스를 정의한다.
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2023.07.12
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* << 개정이력(Modification Information) >>
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2021.12.16 조용준 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
//@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn")
|
||||||
|
public class FndthPrcsInfoMngController {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(FndthPrcsInfoMngController.class);
|
||||||
|
|
||||||
|
//로그인 체크 util
|
||||||
|
@Resource(name = "checkLoginUtil")
|
||||||
|
private CheckLoginUtil checkLoginUtil;
|
||||||
|
|
||||||
|
//과정 관리
|
||||||
|
@Resource(name = "vEPrcsService")
|
||||||
|
private VEPrcsService vEPrcsService;
|
||||||
|
|
||||||
|
//온라인콘텐츠과정 관리
|
||||||
|
@Resource(name = "vEPrcsOnlnCntntService")
|
||||||
|
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
|
||||||
|
|
||||||
|
|
||||||
|
//교육과정순번
|
||||||
|
@Resource(name="prcsGnrService")
|
||||||
|
private EgovIdGnrService prcsGnrService;
|
||||||
|
|
||||||
|
//과정온라인콘텐츠순번
|
||||||
|
@Resource(name="prcsOnlnGnrService")
|
||||||
|
private EgovIdGnrService prcsOnlnGnrService;
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
// 교육신청 서비스단
|
||||||
|
@Resource(name = "AdjReqMgrService")
|
||||||
|
private AdjReqMgrService adjReqMgrService;
|
||||||
|
|
||||||
|
// eGov 공통코드
|
||||||
|
@Resource(name = "EgovCmmUseService")
|
||||||
|
private EgovCmmUseService cmmUseService;
|
||||||
|
|
||||||
|
@Resource(name = "EgovFileMngService")
|
||||||
|
private EgovFileMngService fileService;
|
||||||
|
|
||||||
|
// global 프로퍼티
|
||||||
|
@Resource(name="globalSettings")
|
||||||
|
protected Properties propertiesService;
|
||||||
|
|
||||||
|
//첨부파일 경로, realPath 설정
|
||||||
|
@Resource(name="EgovFileMngUtil")
|
||||||
|
private EgovFileMngUtil fileUtil;
|
||||||
|
|
||||||
|
// 첨부파일 정보
|
||||||
|
@Resource(name="EgovFileMngService")
|
||||||
|
private EgovFileMngService fileMngService;
|
||||||
|
|
||||||
|
//암복호화 유틸
|
||||||
|
@Resource(name = "egovCryptoUtil")
|
||||||
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
|
|
||||||
|
@Resource(name="KccadrMgrUdtService")
|
||||||
|
private KccadrMgrUdtService kccadrMgrUdtService;
|
||||||
|
|
||||||
|
// 교육신청 서비스단
|
||||||
|
@Resource(name = "checkAdrProcessUtil")
|
||||||
|
private CheckAdrProcessUtil checkAdrProcessUtil;
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수 과정 관리 목록 화면
|
||||||
|
*/
|
||||||
|
|
||||||
|
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do")
|
||||||
|
public String fndthEduPrcsMngList(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//1.pageing step1
|
||||||
|
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||||
|
paginationInfo.setRecordCountPerPage(10000);
|
||||||
|
|
||||||
|
//2. pageing step2
|
||||||
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
|
//교육콘텐츠 조회
|
||||||
|
vEPrcsDetailVO.setLctrDivCd("40");
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
|
||||||
|
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
|
||||||
|
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){
|
||||||
|
String[] splited = vEPrcsDetailVO.getPrcsKind().split(",");
|
||||||
|
vEPrcsDetailVO.setSearchStatusArr(splited);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||||
|
|
||||||
|
vEPrcsDetailVO.setPrcsDiv("10");
|
||||||
|
|
||||||
|
}
|
||||||
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
//3.pageing step3
|
||||||
|
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngList";
|
||||||
|
///kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수과정 등록 화면
|
||||||
|
*/
|
||||||
|
//@RequestMapping("eduPrcsMngReg.do")
|
||||||
|
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.do")
|
||||||
|
public String fndthEduPrcsMngReg(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, ModelMap model
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) return s_oprtnLoginCheckNInfo;
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
|
||||||
|
return "oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수과정 등록
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngRegAjax.do")
|
||||||
|
public ModelAndView fndthEduPrcsMngRegAjax(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, ModelMap model
|
||||||
|
//, RedirectAttributes redirectAttributes
|
||||||
|
, HttpServletRequest request
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
|
||||||
|
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
|
||||||
|
if (!"".equals(s_oprtnLoginCheckNInfo)) {
|
||||||
|
modelAndView.addObject("result", "loginFail");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
String prcsOrd = prcsGnrService.getNextStringId(); // 고유ID
|
||||||
|
vEPrcsDetailVO.setPrcsOrd(prcsOrd);
|
||||||
|
vEPrcsDetailVO.setLctrDivCd("40");
|
||||||
|
vEPrcsDetailVO.setUseYn("Y");
|
||||||
|
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||||
|
vEPrcsService.insert(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
|
||||||
|
//세부과정 생성하기
|
||||||
|
String[] s_detailPrcsNm = request.getParameterValues("detailPrcsNm");
|
||||||
|
for (int i=0;i<s_detailPrcsNm.length;i++) {
|
||||||
|
String prcsOnlnOrd = prcsOnlnGnrService.getNextStringId(); // 고유ID
|
||||||
|
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
|
||||||
|
vEPrcsCntntVO.setPrcsOrd(prcsOrd);
|
||||||
|
vEPrcsCntntVO.setPrcsOnlnCntntOrd(prcsOnlnOrd);
|
||||||
|
// vEPrcsCntntVO.setPrcsNm(s_detailPrcsNm[i]);
|
||||||
|
vEPrcsCntntVO.setDetailPrcsNm(s_detailPrcsNm[i]);
|
||||||
|
vEPrcsCntntVO.setChasi(String.valueOf(i+1));
|
||||||
|
vEPrcsCntntVO.setUseYn("Y");
|
||||||
|
vEPrcsCntntVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
|
||||||
|
vEPrcsOnlnCntntService.insert(vEPrcsCntntVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// private function
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step1 - 페이징 기본 정보 설정
|
||||||
|
private PaginationInfo setPagingStep1(
|
||||||
|
VEPrcsDetailVO p_vEPrcsDetailVO
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step1
|
||||||
|
PaginationInfo paginationInfo = new PaginationInfo();
|
||||||
|
paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex());
|
||||||
|
paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit());
|
||||||
|
paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize());
|
||||||
|
|
||||||
|
return paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화
|
||||||
|
private VEPrcsDetailVO setPagingStep2(
|
||||||
|
VEPrcsDetailVO p_vEPrcsDetailVO
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step2
|
||||||
|
p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex());
|
||||||
|
p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex());
|
||||||
|
p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
|
if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
|
p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord");
|
||||||
|
p_vEPrcsDetailVO.setSearchSortOrd("desc");
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_vEPrcsDetailVO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기
|
||||||
|
private PaginationInfo setPagingStep3(
|
||||||
|
List<VEPrcsDetailVO> p_vEPrcsDetailVOList
|
||||||
|
|
||||||
|
, PaginationInfo p_paginationInfo
|
||||||
|
)throws Exception{
|
||||||
|
// pageing step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt();
|
||||||
|
p_paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
return p_paginationInfo;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<!-- 로그인 로그 등록 -->
|
<!-- 로그인 로그 등록 -->
|
||||||
<insert id="LoginLogDAO.logInsertLoginLog" parameterClass="loginLog">
|
<insert id="LoginLogDAO.logInsertLoginLog" parameterClass="loginLog">
|
||||||
|
/* LoginLogDAO.logInsertLoginLog */
|
||||||
INSERT INTO LETTNLOGINLOG
|
INSERT INTO LETTNLOGINLOG
|
||||||
( LOG_ID
|
( LOG_ID
|
||||||
, CONECT_MTHD
|
, CONECT_MTHD
|
||||||
@ -191,6 +191,7 @@
|
|||||||
<!-- 관리자 로그 등록 -->
|
<!-- 관리자 로그 등록 -->
|
||||||
<insert id="LoginLogDAO.logInsertAdminLoginLog" parameterClass="loginLog">
|
<insert id="LoginLogDAO.logInsertAdminLoginLog" parameterClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
|
/* LoginLogDAO.logInsertAdminLoginLog */
|
||||||
INSERT INTO LETTNLOGINLOG
|
INSERT INTO LETTNLOGINLOG
|
||||||
( LOG_ID
|
( LOG_ID
|
||||||
, CONECT_MTHD
|
, CONECT_MTHD
|
||||||
@ -311,7 +312,8 @@
|
|||||||
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.method_cd as dateType
|
||||||
FROM LETTNADMINMETHOD A
|
FROM LETTNADMINMETHOD A
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<isNotEmpty property="searchKeyword">
|
<isNotEmpty property="searchKeyword">
|
||||||
@ -346,7 +348,8 @@
|
|||||||
A.MENU_NM AS menuNm,
|
A.MENU_NM AS menuNm,
|
||||||
A.APPRO_NM AS approNm,
|
A.APPRO_NM AS approNm,
|
||||||
A.PARAM AS param,
|
A.PARAM AS param,
|
||||||
A.PRIVACY AS privacy
|
A.PRIVACY AS privacy,
|
||||||
|
A.method_cd AS dateType
|
||||||
FROM LETTNADMINMETHOD A
|
FROM LETTNADMINMETHOD A
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
<isNotEmpty property="admotId">
|
<isNotEmpty property="admotId">
|
||||||
@ -413,6 +416,7 @@
|
|||||||
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
|
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
|
||||||
<insert id="LoginLogDAO.logInsertWebLoginLog" parameterClass="loginLog">
|
<insert id="LoginLogDAO.logInsertWebLoginLog" parameterClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
|
/* LoginLogDAO.logInsertWebLoginLog */
|
||||||
INSERT INTO LETTNLOGINLOG
|
INSERT INTO LETTNLOGINLOG
|
||||||
( LOG_ID
|
( LOG_ID
|
||||||
, CONECT_ID
|
, CONECT_ID
|
||||||
@ -446,6 +450,7 @@
|
|||||||
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1" parameterClass="loginLog">
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1" parameterClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
/* 2023-06-20일 저장확인을 위해 update 추가함*/
|
/* 2023-06-20일 저장확인을 위해 update 추가함*/
|
||||||
|
/* LoginLogDAO.logInsertWebLoginLogNewStep1 */
|
||||||
INSERT INTO LETTNLOGINLOG
|
INSERT INTO LETTNLOGINLOG
|
||||||
( LOG_ID
|
( LOG_ID
|
||||||
, CONECT_ID
|
, CONECT_ID
|
||||||
@ -479,6 +484,7 @@
|
|||||||
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2" parameterClass="loginLog">
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep2" parameterClass="loginLog">
|
||||||
/* 임시.*NOT_SQL_LOG.* */
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
/* 2023-06-20일 저장확인을 위해 update 추가함*/
|
/* 2023-06-20일 저장확인을 위해 update 추가함*/
|
||||||
|
/* LoginLogDAO.logInsertWebLoginLogNewStep2 */
|
||||||
INSERT INTO LETTNLOGINLOG
|
INSERT INTO LETTNLOGINLOG
|
||||||
( LOG_ID
|
( LOG_ID
|
||||||
, CONECT_ID
|
, CONECT_ID
|
||||||
@ -503,6 +509,92 @@
|
|||||||
, NOW()
|
, NOW()
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- 사용자 접속 로그 등록(매뉴에 등록된 페이지만 )-->
|
||||||
|
<update id="LoginLogDAO.logInsertWebLoginLogNewStep1_bak" parameterClass="loginLog">
|
||||||
|
/* 임시.*NOT_SQL_LOG.* */
|
||||||
|
/* 2023-06-20일 저장확인을 위해 update 추가함*/
|
||||||
|
/* LoginLogDAO.logInsertWebLoginLogNewStep1_bak */
|
||||||
|
INSERT INTO LETTNLOGINLOG_BAK
|
||||||
|
( 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_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
|
||||||
|
MAX(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.* */
|
||||||
|
|||||||
@ -259,7 +259,8 @@
|
|||||||
creat_dt,
|
creat_dt,
|
||||||
menu_nm,
|
menu_nm,
|
||||||
appro_nm,
|
appro_nm,
|
||||||
privacy
|
privacy,
|
||||||
|
method_cd /* A or U */
|
||||||
)
|
)
|
||||||
|
|
||||||
SELECT
|
SELECT
|
||||||
@ -270,7 +271,40 @@
|
|||||||
, #trgetMenuNm#
|
, #trgetMenuNm#
|
||||||
, #url#
|
, #url#
|
||||||
, 'N'
|
, 'N'
|
||||||
|
, 'A'
|
||||||
FROM LETTNADMINMETHOD
|
FROM LETTNADMINMETHOD
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<!-- 시스템 관리자 로그 등록(LETTNADMINMETHOD 테이블에 등록된 것만 insert) 2023-07-11이후 -->
|
||||||
|
<update id="SysLogDAO.logInsertAdminSysLogNewStep1_bak" parameterClass="sysLog">
|
||||||
|
/* SysLogDAO.logInsertAdminSysLogNewStep1_bak */
|
||||||
|
INSERT INTO LETTNADMINLOG_BAK
|
||||||
|
( 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#
|
||||||
|
<isNotEmpty prepend="AND" property="param">
|
||||||
|
PARAM = #param#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty prepend="AND" property="param">
|
||||||
|
PARAM = 'N'
|
||||||
|
</isEmpty>
|
||||||
|
LIMIT 1
|
||||||
|
</update>
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
||||||
|
|||||||
@ -51,6 +51,8 @@
|
|||||||
|
|
||||||
<pattern>*/oprtn/cpyrgExprnClsrm/*</pattern> <!-- 저작권 체험교실 화면 -->
|
<pattern>*/oprtn/cpyrgExprnClsrm/*</pattern> <!-- 저작권 체험교실 화면 -->
|
||||||
<pattern>*/oprtn/otsdCprtnPrcs/*</pattern> <!-- 교육콘텐츠 화면 -->
|
<pattern>*/oprtn/otsdCprtnPrcs/*</pattern> <!-- 교육콘텐츠 화면 -->
|
||||||
|
<pattern>*/oprtn/fndthEnhanceTrn/*</pattern> <!-- 기반강화연수 화면 -->
|
||||||
|
<pattern>*/oprtn/cndtnSspnIdtmt/*</pattern> <!-- 조건부기소유예 화면 -->
|
||||||
<pattern>*/oprtn/stts/sttsEduCnt.jsp </pattern> <!-- 체험교실, 콘텐츠 통계 화면 -->
|
<pattern>*/oprtn/stts/sttsEduCnt.jsp </pattern> <!-- 체험교실, 콘텐츠 통계 화면 -->
|
||||||
<pattern>*/oprtn/stts/sttsEduContentCnt.jsp </pattern> <!-- 교육콘텐츠, 월별 교육과정 통계 화면 -->
|
<pattern>*/oprtn/stts/sttsEduContentCnt.jsp </pattern> <!-- 교육콘텐츠, 월별 교육과정 통계 화면 -->
|
||||||
|
|
||||||
|
|||||||
@ -0,0 +1,288 @@
|
|||||||
|
<!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"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : cndtnEduPrcsMngList.jsp
|
||||||
|
* @Description : 조건부 기소유예 과정관리 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2021.12.14
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoDetail(prcsOrd){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.prcsOrd.value = prcsOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDetail.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncCreate() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngReg.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelete(prcsOrd){
|
||||||
|
document.listForm.prcsOrd.value = prcsOrd ;
|
||||||
|
|
||||||
|
var pageIndex = document.listForm.pageIndex.value;
|
||||||
|
if($(".listCount").length == '1'){
|
||||||
|
pageIndex = pageIndex -1;
|
||||||
|
}
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDeleteAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
linkPage(pageIndex);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSaveSort(prcsOrd, count){
|
||||||
|
|
||||||
|
var sortNo = $('#prcsSortNo'+count).val();
|
||||||
|
|
||||||
|
if(sortNo == ''){
|
||||||
|
|
||||||
|
alert("표시순서를 입력해 주세요.");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#prcsOrd').val(prcsOrd);
|
||||||
|
$('#prcsSortNo').val(sortNo);
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||||
|
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육 과정 관리</p>
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>이름</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<kc:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${vEPrcsDetailVO.prcsDiv}"/>
|
||||||
|
|
||||||
|
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '01')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind01">신규</label>
|
||||||
|
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '02')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind012">갱신</label>
|
||||||
|
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '03')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind0123">의무</label>
|
||||||
|
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>">
|
||||||
|
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list_top -->
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
<%-- <div>
|
||||||
|
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
|
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div> --%>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: auto">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>구분</th>
|
||||||
|
<th>구분</th>
|
||||||
|
<th>과정명</th>
|
||||||
|
<th>표시순서</th>
|
||||||
|
<th>차시수</th>
|
||||||
|
<th>삭제</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<tr class="listCount">
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<kc:code codeId="VE0015" code="${list.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '01')}">신규</c:if>
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '02')}">갱신</c:if>
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '03')}">의무</c:if>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value='${list.prcsNm}'/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" id="prcsSortNo${status.count}" name="prcsSortNo${status.count}" value="<c:out value='${list.prcsSortNo}'/>" style="width:50px;" maxLength="3"/>
|
||||||
|
<button type="button" class="btn_type01" onclick="fncSaveSort('<c:out value="${list.prcsOrd}"/>', '<c:out value="${status.count}"/>'); return false;">저장</button>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value='${list.cnt}'/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button class="btnType02" onclick="fncDelete('<c:out value='${list.prcsOrd}'/>'); return false;" >삭제</button>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="4"><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> --%>
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,288 @@
|
|||||||
|
<!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"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||||
|
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsMngList.jsp
|
||||||
|
* @Description : 기반강화연수 과정관리 목록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.14 조용준 최초 생성
|
||||||
|
* @author 조용준
|
||||||
|
* @since 2021.12.14
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<style>
|
||||||
|
input:read-only{
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.pageIndex.value = pageNo ;
|
||||||
|
listForm.searchKeyword.value = $('#searchKeyword').val();
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncGoDetail(prcsOrd){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.prcsOrd.value = prcsOrd ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDetail.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncCreate() {
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelete(prcsOrd){
|
||||||
|
document.listForm.prcsOrd.value = prcsOrd ;
|
||||||
|
|
||||||
|
var pageIndex = document.listForm.pageIndex.value;
|
||||||
|
if($(".listCount").length == '1'){
|
||||||
|
pageIndex = pageIndex -1;
|
||||||
|
}
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
if(confirm("삭제하시겠습니까?")){
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsMngDeleteAjax.do'/>";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("삭제되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
linkPage(pageIndex);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
event.stopImmediatePropagation();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSaveSort(prcsOrd, count){
|
||||||
|
|
||||||
|
var sortNo = $('#prcsSortNo'+count).val();
|
||||||
|
|
||||||
|
if(sortNo == ''){
|
||||||
|
|
||||||
|
alert("표시순서를 입력해 주세요.");
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#prcsOrd').val(prcsOrd);
|
||||||
|
$('#prcsSortNo').val(sortNo);
|
||||||
|
var data = new FormData(document.getElementById("listForm"));
|
||||||
|
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
|
||||||
|
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
|
||||||
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
|
||||||
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
|
||||||
|
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
|
||||||
|
|
||||||
|
<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">
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육 과정 관리</p>
|
||||||
|
</div>
|
||||||
|
<!-- list_top -->
|
||||||
|
<div class="list_top">
|
||||||
|
<div class="list_top_1">
|
||||||
|
<div class="util_left">
|
||||||
|
<p>이름</p>
|
||||||
|
</div>
|
||||||
|
<div class="util_right">
|
||||||
|
<kc:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${vEPrcsDetailVO.prcsDiv}"/>
|
||||||
|
|
||||||
|
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '01')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind01">신규</label>
|
||||||
|
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '02')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind012">갱신</label>
|
||||||
|
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(vEPrcsDetailVO.prcsKind, '03')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind0123">의무</label>
|
||||||
|
|
||||||
|
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>">
|
||||||
|
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list_top -->
|
||||||
|
<!-- list util -->
|
||||||
|
<div class="list_util">
|
||||||
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
|
<%-- <div>
|
||||||
|
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
|
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEEduAplctVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
|
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||||
|
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||||
|
</select>
|
||||||
|
</div> --%>
|
||||||
|
</div>
|
||||||
|
<!-- //list_top -->
|
||||||
|
|
||||||
|
<!-- list -->
|
||||||
|
<div class="tb_type01">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: auto">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
<col style="width: 10%">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>구분</th>
|
||||||
|
<th>구분</th>
|
||||||
|
<th>과정명</th>
|
||||||
|
<th>표시순서</th>
|
||||||
|
<th>차시수</th>
|
||||||
|
<th>삭제</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<c:forEach var="list" items="${list}" varStatus="status">
|
||||||
|
<tr class="listCount">
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<kc:code codeId="VE0015" code="${list.prcsDiv}"/>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '01')}">신규</c:if>
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '02')}">갱신</c:if>
|
||||||
|
<c:if test="${fn:contains(list.prcsKind, '03')}">의무</c:if>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value='${list.prcsNm}'/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<input type="text" id="prcsSortNo${status.count}" name="prcsSortNo${status.count}" value="<c:out value='${list.prcsSortNo}'/>" style="width:50px;" maxLength="3"/>
|
||||||
|
<button type="button" class="btn_type01" onclick="fncSaveSort('<c:out value="${list.prcsOrd}"/>', '<c:out value="${status.count}"/>'); return false;">저장</button>
|
||||||
|
</td>
|
||||||
|
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
|
||||||
|
<c:out value='${list.cnt}'/>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<button class="btnType02" onclick="fncDelete('<c:out value='${list.prcsOrd}'/>'); return false;" >삭제</button>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</c:forEach>
|
||||||
|
<c:if test="${empty list}">
|
||||||
|
<tr><td colspan="4"><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> --%>
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //page -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- //cont -->
|
||||||
|
<!-- //cont -->
|
||||||
|
|
||||||
|
</form:form>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -0,0 +1,240 @@
|
|||||||
|
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||||
|
<%
|
||||||
|
/**
|
||||||
|
* @Class Name : fndthEduPrcsMngReg.jsp
|
||||||
|
* @Description : 기반강화연수 과정 등록
|
||||||
|
* @Modification Information
|
||||||
|
* @
|
||||||
|
* @ 수정일 수정자 수정내용
|
||||||
|
* @ ------- -------- ---------------------------
|
||||||
|
* @ 2021.12.16 조용준 최초 생성
|
||||||
|
* @author 조용주
|
||||||
|
* @since 2021.12.16
|
||||||
|
* @version 1.0
|
||||||
|
* @see
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
<html lang="ko">
|
||||||
|
<head>
|
||||||
|
<title>교육과정관리</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<script type="text/javascript">
|
||||||
|
//세부과정 추가 버튼 클릭 시 세부과정 추가
|
||||||
|
function addPro() {
|
||||||
|
var addQuest = $(".addPro_wrap");
|
||||||
|
var questLen = addQuest.children("div").length;
|
||||||
|
questLen = Number(questLen+1);
|
||||||
|
var trHtml="";
|
||||||
|
|
||||||
|
trHtml += '<div class="tbody_one">';
|
||||||
|
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
|
||||||
|
trHtml += '<div>';
|
||||||
|
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
|
||||||
|
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
trHtml += '</div>';
|
||||||
|
|
||||||
|
addQuest.append(trHtml);
|
||||||
|
}
|
||||||
|
|
||||||
|
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
|
||||||
|
function delPro(item) {
|
||||||
|
var bodyThis = $(item).closest('.tbody_one');
|
||||||
|
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
|
||||||
|
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
|
||||||
|
var idx = bodyThis.index();
|
||||||
|
|
||||||
|
if(len == 1){
|
||||||
|
alert("세부과정은 최소1개가 존재해야합니다.");
|
||||||
|
return false;
|
||||||
|
}else{
|
||||||
|
bodyThis.remove();
|
||||||
|
|
||||||
|
for(var i=0;i<len;i++){
|
||||||
|
if(idx>i){
|
||||||
|
tb.eq(i).find('.span_num3').text(i+1);
|
||||||
|
}else{
|
||||||
|
tb.eq(i).find('.span_num3').text(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function fncAddUser(){
|
||||||
|
var obj = $(".memList:first").clone(true);
|
||||||
|
obj.children('input').val('')
|
||||||
|
/*
|
||||||
|
var len = $(".memList").length;
|
||||||
|
$.each(obj.find("input"), function(idx, objInput){
|
||||||
|
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
|
||||||
|
console.log(objInput.name);
|
||||||
|
if(objInput.name.indexOf("memGrade") < 0){
|
||||||
|
objInput.value = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
|
||||||
|
obj.find("tr:last > td").text("");
|
||||||
|
*/
|
||||||
|
$(".memList:last").after(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncDelUser(obj){
|
||||||
|
if($(".memList").length <= 1){
|
||||||
|
alert("담당자은 최소1개가 존재해야합니다.");
|
||||||
|
}else{
|
||||||
|
$(obj).closest("td").remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncSave(){
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("createForm"));
|
||||||
|
if(confirm("저장하시겠습니까?")){
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngRegAjax.do";
|
||||||
|
console.log(data);
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncGoList(){
|
||||||
|
var listForm = document.listForm ;
|
||||||
|
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>";
|
||||||
|
listForm.submit();
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
|
||||||
|
</form:form>
|
||||||
|
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
|
||||||
|
<!-- cont -->
|
||||||
|
<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>
|
||||||
|
<li><span class="cur_nav">교육 과정 등록</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- //cont_tit -->
|
||||||
|
|
||||||
|
<div class="cont">
|
||||||
|
<!-- list_상세 -->
|
||||||
|
<div class="tb_tit01">
|
||||||
|
<p>교육과정관리</p>
|
||||||
|
</div>
|
||||||
|
<div class="tb_type02">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 210px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">구분</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">종류</th>
|
||||||
|
<td>
|
||||||
|
|
||||||
|
<input type="checkbox" id="prcsKind01" name="prcsKind" value="01" <c:if test="${fn:contains(info.prcsKind, '01')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind01">신규</label>
|
||||||
|
<input type="checkbox" id="prcsKind012" name="prcsKind" value="02" <c:if test="${fn:contains(info.prcsKind, '02')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind012">갱신</label>
|
||||||
|
<input type="checkbox" id="prcsKind0123" name="prcsKind" value="03" <c:if test="${fn:contains(info.prcsKind, '03')}">checked="checked"</c:if>>
|
||||||
|
<label class="" for="prcsKind0123">의무</label>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">과정명</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" placeholder="과정명을 입력해주세요." name="prcsNm" id="prcsNm" value="<c:out value='${info.prcsNm}'/>" style="width: 56%;">
|
||||||
|
<button type="button" class="btn_type06" onclick="addPro(); return false;">세부과정 추가</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">세부과정</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<div class="tbody_one">
|
||||||
|
<span><span class="span_num3">1</span>.</span>
|
||||||
|
<div>
|
||||||
|
<input type="text" name="detailPrcsNm" id="detailPrcsNm" value="${info.detailPrcsNm}">
|
||||||
|
<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">표시순서</th>
|
||||||
|
<td class="addPro_wrap">
|
||||||
|
<input type="text" name="prcsSortNo" id="prcsSortNo" value="${info.prcsSortNo}" style="width:50px;" maxLength="3">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!-- //list_상세 -->
|
||||||
|
|
||||||
|
<!-- btn_wrap -->
|
||||||
|
<div class="btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
|
||||||
|
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form:form>
|
||||||
|
<!-- //cont -->
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -199,10 +199,10 @@ function fnCheckAll(){
|
|||||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||||
<div>
|
<div>
|
||||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
<select class="sel_type1" 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='10' <c:if test="${searchVO.pageUnit == '10'}">selected</c:if>>10줄</option>
|
||||||
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</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='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>
|
<option value='100' <c:if test="${searchVO.pageUnit == '100' or searchVO.pageUnit == ''}">selected</c:if>>100줄</option>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<!--
|
<!--
|
||||||
@ -232,7 +232,7 @@ function fnCheckAll(){
|
|||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th><input type="checkbox" id="checkAll" onclick="javascript:fnCheckAll();"><label for="checkAll"></label></th>
|
<!-- <th><input type="checkbox" id="checkAll" onclick="javascript:fnCheckAll();"><label for="checkAll"></label></th> -->
|
||||||
<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>
|
||||||
@ -240,15 +240,18 @@ 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>사용자구분<input type="button" class="sortBtn sort" id="sort_method_cd"></th>
|
||||||
<th>관리</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>
|
<td>
|
||||||
<input name="del" id="del" type="checkbox" value="${result.admotId}" />
|
<input name="del" id="del" type="checkbox" value="${result.admotId}" />
|
||||||
</td>
|
</td>
|
||||||
|
-->
|
||||||
<td>
|
<td>
|
||||||
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
<c:if test="${searchVO.searchSortOrd eq 'desc' }">
|
||||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||||
@ -263,6 +266,7 @@ function fnCheckAll(){
|
|||||||
<td><c:out value="${result.param}"/></td>
|
<td><c:out value="${result.param}"/></td>
|
||||||
<td><c:out value="${result.privacy}"/></td>
|
<td><c:out value="${result.privacy}"/></td>
|
||||||
<td><c:out value="${result.creatDt}"/></td>
|
<td><c:out value="${result.creatDt}"/></td>
|
||||||
|
<td><c:out value="${result.dateType}"/></td>
|
||||||
<td>
|
<td>
|
||||||
<input type="button" value="수정" class="btnType1" onclick="fn_modify('${result.admotId}'); return false;">
|
<input type="button" value="수정" class="btnType1" onclick="fn_modify('${result.admotId}'); return false;">
|
||||||
</td>
|
</td>
|
||||||
@ -282,6 +286,7 @@ function fnCheckAll(){
|
|||||||
<!-- btn_wrap -->
|
<!-- btn_wrap -->
|
||||||
|
|
||||||
<!-- btn_wrap -->
|
<!-- btn_wrap -->
|
||||||
|
<!--
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="area_right">
|
<div class="area_right">
|
||||||
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
|
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
|
||||||
@ -290,6 +295,7 @@ function fnCheckAll(){
|
|||||||
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
|
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<!-- //btn_wrap -->
|
<!-- //btn_wrap -->
|
||||||
|
|
||||||
<!-- 페이지 네비게이션 시작 -->
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
|
|||||||
@ -268,11 +268,17 @@ function fn_delete() {
|
|||||||
<br><span class="cfText c_ed4555">N / Y *개인정보 포함 여부를 표시합니다.</span>
|
<br><span class="cfText c_ed4555">N / Y *개인정보 포함 여부를 표시합니다.</span>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th><span class="reqArea">사용자구분</span></th>
|
||||||
|
<td colspan="3">${loginLog.dateType}
|
||||||
|
<br><span class="cfText c_ed4555">U(사용자) / A(관리자)</span>
|
||||||
|
</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">${loginLog.creatDt}
|
||||||
<input name="creatDt" value="${loginLog.creatDt}" title="creatDt" maxlength="100" readonly />
|
<%-- <input name="creatDt" value="${loginLog.creatDt}" title="creatDt" maxlength="100" readonly /> --%>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</c:if>
|
</c:if>
|
||||||
@ -298,6 +304,7 @@ function fn_delete() {
|
|||||||
<!-- btn_wrap -->
|
<!-- btn_wrap -->
|
||||||
|
|
||||||
<!-- btn_wrap -->
|
<!-- btn_wrap -->
|
||||||
|
<!--
|
||||||
<div class="btn_wrap btn_layout01">
|
<div class="btn_wrap btn_layout01">
|
||||||
<div class="area_right">
|
<div class="area_right">
|
||||||
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
|
<button type="button" class="btnType02" onclick="fncDeleteGroupPolicy(); return false;">삭제</button>
|
||||||
@ -306,6 +313,7 @@ function fn_delete() {
|
|||||||
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
|
<button type="button" class="btnType02" onclick="fncInsertLoginGroupPolicy(); return false;">등록</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<!-- //btn_wrap -->
|
<!-- //btn_wrap -->
|
||||||
|
|
||||||
<!-- 페이지 네비게이션 시작 -->
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
|
|||||||
@ -895,7 +895,7 @@ function set_bbs(){
|
|||||||
<span id="BBSNameSpan" style="color: blue"></span>
|
<span id="BBSNameSpan" style="color: blue"></span>
|
||||||
<span id="showUrl" style="display: none;" >
|
<span id="showUrl" style="display: none;" >
|
||||||
<br>
|
<br>
|
||||||
URL <input type="text" name="url" id="url"/>
|
URL <input type="text" name="url" id="url" size="90"/>
|
||||||
<input type="hidden" id="url_tmp" name="url_tmp"/>
|
<input type="hidden" id="url_tmp" name="url_tmp"/>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -34,7 +34,7 @@
|
|||||||
<!-- css -->
|
<!-- css -->
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/reset.css">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/reset.css">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/font.css">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/font.css">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/datapicker/default.css">
|
<link rel="stylesheet" href="/offedu/visitEdu/usr/datapicker/default.css">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/common.css">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/common.css">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/content.css">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/content.css">
|
||||||
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/popup.css">
|
<link rel="stylesheet" href="${pageContext.request.contextPath}/visitEdu/usr/publish/css/popup.css">
|
||||||
@ -60,25 +60,12 @@
|
|||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery.bxslider.js"></script>
|
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/jquery.bxslider.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/swiper.min.js"></script>
|
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/swiper.min.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/main.js"></script>
|
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/main.js"></script>
|
||||||
<script type="module" src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.esm.js"></script>
|
<script type="module" src="/offedu/visitEdu/usr/datapicker/duet.esm.js"></script>
|
||||||
<script nomodule src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.js"></script>
|
<script nomodule src="/offedu/visitEdu/usr/datapicker/duet.js"></script>
|
||||||
<script src="${pageContext.request.contextPath}/visitEdu/usr/datapicker/duet.system.js"></script>
|
<script src="/offedu/visitEdu/usr/datapicker/duet.system.js"></script>
|
||||||
|
|
||||||
<!--
|
|
||||||
contextpath sessionStorage에 저장
|
|
||||||
20230705 이호영
|
|
||||||
-->
|
|
||||||
<script type="text/javascript" charset="utf-8">
|
|
||||||
sessionStorage.setItem("contextpath", "${pageContext.request.contextPath}");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 찾교 공통 종료-->
|
<!-- 찾교 공통 종료-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- 찾교 기존 공통 시작-->
|
<!-- 찾교 기존 공통 시작-->
|
||||||
<!-- <link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
|
<!-- <link rel="stylesheet" href="/kccadrPb/usr/css/reset.css">
|
||||||
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
|
<link rel="stylesheet" href="/kccadrPb/usr/css/font.css">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user