From 7525c2aefc3cab6a80c4ede9d594aaa7db0f57b9 Mon Sep 17 00:00:00 2001 From: myname Date: Tue, 9 Jan 2024 09:55:09 +0900 Subject: [PATCH] =?UTF-8?q?2024-01-09=2009:54=20=EA=B8=B0=EC=86=8C?= =?UTF-8?q?=EC=9C=A0=EC=98=88=20=EC=8B=A0=EC=B2=AD=20=EB=82=B4=EC=9A=A9=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SspnIdtmtServiceImpl.java | 96 ++++++++++++--- .../sspnIdtmt/web/SspnIdtmtController.java | 47 +++++++- .../trgtMng/service/CndtnTrgtMngVO.java | 8 ++ .../trgtMng/service/impl/CndtnTrgtMngDAO.java | 12 +- .../ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml | 59 +++++++++- .../web/ve/aplct/sspnIdtmt/eduAplctList.jsp | 12 +- .../ve/aplct/sspnIdtmt/popup/eduAplctPop.jsp | 11 +- .../aplct/sspnIdtmt/popup/eduAplctPopList.jsp | 110 ++++++++++++++++-- 8 files changed, 316 insertions(+), 39 deletions(-) diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java index 3500bf51..910e3045 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/service/impl/SspnIdtmtServiceImpl.java @@ -92,6 +92,7 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { @Override public ModelAndView checkSspnIdtmt(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { /* + * step0.해당 계정으로 신청한 정보가 있는지 확인 하고, 있다면 동일한 정보로 신청했는지 확인 할것. * step1.신청 가능한 대상이 있는지 찾는다. * 있으면 신청처리 but 2개 이상이면 선택하도록, 1개면 신청 처리 * step2.대상이 없으면 기존 이력이 있는지 확인 @@ -109,18 +110,85 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { try { result=""; // -// // step1.신청 가능한 대상이 있는지 찾는다. - List cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1(cndtnTrgtInfoMngVO); - - if (cndtnTrgtMngVOList.size()>0) { - result = "success"; - msg = ""; - id = ""; - next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자 수 - }else { +// // step0.해당 계정으로 신청한 정보가 있는지 확인 하고, 있다면 동일한 정보로 신청했는지 확인 할것. + CndtnTrgtMngVO cndtnTrgtMngVO = cndtnTrgtInfoMngDAO.checkSspnIdtmtNewStep0(cndtnTrgtInfoMngVO); + + if ("F".equals(cndtnTrgtMngVO.getResultCd())) { //해당 계정으로 신청한 정보중에 다른 개인정보(이름, 생년월일, 성별)를 사용해서 신청한 내용이 있다. + + result="fail"; + msg = "하나의 계정은 한 명의 대상자만 신청할 수 있습니다."; + + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", result); + + return modelAndView; } + + // step1.신청 가능한 대상이 있는지 찾는다. + List cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1(cndtnTrgtInfoMngVO); + + System.out.println(cndtnTrgtMngVOList); + System.out.println(cndtnTrgtMngVOList.size()); + + if (cndtnTrgtMngVOList==null || cndtnTrgtMngVOList.size()<=0) { //대상자가 없음 + + //step2.대상이 없으면 기존 이력이 있는지 확인 + cndtnTrgtMngVOList = cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2(cndtnTrgtInfoMngVO); + + if (cndtnTrgtMngVOList==null || cndtnTrgtMngVOList.size()<=0) { //step3.기존 이력이 없으면 관리자에게 문의 하도록 한다. + result = "fail"; + msg = "대상자 정보가 없습니다. 관리자에게 문의 바랍니다."; + next = "Y"; //? + + }else if (cndtnTrgtMngVOList.size()>0) { + //기존 이력의 사유를 사용자에게 전달한다. + result = "fail"; + msg = "기존 이력을 전달한다.------"; + + if ("20".equals(cndtnTrgtMngVOList.get(0).getEduStateCd())) { + msg = "이미 이수한 이력이 있습니다. 관리자에게 문의 바랍니다."; + next = "Y"; //? + + }else if ("25".equals(cndtnTrgtMngVOList.get(0).getEduStateCd())) { + msg = "이미 신청한 교육이 있습니다."; + next = ""; //? + + }else if ("30".equals(cndtnTrgtMngVOList.get(0).getEduStateCd())) { + msg = "현재 진행중인 교육이 있습니다."; + next = ""; //? + + }else if ("40".equals(cndtnTrgtMngVOList.get(0).getEduStateCd())) { + msg = "미이수한 이력이 있습니다. 관리자에게 문의 바랍니다."; + next = "Y"; //? + + }else if ("60".equals(cndtnTrgtMngVOList.get(0).getEduStateCd())) { + msg = "교육취소 이력이 있습니다. 관리자에게 문의 바랍니다."; + next = "Y"; //? + } + + } + + }else if (cndtnTrgtMngVOList.size()==1) { //성공 신청 진행 + result = "success"; + msg = ""; + id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd(); + next = "Y"; + //next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자 수 + + }else if (cndtnTrgtMngVOList.size()>1) { //대상 리스트 던질것 + //to do + result = "success"; + msg = ""; + id = ""; //여기에 대상 선택을 위한 데이터를 넣어준다. + next = "N"; + modelAndView.addObject("cndtnTrgtMngVOList", cndtnTrgtMngVOList); + //next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자 수 + + } + + /* if(StringUtils.isNotEmpty(id)) { msg = "이미 신청한 대상자 입니다."; @@ -136,17 +204,19 @@ public class SspnIdtmtServiceImpl implements SspnIdtmtService { next = "Y"; } } + */ } catch (Exception e) { result="fail"; msg = "오류가 발생하였습니다 관리자에게 문의하세요. "; + next = "Y"; e.printStackTrace(); // TODO: handle exception } - modelAndView.addObject("msg", msg); - modelAndView.addObject("result", result); - modelAndView.addObject("id", id); - modelAndView.addObject("next", next); + modelAndView.addObject("msg", msg); + modelAndView.addObject("id", id); + modelAndView.addObject("result", result); + modelAndView.addObject("next", next); //fail & Y = 관리자 문의 버튼 노출 return modelAndView; } diff --git a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java index 47a6e75a..a9aa81a3 100644 --- a/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java +++ b/src/main/java/kcc/ve/aplct/sspnIdtmt/web/SspnIdtmtController.java @@ -569,7 +569,8 @@ public class SspnIdtmtController { String result = ""; try { - + //암호화 + vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); sspnIdtmtService.insertVeEduAplct(vEEduAplctVO); @@ -578,11 +579,11 @@ public class SspnIdtmtController { cndtnTrgtMngVO.setUserId(loginVO.getUniqId()); cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); cndtnTrgtMngVO.setEduStateCd("25"); // 신청 - cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호 + //cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호 // , edu_state_cd = #eduStateCd# // , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt# - + cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO); result = "success"; @@ -719,6 +720,46 @@ public class SspnIdtmtController { */ } + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/sspnIdtmt/userNewConfirmAjax.do") + public ModelAndView userNewConfirmAjax( + @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; + } + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + + System.out.println(cndtnTrgtInfoMngVO.getUserId()); + cndtnTrgtInfoMngVO.setUserId(loginVO.getUniqId()); + System.out.println(cndtnTrgtInfoMngVO.getUserId()); + + System.out.println(cndtnTrgtInfoMngVO.getSex()); + //System.out.println(cndtnTrgtInfoMngVO.getDBirth()); + System.out.println(cndtnTrgtInfoMngVO.getdBirth()); + System.out.println(cndtnTrgtInfoMngVO.getTrgtNm()); + + cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + //return modelAndView; + + return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO); + + } /** * 교육신청 목록 화면 diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java index fdadd58e..de762adb 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/CndtnTrgtMngVO.java @@ -50,6 +50,8 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { private String eduAplctOrd; //신청한 교육 순번 + private String resultCd; //결과값 T-참,F-거짓 + @@ -232,6 +234,12 @@ public class CndtnTrgtMngVO extends ComDefaultVO implements Serializable { public void setEduAplctOrd(String eduAplctOrd) { this.eduAplctOrd = eduAplctOrd; } + public String getResultCd() { + return resultCd; + } + public void setResultCd(String resultCd) { + this.resultCd = resultCd; + } diff --git a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java index 4bfe6c4e..29973cad 100644 --- a/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java +++ b/src/main/java/kcc/ve/oprtn/cndtnSspnIdtmt/trgtMng/service/impl/CndtnTrgtMngDAO.java @@ -110,9 +110,17 @@ public class CndtnTrgtMngDAO extends EgovAbstractDAO { } public List checkSspnIdtmtStep1(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { - return (List) select("cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1", cndtnTrgtInfoMngVO); + return (List) list("cndtnTrgtInfoMngDAO.checkSspnIdtmtStep1", cndtnTrgtInfoMngVO); } - + + public List checkSspnIdtmtStep2(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return (List) list("cndtnTrgtInfoMngDAO.checkSspnIdtmtStep2", cndtnTrgtInfoMngVO); + } + + public CndtnTrgtMngVO checkSspnIdtmtNewStep0(CndtnTrgtMngVO cndtnTrgtInfoMngVO) { + return (CndtnTrgtMngVO) select("cndtnTrgtInfoMngDAO.checkSspnIdtmtNewStep0", cndtnTrgtInfoMngVO); + } + public void updateUserId(CndtnTrgtMngVO cndtnTrgtMngVO) { update("cndtnTrgtInfoMngDAO.updateUserId", cndtnTrgtMngVO); } diff --git a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml index bd3f822b..c936d1bb 100644 --- a/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/cndtn/cndtnTrgtInfoMng_SQL_Tibero.xml @@ -208,8 +208,12 @@ UPDATE SET - user_id = #userId# - , req_state_cd = #reqStateCd# + user_id = #userId# + + + , req_state_cd = #reqStateCd# + + , edu_state_cd = #eduStateCd# , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt# WHERE @@ -330,7 +334,9 @@ + + + + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp index 90337fa0..78a4a414 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/eduAplctList.jsp @@ -507,7 +507,8 @@ $(document).ready(function(){ //설문 팝업 function fncAplctPopup( - id //aplctOrd + p_prcsAplctPrdOrd + , id //aplctOrd , chId //chasiOrd , p_site_id_cd //10,20,30 , p_action //select, insert @@ -517,7 +518,8 @@ $(document).ready(function(){ ) { paramObj = { - "eduAplctOrd" : id + "prcsAplctPrdOrd": p_prcsAplctPrdOrd + ,"eduAplctOrd" : id ,"eduChasiOrd" : chId ,"siteIdCd" : p_site_id_cd ,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 @@ -673,12 +675,12 @@ $(document).ready(function(){ <%-- --%> - - --> + diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPop.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPop.jsp index f37ab4cd..1a5b8c7a 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPop.jsp @@ -73,10 +73,13 @@ $(document).ready(function(){ $('input[type="text"]').not('#fld').each(function() { if ($(this).val() == '') { var fieldName = $(this).closest('td').prev('th').find('p').text(); - alert(fieldName + '를 입력해주세요.'); - $(this).focus(); - valChk = false - return false; // 함수 실행 중지 + + if (fieldName!=''){ + alert(fieldName + '를 입력해주세요.'); + $(this).focus(); + valChk = false + return false; // 함수 실행 중지 + } } }); diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp index 87ebc5b3..3b886761 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.jsp @@ -63,23 +63,42 @@ ); } */ - - function fn_new_confirm(){ + function fn_qa(){ + location.href = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/main.do"; + } + + function fn_new_confirm(p_prcsAplctPrdOrd){ var form = document.confirmForm; var dBirth = $('#dBirth').val().replace(/\./g, ''); var trgtNm = $('#trgtNm').val(); - var sex = $('#sex').val(); - - + var sex = $('input[name="sex"]:checked').val(); + + $('#regForm input[name="prcsAplctPrdOrd"]').val(p_prcsAplctPrdOrd); + + if (trgtNm==""){ + alert("성명을 입력해주세요."); + return; + } + + if (dBirth==""){ + alert("주민번호앞자리를 입력해주세요."); + return; + } + + if (sex==""){ + alert("성별을 입력해주세요."); + return; + } form.trgtNm.value = trgtNm; form.dBirth.value = dBirth; form.sex.value = sex; var data = new FormData(document.getElementById("confirmForm")); - var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do"; + //var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do"; + var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userNewConfirmAjax.do"; $.ajax({ type:"POST", url: url, @@ -102,10 +121,24 @@ { //sspnIdtmtTrgtOrd = returnData.id; // fncEduReg(trgtNm, dBirth, returnData.id); + $('#target_confirm_popup-close').click(); fn_eduRegPopup(trgtNm, dBirth, returnData.id); + }else if(returnData.next == "N"){ + //동일 대상자 중에서 선택할수 있도록 처리해야 한다. + alert(returnData.cndtnTrgtMngVOList); + alert(returnData.cndtnTrgtMngVOList.length); + alert(returnData.cndtnTrgtMngVOList[0]); + alert(returnData.cndtnTrgtMngVOList[0].sspnIdtmtTrgtOrd); } }else{ alert(returnData.msg); + + if(returnData.next == "Y" && returnData.result == "fail") + { + //문의 하기 버튼 노출을 한다. + $('#qaBtn').show(); + + } } // fn_target_confirm_clean(); // location.reload(); @@ -199,12 +232,73 @@ $(document).ready(function(){
- - + +
+
+
+
+
+
+
+ +
+
+ + +
+ + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + +
여러건의 데이터가 확인 되었습니다.하기 대상 데이터중 하나를 선택 바랍니다.
성명 + + + +
주민번호앞자리 +
+ +
+ +
+ +
성별 + + + + +
+ +
+