사용자 기소유예 대상자 조회 후 교육신청

This commit is contained in:
hylee 2023-10-10 11:36:39 +09:00
parent 1c39becb1a
commit 6bbdc8c4cc
13 changed files with 277 additions and 47 deletions

View File

@ -10,9 +10,9 @@ import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
@Repository("fndtnEnhanceTrnDAO")
public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
public void insertIsltn(ScholInfoVO paramVO) throws Exception {
/* public void insertIsltn(ScholInfoVO paramVO) throws Exception {
insert("ScholInfoDAO.insertIsltn", paramVO);
}
}*/
/**
* L - Page
@ -20,7 +20,7 @@ public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
* @return
* @throws Exception
*/
public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
/* public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
@SuppressWarnings("unchecked")
List<ScholInfoVO> list = (List<ScholInfoVO>) list("ScholInfoDAO.selectPagingList", paramVO);
return list;
@ -56,5 +56,5 @@ public class FndtnEnhanceTrnDAO extends EgovAbstractDAO {
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
}
}*/
}

View File

@ -475,6 +475,7 @@ public class FndtnEnhanceTrnController {
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
//

View File

@ -2,6 +2,7 @@ package kcc.ve.aplct.sspnIdtmt.service;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
public interface SspnIdtmtService {
@ -9,5 +10,7 @@ public interface SspnIdtmtService {
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
}

View File

@ -6,20 +6,21 @@ import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@Repository("sspnIdtmtDAO")
public class SspnIdtmtDAO extends EgovAbstractDAO {
public void insertIsltn(ScholInfoVO paramVO) throws Exception {
insert("ScholInfoDAO.insertIsltn", paramVO);
}
/**
//
// public void insertIsltn(ScholInfoVO paramVO) throws Exception {
// insert("ScholInfoDAO.insertIsltn", paramVO);
// }
/*
*//**
* L - Page
* @param scholInfoVO
* @return
* @throws Exception
*/
*//*
public List<ScholInfoVO> selectPagingList(ScholInfoVO paramVO) throws Exception {
@SuppressWarnings("unchecked")
List<ScholInfoVO> list = (List<ScholInfoVO>) list("ScholInfoDAO.selectPagingList", paramVO);
@ -56,5 +57,9 @@ public class SspnIdtmtDAO extends EgovAbstractDAO {
public int insertSelectIsltn(ScholInfoVO scholInfoVO) throws Exception {
return update("ScholInfoDAO.insertSelectIsltn", scholInfoVO);
}
}*/
// public int findByTrgtNm(VEEduAplctVO vEEduAplctVO) {
// return (int) select("SspnIdtmtDAO.findByTrgtNm", vEEduAplctVO);
// }
}

View File

@ -7,6 +7,8 @@ import org.springframework.stereotype.Service;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.impl.CndtnTrgtMngDAO;
@Service("sspnIdtmtService")
public class SspnIdtmtServiceImpl implements SspnIdtmtService {
@ -16,14 +18,23 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService {
@Resource(name="vEEduAplctDAO")
private VEEduAplctDAO vEEduAplctDAO;
// 기소유예 관련
@Resource(name="cndtnTrgtInfoMngDAO")
private CndtnTrgtMngDAO cndtnTrgtInfoMngDAO;
@Override
public void insertVeEduAplct(VEEduAplctVO paramVO) {
//C
vEEduAplctDAO.insertVeEduAplct(paramVO);
vEEduAplctDAO.insertVeEduAplct(paramVO);
}
@Override
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO);
}
@Override
public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return cndtnTrgtInfoMngDAO.findByTrgtNm(cndtnTrgtInfoMngVO);
}
}

View File

@ -40,6 +40,8 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
/**
* 교육신청(성인찾아가는교육)
@ -135,6 +137,11 @@ public class SspnIdtmtController {
@Resource(name = "eduAplctAdultService")
private EduAplctAdultService eduAplctAdultService;
//과정 관리
@Resource(name = "cndtnTrgtInfoMngService")
private CndtnTrgtMngService cndtnTrgtInfoMngService;
//코드
@Resource(name="cmmUseDAO")
@ -294,7 +301,7 @@ public class SspnIdtmtController {
/**
* 교육신청 목록 화면
*/
@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do")
/*@RequestMapping("/web/ve/aplct/sspnIdtmt/fndtnEduAplctList.do")
public String fndtnEduAplctList(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
@ -357,7 +364,7 @@ public class SspnIdtmtController {
return "/web/ve/aplct/sspnIdtmt/fndtnEduAplctList";
}
/**
*//**
* 교육상세
*/
@RequestMapping("/web/ve/aplct/sspnIdtmt/eduAplctDetail.do")
@ -399,6 +406,12 @@ public class SspnIdtmtController {
//로그인 처리====================================
//로그인 정보 가져오기
System.out.println("AAA "+vEPrcsDetailVO.getTrgtNm());
System.out.println("AAA "+vEPrcsDetailVO.getdBirth());
System.out.println("AAA "+vEPrcsDetailVO.getSspnIdtmtTrgtOrd());
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) {
@ -410,12 +423,12 @@ public class SspnIdtmtController {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
vEEduAplctVO.setEduAplctOrd(eduAplctGnrService.getNextStringId());
vEEduAplctVO.setLctrDivCd("60"); // 기반강화
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_60); // 기소유예
vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려
// sbmt_pnttm 제출일시
vEEduAplctVO.setSbmtYn("Y"); // 제출여부
@ -424,15 +437,60 @@ public class SspnIdtmtController {
vEEduAplctVO.setUserId(loginVO.getUniqId());
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
sspnIdtmtService.insertVeEduAplct(vEEduAplctVO);
String result = "";
try {
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
sspnIdtmtService.insertVeEduAplct(vEEduAplctVO);
cndtnTrgtInfoMngService.updateUserId(vEPrcsDetailVO);
result = "success";
} catch (Exception e) {
// TODO: handle exception
}
modelAndView.addObject("result", "success");
modelAndView.addObject("result", result);
return modelAndView;
}
/**
* 기반강화연수과정 신청기간 등록
*/
@RequestMapping("/web/ve/aplct/sspnIdtmt/userConfirmAjax.do")
public ModelAndView userConfirmAjax(
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
, 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;
}
String id = sspnIdtmtService.findByTrgtNm(cndtnTrgtInfoMngVO);
modelAndView.addObject("result", "success");
modelAndView.addObject("id", id);
return modelAndView;
}
/**
* 교육신청 목록 화면

View File

@ -126,6 +126,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String dateChk;
private Boolean qestRsltExists;
private String trgtNm;
private String sspnIdtmtTrgtOrd;
@ -597,6 +599,18 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setQestRsltExists(Boolean qestRsltExists) {
this.qestRsltExists = qestRsltExists;
}
public String getTrgtNm() {
return trgtNm;
}
public void setTrgtNm(String trgtNm) {
this.trgtNm = trgtNm;
}
public String getSspnIdtmtTrgtOrd() {
return sspnIdtmtTrgtOrd;
}
public void setSspnIdtmtTrgtOrd(String sspnIdtmtTrgtOrd) {
this.sspnIdtmtTrgtOrd = sspnIdtmtTrgtOrd;
}
}

View File

@ -2,6 +2,8 @@ package kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service;
import java.util.List;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
public interface CndtnTrgtMngService {
List<CndtnTrgtMngVO> selectPagingList(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
@ -11,6 +13,8 @@ public interface CndtnTrgtMngService {
CndtnTrgtMngVO selectDetail(CndtnTrgtMngVO cndtnTrgtInfoVO);
void update(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
void updateUserId(VEPrcsDetailVO vEPrcsDetailVO);

View File

@ -5,6 +5,7 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEAPrcsAplctPrdInstrAsgnmVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
@ -108,5 +109,13 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO {
update("cndtnTrgtInfoMngDAO.update", cndtnTrgtInfoMngVO);
}
public String findByTrgtNm(CndtnTrgtMngVO cndtnTrgtInfoMngVO) {
return (String) select("cndtnTrgtInfoMngDAO.findByTrgtNm", cndtnTrgtInfoMngVO);
}
public void updateUserId(VEPrcsDetailVO vEPrcsDetailVO) {
update("cndtnTrgtInfoMngDAO.updateUserId", vEPrcsDetailVO);
}
}

View File

@ -8,6 +8,7 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
@ -46,6 +47,11 @@ public class CndtnTrgtMngServiceImpl implements CndtnTrgtMngService {
cndtnTrgtInfoMngDAO.update(cndtnTrgtInfoMngVO);
}
@Override
public void updateUserId(VEPrcsDetailVO vEPrcsDetailVO) {
cndtnTrgtInfoMngDAO.updateUserId(vEPrcsDetailVO);
}
/*
//C

View File

@ -131,6 +131,18 @@
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>
<!-- 대상자 조회 후 대상자에 로그인 ID update -->
<update id="cndtnTrgtInfoMngDAO.updateUserId" parameterClass="CndtnPrcsInfoMngVO">
/* cndtnTrgtInfoMngDAO.updateSspnIdtmtTrgtOrd */
UPDATE
<include refid="CndtnTrgtInfoMngDAO.table_name"/>
SET
user_id = #userId#
, req_state_cd = #reqStateCd#
WHERE
sspn_idtmt_trgt_ord = #sspnIdtmtTrgtOrd#
</update>
<!-- 기소유예 대상자 R -->
<select id="cndtnTrgtInfoMngDAO.selectPagingList" parameterClass="CndtnPrcsInfoMngVO" resultClass="CndtnPrcsInfoMngVO">
@ -157,6 +169,19 @@
</select>
<!-- 기소유예 대상자 확인 -->
<select id="cndtnTrgtInfoMngDAO.findByTrgtNm" parameterClass="CndtnPrcsInfoMngVO" resultClass="String">
SELECT
sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd
FROM
<include refid="CndtnTrgtInfoMngDAO.table_name"/> a
WHERE
a.trgt_nm = #trgtNm#
AND a.d_birth = #dBirth#
AND a.user_id IS null
</select>

View File

@ -69,7 +69,7 @@ $(document).ready(function(){
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do";
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do";
console.log(data);
$.ajax({
type:"POST",

View File

@ -67,9 +67,12 @@ $(document).ready(function(){
});
function fncEduReg(prcsAplctPrdOrd){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
// 대상자 이름, 생년월일, 대상자TB ID
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
@ -124,16 +127,74 @@ $(document).ready(function(){
});
}
function fn_eduInquiry(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/eduInquiryPopup.do"
, 470
, 464
// , data
, ""
, "Y"
, "eduInquiryPopup"
);
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.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"){
console.log('returnData.id :: ', returnData.id);
var sspnIdtmtTrgtOrd = returnData.id;
if(sspnIdtmtTrgtOrd != ''){
alert("확인되었습니다.");
/*
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
여기서부터!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*/
// 대상자 이름, 생년월일, 대상자TB ID
fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd);
} else {
alert("대상자에 없습니다.");
}
}
fn_target_confirm_clean();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
function fn_target_confirm_clean(){
$('#trgtNm').val('');
$('#dBirth').val('');
}
</script>
@ -141,8 +202,15 @@ $(document).ready(function(){
<!-- content -->
<div class="cont_wrap" id="sub">
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
@ -248,7 +316,7 @@ $(document).ready(function(){
</td>
<td class="aplctBtn">
<%-- <button type="button" class="btnType04" onclick="fncEduReg('<c:out value="${list.prcsAplctPrdOrd}"/>');">신청</button> --%>
<button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="reg_search" >신청</button>
<button type="button" class="btnType04" data-info="<c:out value="${list.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button>
</td>
</tr>
</c:forEach>
@ -278,23 +346,49 @@ $(document).ready(function(){
<!-- 신청 클릭 > 기소유예 대상자 확인 팝업 -->
<!-- 교육대상자 확인 -->
<div class="tooltip-wrap">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="reg_search" data-focus="reg_search"
data-focus-prev="reg_search_close">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
<div class="popup_tit">
<p>교육대상자 확인</p> <button class="btn_popup_close tooltip-close" data-focus="reg_search_close"
title="팝업 닫기"><i></i></button>
<p>교육대상자 확인</p>
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<p class="text_greeting">안녕하세요.</br>한국저작권위원회입니다.</p>
<div class="popup_texta"><textarea placeholder="문의내용을 입력해 주세요."></textarea></div>
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
<div class="cont_body">
<div class="pop_tb_type01" style="overflow:visible;">
<table>
<colgroup>
<col style="width:38%;">
<col style="width:auto;">
</colgroup>
<tr>
<th>성명</th>
<td>
<input type="text" id="trgtNm">
</td>
</tr>
<tr>
<th>주민번호앞자리</th>
<td>
<div class="calendar_wrap">
<duet-date-picker identifier="date" id="dBirth" class="startDate" id="" min="1940-01-01"></duet-date-picker>
</div>
<script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script>
</td>
</tr>
</table>
</div>
<div class="btn_center">
<button type="button" class="btnType05">문의하기</button>
</div>
<div class="btn_right">
<div class="pop_btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType05" onclick="fn_confirm()">제출</button>
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>