From 52e90fca52351b7f03ef47758c205a601be19fa2 Mon Sep 17 00:00:00 2001 From: myname Date: Fri, 8 Dec 2023 17:53:55 +0900 Subject: [PATCH] =?UTF-8?q?2023-12-08=2017:53=20=EC=B2=AD=EC=86=8C?= =?UTF-8?q?=EB=85=84=EA=B0=95=EC=A2=8C=EC=8B=A0=EC=B2=AD=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stngInfo/service/VEAStngMixService.java | 6 +- .../service/impl/VEAStngMixServiceImpl.java | 46 +++ .../exprnClsrmAplct/service/ScholInfoVO.java | 11 + .../eduAplct/service/EduAplctTngrService.java | 15 + .../service/impl/EduAplctTngrServiceImpl.java | 140 ++++++++ .../eduAplct/web/EduAplctTngrController.java | 233 ++++++++++++- .../web/AdvAreaLctrMngTngrController.java | 49 ++- .../ve/tngr/VEABasicInfoStng_SQL_Tibero.xml | 2 +- .../ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml | 15 +- .../jsp/oprtn/tngrVisitEdu/advStngMngList.jsp | 71 +++- .../exprnClsrmInfo/popup/calendarPopList.jsp | 2 + .../tngrVisitEdu/eduAplct/eduAplctReg.jsp | 320 +++++++++++++++++- .../visitEdu/usr/publish/script/content.js | 41 ++- 13 files changed, 921 insertions(+), 30 deletions(-) diff --git a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java index 3ca0b2a1..088dccf3 100644 --- a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java +++ b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/VEAStngMixService.java @@ -42,8 +42,10 @@ public interface VEAStngMixService { //vea_lctr_psbl_prd_stng - 해당 회차의 신청 가능한 기간일지 체크 boolean eduAplctChkDate(VEAStngVO vEAStngVO , HttpServletRequest request) throws Exception; - //vea_lctr_psbl_prd_stng - 해당 회차의 신청 가능한 기간일지 체크 - String eduAplctChkDateToStr(VEAStngVO vEAStngVO , HttpServletRequest request) throws Exception; + //vea_lctr_psbl_prd_stng - 해당 회차의 신청 가능한 기간일지 체크 //전체신청체크 + String eduAplctChkDateToStr(VEAStngVO vEAStngVO , HttpServletRequest request) throws Exception; + //건별체크 + String eduAplctEAChkDateToStr(String p_rndsOrd, String p_eduHopeDt) throws Exception; //vea_lctr_rnds_stng - 해당 회차의 신청 가능한 시간인지 체크 //vea_area_lctr_stng diff --git a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/impl/VEAStngMixServiceImpl.java b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/impl/VEAStngMixServiceImpl.java index 29c3f593..d5e73588 100644 --- a/src/main/java/kcc/ve/adv/tngr/stngInfo/service/impl/VEAStngMixServiceImpl.java +++ b/src/main/java/kcc/ve/adv/tngr/stngInfo/service/impl/VEAStngMixServiceImpl.java @@ -202,6 +202,52 @@ public class VEAStngMixServiceImpl implements VEAStngMixService { return v_ret; } + @Override + public String eduAplctEAChkDateToStr( + String p_rndsOrd + //, HttpServletRequest request + , String p_eduHopeDt + ) throws Exception { + boolean flag = true; + String v_ret = ""; + + + //교육 희망일자별로 가능한 일자인지 확인 한다. + System.out.println("vEAStngVO.toString()1"); + System.out.println(p_eduHopeDt); + + VEAStngVO vEAStngVO = new VEAStngVO(); + + vEAStngVO.setRndsOrd(p_rndsOrd); + //교육희망일 + vEAStngVO.setLctrPsblStrtDt(p_eduHopeDt); + + + //청소년 요청이 신청한 지역의 신청 제한에 맞게 재대로 신청한 것인지 확인 한다. + VEAStngVO dateVO = vEAStngMixDAO.selectEduAplctDateChkList(vEAStngVO); + + System.out.println("vEAStngVO.toString()3"); + + if (dateVO==null) { + //대상 기간이 없다. + flag = false; + v_ret = p_eduHopeDt; + + }else { + //위 날짜에 부합하는 데이터가 없는 경우 flag 변경 처리 + //가능한 기간에 값이 있고, 불가능한 기간에 값이 없음 + + if (Integer.parseInt(dateVO.getDpStrtDt())>0 && Integer.parseInt(dateVO.getDpDdlnDt())<=0){ + ; + }else { + flag = false; + v_ret = p_eduHopeDt; + } + } + + return v_ret; + } + @Override public boolean eduAplctChkTime(VEAStngVO vEAStngVO, HttpServletRequest request) throws Exception { diff --git a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java index c8dc4e53..86ac0c24 100644 --- a/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java +++ b/src/main/java/kcc/ve/aplct/cpyrgExprnClsrm/exprnClsrmAplct/service/ScholInfoVO.java @@ -91,6 +91,9 @@ public class ScholInfoVO extends ComDefaultVO implements Serializable { private String isltn2Yn; //벽지지역여부 private String isltn3Yn; //접적지역여부 private String ppltnReducAreaYn; //인구감소지역여부 + + private String rndsOrd; + public String getScholId() { return scholId; } @@ -450,6 +453,14 @@ public class ScholInfoVO extends ComDefaultVO implements Serializable { public void setPpltnReducAreaYn(String ppltnReducAreaYn) { this.ppltnReducAreaYn = ppltnReducAreaYn; } + + public String getRndsOrd() { + return rndsOrd; + } + + public void setRndsOrd(String rndsOrd) { + this.rndsOrd = rndsOrd; + } } diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/EduAplctTngrService.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/EduAplctTngrService.java index a14868b6..578b30c1 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/EduAplctTngrService.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/EduAplctTngrService.java @@ -23,13 +23,28 @@ public interface EduAplctTngrService { boolean eduAplctChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception; + //시간체크 - 전체 String eduAplctChkProcessToStr(HttpServletRequest request, ModelAndView modelAndView) throws Exception; + //시간체크 - 개별 + String eduAplctEAChkProcessToStr( + String p_rndsOrd + , String p_eduSlctCd + , String p_eduSlctAreaCd + , String p_strtTm + , String p_endTm + ) throws Exception; + //동일한 일자에 동일대상에 대한 신청이 있는지 확인 - 전체 boolean eduAplctDuplChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception; + //동일한 일자에 동일대상에 대한 신청이 있는지 확인 - 개별 + boolean eduAplctDuplEAChkProcess(String p_eduHopeDt, String p_trgt) throws Exception; //boolean eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception; String eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception; + //해당일에 신청가능한 차시가 남아 있는지 - 전체 String eduAplctChkDayChasiProcessToStr(HttpServletRequest request, ModelAndView modelAndView) throws Exception; + //해당일에 신청가능한 차시가 남아 있는지 - 개별 + String eduAplctChkDayChasiEAProcessToStr(String p_rndsOrd, String p_eduHopeDt) throws Exception; } diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java index 0720c17b..afc18107 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/service/impl/EduAplctTngrServiceImpl.java @@ -653,6 +653,62 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService { return v_ret; } + //개별 시간 체크 + @Override + public String eduAplctEAChkProcessToStr( + //HttpServletRequest request + //, ModelAndView modelAndView + String p_rndsOrd + , String p_eduSlctCd + , String p_eduSlctAreaCd + , String p_strtTm + , String p_endTm + ) throws Exception { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + //boolean flag = true; + String v_ret = ""; + + //String eduSlctCd = request.getParameter("eduSlctCd"); + + //차시 저장 + //String s_eduHopeDt = request.getParameter("eduHopeDt"); + //String s_strtTm = request.getParameter("strtTm"); + //String s_endTm = request.getParameter("endTm"); + //String eduSlctAreaCd = request.getParameter("eduSlctAreaCd"); + //String prdDivCd = request.getParameter("prdDivCd"); + //String rndsOrd = request.getParameter("rndsOrd"); + + VEAStngVO vEAStngVO = new VEAStngVO(); + + vEAStngVO.setRndsOrd(p_rndsOrd); + + if ("10".equals(p_eduSlctCd)) { //온라인인 경우 + vEAStngVO.setAreaCd("400"); + }else { //오프라인인 경우 + vEAStngVO.setAreaCd(p_eduSlctAreaCd); + } + + vEAStngVO.setLctrPsblStrtTm(p_strtTm); + vEAStngVO.setLctrPsblDdlnTm(p_endTm); + + + //청소년 요청이 신청한 지역의 신청 제한에 맞게 재대로 신청한 것인지 확인 한다. + List list = vELctrAreaMngDAO.selectList20231024(vEAStngVO); + + //위 날짜와 시간에 부합하는 데이터가 없는 경우 flag 변경 처리 + if(list.size() == 0) { + //flag = false; + v_ret = p_strtTm+"~"+p_endTm; + } + + + return v_ret; + } + @Override public boolean eduAplctDuplChkProcess(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, ModelAndView modelAndView) throws Exception { LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 @@ -688,6 +744,42 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService { return flag; } + @Override + public boolean eduAplctDuplEAChkProcess( + String p_eduHopeDt + , String p_trgt + //VEEduAplctVO vEEduAplctVO, HttpServletRequest request, ModelAndView modelAndView + ) throws Exception { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + boolean flag = true; + int cnt = 0; + //String s_eduHopeDt = request.getParameter("eduHopeDt"); + //String s_trgt = request.getParameter("trgt"); + + VEEduAplctVO vo = new VEEduAplctVO(); + + vo.setUserId(loginVO.getUniqId()); + + + //vo.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]","")); + vo.setEduHopeDt(p_eduHopeDt); + vo.setTrgt(p_trgt); + vo.setLctrDivCd("10"); //청소년 + + //해당 사용자가 중복 신청했는지 확인 + cnt = vEEduMIXDAO.selectAplctDuplCnt(vo); + + //위 날짜와 시간에 부합하는 데이터가 없는 경우 flag 변경 처리 + if(cnt > 0) { + flag = false; + } + + return flag; + } @Override public String eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, ModelAndView modelAndView) throws Exception { @@ -955,6 +1047,54 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService { return v_ret; } + @Override + public String eduAplctChkDayChasiEAProcessToStr( + //HttpServletRequest request, ModelAndView modelAndView + String p_rndsOrd + , String p_eduHopeDt + ) throws Exception { + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + boolean flag = true; + String v_ret = ""; + + + //차시 저장 + //String s_eduHopeDt = request.getParameter("eduHopeDt"); + //String rndsOrd = request.getParameter("rndsOrd"); + + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setRndsOrd(p_rndsOrd); //대상 회차 + vEAStngVO.setTrgtDt(p_eduHopeDt); //교육희망일 + + //해당일의 신청가능한 차시 + int i_psblChasi = 0; + try { + i_psblChasi = vELctrAreaMngDAO.selectList20231025(vEAStngVO); + }catch(Exception ex) { + ex.printStackTrace(); + } + + //해당일의 신청한 차시 + int i_aplctChasi = 0; + try { + i_psblChasi = vELctrAreaMngDAO.selectList20231026(vEAStngVO); + }catch(Exception ex) { + ex.printStackTrace(); + } + + //신청한 차시가 신청가능한 차시보다 크면 신청 불가 + if (i_psblChasi<=i_aplctChasi) { + flag = false; + v_ret = p_eduHopeDt; + } + + return v_ret; + } + private VEEduAplctVO chkOnChasiWait202310(VEEduAplctVO vEEduAplctVO, HttpServletRequest request) throws Exception { //1. 지역별강의관리의 해당 지역코드의 총수강시간을 가져옴 diff --git a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java index 346928a3..4f5f5e48 100644 --- a/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java +++ b/src/main/java/kcc/ve/aplct/tngrVisitEdu/eduAplct/web/EduAplctTngrController.java @@ -201,11 +201,50 @@ public class EduAplctTngrController { //현재 신청등록문구 가져오기 - VEAStngVO vEAStngVO = new VEAStngVO(); - vEAStngVO.setStngCd("TR01"); - vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); - - model.addAttribute("selectBasicTRInfo", vEAStngVO); + model.addAttribute("selectBasicTRInfo", this._loadStng("TR01")); + + + //초등기본교육시간 + try { + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setStngCd("TR0E"); + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + + model.addAttribute("selectBasicTR0E", vEAStngVO.getCn()); + + }catch(Exception ex) { + System.out.println(ex.getMessage()); + model.addAttribute("selectBasicTR0E", "70"); + } + + + //초등기본교육시간 + try { + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setStngCd("TR0M"); + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + + model.addAttribute("selectBasicTR0M", vEAStngVO.getCn()); + + }catch(Exception ex) { + System.out.println(ex.getMessage()); + model.addAttribute("selectBasicTR0M", "80"); + } + + + //고등기본교육시간 + try { + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setStngCd("TR0H"); + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + + model.addAttribute("selectBasicTR0H", vEAStngVO.getCn()); + + }catch(Exception ex) { + System.out.println(ex.getMessage()); + model.addAttribute("selectBasicTR0H", "90"); + } + //model.addAttribute("selectBasicTRInfo", vEAStngVO); return "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctReg"; @@ -279,7 +318,7 @@ public class EduAplctTngrController { } /** - * 교육 신청 시 강의신청기간, 강의가능시간이 유효한지 체크 + * 교육 신청 시 강의신청기간, 강의가능시간이 유효한지 체크 - 전체 내용 */ @RequestMapping("eduAplctChkAjax.do") public ModelAndView eduAplctChkAjax(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { @@ -299,7 +338,7 @@ public class EduAplctTngrController { if (loginVO == null || ssoLoginVO == null) { //이전 url 처리(beforeSiteUrl)_이준호_220228추가 - modelAndView.addObject("result", "fail4"); + modelAndView.addObject("result", "fail5"); return modelAndView; // return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. } @@ -359,7 +398,7 @@ public class EduAplctTngrController { } - //2-3.해당일 신청가능한 차시가 남았는지(미구현) + //2-3.해당일 신청가능한 차시가 남았는지 String s_flag4 = eduAplctTngrService.eduAplctChkDayChasiProcessToStr(request, modelAndView); if(!"".equals(s_flag4)){ @@ -387,6 +426,173 @@ public class EduAplctTngrController { return modelAndView; } + /** + * 교육 신청 시 강의신청기간, 강의가능시간이 유효한지 체크 - 건별 체크 + */ + @RequestMapping("eduAplctEAChkAjax.do") + public ModelAndView eduAplctEAChkAjax(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + /* + * //0.로그인 실패-fail4 + * //1.교육희망일이 신청 가능한 일자인지 fail3 + //2.신청 시간이 해당 지역의 가능한 시간인지 fail + //3.중복시간 체크 - fail2 + * */ + //로그인 처리==================================== + //0.로그인 실패-fail4 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + modelAndView.addObject("result", "fail5"); + return modelAndView; +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + /* + * 2.교육신청시 교육희망일 비교하여 가능한 정보를 가져온다. + 2-1.신청 가능한 일자인지(구현) + (해당 강의 회차의 교육 가능일자만 신청 가능하도록) + ==>vea_lctr_rnds_stng + 2-2.신청 가능한 시간인지(구현) + 2-3.해당일 신청가능한 차시가 남았는지(미구현) + + 2-4.동일한 날짜에 기 신청된 건이 있는지(구현) + * */ + try { + + + + + + + + //차시 저장 + String s_rndsOrd = request.getParameter("rndsOrd"); //회차순번 + String s_eduSlctCd = request.getParameter("eduSlctCd"); //온,오프 여부 + String s_eduSlctAreaCd = request.getParameter("eduSlctAreaCd"); //지역코드 + + String s_eduHopeDt = request.getParameter("eduHopeDt"); + String s_strtTm = request.getParameter("strtTm"); //시작시간 + String s_endTm = request.getParameter("endTm"); //종료시간 + + String s_trgt = request.getParameter("trgt"); //대상 + + + + //1.교육희망일이 신청 가능한 일자인지 fail3 + VEAStngVO vEAStngVO = new VEAStngVO(); + + vEAStngVO.setFrstRegisterId(loginVO.getUniqId()); + vEAStngVO.setRndsOrd(s_rndsOrd); + + System.out.println(vEAStngVO.toString()); + + + //1.교육희망일 체크 - 교육희망일이 필수값이다.{ + { + String s_flag3 = ""; + + if (!"".equals(s_rndsOrd) + && !"".equals(s_eduHopeDt)) { + s_flag3 = vEAStngMixService.eduAplctEAChkDateToStr(s_rndsOrd, s_eduHopeDt); //회차값 , 교육희망일 + + } + + if(!"".equals(s_flag3)){ + modelAndView.addObject("result", "fail3"); + modelAndView.addObject("msg", s_flag3); + return modelAndView; + } + } + + + //작업 필요함 2023-10-17 + //2.신청 시간이 해당 지역의 가능한 시간인지 fail + //신청한 교육 일자 및 시간이 신청기간에 받을수 있는 지역의 시간, 일자 조건에 맞는지 확인 한다. + //boolean flag = vEAStngMixService.eduAplctChkTime(vEAStngVO, request); + //접수기간에 속한 회차의 년도에서 해당 지역이 신청가능한 시간인지 확인한다. + //2.교육신청시간체크 - //회차, 지역코드값, 시작시간, 종료시간 + { + String s_flag = ""; + + if (!"".equals(s_rndsOrd) + && !"".equals(s_eduSlctCd) + && !"".equals(s_eduSlctAreaCd) + && !"".equals(s_strtTm) + && !"".equals(s_endTm) + ) { + s_flag = eduAplctTngrService.eduAplctEAChkProcessToStr( + s_rndsOrd + , s_eduSlctCd + , s_eduSlctAreaCd + , s_strtTm + , s_endTm + ); //회차, 지역코드값, 시작시간, 종료시간 + + } + + + if(!"".equals(s_flag)){ + modelAndView.addObject("result", "fail"); + modelAndView.addObject("msg", s_flag); + return modelAndView; + } + } + + + + //2-3.해당일 신청가능한 차시가 남았는지 확인 + //3.교육신청시간체크 - //회차, 지역코드값, 시작시간, 종료시간 + { + String s_flag4 = ""; + + if (!"".equals(s_rndsOrd) + && !"".equals(s_eduHopeDt)) { + s_flag4 = eduAplctTngrService.eduAplctChkDayChasiEAProcessToStr(s_rndsOrd, s_eduHopeDt); //회차값 , 교육희망일 + + } + + if(!"".equals(s_flag4)){ + modelAndView.addObject("result", "fail4"); + modelAndView.addObject("msg", s_flag4); + return modelAndView; + } + } + + + //동일한 신청건이 있는지 확인(신청자아이디, 교육희망일, 교육대상 동일 건 비교) + //4.동일한 신청건이 있는지 - //교육희망일, 대상자 + { + boolean flag2 = true; + + if (!"".equals(s_eduHopeDt) + && !"".equals(s_trgt)) { + flag2 = eduAplctTngrService.eduAplctDuplEAChkProcess(s_eduHopeDt, s_trgt); //교육희망일, 대상자 + + } + + + if(!flag2){ + modelAndView.addObject("result", "fail2"); + return modelAndView; + } + } + + + modelAndView.addObject("VO", vEEduAplctVO); + modelAndView.addObject("result", "success"); + + }catch(Exception ex) { + ex.printStackTrace(); + } + + return modelAndView; + } + /** * // 신청기간에 정상적으로 들어온 것인지 체크하는 로직 */ @@ -1083,4 +1289,15 @@ public class EduAplctTngrController { return p_paginationInfo; } + + private VEAStngVO _loadStng( + String p_stngCd + )throws Exception{ + //현재 신청등록문구 가져오기 + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setStngCd(p_stngCd); + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + + return vEAStngVO; + } } diff --git a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/areaLctrMng/web/AdvAreaLctrMngTngrController.java b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/areaLctrMng/web/AdvAreaLctrMngTngrController.java index 2f60d0e2..239882e6 100644 --- a/src/main/java/kcc/ve/oprtn/tngrVisitEdu/areaLctrMng/web/AdvAreaLctrMngTngrController.java +++ b/src/main/java/kcc/ve/oprtn/tngrVisitEdu/areaLctrMng/web/AdvAreaLctrMngTngrController.java @@ -231,18 +231,42 @@ public class AdvAreaLctrMngTngrController { //로그인 처리==================================== //현재 신청등록문구 가져오기 - VEAStngVO vEAStngVO = new VEAStngVO(); - vEAStngVO.setStngCd("TR01"); - vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); - - model.addAttribute("selectBasicTR01Info", vEAStngVO); + //VEAStngVO vEAStngVO = new VEAStngVO(); + //vEAStngVO.setStngCd("TR01"); + //vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + model.addAttribute("selectBasicTR01Info", this._loadStng("TR01")); //청소년강사대시보드 문구 가져오기 + model.addAttribute("selectBasicTR02Info", this._loadStng("TR02")); + /* + VEAStngVO vEAStngVO = new VEAStngVO(); vEAStngVO.setStngCd("TR02"); - vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); - + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); model.addAttribute("selectBasicTR02Info", vEAStngVO); + */ + + + //초등 교육최소시간 + model.addAttribute("selectBasicTR0EInfo", this._loadStng("TR0E")); + //vEAStngVO.setStngCd("TR0E"); + //vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + //model.addAttribute("selectBasicTR0EInfo", vEAStngVO); + + + //초등 교육최소시간 + model.addAttribute("selectBasicTR0MInfo", this._loadStng("TR0M")); + //vEAStngVO.setStngCd("TR0M"); + //vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + //model.addAttribute("selectBasicTR0MInfo", vEAStngVO); + + + //초등 교육최소시간 + model.addAttribute("selectBasicTR0HInfo", this._loadStng("TR0H")); + //vEAStngVO.setStngCd("TR0H"); + //vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + //model.addAttribute("selectBasicTR0HInfo", vEAStngVO); + return "oprtn/tngrVisitEdu/advStngMngList"; } @@ -1626,4 +1650,15 @@ public class AdvAreaLctrMngTngrController { return p_paginationInfo; } + + private VEAStngVO _loadStng( + String p_stngCd + )throws Exception{ + //현재 신청등록문구 가져오기 + VEAStngVO vEAStngVO = new VEAStngVO(); + vEAStngVO.setStngCd(p_stngCd); + vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO); + + return vEAStngVO; + } } diff --git a/src/main/resources/egovframework/sqlmap/ve/tngr/VEABasicInfoStng_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/tngr/VEABasicInfoStng_SQL_Tibero.xml index 3133a705..4cf34dfa 100644 --- a/src/main/resources/egovframework/sqlmap/ve/tngr/VEABasicInfoStng_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/tngr/VEABasicInfoStng_SQL_Tibero.xml @@ -93,7 +93,7 @@ VALUES( #stngCd#, - #useYn#, + #cn#, SYSDATE, #frstRegisterId#, diff --git a/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml b/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml index ba6e8611..3026c072 100644 --- a/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml +++ b/src/main/resources/egovframework/sqlmap/ve/tngr/VEALctrYrStngMix_SQL_Tibero.xml @@ -575,7 +575,18 @@ on( aaa.datez=replace(fff.edu_hope_dt,'.','-') ) - + + /* Step4.신청가능 기간을 가져오고 rndsOrd로 대상 제한하기*/ + LEFT OUTER JOIN vea_lctr_psbl_prd_stng ggg + on( + aaa.datez_str BETWEEN ggg.lctr_psbl_strt_dt AND ggg.lctr_psbl_ddln_dt + AND ggg.lctr_psbl_yn='Y' + + + AND ggg.rnds_ord=#rndsOrd# + + + ) /* Step5.각 년도의 기본 시수를 가져온다. */ , vea_lctr_yr_stng ccc @@ -583,6 +594,8 @@ AND aaa.num_week in(2,3,4,5,6) AND aaa.datez LIKE ccc.yr||'%' AND eee.LCTR_PSBL_PRD_ORD is not null + + AND ggg.LCTR_PSBL_PRD_ORD IS NOT NULL ORDER BY aaa.datez diff --git a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/advStngMngList.jsp b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/advStngMngList.jsp index b84862d9..a8e1b0c7 100644 --- a/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/advStngMngList.jsp +++ b/src/main/webapp/WEB-INF/jsp/oprtn/tngrVisitEdu/advStngMngList.jsp @@ -140,7 +140,76 @@ --> + + +
+

교육최소시간설정

+
+
+ + + + + + + + + + + + + + + + + + +
+

교육최소시간 - 초등

+
+ + + + + + + + 분 + +   + 기본 70분 +
+

교육최소시간 - 중등

+
+ + + + + + + + 분 + +   + 기본 80분 +
+

교육최소시간 - 고등

+
+ + + + + + + + 분 + +   + 기본 90분 +
+
+
@@ -179,7 +248,7 @@
- +
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList.jsp index b55a2821..a79b1ff0 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList.jsp @@ -114,6 +114,7 @@ //todate : info.startStr, //todate : s_todate, //todate : "", + rndsOrd : '${scholInfoVO.rndsOrd }', searchYearMonth : function(){ return ""; } @@ -349,6 +350,7 @@

교육신청가능일자현황

+ /${scholInfoVO.rndsOrd }/ @@ -1359,7 +1660,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
- +
@@ -1481,7 +1782,8 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
- (분) + (분) diff --git a/src/main/webapp/visitEdu/usr/publish/script/content.js b/src/main/webapp/visitEdu/usr/publish/script/content.js index 2e8463dc..f83a7720 100644 --- a/src/main/webapp/visitEdu/usr/publish/script/content.js +++ b/src/main/webapp/visitEdu/usr/publish/script/content.js @@ -425,6 +425,7 @@ function timeInput() { if(isNotEmpty(scholDivCd)){ + /* // 초등, 특수 , 기타 if(scholDivCd == VeConstants.CLASS_CD_10 || scholDivCd == VeConstants.CLASS_CD_40 || scholDivCd == VeConstants.CLASS_CD_50){ if(lrnTm < VeConstants.CLASS_TM_40){ @@ -449,6 +450,7 @@ function timeInput() { } td.find('.input_time').val('0'); timeWarp.find('.time').val(''); + */ }else{ if(lrnTm < VeConstants.ADULT_TM_60){ alert('성인교육 최소시간 '+VeConstants.ADULT_TM_60+'분 이상이여야합니다.'); @@ -768,16 +770,53 @@ function addEduClassCopyTngr(target) { $("duet-date-picker .duet-date__input").each(function(idx,itm){ $(itm).attr("name","eduHopeDt"+idx); $(itm).attr("id","eduHopeDt"+idx); + idx+=1; }); $("duet-date-picker .duet-date__input").attr('onkeydown','this.value=dateSetting(this.value);'); - },100) + + + + },100); startDate[i].addEventListener("duetFocus", function (e) { calendarSetting(); }); } calendarinputset(); + + + setTimeout(function(){ + $("duet-date-picker .duet-date__input").each(function(idx,itm){ + //이벤트 추가 2023-12-08 + if ($(itm).attr('onblur')=="undefined" || $(itm).attr('onblur')==null){ + $(itm).attr('onblur','_fncEduHopeDt('+idx+');'); + //alert("inin"); + }else{ + //alert("outout"); + } + + idx+=1; + }); + + //이벤트 추가 2023-12-08 + $("duet-date-picker .duet-date__dialog").each(function(idx,itm){ + + if ($(itm).attr('onclick')=="undefined" || $(itm).attr('onclick')==null){ + $(itm).attr('onclick','_fncEduHopeDt('+idx+');'); + //alert("inin"); + }else{ + //alert("outout"); + } + + + + idx+=1; + + }); + + + },100); } function calendarPrev(itm){