사용자 마이페이지 진행중

This commit is contained in:
hylee 2023-12-12 18:30:05 +09:00
parent aaff58a3e8
commit 26c5bcf798
8 changed files with 475 additions and 87 deletions

View File

@ -3,6 +3,7 @@ package kcc.let.my.web;
import java.io.OutputStream;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@ -86,11 +87,15 @@ import kcc.let.sym.mnu.mpm.service.MenuManageVO;
import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.sim.service.EgovClntInfo;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
/**
* 게시물 관리를 위한 컨트롤러 클래스
@ -122,6 +127,18 @@ public class MyPageController {
@Resource(name = "vEEduMIXService")
private VEEduMIXService vEEduMIXService;
//암복호화 유틸
@Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil;
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
//과정 관리
@Resource(name = "vEPrcsService")
private VEPrcsService vEPrcsService;
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
@RequestMapping(value = { "/web/my/myPageDashBoard.do" })
@ -172,7 +189,7 @@ public class MyPageController {
);
model.addAttribute("tngrMap", tngrMap);
model.addAttribute("vtngrList", tngrList);
model.addAttribute("tngrList", tngrList);
}
/*
@ -200,7 +217,7 @@ public class MyPageController {
List<VEEduChasiVO> adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
Map<String, String> tngrMap = adultList.stream()
Map<String, String> adultMap = adultList.stream()
.collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
@ -209,11 +226,164 @@ public class MyPageController {
)
);
model.addAttribute("adultMap", tngrMap);
model.addAttribute("adultMap", adultMap);
model.addAttribute("adultList", adultList);
}
/*
* 체험교실
* */
{
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
// 저작권
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setRecordCountPerPage(1000000);
vEEduAplctVO.setFirstIndex(0);
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30);
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size());
// vEEduAplctVOList에서 10, 11, 12, 13 제거
List<VEEduAplctVO> filteredList = vEEduAplctVOList.stream()
.filter(item -> !item.getAprvlCd().equals("10")
&& !item.getAprvlCd().equals("11")
&& !item.getAprvlCd().equals("12")
&& !item.getAprvlCd().equals("13"))
.collect(Collectors.toList());
// -- 종료 80
// -- 진행중 20~70
Map<String, String> exprnMap = filteredList.stream()
.collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting()))
.entrySet().stream()
.collect(Collectors.toMap(
entry -> entry.getKey() ? "exprnEnd" : "exprnIng",
entry -> entry.getValue().toString()
)
);
model.addAttribute("exprnMap", exprnMap);
model.addAttribute("exprnList", filteredList);
}
/*
* 실무역량강화
* */
{
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
//기반강화 조회
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
vEPrcsDetailVO.setRecordCountPerPage(1000000);
vEPrcsDetailVO.setFirstIndex(0);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
// 요청
long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count();
// 미이수
long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count();
// 이수완료
long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count();
Map<String, String> fndtnMap = new HashMap<>();
fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20));
fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont));
model.addAttribute("fndtnMap", fndtnMap);
model.addAttribute("fndtnList", vEPrcsDetailVOList);
}
// return "/web/cop/bbs/FaqListAjax";
return "web/my/myPageDashBoard";
}
@RequestMapping(value = { "/web/my/myQnaMngList.do" })
public String myQnaMngList(
HttpServletRequest request
, @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
) throws Exception {
//1.pageing step1
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
//2. pageing step2
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO);
//3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
// 사용자 이름 디코딩
vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
//대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList);
return "web/my/myQnaMngList";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//
// 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;
}
}

View File

@ -365,14 +365,15 @@
/* VEPrcsDAO.selectQnaPagingList */
SELECT
qn.PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd
COUNT(1) OVER() AS totCnt
, qn.PRCS_APLCT_PRD_QNA_ORD as prcsAplctPrdQnaOrd
, qn.LCTR_DIV_CD as lctrDivCd
, qn.QNA_REGIST as qnaRegist
, mb.MBER_NM AS mberNm
, qn.QNA_CN as qnaCn
, qn.QNA_ANSWER_CN as qnaAnswerCn
, qn.QNA_ANSWERER as qnaAnswerer
,TO_CHAR(qn.FRST_REGIST_PNTTM,'YYYY-MM-DD') AS frstRegistPnttm
,TO_CHAR(qn.FRST_REGIST_PNTTM,'YYYY-MM-DD HH24:MI') AS frstRegistPnttm
, qn.FRST_REGISTER_ID as frstRegisterId
,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, qn.LAST_UPDUSR_ID as lastUpdusrId
@ -382,7 +383,18 @@
ON qn.QNA_REGIST = mb.MBER_ID
WHERE
1=1
AND LCTR_DIV_CD = #lctrDivCd#
<isNotEmpty property="lctrDivCd">
AND qn.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
AND qn.QNA_CN LIKE '%' || #searchKeyword# || '%'
</isNotEmpty>
<isNotEmpty property="searchSmbtStartDt">
AND TO_CHAR(qn.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ >= ]]> REPLACE(#searchSmbtStartDt#, '.' , '')
</isNotEmpty>
<isNotEmpty property="searchSmbtEndDt">
AND TO_CHAR(qn.FRST_REGIST_PNTTM, 'YYYYMMDD') <![CDATA[ <= ]]> REPLACE(#searchSmbtEndDt#, '.' , '')
</isNotEmpty>
</select>

View File

@ -136,10 +136,10 @@
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
defaultText="전체"
/>
<%-- <ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'" --%>
<%-- selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue="" --%>
<%-- defaultText="전체" --%>
<%-- /> --%>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
@ -147,7 +147,7 @@
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="과정명를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEEduAplctVO.searchFullName}'/>">
<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>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>

View File

@ -136,10 +136,10 @@
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
defaultText="전체"
/>
<%-- <ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'" --%>
<%-- selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue="" --%>
<%-- defaultText="전체" --%>
<%-- /> --%>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
@ -147,7 +147,7 @@
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="과정명를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEEduAplctVO.searchFullName}'/>">
<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>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>

View File

@ -18,6 +18,7 @@
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<head>
<script type="text/javascript">
$( document ).ready(function() {
@ -30,6 +31,26 @@
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduEnd/eduEndDetail.do").submit();
}
function goAdultDetail(eduAplctOrd){
var listForm = document.listForm ;
listForm.eduAplctOrd.value = eduAplctOrd ;
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do").submit();
}
function fncFndtnGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do'/>";
viewForm.submit();
}
</script>
</head>
<body>
@ -37,6 +58,9 @@
<form id="listForm" name="listForm">
<input type="hidden" name="eduAplctOrd" id="adrSeq" value="" />
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<div class="cont_wrap mypage_wrap">
<div class="cont_tit">
<h2>마이페이지</h2>
@ -44,6 +68,11 @@
<button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
</div>
<td style="padding: 0 20px;">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/my/myQnaMngList.do'">교육문의 바로가기</button>
</div>
</td>
</div>
<ul class="mypage">
@ -84,10 +113,10 @@
</div>
<div class="inner_text">
<a href="#">
<p><i></i>교육진행 <span>10</span>건</p>
<p><i></i>교육진행 <span>${exprnMap['exprnIng']}</span>건</p>
</a>
<a href="#">
<p><i></i>교육종료 <span>05</span>건</p>
<p><i></i>교육종료 <span>${exprnMap['exprnEnd']}</span>건</p>
</a>
</div>
</div>
@ -98,11 +127,11 @@
<p><img src="/offedu/visitEdu/usr/publish/images/content/mypage_icon04.png" alt="실무역량강화 마이페이지 아이콘"> 실무역량강화</p>
</div>
<div class="inner_text">
<a href="#">
<p><i></i>교육진행 <span>05</span>건</p>
<a href="#"><!-- 요청 + 미이수 -->
<p><i></i>교육진행 <span>${fndtnMap['fndtnIng']}</span>건</p>
</a>
<a href="#">
<p><i></i>교육종료 <span>18</span>건</p>
<p><i></i>교육종료 <span>${fndtnMap['fndtnEnd']}</span>건</p>
</a>
</div>
</div>
@ -136,7 +165,7 @@
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${vtngrList}" varStatus="status" begin="0" end="2">
<c:forEach var="list" items="${tngrList}" varStatus="status" begin="0" end="2">
<tr onclick="goTngrDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<!-- <tr > -->
<td>${list.eduHopeDt}</td>
@ -199,7 +228,7 @@
<div class="t_best">찾아가는 교육 성인</div>
</div>
<div class="btn_wrap1">
<button type="button" title="찾아가는 교육 성인 더보기" class="con_more" onclick="location.href='#'">더보기</button>
<button type="button" title="찾아가는 교육 성인 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/adultVisitEdu/eduEnd/eduEndList.do" />'">더보기</button>
</div>
</div>
<table>
@ -218,25 +247,60 @@
<th>설문</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>오프라인</td>
<td>교육예정</td>
<td>미완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>온라인</td>
<td>교육완료</td>
<td>완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-21</td>
<td>오프라인</td>
<td>교육취소</td>
<td>-</td>
</tr>
<c:forEach var="list" items="${adultList}" varStatus="status" begin="0" end="2">
<tr onclick="goAdultDetail('<c:out value="${list.eduAplctOrd}"/>')">
<!-- <tr > -->
<td>${list.eduHopeDt}</td>
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq VeConstants.APRVL_CD_230}">
<span class="app_status1">대기</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<span class="app_status1">교육신청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CFRM}">
<span class="app_status2">교육승인</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_RJT}">
<span class="app_status4">교육반려</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CAN}">
<span class="app_status4">교육취소</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_CHI_CMPT}">
<span class="app_status4">선정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_REQ}">
<span class="app_status3">수정요청</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDT_CMPT}">
<span class="app_status3">수정완료</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_EDU_SELCT}">
<span class="app_status1">교육확정</span>
</c:when>
<c:when test="${list.aprvlCd eq VeConstants.STATUS_CD_WAIT}">
<span class="app_status1">대기</span>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${not empty list.qustnrRespondId}">
제출
</c:when>
<c:otherwise>
미제출
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
@ -248,7 +312,7 @@
<div class="t_best">체험교실</div>
</div>
<div class="btn_wrap1">
<button type="button" title="체험교실 더보기" class="con_more" onclick="location.href='#'">더보기</button>
<button type="button" title="실무역량강화 교육 더보기" class="con_more" onclick="location.href='<c:url value="/ve/aplct/cpyrgExprnClsrm/exprnClsrmEnd/exprnClsrmEndList.do" />'">더보기</button>
</div>
</div>
<table>
@ -263,29 +327,24 @@
<tr>
<th>운영연도</th>
<th>교육내용</th>
<th>학교상태</th>
<th>처리상태</th>
<th>결과보고서</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023년</td>
<td>담당교과</td>
<td>운영확정</td>
<td>미제출</td>
</tr>
<tr onclick="location.href='#'">
<td>2022년</td>
<td>체육</td>
<td>운영종료</td>
<td>제출완료</td>
</tr>
<tr onclick="location.href='#'">
<td>2023년</td>
<td>교과수업</td>
<td>운영종료</td>
<td>제출완료</td>
</tr>
<c:forEach var="list" items="${exprnList}" varStatus="status" begin="0" end="2">
<tr onclick="fncGoDetail('${list.eduAplctOrd}')">
<td>
<a href="javascript:fncGoDetail('${list.eduAplctOrd}');" >
<fmt:parseDate value="${list.frstRegistPnttm}" var="year" pattern="yyyy.MM.dd"/>
<fmt:formatDate value="${year}" pattern="yyyy년"/>
</a>
</td>
<td>${list.chrgMjr}</td>
<td>${list.scholInsttNm}</td>
<td><ve:code codeId="VEA013" code="${list.aprvlCd}"/></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
@ -295,7 +354,7 @@
<div class="t_best">실무역량강화 교육</div>
</div>
<div class="btn_wrap1">
<button type="button" title="실무역량강화 교육 더보기" class="con_more" onclick="location.href='#'">더보기</button>
<button type="button" title="실무역량강화 교육 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'">더보기</button>
</div>
</div>
<table>
@ -308,31 +367,36 @@
</colgroup>
<thead>
<tr>
<th>교육일</th>
<th>신청상태</th>
<th>설문</th>
<th>이수증</th>
<th>과정명</th>
<th>교육시작일</th>
<th>교육종료일</th>
<th>신청결과</th>
</tr>
</thead>
<tbody>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>오프라인</td>
<td>교육예정</td>
<td>-</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-26</td>
<td>온라인</td>
<td>교육완료</td>
<td>출력</td>
</tr>
<tr onclick="location.href='#'">
<td>2023-07-21</td>
<td>오프라인</td>
<td>교육취소</td>
<td>-</td>
</tr>
<c:forEach var="list" items="${fndtnList}" varStatus="status" begin="0" end="2">
<tr onclick="fncFndtnGoDetail('${list.prcsAplctPrdOrd}')">
<td>
<c:out value="${list.prcsNm}"/>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<c:out value="${list.eduDdlnPnttm}"/>
</td>
<td>
<c:choose>
<c:when test="${not empty list.aplctStateCd }">
<kc:code codeId="VEA003" code="${list.aplctStateCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VE0003" code="${list.aprvlCd}"/>
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>

View File

@ -0,0 +1,141 @@
<%@ 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" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO">
<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}" />" />
<div class="cont_tit">
<h2>내 교육문의</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<%-- <div class="list_top">
<div class="list_top_left">
<label for="searchStatus" class="label">신청상태 선택</label>
<select class="selType1" id="searchStatus" name="searchStatus">
<option ${vEPrcsDetailVO.searchStatus eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEPrcsDetailVO.searchStatus eq 10 ? 'selected' : ''} value="10">교육신청</option>
<option ${vEPrcsDetailVO.searchStatus eq 5 ? 'selected' : ''} value="5">미이수</option>
<option ${vEPrcsDetailVO.searchStatus eq 20 ? 'selected' : ''} value="20">이수완료</option>
</select>
</div>
<div class="btn_wrap">
<div class="calendar_wrap">
<input type="text" class="calendar" id="searchStartDt" name="searchStartDt" title="시작일 선택" value="${vEPrcsDetailVO.searchStartDt}">
<duet-date-picker identifier="date" name="searchStartDt" class="startDate" value="${vEPrcsDetailVO.searchStartDt}"></duet-date-picker>
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" id="searchEndDt" name="searchEndDt" title="종료일 선택" value="${vEPrcsDetailVO.searchEndDt}">
<duet-date-picker identifier="date" name="searchEndDt" class="endDate" value="${vEPrcsDetailVO.searchEndDt}"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker.js"></script>
<button type="button" class="btnType01" onclick="fncGoList();">검색</button>
<button type="button" class="btnType02" onclick="fncReset(this);">초기화</button>
</div>
</div> --%>
<!-- list -->
<div class="tb_list01">
<table>
<caption>내 문의 목록</caption>
<colgroup>
<col style="width:10%;">
<col style="width:13%;">
<col style="width:13%;">
<col style="width:13%;">
</colgroup>
<thead>
<tr>
<th>강의구분</th>
<th>문의내용</th>
<th>문의일시</th>
<th>답변여부</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}">
<tr>
<td onclick="fncGoDetail('prcsAplctPrd_0000286');" style="cursor:pointer;">
<ve:code codeId="VE0011" code="${list.lctrDivCd }" />
</td>
<td>
<c:out value="${list.qnaCn }" />
</td>
<td>
<c:out value="${list.frstRegistPnttm }" />
</td>
<td>
<c:choose>
<c:when test="${empty list.qnaAnswerCn }">
-
</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>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/my/myPageDashBoard.do" />'">마이페이지</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -178,7 +178,7 @@
</a>
</td>
<td>
<!-- 프로세스 변경 후 적용-->
<!-- 프로세스 변경 후 적용-->${list.aprvlCd}
<c:choose>
<c:when test="${list.aprvlCd eq VeConstants.EXPRN_APRVL_CD_10}">

View File

@ -355,7 +355,8 @@ $(document).ready(function(){
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>)
<%-- <c:out value="${list.prcsNm}"/>(<c:out value="${list.prcsAplctPrdOrd}"/>) --%>
<c:out value="${list.prcsNm}"/>
</td>
<td>
<c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/>