2024-03-20 11:47 기소유예 교육 취소 처리

This commit is contained in:
myname 2024-03-20 11:47:34 +09:00
parent fbc2c906f4
commit 6c16a0512c
5 changed files with 163 additions and 71 deletions

View File

@ -257,7 +257,40 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
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
//vea_aplct_detail_info : 처리 없음
//vea_sspn_idmt_trgt : 처리 없음
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(vEPrcsDetailVO.getEduAplctOrd());
//vEPrcsAplctPrdDAO.delete(vEPrcsDetailVO);
//vEEduAplctDAO.delete(vEEduAplctVO);
vEEduAplctDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
//vEPrcsMIXDAO.deleteAplctDetailInfo(vEPrcsDetailVO);
//vEPrcsMIXDAO.updateSspnIdmtTrgtCancelNew(vEPrcsDetailVO);
}
return 1;

View File

@ -1073,7 +1073,19 @@
/* 확정 후 취소 요청 edu_state_cd=30,req_state_cd=20 */
, aprvl_cd = '35'
</isEqual>
</isEqual>
<isEqual property="reqNo" compareValue="6-2">
/* 교육 취소 신청 승인(교육중단) edu_state_cd=60,req_state_cd=40 */
, aprvl_cd = '40'
</isEqual>
<isEqual property="reqNo" compareValue="6-3">
/* 교육 취소 신청 반려(교육계속) */
, aprvl_cd = '60'
</isEqual>
WHERE EDU_APLCT_ORD = #eduAplctOrd#
</update>

View File

@ -683,8 +683,14 @@
a.USER_ID = qe.FRST_REGISTER_ID
LEFT JOIN VEA_SSPN_IDMT_TRGT vsit
ON (
/*
a.user_id = vsit.user_id
AND a.edu_aplct_ord=vsit.edu_aplct_ord
*/
/*
신청할때 대상자 정보를 rnds_ord에 넣는다.
*/
a.rnds_ord=vsit.SSPN_IDTMT_TRGT_ORD
)
@ -751,6 +757,7 @@
(1 = 1)
WHERE
1=1
<isNotEmpty property="prcsOrd">
@ -777,7 +784,8 @@
</isNotEmpty>
AND a.use_yn = 'Y'
AND a.aprvl_cd IN ('20', '35', '60') /* 승인(20), 취소요청(35), 확정(60)된 사람만 보여줌 */
AND a.aprvl_cd IN ('20', '35', '40', '60') /* 승인(20), 취소요청(35), 취소승인(40), 확정(60)된 사람만 보여줌 */
ORDER BY a.frst_regist_pnttm ASC
</select>

View File

@ -619,7 +619,13 @@
/* 확정 후 취소 요청 edu_state_cd=30,req_state_cd=20 */
, edu_state_cd = '30'
, req_state_cd = '20'
</isEqual>
</isEqual>
<isEqual property="reqNo" compareValue="6-2">
/* 취소 신청 승은(교육중단) edu_state_cd=60,req_state_cd=40 */
, edu_state_cd = '60'
, req_state_cd = '40'
</isEqual>
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>

View File

@ -390,7 +390,62 @@
alert("Err : " + JSON.stringify(status));
}
});
}
}
function fncCancelUser(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
var v_confirm_msg = "취소 승인(교육 취소 처리) 하시겠습니까?\n(처리 후 복구가 불가능합니다.)";
if (p_reqNo=='6-3'){
v_confirm_msg = "취소 반려(계속 교육 진행) 하시겠습니까?\n(처리 후 복구가 불가능합니다.)";
}
if (!confirm(v_confirm_msg)) {
return false;
}
var dataToSend = {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
};
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/eduAplctStatusChange4UserAjax.do'/>";
commAjax_url(dataToSend, url);
}
function commAjax_url(dataToSend, p_url){
//var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/updateEduAplctAprvlCdAjax.do'/>";
var url = p_url;
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
</script>
</head>
@ -676,7 +731,8 @@
<col style="width: 150px;">
<col style="width: 110px;">
<col style="width: 210px;">
<col style="width: 150px;">
<col style="width: 310px;">
<%-- <col style="width: 140px;"> --%>
</colgroup>
<thead>
@ -688,7 +744,8 @@
<th>연락처</th>
<th>교육이수여부</th>
<th>교육이수상태변경</th>
<th>취소요청상태</th>
<th>취소상태</th>
<!-- <th>이수증</th> -->
</tr>
</thead>
@ -698,9 +755,11 @@
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<input name="chk" class="${list.asgnmAprvlCd}" data-email="<c:out value='${list.email}' />"
value="${list.eduAplctOrd}" data-info="${list.sspnIdtmtTrgtOrd }" data-userid="<c:out value='${list.userId}' />"
data-clphone="<c:out value='${list.phone}' />" title="Check" type="checkbox"/>
<c:if test="${list.aprvlCd ne '40'}"><!-- 취소 승인 상태는 변경 불가능 하도록 수정-->
<input name="chk" class="${list.asgnmAprvlCd}" data-email="<c:out value='${list.email}' />"
value="${list.eduAplctOrd}" data-info="${list.sspnIdtmtTrgtOrd }" data-userid="<c:out value='${list.userId}' />"
data-clphone="<c:out value='${list.phone}' />" title="Check" type="checkbox"/>
</c:if>
</td>
<td>
<c:out value="${list.trgtNm}"/><br/>(<c:out value="${list.mberId}"/>)
@ -727,78 +786,52 @@
<%-- </c:choose> --%>
</td>
<td>
<button type="button" class="btn_type04" onclick="fn_statusChg('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">이수</button>
<button type="button" class="btn_type05" onclick="fn_statusChg('10', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">미이수</button>
<button type="button" class="btn_type03" onclick="fn_statusChg('60', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">연기</button>
<c:if test="${list.aprvlCd ne '40'}"><!-- 취소 승인 상태는 변경 불가능 하도록 수정-->
<button type="button" class="btn_type04" onclick="fn_statusChg('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">이수</button>
<button type="button" class="btn_type05" onclick="fn_statusChg('10', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">미이수</button>
<button type="button" class="btn_type03" onclick="fn_statusChg('60', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">연기</button>
</c:if>
</td>
<td>
<c:choose>
<c:when test="${list.aprvlCd eq '35'}"><!-- 취소 요청 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
<!-- <br/> -->
<%-- <button type="button" class="btn_type04" onclick="fn_statusChg('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">이수</button> --%>
<%-- <button type="button" class="btn_type05" onclick="fn_statusChg('10', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">미이수</button> --%>
<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}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:when test="${list.aprvlCd eq '40'}"><!-- 취소 승인 -->
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</c:when>
취소승인
<br/>
<br/>
${list.aplctCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:when test="${list.aprvlCd eq '60' and not empty list.aplctCn}"><!-- 취소정보가 있는데 60이면 취소 반려 처리 -->
취소반려
<br/>
<br/>
${list.aplctCn}
<br/>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.rsltAtchFileId}" />
</c:import>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
<!-- <td> -->
<%-- <c:choose> --%>
<%-- <c:when test="${list.aprvlCd eq 20 and list.qestRsltExists and list.aplctStateCd ne 10}"> --%>
<!-- 설문노출대상(승인처리를 받았음(20) && 교육기간이 지났음 list.qestRsltExists=true && 미이수가 아닌것(10) ) -->
<%-- <c:choose> --%>
<%-- <c:when test="${list.aplctStateCd eq 20 and list.qestnrId10Cnt gt 0}"> --%>
<!-- 작성된 설문이 있다 -->
<!-- <button type="button" class="btn_type04" data-tooltip="sub37_pop20" -->
<%-- onclick="fncInstrCostNewInfo('${list.eduAplctOrd}','${list.eduChasiOrd}','10','select' --%>
<%-- ,'${list.qustnrTmplatId}','${list.qestnrId10}','' --%>
<%-- )" title="팝업 열림">설문완료</button> --%>
<%-- </c:when> --%>
<%-- <c:when test="${empty list.qestnrId10 and list.aprvlCd eq 20}"> --%>
<!-- 대상 설문이 없다 -->
<!-- 대상설문없음 -->
<%-- </c:when> --%>
<%-- <c:when test="${empty list.qestnrId10Cnt or list.qestnrId10Cnt eq 0}"> --%>
<!-- 작성된 설문이 없다 -->
<!-- 등록된 설문없음 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- - -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- 설문노출대상 아님 -->
<!-- - -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- </td> -->
<!-- <td> -->
<%-- <c:choose> --%>
<%-- <c:when test="${list.aplctStateCd eq 20 and list.qestnrId10Cnt gt 0}"> --%>
<%-- <button type="button" title="이수증" class="btn_type01" onclick="fncCmpltCrtfc('<c:out value="${list.prcsOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button> --%>
<%-- </c:when> --%>
<%-- <c:when test="${list.aplctStateCd eq 20 and not(list.qestnrId10Cnt gt 0)}"> --%>
<!-- 설문등록 후 발급 -->
<%-- </c:when> --%>
<%-- <c:otherwise> --%>
<!-- - -->
<%-- </c:otherwise> --%>
<%-- </c:choose> --%>
<!-- </td> -->
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>