2025-11-13 14:21 종료된 강의 목록

This commit is contained in:
myname 2025-11-13 14:21:20 +09:00
parent bb393667c0
commit f9932ed489
5 changed files with 1315 additions and 9 deletions

View File

@ -2,6 +2,7 @@ package kcc.let.my.web;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -23,12 +24,10 @@ import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
@ -111,6 +110,77 @@ public class MyPageController {
vEPrcsDetailVOList.stream().forEach(t->{
t.setDateChk(this.dateChk(t, currentDate));
});
Map<String, Object> countMap = new HashMap<>();
vEPrcsDetailVO.setSearchStatus("Completed");
List<VEPrcsDetailVO> vEPrcsDetailVOListCnt = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
countMap.put("COUNT_END_CD", vEPrcsDetailVOListCnt.size());
vEPrcsDetailVO.setSearchStatus("InClass");
vEPrcsDetailVOListCnt = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
countMap.put("COUNT_APRVL_CD_20", vEPrcsDetailVOListCnt.size());
vEPrcsDetailVO.setSearchStatus("Aplct");
vEPrcsDetailVOListCnt = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
countMap.put("COUNT_APRVL_CD_10", vEPrcsDetailVOListCnt.size());
//vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
//Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("countMap", countMap);
return "web/my/myPageDashBoard";
}
/**
* 신청중 강의 리스트
* @param request
* @param vEPrcsDetailVO
* @param model
* @param boardVO
* @param redirectAttributes
* @return
* @throws Exception
*/
@RequestMapping(value = { "/web/my/myPageAplctDashBoard.do" })
public String myPageAplctDashBoard(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO,
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//1.pageing step1
//5개만 select을 위한 설정
vEPrcsDetailVO.setPageUnit(5);
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now();
// 날짜비교
vEPrcsDetailVOList.stream().forEach(t->{
t.setDateChk(this.dateChk(t, currentDate));
});
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
@ -119,9 +189,112 @@ public class MyPageController {
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("countMap", countMap);
return "web/my/myPageDashBoard";
return "web/my/myPageAplctDashBoard";
}
/**
* 수강중 강의 리스트
* @param request
* @param vEPrcsDetailVO
* @param model
* @param boardVO
* @param redirectAttributes
* @return
* @throws Exception
*/
@RequestMapping(value = { "/web/my/myPageInClassDashBoard.do" })
public String myPageInClassDashBoard(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO,
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//1.pageing step1
//5개만 select을 위한 설정
vEPrcsDetailVO.setPageUnit(5);
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now();
// 날짜비교
vEPrcsDetailVOList.stream().forEach(t->{
t.setDateChk(this.dateChk(t, currentDate));
});
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("countMap", countMap);
return "web/my/myPageInClassDashBoard";
}
/**
* 완료된 강의 리스트
* @param request
* @param vEPrcsDetailVO
* @param model
* @param boardVO
* @param redirectAttributes
* @return
* @throws Exception
*/
@RequestMapping(value = { "/web/my/myPageCompletedDashBoard.do" })
public String myPageCompletedDashBoard(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO,
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
if (loginVO == null || ssoLoginVO == null) {
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
}
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//1.pageing step1
//5개만 select을 위한 설정
vEPrcsDetailVO.setPageUnit(5);
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
vEPrcsDetailVO.setSearchStatus("Completed");
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
// 현재 날짜를 가져옵니다.
LocalDate currentDate = LocalDate.now();
// 날짜비교
vEPrcsDetailVOList.stream().forEach(t->{
t.setDateChk(this.dateChk(t, currentDate));
});
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
// 리스트 row마다 신청 확인하기
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
model.addAttribute("countMap", countMap);
return "web/my/myPageCompletedDashBoard";
}
@RequestMapping(value = { "/web/my/myQnaMngList.do" })
public String myQnaMngList(
HttpServletRequest request

View File

@ -1991,7 +1991,7 @@
) I30 ON
(1 = 1)
where
where
a.user_id = #userId#
<isNotEmpty property="searchStartDt">
@ -2003,10 +2003,10 @@
</isNotEmpty>
<isEqual property="searchStatus" compareValue="5"> /*VEA003 미이수 : 수강중 강의*/
AND vadi.aplct_state_cd = '10'
</isEqual>
</isEqual>
<isEqual property="searchStatus" compareValue="30"> /*취소 : 취소*/
AND vadi.aplct_state_cd = #searchStatus#
</isEqual>
</isEqual>
<isEqual property="searchStatus" compareValue="20"> /*이수완료 : 종료 강의*/
AND vadi.aplct_state_cd is not null
AND a.aprvl_cd = #searchStatus#
@ -2014,11 +2014,26 @@
<isEqual property="searchStatus" compareValue="15"> /*수강중 강의*/
AND vadi.aplct_state_cd is null
AND a.aprvl_cd = '20'
</isEqual>
</isEqual>
<isEqual property="searchStatus" compareValue="10"> /*요청 : 요청 강의*/
AND a.aprvl_cd = #searchStatus#
</isEqual>
</isEqual>
<isEqual property="searchStatus" compareValue="Completed"> /*요청 : 완료된 강의*/
AND a.APRVL_CD ='60'
AND to_char(now(), 'YYYY.MM.DD') > vpap.edu_strt_pnttm
</isEqual>
<isEqual property="searchStatus" compareValue="InClass"> /*요청 : 수강중 강의*/
AND a.APRVL_CD ='60'
AND vpap.edu_strt_pnttm >= to_char(now(), 'YYYY.MM.DD')
</isEqual>
<isEqual property="searchStatus" compareValue="Aplct"> /*요청 : 수강중 강의*/
AND a.APRVL_CD IN('10', '20')
AND vpap.edu_strt_pnttm >= to_char(now(), 'YYYY.MM.DD')
</isEqual>
ORDER BY vpap.edu_strt_pnttm desc
<!-- LIMIT #recordCountPerPage# OFFSET #firstIndex# -->

View File

@ -0,0 +1,372 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ 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"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function goWrite(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd, lctrDivCd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
if(lctrDivCd == '60'){
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '70'){
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '80'){
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
}
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
//FAQ 답변 open&close
function faqOpen(item) {
if($(item).is(".slide_open") == true) {
$(item).removeClass("slide_open");
$(item).next(".answer").slideUp(300);
$(item).attr("title","답변 열기");
} else {
$(item).addClass("slide_open");
$(item).next(".answer").slideDown(300);
$(item).attr("title","답변 닫기");
$(item).closest("li").siblings("li").children(".question").removeClass("slide_open");
$(item).closest("li").siblings("li").children(".answer").slideUp(300);
$(item).closest("li").siblings("li").children(".question").attr("title","답변 열기");
}
}
function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_goListForm(data){
var form = document.goListForm ;
form.searchStatus.value = data ;
form.submit();
}
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
//이수증 출력
function fncPrintCert(
prcsAplctPrdOrd //aplctOrd
, eduAplctOrd
){
paramObj = {
"prcsAplctPrdOrd" : prcsAplctPrdOrd
, "eduAplctOrd" : eduAplctOrd
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/certPopList.do"
, 800
, 870
, paramObj
, "Y"
, "QustnrList"
);
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>교육현황</h2>
</div>
<ul class="edu_process">
<%-- <li class="edu_apply" style="cursor: pointer;" onclick="fn_goListForm(10)" onkeypress="if(event.keyCode == 13){fn_goListForm(10)}" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li> --%>
<li class="edu_apply" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>
<%-- <li class="edu_register" style="cursor: pointer;" onclick="fn_goListForm(15)" onkeypress="if(event.keyCode == 13){fn_goListForm(15)}" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li> --%>
<li class="edu_register" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li>
<%-- <li class="edu_close" style="cursor: pointer;" onclick="fn_goListForm(20)" onkeypress="if(event.keyCode == 13){fn_goListForm(20)}" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li> --%>
<li class="edu_close" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li>
</ul>
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">교육 신청 목록</div>
</div>
<div class="btn_wrap1">
<%-- <button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button> --%>
</div>
</div>
<div class="tb_list02">
<table>
<caption>교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공</caption>
<colgroup>
<col style="width:30%;">
<col style="width:30%;">
<col style="width:;">
<col style="width:13%;">
<col style="width:10%;">
<col style="width:10%;">
</colgroup>
<thead>
<tr>
<th scope="col">구분</th>
<th scope="col">교육과정</th>
<th scope="col">교육일자</th>
<th scope="col">신청결과</th>
<th scope="col">설문조사</th>
<th scope="col">이수증</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:if test="${list.aprvlCd eq '60' and not empty list.aplctStateCd}">
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
</c:if>
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq 60 and list.qestRsltExists}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<!-- 설문노출대상(확정처리를 받았음(60) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose>
<c:when test="${list.qestnrId10Cnt gt 0}">
<!-- 작성된 설문이 있다 -->
<button type="button" class="btnType02" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문완료</button>
</c:when>
<c:when test="${empty list.qestnrId10 and list.aprvlCd eq 20}">
<!-- 대상 설문이 없다 -->
대상설문없음
</c:when>
<c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}">
<!-- 작성된 설문이 없다 -->
<button type="button" class="btnType01 btn line small mint" data-tooltip="sub37_pop20"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문등록</button>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<!-- 설문노출대상 아님 -->
-
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists and list.aprvlCd eq '60' and list.aplctStateCd eq '20' and list.qestnrId10Cnt gt 0}">
<!-- 교육 기간 종료 & 교육신청은 확정(60) & 교육상태는 이슈(20) & 설문이 완료된 경우만 수료증 출력 가능 -->
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncPrintCert('${list.prcsAplctPrdOrd}', '<c:out value="${list.eduAplctOrd}"/>')" title="출력">출력</button>
</c:when>
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}">
교육완료
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
</form:form>
</div>
<form id="qnaForm" name="qnaForm" method="post">
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap q_pop">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육문의하기</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01 tb_input" style="overflow:visible;">
<table>
<caption>교육문의 - 문의내용 입력</caption>
<thead>
<tr>
<th scope="col">문의내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<label for="qnaCn" class="label">교육문의 작성하기</label>
<textarea type="text" id="qnaCn" name="qnaCn" style="height: 220px;width: 100%;" title="교육문의 작성"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_qnaReg()">문의</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 팝업을 위한 mask -->
<div class="mask"></div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
</form>

View File

@ -0,0 +1,374 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ 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"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function goWrite(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd, lctrDivCd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
if(lctrDivCd == '60'){
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '70'){
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '80'){
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
}
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
//FAQ 답변 open&close
function faqOpen(item) {
if($(item).is(".slide_open") == true) {
$(item).removeClass("slide_open");
$(item).next(".answer").slideUp(300);
$(item).attr("title","답변 열기");
} else {
$(item).addClass("slide_open");
$(item).next(".answer").slideDown(300);
$(item).attr("title","답변 닫기");
$(item).closest("li").siblings("li").children(".question").removeClass("slide_open");
$(item).closest("li").siblings("li").children(".answer").slideUp(300);
$(item).closest("li").siblings("li").children(".question").attr("title","답변 열기");
}
}
function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_goListForm(data){
var form = document.goListForm ;
form.searchStatus.value = data ;
form.submit();
}
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
//이수증 출력
function fncPrintCert(
prcsAplctPrdOrd //aplctOrd
, eduAplctOrd
){
paramObj = {
"prcsAplctPrdOrd" : prcsAplctPrdOrd
, "eduAplctOrd" : eduAplctOrd
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/certPopList.do"
, 800
, 870
, paramObj
, "Y"
, "QustnrList"
);
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>교육현황</h2>
</div>
<!--
<ul class="edu_process">
<%-- <li class="edu_apply" style="cursor: pointer;" onclick="fn_goListForm(10)" onkeypress="if(event.keyCode == 13){fn_goListForm(10)}" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li> --%>
<li class="edu_apply" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>
<%-- <li class="edu_register" style="cursor: pointer;" onclick="fn_goListForm(15)" onkeypress="if(event.keyCode == 13){fn_goListForm(15)}" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li> --%>
<li class="edu_register" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li>
<%-- <li class="edu_close" style="cursor: pointer;" onclick="fn_goListForm(20)" onkeypress="if(event.keyCode == 13){fn_goListForm(20)}" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li> --%>
<li class="edu_close" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li>
</ul>
-->
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">종료된 강의 목록</div>
</div>
<div class="btn_wrap1">
<%-- <button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button> --%>
</div>
</div>
<div class="tb_list02">
<table>
<caption>종료된 강의 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공</caption>
<colgroup>
<col style="width:30%;">
<col style="width:30%;">
<col style="width:;">
<col style="width:13%;">
<col style="width:10%;">
<col style="width:10%;">
</colgroup>
<thead>
<tr>
<th scope="col">구분</th>
<th scope="col">교육과정</th>
<th scope="col">교육일자</th>
<th scope="col">신청결과</th>
<th scope="col">설문조사</th>
<th scope="col">이수증</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:if test="${list.aprvlCd eq '60' and not empty list.aplctStateCd}">
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
</c:if>
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq 60 and list.qestRsltExists}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<!-- 설문노출대상(확정처리를 받았음(60) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose>
<c:when test="${list.qestnrId10Cnt gt 0}">
<!-- 작성된 설문이 있다 -->
<button type="button" class="btnType02" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문완료</button>
</c:when>
<c:when test="${empty list.qestnrId10 and list.aprvlCd eq 20}">
<!-- 대상 설문이 없다 -->
대상설문없음
</c:when>
<c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}">
<!-- 작성된 설문이 없다 -->
<button type="button" class="btnType01 btn line small mint" data-tooltip="sub37_pop20"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문등록</button>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<!-- 설문노출대상 아님 -->
-
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists and list.aprvlCd eq '60' and list.aplctStateCd eq '20' and list.qestnrId10Cnt gt 0}">
<!-- 교육 기간 종료 & 교육신청은 확정(60) & 교육상태는 이슈(20) & 설문이 완료된 경우만 수료증 출력 가능 -->
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncPrintCert('${list.prcsAplctPrdOrd}', '<c:out value="${list.eduAplctOrd}"/>')" title="출력">출력</button>
</c:when>
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}">
교육완료
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
</form:form>
</div>
<form id="qnaForm" name="qnaForm" method="post">
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap q_pop">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육문의하기</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01 tb_input" style="overflow:visible;">
<table>
<caption>교육문의 - 문의내용 입력</caption>
<thead>
<tr>
<th scope="col">문의내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<label for="qnaCn" class="label">교육문의 작성하기</label>
<textarea type="text" id="qnaCn" name="qnaCn" style="height: 220px;width: 100%;" title="교육문의 작성"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_qnaReg()">문의</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 팝업을 위한 mask -->
<div class="mask"></div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
</form>

View File

@ -0,0 +1,372 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ 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"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
listForm.submit();
}
function goWrite(){
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd, lctrDivCd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
if(lctrDivCd == '60'){
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '70'){
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
}else if(lctrDivCd == '80'){
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
}
viewForm.submit();
}
function fncGoList(){
linkPage(1);
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
$(this).val('');
});
}
//FAQ 답변 open&close
function faqOpen(item) {
if($(item).is(".slide_open") == true) {
$(item).removeClass("slide_open");
$(item).next(".answer").slideUp(300);
$(item).attr("title","답변 열기");
} else {
$(item).addClass("slide_open");
$(item).next(".answer").slideDown(300);
$(item).attr("title","답변 닫기");
$(item).closest("li").siblings("li").children(".question").removeClass("slide_open");
$(item).closest("li").siblings("li").children(".answer").slideUp(300);
$(item).closest("li").siblings("li").children(".question").attr("title","답변 열기");
}
}
function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_goListForm(data){
var form = document.goListForm ;
form.searchStatus.value = data ;
form.submit();
}
//설문 팝업
function fncQustnrList(
id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
, 800
, 700
, paramObj
, "Y"
, "QustnrList"
);
}
//이수증 출력
function fncPrintCert(
prcsAplctPrdOrd //aplctOrd
, eduAplctOrd
){
paramObj = {
"prcsAplctPrdOrd" : prcsAplctPrdOrd
, "eduAplctOrd" : eduAplctOrd
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/certPopList.do"
, 800
, 870
, paramObj
, "Y"
, "QustnrList"
);
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit">
<h2>교육현황</h2>
</div>
<ul class="edu_process">
<%-- <li class="edu_apply" style="cursor: pointer;" onclick="fn_goListForm(10)" onkeypress="if(event.keyCode == 13){fn_goListForm(10)}" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li> --%>
<li class="edu_apply" tabindex="0"><i></i><div class="text_area">신청중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_10'] ? '0' : countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div></li>
<%-- <li class="edu_register" style="cursor: pointer;" onclick="fn_goListForm(15)" onkeypress="if(event.keyCode == 13){fn_goListForm(15)}" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li> --%>
<li class="edu_register" tabindex="0"><i></i><div class="text_area">수강중 강의<p><span><c:out value="${empty countMap['COUNT_APRVL_CD_20'] ? '0' : countMap['COUNT_APRVL_CD_20']} " /></span>건</p></div></li>
<%-- <li class="edu_close" style="cursor: pointer;" onclick="fn_goListForm(20)" onkeypress="if(event.keyCode == 13){fn_goListForm(20)}" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li> --%>
<li class="edu_close" tabindex="0"><i></i><div class="text_area">종료된 강의<p><span><c:out value="${empty countMap['COUNT_END_CD'] ? '0' : countMap['COUNT_END_CD']}" /></span>건</p></div></li>
</ul>
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">교육 신청 목록</div>
</div>
<div class="btn_wrap1">
<%-- <button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button> --%>
</div>
</div>
<div class="tb_list02">
<table>
<caption>교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공</caption>
<colgroup>
<col style="width:30%;">
<col style="width:30%;">
<col style="width:;">
<col style="width:13%;">
<col style="width:10%;">
<col style="width:10%;">
</colgroup>
<thead>
<tr>
<th scope="col">구분</th>
<th scope="col">교육과정</th>
<th scope="col">교육일자</th>
<th scope="col">신청결과</th>
<th scope="col">설문조사</th>
<th scope="col">이수증</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.lctrDivCd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:if test="${list.aprvlCd eq '60' and not empty list.aplctStateCd}">
- <kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
</c:if>
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq 60 and list.qestRsltExists}">
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<!-- 설문노출대상(확정처리를 받았음(60) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<c:choose>
<c:when test="${list.qestnrId10Cnt gt 0}">
<!-- 작성된 설문이 있다 -->
<button type="button" class="btnType02" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문완료</button>
</c:when>
<c:when test="${empty list.qestnrId10 and list.aprvlCd eq 20}">
<!-- 대상 설문이 없다 -->
대상설문없음
</c:when>
<c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}">
<!-- 작성된 설문이 없다 -->
<button type="button" class="btnType01 btn line small mint" data-tooltip="sub37_pop20"
onclick="fncQustnrList('${list.eduAplctOrd}','${list.eduChasiOrd}','10','insert'
,'${list.qustnrTmplatId}','${list.qestnrId10}',''
)" title="팝업 열림">설문등록</button>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
<!-- 설문노출대상 아님 -->
-
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists and list.aprvlCd eq '60' and list.aplctStateCd eq '20' and list.qestnrId10Cnt gt 0}">
<!-- 교육 기간 종료 & 교육신청은 확정(60) & 교육상태는 이슈(20) & 설문이 완료된 경우만 수료증 출력 가능 -->
<button type="button" class="btn small mint line sur_bt" data-info="${list.eduAplctOrd}" data-tooltip="sub36_pop02"
onclick="fncPrintCert('${list.prcsAplctPrdOrd}', '<c:out value="${list.eduAplctOrd}"/>')" title="출력">출력</button>
</c:when>
<c:when test="${list.dateChk eq 1 and not list.qestRsltExists}">
교육완료
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
</form:form>
</div>
<form id="qnaForm" name="qnaForm" method="post">
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap q_pop">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육문의하기</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="cont_body">
<div class="pop_tb_type01 tb_input" style="overflow:visible;">
<table>
<caption>교육문의 - 문의내용 입력</caption>
<thead>
<tr>
<th scope="col">문의내용</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<label for="qnaCn" class="label">교육문의 작성하기</label>
<textarea type="text" id="qnaCn" name="qnaCn" style="height: 220px;width: 100%;" title="교육문의 작성"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_qnaReg()">문의</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 팝업을 위한 mask -->
<div class="mask"></div>
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
</form>