2024-03-07 17:55 기소유예 취소 프로세스 추가

This commit is contained in:
myname 2024-03-07 17:55:36 +09:00
parent f6ce89190c
commit 4b867d0c0a
9 changed files with 176 additions and 5 deletions

View File

@ -533,12 +533,79 @@ public class SspnIdtmtController {
model.addAttribute("info", vEPrcsDetailVODetail); model.addAttribute("info", vEPrcsDetailVODetail);
model.addAttribute("infoAplctOrd", vEEduAplctVO);
return "/web/ve/aplct/sspnIdtmt/eduAplctDetail"; return "/web/ve/aplct/sspnIdtmt/eduAplctDetail";
} }
//사용자 교육취소
//교육 상태코드, 교육 선정여부 수정 로직
@RequestMapping(value="/web/ve/aplct/sspnIdtmt/eduAplctDelete4UserAjax.do")
public ModelAndView eduAplctDelete4UserAjax( HttpServletRequest request , ModelMap model
, VEEduAplctVO vEEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
if (!"".equals(s_userCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
System.out.println("vEEduAplctVO");
System.out.println(vEEduAplctVO.getPrcsAplctPrdOrd());
System.out.println(vEEduAplctVO.getUserId());
System.out.println(vEEduAplctVO.getEduAplctOrd());
int rs = vEEduAplctService.userDelete(vEEduAplctVO);
//vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
//int rs = vEEduAplctService.statusUpdate(vEEduAplctVO);
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
//사용자 교육취소요청
//교육 상태코드, 교육 선정여부 수정 로직
@RequestMapping(value="/web/ve/aplct/sspnIdtmt/eduAplctCancelRequest4UserAjax.do")
public ModelAndView eduAplctCancelRequest4UserAjax( HttpServletRequest request , ModelMap model
, VEEduAplctVO vEEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request);
if (!"".equals(s_userCheckNInfo)) {
modelAndView.addObject("result", "loginFail");
return modelAndView;
}
System.out.println("vEEduAplctVO");
System.out.println(vEEduAplctVO.getPrcsAplctPrdOrd());
System.out.println(vEEduAplctVO.getUserId());
System.out.println(vEEduAplctVO.getEduAplctOrd());
vEEduAplctVO.setAprvlCd("35"); //35-취소요청-VEA0003
int rs = vEEduAplctService.update(vEEduAplctVO);
//vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
//int rs = vEEduAplctService.statusUpdate(vEEduAplctVO);
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
/** /**
* 기반강화연수과정 신청기간 등록 * 기반강화연수과정 신청기간 등록
*/ */

View File

@ -31,6 +31,9 @@ public interface VEEduAplctService {
//D //D
int delete(VEEduAplctVO paramVO) throws Exception; int delete(VEEduAplctVO paramVO) throws Exception;
//cancel - 기소유예 사용자 취소
int userDelete(VEEduAplctVO paramVO) throws Exception;
//L //L
List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception; List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception;

View File

@ -14,6 +14,8 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl.CndtnTrgtMngDAO;
@Service("vEEduAplctService") @Service("vEEduAplctService")
public class VEEduAplctServiceImpl implements VEEduAplctService { public class VEEduAplctServiceImpl implements VEEduAplctService {
@ -27,7 +29,11 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
//암복호화 유틸 //암복호화 유틸
@Resource(name = "egovCryptoUtil") @Resource(name = "egovCryptoUtil")
EgovCryptoUtil egovCryptoUtil; EgovCryptoUtil egovCryptoUtil;
//기소유예
@Resource(name="cndtnTrgtInfoMngDAO")
private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO;
//C //C
public void insert(VEEduAplctVO paramVO) throws Exception { public void insert(VEEduAplctVO paramVO) throws Exception {
@ -74,6 +80,18 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
return vEEduAplctDAO.delete(paramVO); return vEEduAplctDAO.delete(paramVO);
} }
//기소유예 - 사용자 삭제
public int userDelete(VEEduAplctVO paramVO) throws Exception{
//step1.vea_sspn_idmt_trgt 테이블 edu_aplct_ord null 처리
//step2.ve_edu_aplct 삭제
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
cndtnTrgtMngVO.setEduAplctOrd(paramVO.getEduAplctOrd());
cndtnTrgtInfoMngDAO.updateUserIdCancel(cndtnTrgtMngVO);
return vEEduAplctDAO.delete(paramVO);
}
//List //List
public List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception{ public List<VEEduAplctVO> selectList(VEEduAplctVO paramVO) throws Exception{
return vEEduAplctDAO.selectList(paramVO); return vEEduAplctDAO.selectList(paramVO);

View File

@ -23,6 +23,8 @@ public interface CndtnTrgtMngService {
void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO); void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO); void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO);
void updateUserIdCancel(CndtnTrgtMngVO cndtnTrgtMngVO);
int findCntreqNmber(String reqNmbrTemp); int findCntreqNmber(String reqNmbrTemp);

View File

@ -138,6 +138,10 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO); update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO);
} }
public void updateUserIdCancel(CndtnTrgtMngVO cndtnTrgtMngVO) {
update("cndtnTrgtInfoMngDAO.updateUserIdCancel", cndtnTrgtMngVO);
}
public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { public String findByTrgtNmAndDBirthAndUserIdAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO); return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd", cndtnTrgtInfoMngVO);
} }

View File

@ -69,6 +69,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO); cndtnTrgtInfoMngDAO.updateUserId(cndtnTrgtMngVO);
} }
@Override
public void updateUserIdCancel(CndtnTrgtMngVO cndtnTrgtMngVO) {
cndtnTrgtInfoMngDAO.updateUserIdCancel(cndtnTrgtMngVO);
}
@Override @Override
public int findCntreqNmber(String reqNmbrTemp) { public int findCntreqNmber(String reqNmbrTemp) {
return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp); return cndtnTrgtInfoMngDAO.findCntreqNmber(reqNmbrTemp);

View File

@ -415,7 +415,21 @@
WHERE WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd# sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update> </update>
<!-- 대상자 조회 후 대상자에 로그인 ID update cancel-->
<update id="cndtnTrgtInfoMngDAO.updateUserIdCancel" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = NULL
, edu_aplct_ord = NULL
, edu_state_cd = '10'
, prcs_aplct_prd_ord_cmplt = NULL
WHERE
edu_aplct_ord = #eduAplctOrd#
</update>
<!-- 기소유예 대상자 R --> <!-- 기소유예 대상자 R -->
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO"> <select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.selectPagingList /* cndtnTrgtInfoMngDAO.selectPagingList

View File

@ -297,7 +297,7 @@
<tr> <tr>
<th scope="row">상태</th> <th scope="row">상태</th>
<td> <td>
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="" defaultText="선택"/> <ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
</td> </td>
</tr> </tr>
<tr> <tr>

View File

@ -99,7 +99,7 @@
success:function(returnData){ success:function(returnData){
if(returnData.rsCnt > 0){ if(returnData.rsCnt > 0){
alert("제출 되었습니다."); alert("제출 되었습니다.");
fncGoDetail(); fncGoList();
} }
}, },
error:function(request , status, error){ error:function(request , status, error){
@ -109,6 +109,49 @@
} }
} }
function fncCancelUser(p_eduAplctOrd){
if(confirm("교육 수강을 취소 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctDelete4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancelUserToAdmin(p_eduAplctOrd){
if(confirm("교육 수강 취소 요청을 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctCancelRequest4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소요청 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
// function fncCancleSubmit(){ // function fncCancleSubmit(){
// if(confirm("교육신청 취소하시겠습니까?")){ // if(confirm("교육신청 취소하시겠습니까?")){
// $.ajax({ // $.ajax({
@ -424,13 +467,28 @@
</button> </button>
</div> </div>
<div class="btn_center"> <div class="btn_center">
<c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd ne '20'}">
<!-- 신청이고 교육확정이 아니면 신청, 승인 상태에서 사용자 취소 가능 하도록 버튼 노출 할것. -->
<button type="button" class="btnType05" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}')">교육취소</button>
</c:if>
<c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd eq '20'}">
<!-- 신청이고 교육확정이 아니면 취소 가능 하도록 버튼 노출 할것. -->
<button type="button" class="btnType05" onclick="fncCancelUserToAdmin('${infoAplctOrd.eduAplctOrd}')">취소신청</button>
</c:if>
</div> </div>
<div class="btn_right" class="aplctBtn"> <div class="btn_right" class="aplctBtn">
<%-- <button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%> <%-- <button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%>
<button type="button" class="btnType04" id="regBtn" data-info="<c:out value='${info.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02" <button type="button" class="btnType04" id="regBtn" data-info="<c:out value='${info.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
onclick="fncAplctPopup('<c:out value="${info.prcsAplctPrdOrd}"/>','','','10','select' onclick="fncAplctPopup('<c:out value="${info.prcsAplctPrdOrd}"/>','','','10','select'
,'','','' ,'','',''
)" title="팝업 열림">신청</button> )" title="팝업 열림">신청</button>
</div> </div>
</div> </div>