Merge branch 'hylee' into advc

This commit is contained in:
hylee 2023-12-12 18:30:24 +09:00
commit 26f12c173a
16 changed files with 549 additions and 121 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

@ -672,13 +672,16 @@
<isNotEmpty property="searchEndDt">
AND vpap.edu_strt_pnttm <![CDATA[ <= ]]> #searchEndDt#
</isNotEmpty>
<isEqual property="searchStatus" compareValue="30">
<isEqual property="searchStatus" compareValue="5"> /*VEA003 미이수 : 수강중 강의*/
AND vadi.aplct_state_cd = '10'
</isEqual>
<isEqual property="searchStatus" compareValue="30"> /*취소 : 취소*/
AND vadi.aplct_state_cd = #searchStatus#
</isEqual>
<isEqual property="searchStatus" compareValue="20">
<isEqual property="searchStatus" compareValue="20"> /*이수완료 : 종료 강의*/
AND vadi.aplct_state_cd = #searchStatus#
</isEqual>
<isEqual property="searchStatus" compareValue="10">
<isEqual property="searchStatus" compareValue="10"> /*요청 : 요청 강의*/
AND a.aprvl_cd = #searchStatus#
</isEqual>

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

@ -92,7 +92,13 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.imageAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.imageAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
</c:if>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>

View File

@ -131,6 +131,11 @@
listForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
</head>
@ -184,9 +189,17 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.imageAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.imageAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
</c:if>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
</div>
<div>
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
</div>
</div>

View File

@ -132,6 +132,10 @@
listForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoRegPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
</head>
@ -184,13 +188,17 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<img id="emptyImg" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value=""/>
</div>
<div>
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
</div>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
</div>
</div>
</div>
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
</td>
</tr>

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

@ -189,12 +189,7 @@
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<%-- <c:if test="${empty info.imageAtchFileId}"> --%>
<img id="emptyImg" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<%-- </c:if> --%>
<%-- <c:if test="${not empty info.imageAtchFileId}"> --%>
<%-- <img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' /> --%>
<%-- </c:if> --%>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value=""/>
</div>
<div>
@ -205,7 +200,6 @@
</div>
</div>
</div>
</div>
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
</td>
</tr>

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>
<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>
<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>
<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

@ -274,7 +274,7 @@
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<%-- <c:if test="${info.lctrPlanRsltAtchFileId != null && info.lctrPlanRsltAtchFileId != ''}">
<tr>
<th scope="row">강의계획서</th>
<td id="ddlnCdStts">
@ -283,7 +283,15 @@
</c:import>
</td>
</tr>
</c:if>
</c:if> --%>
<tr>
<th scope="row">운영계획서</th>
<td>
<a href="/cmm/fms/FileDown.do?atchFileId=FILE_000000000001170&fileSn=0">실무역량강화 운영 계획서.pptx 다운로드</a>
</td>
</tr>
</tbody>
</table>
</div>

View File

@ -95,12 +95,12 @@ $(document).ready(function(){
// 현재 날짜가 시작 시간과 종료 시간 사이에 있는지 확인
if (currentDate >= strtDate && currentDate <= endDate) {
/*i f (currentDate >= strtDate && currentDate <= endDate) {
console.log("현재 날짜가 포함됩니다: " + $(this).text().trim());
} else {
console.log("현재 날짜가 포함되지 않습니다: " + $(this).text().trim());
$(this).find("button").attr('onclick', 'location.href="${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduInfo.do"')
}
} */
});
// 리스트 상태값 확인

View File

@ -309,11 +309,9 @@ $(document).ready(function(){
<label for="searchStatus" class="label">신청상태 선택</label>
<select class="selType1" id="searchStatus" name="searchStatus">
<option ${vEPrcsDetailVO.searchStatus eq '' ? 'selected' : ''} value="">전체</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_SBMT ? 'selected' : ''} value="${VeConstants.STATUS_CD_SBMT}">교육신청</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_REQ ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_REQ}">수정요청</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDT_CMPT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDT_CMPT}">수정완료</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_CAN ? 'selected' : ''} value="${VeConstants.STATUS_CD_CAN}">교육취소</option>
<option ${vEPrcsDetailVO.searchStatus eq VeConstants.STATUS_CD_EDU_SELCT ? 'selected' : ''} value="${VeConstants.STATUS_CD_EDU_SELCT}">교육확정</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">
@ -357,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}"/>

View File

@ -99,11 +99,21 @@
$('#target_confirm_popup-close').click();
}
function fn_goListForm(data){
var form = document.goListForm ;
form.searchStatus.value = data ;
form.submit();
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" />
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
@ -111,13 +121,13 @@
<h2>나의강의실</h2>
</div>
<ul class="edu_process">
<li class="edu_apply" style="cursor: pointer;" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'"><i></i>
<li class="edu_apply" style="cursor: pointer;" onclick="fn_goListForm(5)"><i></i>
<div class="text_area">신청중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_10']}" /></span>건</p></div>
</li>
<li class="edu_register" style="cursor: pointer;" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'"><i></i>
<li class="edu_register" style="cursor: pointer;" onclick="fn_goListForm(10)"><i></i>
<div class="text_area">수강중 강의<p><span><c:out value="${countMap['COUNT_APRVL_CD_20']}" /></span>건</p></div>
</li>
<li class="edu_close" style="cursor: pointer;" onclick="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'"><i></i>
<li class="edu_close" style="cursor: pointer;" onclick="fn_goListForm(20)"><i></i>
<div class="text_area">종료된 강의<p><span><c:out value="${countMap['COUNT_END_CD']}" /></span>건</p></div>
</li>
</ul>