기반강화연수 문의하기

This commit is contained in:
hylee 2023-11-20 15:33:25 +09:00
parent 3421d4f7f7
commit 6ae2cfce9f
14 changed files with 488 additions and 126 deletions

View File

@ -149,6 +149,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String qnaAnswerCn; private String qnaAnswerCn;
private String qnaAnswerer; private String qnaAnswerer;
private String mberNm;
@ -723,6 +725,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setQnaAnswerer(String qnaAnswerer) { public void setQnaAnswerer(String qnaAnswerer) {
this.qnaAnswerer = qnaAnswerer; this.qnaAnswerer = qnaAnswerer;
} }
public String getMberNm() {
return mberNm;
}
public void setMberNm(String mberNm) {
this.mberNm = mberNm;
}
} }

View File

@ -32,5 +32,11 @@ public interface VEPrcsService {
void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO); void deleteInstr(VEPrcsDetailVO vEPrcsDetailVO);
void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO); void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO);
List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO);
VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO);
void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO);
} }

View File

@ -120,8 +120,8 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
@Override @Override
public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) { public void updateEtc(VEPrcsDetailVO vEPrcsDetailVO) {
System.out.println(vEPrcsDetailVO.getPrpsCn()); System.out.println(vEPrcsDetailVO.getPrpsCn());
System.out.println(vEPrcsDetailVO.getChrctCn()); // System.out.println(vEPrcsDetailVO.getChrctCn());
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd());
vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO); vEPrcsAplctPrdDAO.updateEtc(vEPrcsDetailVO);
} }

View File

@ -84,5 +84,17 @@ public class VEPrcsDAO extends EgovAbstractDAO {
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) { public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsDAO.updateImageAtchFileId", vEPrcsDetailVO); update("VEPrcsDAO.updateImageAtchFileId", vEPrcsDetailVO);
} }
public List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return (List<VEPrcsDetailVO>) list("VEPrcsDAO.selectQnaPagingList", vEPrcsDetailVO);
}
public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) {
return (VEPrcsDetailVO) select("VEPrcsDAO.selectQnaDetail", vEPrcsDetailVO);
}
public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) {
update("VEPrcsDAO.qnaUpdate", vEPrcsDetailVO);
}
} }

View File

@ -69,5 +69,20 @@ public class VEPrcsServiceImpl implements VEPrcsService {
public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) { public void updateImageAtchFileId(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsDAO.updateImageAtchFileId(vEPrcsDetailVO); vEPrcsDAO.updateImageAtchFileId(vEPrcsDetailVO);
} }
@Override
public List<VEPrcsDetailVO> selectQnaPagingList(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsDAO.selectQnaPagingList(vEPrcsDetailVO);
}
@Override
public VEPrcsDetailVO selectQnaDetail(VEPrcsDetailVO vEPrcsDetailVO) {
return vEPrcsDAO.selectQnaDetail(vEPrcsDetailVO);
}
@Override
public void qnaUpdate(VEPrcsDetailVO vEPrcsDetailVO) {
vEPrcsDAO.qnaUpdate(vEPrcsDetailVO);
}
} }

View File

@ -234,12 +234,12 @@ public class FndthPrcsInfoMngController {
//기반강화 조회 //기반강화 조회
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ // if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){
String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; // String selectCondition = "AND a.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')";
vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); // vEPrcsDetailVO.setSelectPagingListQuery(selectCondition);
} // }
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectPagingList(vEPrcsDetailVO); List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO);
//3.pageing step3 //3.pageing step3
paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo);
@ -247,6 +247,9 @@ public class FndthPrcsInfoMngController {
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
// 사용자 이름 디코딩
vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
//대상 리스트, 페이징 정보 전달 //대상 리스트, 페이징 정보 전달
model.addAttribute("list", vEPrcsDetailVOList); model.addAttribute("list", vEPrcsDetailVOList);
@ -348,10 +351,53 @@ public class FndthPrcsInfoMngController {
VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO(); VEPrcsCntntVO vePrcsCntntVO = new VEPrcsCntntVO();
vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd()); vePrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO); List<VEPrcsCntntVO> vEPrcsCntntList = vEPrcsOnlnCntntService.selectList(vePrcsCntntVO);
model.addAttribute("vEPrcsCntntList", vEPrcsCntntList); model.addAttribute("vEPrcsCntntList", vEPrcsCntntList);
return "/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail"; return "/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail";
} }
/**
* @methodName : fndthEduPrcsMngDetail
* @author : 이호영
* @date : 2023.11.20
* @description :
* @param vEPrcsDetailVO
* @param model
* @param redirectAttributes
* @param session
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.do")
public String fndthEduQnaMngDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, RedirectAttributes redirectAttributes
, HttpSession session
, HttpServletRequest request
) throws Exception {
//로그인 처리====================================
//로그인 정보 가져오기
System.out.println("vEPrcsDetailVO.getPrcsAplctPrdQnaOrd() : "+ vEPrcsDetailVO.getPrcsAplctPrdQnaOrd());
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
//로그인 처리====================================
//과정 조회
VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO);
vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm()));
model.addAttribute("info", vEPrcsQnaDetail);
//세부과정 목록 조회
return "/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail";
}
/** /**
* 기반강화연수과정 수정화면 * 기반강화연수과정 수정화면
@ -484,6 +530,53 @@ public class FndthPrcsInfoMngController {
return modelAndView; return modelAndView;
} }
/**
* @methodName : fndthEduQnaMngUpdateAjax
* @author : 이호영
* @date : 2023.11.20
* @description :
* @param vEPrcsDetailVO
* @param model
* @param request
* @return
* @throws Exception
*/
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngUpdateAjax.do")
public ModelAndView fndthEduQnaMngUpdateAjax(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
//로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
vEPrcsDetailVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
vEPrcsService.qnaUpdate(vEPrcsDetailVO);
//세부과정 지우고 다시 생성
VEPrcsCntntVO vEPrcsCntntVO = new VEPrcsCntntVO();
vEPrcsCntntVO.setPrcsOrd(vEPrcsDetailVO.getPrcsOrd());
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do") @RequestMapping("/kccadr/oprtn/fndthEnhanceTrn/fndthEduPhotoPopupAjax.do")
public ModelAndView fndthEduPhotoPopupAjax( public ModelAndView fndthEduPhotoPopupAjax(

View File

@ -1355,6 +1355,7 @@
VEA_PRCS_APLCT_PRD_QNA VEA_PRCS_APLCT_PRD_QNA
WHERE WHERE
QNA_REGIST = #qnaRegist# QNA_REGIST = #qnaRegist#
AND LCTR_DIV_CD = #lctrDivCd#
</select> </select>

View File

@ -143,17 +143,17 @@
</select> </select>
<!-- --> <!-- -->
<select id="VEPrcsAplctPrdDAO.updateEtc" parameterClass="VEPrcsDetailVO"> <update id="VEPrcsAplctPrdDAO.updateEtc" parameterClass="VEPrcsDetailVO">
/* VEPrcsAplctPrdDAO.updateEtc */ /* VEPrcsAplctPrdDAO.updateEtc */
UPDATE UPDATE
VE_PRCS_APLCT_PRD_ETC VE_PRCS_APLCT_PRD_ETC
SET SET
PRPS_CN = #prpsCn# , PRPS_CN = #prpsCn#
, CHRCT_CN = #chrctCn# , CHRCT_CN = #chrctCn#
WHERE PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd# WHERE PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select> </update>
<!-- 강사 정보 R --> <!-- 강사 정보 R -->
<select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO"> <select id="VEPrcsAplctPrdDAO.selectDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">

View File

@ -360,4 +360,69 @@
AND user_id = #userId# AND user_id = #userId#
</delete> </delete>
<!-- 교육문의 상세 L page -->
<select id="VEPrcsDAO.selectQnaPagingList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsDAO.selectQnaPagingList */
SELECT
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
, qn.FRST_REGISTER_ID as frstRegisterId
,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, qn.LAST_UPDUSR_ID as lastUpdusrId
FROM
VEA_PRCS_APLCT_PRD_QNA qn
LEFT JOIN LETTNGNRLMBER mb
ON qn.QNA_REGIST = mb.MBER_ID
WHERE
1=1
AND LCTR_DIV_CD = #lctrDivCd#
</select>
<!-- 교육문의 상세 -->
<select id="VEPrcsDAO.selectQnaDetail" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
/* VEPrcsDAO.selectQnaDetail */
SELECT
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
, qn.FRST_REGISTER_ID as frstRegisterId
,TO_CHAR(qn.LAST_UPDT_PNTTM,'YYYY-MM-DD') AS lastUpdtPnttm
, qn.LAST_UPDUSR_ID as lastUpdusrId
FROM
VEA_PRCS_APLCT_PRD_QNA qn
LEFT JOIN LETTNGNRLMBER mb
ON qn.QNA_REGIST = mb.MBER_ID
WHERE
1=1
AND qn.PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd#
</select>
<!-- 교육문의 답변 update -->
<update id="VEPrcsDAO.qnaUpdate" parameterClass="VEPrcsDetailVO" >
/* VEPrcsDAO.qnaUpdate */
UPDATE VEA_PRCS_APLCT_PRD_QNA SET
QNA_ANSWER_CN = #qnaAnswerCn#
, LAST_UPDUSR_ID = #lastUpdusrId#
, LAST_UPDT_PNTTM = SYSDATE
WHERE PRCS_APLCT_PRD_QNA_ORD = #prcsAplctPrdQnaOrd#
</update>
</sqlMap> </sqlMap>

View File

@ -0,0 +1,197 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngDetail.jsp
* @Description : 기반강화연수 상세화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.do'/>";
listForm.submit();
}
function updateQnaAnswerCn(){
$("#prvtMemoCn").val($("#hiddenMemo").val());
var data1 = new FormData(document.getElementById("detailForm"));
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngUpdateAjax.do",
data:data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장 되었습니다.");
// location.reload();
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script>
</head>
<body>
<form id="listForm" name="listForm" method="post">
</form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsAplctPrdQnaOrd" id="prcsAplctPrdQnaOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdQnaOrd}' />"/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>교육문의상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육문의상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>교육문의상세</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">질문자ID</th>
<td>
<c:out value='${info.qnaRegist}' />
</td>
</tr>
<tr>
<th scope="row">질문자 이름</th>
<td>
<c:out value='${info.mberNm}' />
</td>
</tr>
<tr>
<th scope="row">질문내용</th>
<td>
<c:out value='${info.qnaCn}' />
</td>
</tr>
<tr>
<th scope="row">답변상태</th>
<td>
<c:choose>
<c:when test="${empty info.qnaAnswerCn }">
미완료
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">답변일시</th>
<td>
<c:choose>
<c:when test="${empty list.lastUpdtPnttm }">
-
</c:when>
<c:otherwise>
<c:out value='${list.lastUpdtPnttm }'/>
</c:otherwise>
</c:choose>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- 비공개 메보 정보 -->
<div class="tb_tit01">
<p>답변</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 220px;">
<col style="width: auto;">
</colgroup>
<tr>
<th scope="row">
<p>내용</p>
</th>
<td class="tb_alram">
<div>
<textarea name="qnaAnswerCn" id="qnaAnswerCn"><c:out value="${info.qnaAnswerCn}" /></textarea>
<button type="button" class="btn_type08" onclick="updateQnaAnswerCn(); return false;">답변 등록</button>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -13,13 +13,13 @@
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" /> <un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<% <%
/** /**
* @Class Name : fndthEduPrcsMngList.jsp * @Class Name : fndthEduQnaMngList.jsp
* @Description : 기반강화연수 과정관리 목록 * @Description : 기반강화연수 과정관리 목록
* @Modification Information * @Modification Information
* @ * @
* @ 수정일 수정자 수정내용 * @ 수정일 수정자 수정내용
* @ ------- -------- --------------------------- * @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성 * @ 2023.11.17 이호영 최초 생성
* @author 조용준 * @author 조용준
* @since 2021.12.14 * @since 2021.12.14
* @version 1.0 * @version 1.0
@ -45,25 +45,20 @@
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val(); listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngList.do'/>"; listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngList.do'/>";
listForm.submit(); listForm.submit();
} }
function fncGoDetail(prcsOrd){ function fncGoDetail(prcsAplctPrdQnaOrd){
var listForm = document.listForm ; var form = document.detailForm ;
listForm.prcsOrd.value = prcsOrd ; form.prcsAplctPrdQnaOrd.value = prcsAplctPrdQnaOrd ;
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngDetail.do'/>"; form.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduQnaMngDetail.do'/>";
listForm.submit(); form.submit();
} }
function fncCreate() { /*
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngReg.do'/>";
listForm.submit();
}
function fncDelete(prcsOrd){ function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ; document.listForm.prcsOrd.value = prcsOrd ;
@ -98,50 +93,17 @@
} }
event.stopImmediatePropagation(); event.stopImmediatePropagation();
} } */
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
</script> </script>
<title>교육과정관리</title> <title>교육문의</title>
</head> </head>
<body> <body>
<form id="detailForm" name="detailForm" method="post">
<input type="hidden" id="prcsAplctPrdQnaOrd" name="prcsAplctPrdQnaOrd" value="" />
</form>
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;"> <form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/> <input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" /> <input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
@ -154,20 +116,20 @@
<!-- cont_tit --> <!-- cont_tit -->
<div class="cont_tit"> <div class="cont_tit">
<h2>과정관리목록</h2> <h2>교육문의목록</h2>
<ul class="cont_nav"> <ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li> <li class="home"><a href="/"><i></i></a></li>
<li> <li>
<p>실무자역량강화(기반강화연수관리)</p> <p>실무자역량강화(기반강화연수관리)</p>
</li> </li>
<li><span class="cur_nav">과정관리목록</span></li> <li><span class="cur_nav">교육문의목록</span></li>
</ul> </ul>
</div> </div>
<!-- //cont_tit --> <!-- //cont_tit -->
<div class="cont"> <div class="cont">
<div class="tb_tit01"> <div class="tb_tit01">
<p>교육 과정 관리</p> <p>교육 문의 관리</p>
</div> </div>
<!-- list_top --> <!-- list_top -->
<div class="list_top search-only"> <div class="list_top search-only">
@ -212,45 +174,57 @@
<div class="tb_type01"> <div class="tb_type01">
<table> <table>
<colgroup> <colgroup>
<col style="width: 10%">
<col style="width: 20%"> <col style="width: 20%">
<col style="width: 10%">
<col style="width: auto"> <col style="width: auto">
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 10%"> <col style="width: 10%">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th>교육부문</th> <th>질문자ID</th>
<th>과정명</th> <th>질문자이름</th>
<th>설명</th> <th>질문내용</th>
<th>등록일시</th> <th>답변상태</th>
<th>사용여부 </th> <th>질문일시</th>
<th>답변일시</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<c:forEach var="list" items="${list}" varStatus="status"> <c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount"> <tr class="listCount">
<td> <td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/> <c:out value='${list.qnaRegist }'/>
</td> </td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsNm}'/> <c:out value='${list.mberNm}'/>
</td> </td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;"> <td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdQnaOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsCn}'/> <c:out value='${list.qnaCn}'/>
</td> </td>
<td> <td>
<c:out value='${list.frstRegistPnttm}'/> <c:choose>
<c:when test="${empty list.qnaAnswerCn }">
미완료
</c:when>
<c:otherwise>
완료
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value='${list.frstRegistPnttm }'/>
</td> </td>
<td> <td>
<c:if test="${list.useYn eq 'Y'}"> <c:choose>
사용 <c:when test="${empty list.lastUpdtPnttm }">
</c:if> -
<c:if test="${list.useYn ne 'Y'}"> </c:when>
미사용 <c:otherwise>
</c:if> <c:out value='${list.lastUpdtPnttm }'/>
</c:otherwise>
</c:choose>
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">
@ -271,7 +245,6 @@
<div class="btn_center"> <div class="btn_center">
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div> </div>
</div> </div>
<!-- //page --> <!-- //page -->

View File

@ -74,10 +74,27 @@ $(document).ready(function(){
//-- /반복끝 //-- /반복끝
}); });
// 이달의 과정 상태값 확인
$(".best_con").each(function() {
var currentDate = new Date(); // 현재 날짜 가져오기
var strtPnttmValue = $(this).find("#strtPnttm").val(); // 시작 시간 값 가져오기
var endPnttmValue = $(this).find("#endPnttm").val(); // 종료 시간 값 가져오기
var strtDate = new Date(strtPnttmValue); // 시작 시간을 Date 객체로 변환
var endDate = new Date(endPnttmValue); // 종료 시간을 Date 객체로 변환
// 현재 날짜가 시작 시간과 종료 시간 사이에 있는지 확인
if (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"')
}
});
// 리스트 상태값 확인
// 상태값 확인
$(".ddlnCdStts").each(function() { $(".ddlnCdStts").each(function() {
var $thisCell = $(this); var $thisCell = $(this);
var $applyButton = $thisCell.closest('tr').find(".aplctBtn button"); var $applyButton = $thisCell.closest('tr').find(".aplctBtn button");
@ -290,8 +307,9 @@ $(document).ready(function(){
<div class="best_list"> <div class="best_list">
<c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3"> <c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3">
<div class="best_con"> <div class="best_con">
<input type="hidden" id="strtPnttm" value="${list.strtPnttm }">
<input type="hidden" id="endPnttm" value="${list.endPnttm }">
<ul> <ul>
<li class="con_title"><c:out value="${list.prcsNm}"/></li> <li class="con_title"><c:out value="${list.prcsNm}"/></li>
<li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li> <li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li>
@ -299,36 +317,6 @@ $(document).ready(function(){
</ul> </ul>
</div> </div>
</c:forEach> </c:forEach>
<!--
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화 핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
<div class="best_con">
<ul>
<li class="con_title">핵심인재 역량강화</li>
<li class="con_date">2023-09-24 ~ 2023-09-30</li>
<li class="con_btn"><button type="button" title="수강신청">수강신청</button></li>
</ul>
</div>
-->
</div> </div>
<!-- tab --> <!-- tab -->
@ -458,7 +446,7 @@ $(document).ready(function(){
<div class="btn_center"> <div class="btn_center">
</div> </div>
<div class="btn_right"> <div class="btn_right">
<button type="button" class="btnType01" onclick="fn_eduInquiry()">교육문의(미개발)</button> <!-- <button type="button" class="btnType01" onclick="fn_eduInquiry()">교육문의(미개발)</button> -->
</div> </div>
</div> </div>

View File

@ -58,7 +58,11 @@
function fn_qnaReg(){ function fn_qnaReg(){
if(!confirm("문의 등록을 하시겠습니까?")){
$('#qnaCn').val('');
$('.btn_popup_close').click();
return false;
}
var data = new FormData(document.getElementById("qnaForm")); var data = new FormData(document.getElementById("qnaForm"));
@ -104,7 +108,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" /> <input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit"> <div class="cont_tit">
<h2>대시보드</h2> <h2>나의강의실</h2>
</div> </div>
<ul class="edu_process"> <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="location.href='<c:url value="/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do" />'"><i></i>

View File

@ -51,7 +51,7 @@
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" /> <input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="" />
<div class="cont_tit"> <div class="cont_tit">
<h2>대시보드</h2> <h2>나의강의실</h2>
</div> </div>
<ul class="edu_process"> <ul class="edu_process">
<li class="edu_apply"><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"><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>