2025-10-02 18:14 기소유예 수동 신청
This commit is contained in:
parent
98f546ac23
commit
16d7c35c7b
@ -166,7 +166,9 @@ public class CndtnPrcsInfoMngController {
|
|||||||
@Resource(name = "checkFileUtil")
|
@Resource(name = "checkFileUtil")
|
||||||
private CheckFileUtil checkFileUtil;
|
private CheckFileUtil checkFileUtil;
|
||||||
|
|
||||||
|
//교육신청순번
|
||||||
|
@Resource(name="eduAplctGnrService")
|
||||||
|
private EgovIdGnrService eduAplctGnrService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 기반강화연수 과정 관리 목록 화면
|
* 기반강화연수 과정 관리 목록 화면
|
||||||
@ -2155,8 +2157,8 @@ public class CndtnPrcsInfoMngController {
|
|||||||
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup.do")
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup.do")
|
||||||
public String fndthApplyAsgnmPopup(
|
public String fndthApplyAsgnmPopup(
|
||||||
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
|
// @ModelAttribute("vEInstrDetailVO") VEInstrDetailVO vEInstrDetailVO
|
||||||
//@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
, @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
|
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
, RedirectAttributes redirectAttributes
|
, RedirectAttributes redirectAttributes
|
||||||
@ -2232,10 +2234,116 @@ public class CndtnPrcsInfoMngController {
|
|||||||
//대상 리스트, 페이징 정보 전달
|
//대상 리스트, 페이징 정보 전달
|
||||||
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
model.addAttribute("list", cndtnTrgtInfoMngVOList);
|
||||||
|
|
||||||
|
|
||||||
return "/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup";
|
return "/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 기반강화연수과정 신청기간 등록
|
||||||
|
*/
|
||||||
|
@RequestMapping("/kccadr/oprtn/cndtnSspnIdtmt/popup/eduRegAjax.do")
|
||||||
|
public ModelAndView fndthEduPrcsAplctPrdMngRegAjax(
|
||||||
|
@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 로그인 정보 가져오기
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||||
|
String s_eduAplctOrd = eduAplctGnrService.getNextStringId();
|
||||||
|
vEEduAplctVO.setEduAplctOrd(s_eduAplctOrd);
|
||||||
|
|
||||||
|
vEEduAplctVO.setLctrDivCd(LCTR_DIV_CD); // 기소유예
|
||||||
|
vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려
|
||||||
|
// sbmt_pnttm 제출일시
|
||||||
|
vEEduAplctVO.setSbmtYn("Y"); // 제출여부
|
||||||
|
vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId());
|
||||||
|
// frst_regist_pnttm
|
||||||
|
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||||
|
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
vEEduAplctVO.setTrgtNm(vEPrcsDetailVO.getTrgtNm());
|
||||||
|
vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth());
|
||||||
|
vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone()));
|
||||||
|
vEEduAplctVO.setEmail(vEPrcsDetailVO.getEmail());
|
||||||
|
|
||||||
|
String result = "";
|
||||||
|
try {
|
||||||
|
//암호화
|
||||||
|
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||||
|
vEEduAplctVO.setRndsOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); //2024-02-07 추가 신청서 정보에 대상자 정보를 넣어야 추후 구분이 가능해서 추가함
|
||||||
|
sspnIdtmtService.insertVeEduAplct(vEEduAplctVO);
|
||||||
|
|
||||||
|
|
||||||
|
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
|
||||||
|
|
||||||
|
cndtnTrgtMngVO.setUserId(loginVO.getUniqId());
|
||||||
|
cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd());
|
||||||
|
cndtnTrgtMngVO.setEduStateCd("25"); // 신청
|
||||||
|
|
||||||
|
cndtnTrgtMngVO.setEduAplctOrd(s_eduAplctOrd); //동일한 대상자가 어떤 신청서와 맞는지 매칭에 필요함
|
||||||
|
|
||||||
|
//cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호
|
||||||
|
// , edu_state_cd = #eduStateCd#
|
||||||
|
// , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt#
|
||||||
|
|
||||||
|
|
||||||
|
cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO);
|
||||||
|
|
||||||
|
//알림 교육신청
|
||||||
|
try {
|
||||||
|
iTNotiUtil.insertNotifyNew_60(
|
||||||
|
LCTR_DIV_CD, //"60",
|
||||||
|
loginVO.getUniqId(),
|
||||||
|
VeConstants.NOTI_STATUS_10,
|
||||||
|
vEPrcsDetailVO.getPrcsAplctPrdOrd(),
|
||||||
|
"",
|
||||||
|
"1",
|
||||||
|
"1"
|
||||||
|
);
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
result = "success";
|
||||||
|
} catch (Exception e) {
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
modelAndView.addObject("result", result);
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : cnclPopup
|
* @methodName : cnclPopup
|
||||||
* @author : 이호영
|
* @author : 이호영
|
||||||
|
|||||||
@ -504,8 +504,13 @@
|
|||||||
LEFT JOIN VEA_APLCT_DETAIL_INFO vadi ON
|
LEFT JOIN VEA_APLCT_DETAIL_INFO vadi ON
|
||||||
a.EDU_APLCT_ORD = vadi.EDU_APLCT_ORD
|
a.EDU_APLCT_ORD = vadi.EDU_APLCT_ORD
|
||||||
/* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */
|
/* AND vpap.PRCS_APLCT_PRD_ORD = vadi.PRCS_APLCT_PRD_ORD */
|
||||||
JOIN LETTNGNRLMBER le ON
|
|
||||||
|
LEFT JOIN LETTNGNRLMBER le ON
|
||||||
a.USER_ID = le.ESNTL_ID
|
a.USER_ID = le.ESNTL_ID
|
||||||
|
|
||||||
|
LEFT JOIN lettnemplyrinfo le2 ON
|
||||||
|
a.USER_ID = le2.ESNTL_ID
|
||||||
|
|
||||||
LEFT JOIN VEA_SSPN_IDMT_TRGT vsit ON
|
LEFT JOIN VEA_SSPN_IDMT_TRGT vsit ON
|
||||||
(
|
(
|
||||||
/* 신청 정보에 대상자 키 값이 들어 있어서 해당 값을만 확인하면 된다.*/
|
/* 신청 정보에 대상자 키 값이 들어 있어서 해당 값을만 확인하면 된다.*/
|
||||||
|
|||||||
@ -287,7 +287,7 @@
|
|||||||
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
|
// form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/fndthInstrAsgnmPopup.do'/>";
|
||||||
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup.do'/>";
|
form.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/popup/cndtnApplyAsgnmPopup.do'/>";
|
||||||
|
|
||||||
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
|
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=0px, height=750px, width=1600px");
|
||||||
form.target = "_securityPop";
|
form.target = "_securityPop";
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
@ -754,11 +754,13 @@
|
|||||||
<td>
|
<td>
|
||||||
<c:out value="${list.sbmtPnttm}"/>
|
<c:out value="${list.sbmtPnttm}"/>
|
||||||
</td>
|
</td>
|
||||||
|
<!-- 확정여부 -->
|
||||||
<td>
|
<td>
|
||||||
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
|
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
|
||||||
</td>
|
</td>
|
||||||
|
<!-- 교육신청상태 -->
|
||||||
<td>
|
<td>
|
||||||
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
|
<ve:code codeId="VEA002" code="${list.aplctStateCd}"/>
|
||||||
<!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
|
<!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
|
||||||
<c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
|
<c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
|
||||||
(취소-반려)
|
(취소-반려)
|
||||||
|
|||||||
@ -122,26 +122,25 @@
|
|||||||
<div class="list_top">
|
<div class="list_top">
|
||||||
<div class="list_top_1">
|
<div class="list_top_1">
|
||||||
<div class="util_left">
|
<div class="util_left">
|
||||||
<p>강사검색</p>
|
<p>대상자검색</p>
|
||||||
</div>
|
</div>
|
||||||
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
|
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
|
||||||
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
|
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
|
||||||
<%-- defaultText='전체' --%>
|
<%-- defaultText='전체' --%>
|
||||||
<%-- /> --%>
|
<%-- /> --%>
|
||||||
<div class="util_right">
|
<div class="util_right">
|
||||||
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="${vEPrcsDetailVO.searchKeyword }">
|
<input type="text" id="searchKeywordFrom" name="searchKeywordFrom" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeywordFrom}'/>" onkeyDown="press(event);">
|
||||||
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
|
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pop_tb_tit01">
|
<div class="pop_tb_tit01">
|
||||||
<p>강사 목록</p>(*선호분야 일치여부, 적은 할당시수 순입니다.)
|
<p>대상자 목록</p>(*선호분야 일치여부, 적은 할당시수 순입니다.)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pop_tb_type01">
|
<div class="pop_tb_type01">
|
||||||
<table>
|
<table>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 40px">
|
|
||||||
<col style="width: 8%">
|
<col style="width: 8%">
|
||||||
<col style="width: 9%">
|
<col style="width: 9%">
|
||||||
<col style="width: 10%">
|
<col style="width: 10%">
|
||||||
@ -214,23 +213,18 @@
|
|||||||
|
|
||||||
<!-- 의뢰상태 -->
|
<!-- 의뢰상태 -->
|
||||||
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
|
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
|
||||||
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
|
|
||||||
<c:if test="${list.eduStateCd eq '20'}">
|
|
||||||
완료
|
|
||||||
</c:if>
|
|
||||||
<c:if test="${list.eduStateCd ne '20'}">
|
|
||||||
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
|
|
||||||
</c:if>
|
|
||||||
|
|
||||||
|
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
|
||||||
|
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>(${list.reqStateCd })
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
|
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
|
||||||
병합처리
|
병합처리
|
||||||
</c:if>
|
</c:if>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
<!-- 교육상태 -->
|
||||||
<td>
|
<td>
|
||||||
<%-- <ve:code codeId="VEA002" code="${list.eduStateCd }"/> --%>
|
<ve:code codeId="VEA003" code="${list.eduStateCd }"/>
|
||||||
${list.eduStateCdNm }
|
|
||||||
</td>
|
</td>
|
||||||
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
|
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
|
||||||
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
|
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
|
||||||
@ -243,9 +237,9 @@
|
|||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td>
|
<td>
|
||||||
<c:if test='${not empty list.trgtNm}'>
|
<c:if test='${not empty list.trgtNm and list.eduStateCd ne 20 and list.reqStateCd ne 30}'>
|
||||||
<button class="btn_type06"
|
<button class="btn_type06"
|
||||||
onclick="fncApplyAsgnm('<c:out value="${list.userId}" />'); return false;">선택</button>
|
onclick="fncEduReg('<c:out value="${list.sspnIdtmtTrgtOrd}" />', '<c:out value="${list.trgtNm}" />', '<c:out value="${list.dBirth}" />', '<c:out value="${list.clphone}" />'); return false;">선택</button>
|
||||||
</c:if>
|
</c:if>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
@ -288,5 +282,52 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<form id="regForm2" name="regForm2" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="${vEPrcsDetailVO.prcsAplctPrdOrd}">
|
||||||
|
<!-- 대상자 테이블 PK -->
|
||||||
|
<input type="hidden" name="sspnIdtmtTrgtOrd" id="sspnIdtmtTrgtOrd" value="">
|
||||||
|
<input type="hidden" name="trgtNm" id="trgtNm" value="">
|
||||||
|
<input type="hidden" name="dBirth" id="dBirth" value="">
|
||||||
|
<input type="hidden" name="phone" id="phone" value=""/>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
|
||||||
|
function fncEduReg(p_sspnIdtmtTrgtOrd, p_trgtNm, p_dBirth, p_phone){
|
||||||
|
|
||||||
|
$("#sspnIdtmtTrgtOrd").val(p_sspnIdtmtTrgtOrd);
|
||||||
|
$("#trgtNm").val(p_trgtNm);
|
||||||
|
$("#dBirth").val(p_dBirth);
|
||||||
|
$("#phone").val(p_phone);
|
||||||
|
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("regForm2"));
|
||||||
|
if(confirm("해당 대상자 수동 교육 신청을 진행하시겠습니까?\n수동신청한 경우 해당 대상자의 신청자 온라인 연동은 불가합니다.")){
|
||||||
|
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/popup/eduRegAjax.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("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@ -791,12 +791,7 @@
|
|||||||
<!-- 의뢰상태 -->
|
<!-- 의뢰상태 -->
|
||||||
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
|
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
|
||||||
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
|
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
|
||||||
<c:if test="${list.eduStateCd eq '20'}">
|
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
|
||||||
완료
|
|
||||||
</c:if>
|
|
||||||
<c:if test="${list.eduStateCd ne '20'}">
|
|
||||||
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
|
|
||||||
</c:if>
|
|
||||||
|
|
||||||
</c:if>
|
</c:if>
|
||||||
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
|
<c:if test="${not empty list.prcsAplctPrdOrdCmplt}">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user