이지우 - 교육 취소요청 처리 작업 중

This commit is contained in:
JIWOO 2025-10-27 11:19:33 +09:00
parent 5828f6b00b
commit aa7da3f72f
14 changed files with 808 additions and 107 deletions

View File

@ -200,13 +200,11 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 삭제
//vea_aplct_detail_info : 삭제
//vea_sspn_idmt_trgt : update edu_state_cd=10,edu_aplct_ord is null
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
vEEduAplctDAO.delete(vEEduAplctVO);
vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
@ -214,75 +212,7 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
}else if ("4".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육신청후 관리자가 반려 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=35
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6".equals(vEPrcsDetailVO.getReqNo())) {
//교육확정
//ve_prcs_aplct_prd : 처리 없음(앞에서 처리)
//ve_edu_aplct : update aprvl_cd=60
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-1".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육신청후 교육 취소 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=35
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=30,req_state_cd=20
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-2".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 승인(취소 승인-교육종료)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=40
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : update edu_state_cd=60,req_state_cd=40
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-3".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 반려(취소 반려-교육계속)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : update aprvl_cd=60
//ve_edu_aplct : aprvl_cd=30
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
@ -291,10 +221,65 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6".equals(vEPrcsDetailVO.getReqNo())) {
//교육확정
//ve_prcs_aplct_prd : 처리 없음(앞에서 처리)
//ve_edu_aplct : aprvl_cd=60
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-1".equals(vEPrcsDetailVO.getReqNo())) {
/* 251027 기준 - 6-1 미사용 중 */
//대상자 교육신청후 교육 취소 요청시 처리
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd = 35
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
//vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-2".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 승인(취소 승인-교육종료)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd 60(연기)
//vea_sspn_idmt_trgt : edu_state_cd=60(연기),req_state_cd=35(미완료)
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
//vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}else if ("6-3".equals(vEPrcsDetailVO.getReqNo())) {
//대상자 교육 취소 신청 반려(취소 반려-교육계속)
//ve_prcs_aplct_prd : 처리 없음
//ve_edu_aplct : 처리 없음
//vea_aplct_detail_info : aplct_state_cd = null
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
vEPrcsMIXDAO.updateAplctDetailInfo(vEPrcsDetailVO);
}
return 1;

View File

@ -808,6 +808,8 @@
qe.QESTNR_ID AS qestnrId , /* 설문했으면 ID가 있음 */
vadi.APLCT_STATE_CD AS aplctStateCd, /* 이수 상태 */
vadi.CNCL_CN AS cnclCn, /* 취소사유 */
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId, /* 취소요청파일 */
vsit.edu_state_cd AS eduStateCd,
le.MBER_NM AS userNm,
le.MBER_ID AS mberId,

View File

@ -595,7 +595,6 @@
/* 신청 후 취소 */
, user_id = NULL
, edu_aplct_ord = NULL
, edu_state_cd = '10'
, prcs_aplct_prd_ord_cmplt = NULL
</isEqual>
@ -603,7 +602,6 @@
/* 신청 후 반려 */
, user_id = NULL
, edu_aplct_ord = NULL
<!-- , edu_state_cd = '10' -->
, prcs_aplct_prd_ord_cmplt = NULL
</isEqual>
@ -622,6 +620,7 @@
<isEqual property="reqNo" compareValue="6-2">
/* 취소 신청 승은(교육중단) edu_state_cd=60,req_state_cd=40 */
, edu_state_cd = '60'
, req_state_cd = '35'
/* , req_state_cd = '40' 의뢰상태는 교육의 취소, 확정과 관계없이 대상자의 의뢰 상태를 변경 하는것 이므로 여기서는 제외한다. */
</isEqual>
WHERE
@ -642,12 +641,18 @@
</isEqual>
<!-- <isEqual property="reqNo" compareValue="4">
<isEqual property="reqNo" compareValue="6-2">
/* 신청 후 관리자 반려 aplct_state_cd=50 */
, aplct_state_cd = '50'
, aplct_state_cd = '60'
</isEqual> -->
</isEqual>
<isEqual property="reqNo" compareValue="6-3">
/* 취소 신청 후 관리자 반려 aplct_state_cd=null */
, aplct_state_cd = null
</isEqual>
WHERE
edu_aplct_ord = #eduAplctOrd#
</update>

View File

@ -845,16 +845,16 @@
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:when test="${list.aplctStateCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
</c:import>
</c:when>
@ -862,7 +862,7 @@
취소승인
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />

View File

@ -924,16 +924,16 @@
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:when test="${list.aplctStateCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
</c:import>
</c:when>
@ -941,7 +941,7 @@
취소승인
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />

View File

@ -845,16 +845,16 @@
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
<c:when test="${list.aplctStateCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<button type="button" class="btn_type04" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-2')">취소승인</button>
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '6-3')">취소반려</button>
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
<c:param name="param_atchFileId" value="${list.cnclAtchFileId}" />
</c:import>
</c:when>
@ -862,7 +862,7 @@
취소승인
<br/>
<br/>
${list.aplctCn}
${list.cnclCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />

View File

@ -565,6 +565,9 @@
<c:choose>
<c:when test="${not empty prcsAplctVO.aprvlCd}">
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
</c:if>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
@ -608,7 +611,7 @@
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
</c:if>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
</c:if>

View File

@ -0,0 +1,347 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : eduCancelPop.jsp
* @Description : 교육취소요청 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
//파일첨부관련 설정들===============================================
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$("#limitcount").val("1");
//파일첨부관련 설정들===============================================
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub35_pop03"]');
activeTarget.hide();
$('[data-tooltip="sub35_pop03"]').focus();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
});
function fncPopClose(){
self.close();
}
function fncSave(flag){
/*
<!-- for validator #3 -->
*/
//if (!validateVEEduAplctVO(document.createForm)) return;
/*
<!-- for validator #3 -->
*/
//저장
if ($("#aprvlCn").val().length>300){
alert("취소사유는 300자까지만 가능합니다.");
return;
}
if ($("#aprvlCn").val().length<=0){
alert("취소사유는 반드시 넣어주세요.");
return;
}
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
$("#sbmtYn").val(flag);
//var data = new FormData(form);
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step1
//if(!data.get("fileSize")){
/*
if($('#tbody_fiielist tr').length*1<=0){
alert("첨부파일을 등록해 주세요");
return false;
}
*/
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
// $("#mode").val(type);
/*
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
*/
if(confirm("취소요청 제출 하시겠습니까?\n관리자 승인 후 취소처리가됩니다.")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduCancelPopupAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("등록 되었습니다.");
location.reload();
} else if(status== 'fail'){
alert("등록에 실패하였습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</script>
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value="${vEInstrAsgnmVO.prcsAplctPrdOrd}" />" />
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="allrowFileExtsn" value="JPG,PNG,JPEG" /><!-- 확장자 제한-->
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop03" data-focus="sub35_pop03" data-focus-prev="sub35_pop03_close">
<div class="popup_tit">
<p>취소요청</p><button class="btn_popup_close tooltip-close" data-focus="sub35_pop03_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>첨부파일, 취소사유를 입력하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<%-- <tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td class="upload_area">
<div class="btn_wrap">
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="3">
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div" style="display: none;">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60px;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span>3</span>개</p>
<p><span>50MB</span>제한</p>
</div>
</div>
</td>
</tr> --%>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>취소사유</p>
</th>
<td>
<textarea name="aprvlCn" id="aprvlCn" title="특이사항"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<dl class="filewrap_div filewrap_eduRsltRprtRegPop">
<dt>첨부파일</dt>
<dd class="upload_area">
<div class="btn_wrap">
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="3">
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div" style="display: none;">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60px;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span>1</span>개</p>
<p><span>50MB</span>제한</p>
</div>
</div>
</dd>
</dl>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="fncSave('Y'); return false;" class="btnType05">제출</button>
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub35_pop03_close" data-focus-next="sub35_pop03">취소</button>
</div>
</div>
</div>
</div>
</form:form>

View File

@ -124,9 +124,10 @@ $(document).ready(function(){
}
function fncGoDetail(prcsAplctPrdOrd){
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>";
viewForm.submit();
}
@ -425,6 +426,7 @@ $(document).ready(function(){
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
@ -495,7 +497,7 @@ $(document).ready(function(){
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
@ -639,7 +641,7 @@ $(document).ready(function(){
</td>
<td>
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
<button type="button" class="btnType05 small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
<button type="button" class="btnType05 small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
</c:if>
</td>
</tr>

View File

@ -565,6 +565,9 @@
<c:choose>
<c:when test="${not empty prcsAplctVO.aprvlCd}">
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
</c:if>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
@ -608,7 +611,7 @@
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
</c:if>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
</c:if>

View File

@ -0,0 +1,347 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : eduCancelPop.jsp
* @Description : 교육취소요청 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
//파일첨부관련 설정들===============================================
$(".btn_add_file").on('click', function(){
$("#file_temp").click();
});
$("#limitcount").val("1");
//파일첨부관련 설정들===============================================
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub35_pop03"]');
activeTarget.hide();
$('[data-tooltip="sub35_pop03"]').focus();
});
$('#file_temp').change(function(e){
var objUpload = $(".upload_area");
var files = $('#file_temp')[0].files;
handleFileUpload(files,objUpload); //파일업로드
if($("#file_temp").length > 0){
$("#file_temp").val(""); //파일지우기
}
});
});
function fncPopClose(){
self.close();
}
function fncSave(flag){
/*
<!-- for validator #3 -->
*/
//if (!validateVEEduAplctVO(document.createForm)) return;
/*
<!-- for validator #3 -->
*/
//저장
if ($("#aprvlCn").val().length>300){
alert("취소사유는 300자까지만 가능합니다.");
return;
}
if ($("#aprvlCn").val().length<=0){
alert("취소사유는 반드시 넣어주세요.");
return;
}
//첨부파일 등록 처리
$('#file_temp').val(""); //첨부파일 중복 등록 방지를 위해 추가
$("#sbmtYn").val(flag);
//var data = new FormData(form);
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step1
//if(!data.get("fileSize")){
/*
if($('#tbody_fiielist tr').length*1<=0){
alert("첨부파일을 등록해 주세요");
return false;
}
*/
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
// $("#mode").val(type);
/*
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
*/
if(confirm("취소요청 제출 하시겠습니까?\n관리자 승인 후 취소처리가됩니다.")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduCancelPopupAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("등록 되었습니다.");
location.reload();
} else if(status== 'fail'){
alert("등록에 실패하였습니다.");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
</script>
<form:form id="createForm" name="createForm" method="post" commandName="vEEduRprtVO" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${vEInstrAsgnmVO.eduAplctOrd}" />" />
<input type="hidden" name="eduChasiOrd" value="<c:out value="${vEInstrAsgnmVO.eduChasiOrd}" />" />
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value="${vEInstrAsgnmVO.prcsAplctPrdOrd}" />" />
<input type="hidden" id="userId" name="userId" value="<c:out value="${vEInstrAsgnmVO.userId}" />" />
<input type="hidden" name="sbmtYn" id="sbmtYn" value="" />
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="allrowFileExtsn" value="JPG,PNG,JPEG" /><!-- 확장자 제한-->
<div class="popup_wrap popType03" tabindex="0" data-tooltip-con="sub35_pop03" data-focus="sub35_pop03" data-focus-prev="sub35_pop03_close">
<div class="popup_tit">
<p>취소요청</p><button class="btn_popup_close tooltip-close" data-focus="sub35_pop03_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div class="pop_tb_type01">
<table>
<caption>첨부파일, 취소사유를 입력하는 표</caption>
<colgroup>
<col style="width: 120px;">
<col style="width: auto">
</colgroup>
<tbody>
<%-- <tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td class="upload_area">
<div class="btn_wrap">
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="3">
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div" style="display: none;">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60px;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span>3</span>개</p>
<p><span>50MB</span>제한</p>
</div>
</div>
</td>
</tr> --%>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>취소사유</p>
</th>
<td>
<textarea name="aprvlCn" id="aprvlCn" title="특이사항"></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<dl class="filewrap_div filewrap_eduRsltRprtRegPop">
<dt>첨부파일</dt>
<dd class="upload_area">
<div class="btn_wrap">
<button type="button" class="btnType01 btn_add_file">파일 찾기</button>
<!-- <p style="color:grey;padding:5px;">파일명은 <span style="color:red;font-weight:500">1기 홍길동 결과보고서(0328-0401)</span> 형태로 등록해주세요.</p> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
</div>
<div class="file_wrap file_upload_box no_img_box">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="3">
<p>첨부하실 파일을 <span>마우스끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div" style="display: none;">
<table>
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 20%;">
<col style="width: 60px;">
</colgroup>
<thead>
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_${fileList.atchFileId}_${fileList.fileSn} uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<span class="file_name_text">${fileList.orignlFileNm}</span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('${fileList.atchFileId}', '${fileList.fileSn}'); return false;"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
<div class="file_cf">
<div class="cf_left">
<p>최대 <span>1</span>개</p>
<p><span>50MB</span>제한</p>
</div>
</div>
</dd>
</dl>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="fncSave('Y'); return false;" class="btnType05">제출</button>
</div>
<div class="btn_right">
<button type="button" class="btnType02 tooltip-close" data-focus="sub35_pop03_close" data-focus-next="sub35_pop03">취소</button>
</div>
</div>
</div>
</div>
</form:form>

View File

@ -124,9 +124,10 @@ $(document).ready(function(){
}
function fncGoDetail(prcsAplctPrdOrd){
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctDetail.do'/>";
viewForm.submit();
}
@ -425,6 +426,7 @@ $(document).ready(function(){
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
@ -495,7 +497,7 @@ $(document).ready(function(){
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
@ -636,7 +638,7 @@ $(document).ready(function(){
</td>
<td>
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
</c:if>
</td>
</tr>

View File

@ -565,6 +565,9 @@
<c:choose>
<c:when test="${not empty prcsAplctVO.aprvlCd}">
<kc:code codeId="VE0003" code="${prcsAplctVO.aprvlCd}"/>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and not empty prcsAplctVO.aplctStateCd}">
- <kc:code codeId="VEA003" code="${prcsAplctVO.aplctStateCd}"/>
</c:if>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
@ -608,7 +611,7 @@
<button type="button" class="btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
</c:if>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20' and empty prcsAplctVO.aplctStateCd}">
<button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button>
</c:if>

View File

@ -124,9 +124,10 @@ $(document).ready(function(){
}
function fncGoDetail(prcsAplctPrdOrd){
function fncGoDetail(prcsAplctPrdOrd, eduAplctOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.eduAplctOrd.value = eduAplctOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.submit();
}
@ -425,6 +426,7 @@ $(document).ready(function(){
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="eduAplctOrd">
</form>
<form name="goEduAplctListForm" id="goEduAplctListForm">
</form>
@ -495,7 +497,7 @@ $(document).ready(function(){
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');" onkeypress="if(event.keyCode == 13){fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');}" style="cursor:pointer;" tabindex="0">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
@ -636,7 +638,7 @@ $(document).ready(function(){
</td>
<td>
<c:if test="${(list.aprvlCd eq '10' or list.aprvlCd eq '20') and list.ddlnCd ne '20'}">
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">교육취소</button>
<button type="button" class="btn small line red" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">교육취소</button>
</c:if>
</td>
</tr>