2023-12-08 17:53 청소년강좌신청 수정
This commit is contained in:
parent
06fbe8fc70
commit
52e90fca52
@ -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 - 해당 회차의 신청 가능한 기간일지 체크
|
||||
//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
|
||||
|
||||
@ -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 {
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
@ -451,5 +454,13 @@ public class ScholInfoVO extends ComDefaultVO implements Serializable {
|
||||
this.ppltnReducAreaYn = ppltnReducAreaYn;
|
||||
}
|
||||
|
||||
public String getRndsOrd() {
|
||||
return rndsOrd;
|
||||
}
|
||||
|
||||
public void setRndsOrd(String rndsOrd) {
|
||||
this.rndsOrd = rndsOrd;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
}
|
||||
|
||||
@ -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<VEAStngVO> 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. 지역별강의관리의 해당 지역코드의 총수강시간을 가져옴
|
||||
|
||||
@ -201,11 +201,50 @@ public class EduAplctTngrController {
|
||||
|
||||
|
||||
//현재 신청등록문구 가져오기
|
||||
VEAStngVO vEAStngVO = new VEAStngVO();
|
||||
vEAStngVO.setStngCd("TR01");
|
||||
vEAStngVO = vEAStngService.selectDetail_VEABIS(vEAStngVO);
|
||||
model.addAttribute("selectBasicTRInfo", this._loadStng("TR01"));
|
||||
|
||||
model.addAttribute("selectBasicTRInfo", vEAStngVO);
|
||||
|
||||
//초등기본교육시간
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
VALUES(
|
||||
#stngCd#,
|
||||
|
||||
#useYn#,
|
||||
#cn#,
|
||||
|
||||
SYSDATE,
|
||||
#frstRegisterId#,
|
||||
|
||||
@ -576,6 +576,17 @@
|
||||
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'
|
||||
|
||||
<isNotEmpty property="rndsOrd">
|
||||
AND ggg.rnds_ord=#rndsOrd#
|
||||
</isNotEmpty>
|
||||
|
||||
)
|
||||
|
||||
/* Step5.각 년도의 기본 시수를 가져온다. */
|
||||
, vea_lctr_yr_stng ccc
|
||||
@ -584,6 +595,8 @@
|
||||
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
|
||||
|
||||
</select>
|
||||
|
||||
@ -141,6 +141,75 @@
|
||||
</div>
|
||||
-->
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>교육최소시간설정</h2>
|
||||
</div>
|
||||
|
||||
<div class="tb_type02">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 220px;height:100px;">
|
||||
<col style="width: auto;height:100px;">
|
||||
</colgroup>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육최소시간 - 초등</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty selectBasicTR0EInfo}">
|
||||
<input type="text" name="cn0E" id="cn0E" value="<c:out value='${selectBasicTR0EInfo.cn}'/>"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="text" name="cn0E" id="cn0E" value="70"/>
|
||||
</c:otherwise>
|
||||
</c:choose>분
|
||||
|
||||
<button type="button" class="btn_type08" onclick="fncUpdate('#cn0E','TR0E');return false;">수정</button>
|
||||
기본 70분
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육최소시간 - 중등</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty selectBasicTR0MInfo}">
|
||||
<input type="text" name="cn0M" id="cn0M" value="<c:out value='${selectBasicTR0MInfo.cn}'/>"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="text" name="cn0M" id="cn0M" value="80"/>
|
||||
</c:otherwise>
|
||||
</c:choose>분
|
||||
|
||||
<button type="button" class="btn_type08" onclick="fncUpdate('#cn0M','TR0M');return false;">수정</button>
|
||||
기본 80분
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p>교육최소시간 - 고등</p>
|
||||
</th>
|
||||
<td>
|
||||
<c:choose>
|
||||
<c:when test="${not empty selectBasicTR0HInfo}">
|
||||
<input type="text" name="cn0H" id="cn0H" value="<c:out value='${selectBasicTR0HInfo.cn}'/>"/>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<input type="text" name="cn0H" id="cn0H" value="90"/>
|
||||
</c:otherwise>
|
||||
</c:choose>분
|
||||
|
||||
<button type="button" class="btn_type08" onclick="fncUpdate('#cn0H','TR0H');return false;">수정</button>
|
||||
기본 90분
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
@ -179,7 +248,7 @@
|
||||
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btn_type08" onclick="fncUpdate('#cn01','TR01');return false;">내용 수정</button>
|
||||
<button type="button" class="btn_type08" onclick="fncUpdate('#cn01','TR0');return false;">내용 수정</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btn_type03" onclick="fncPreviewEmail('TR01');return false;">미리보기</button>
|
||||
|
||||
@ -114,6 +114,7 @@
|
||||
//todate : info.startStr,
|
||||
//todate : s_todate,
|
||||
//todate : "",
|
||||
rndsOrd : '${scholInfoVO.rndsOrd }',
|
||||
searchYearMonth : function(){
|
||||
return "";
|
||||
}
|
||||
@ -349,6 +350,7 @@
|
||||
<div class="cont_tit" style="padding-top: 0px;">
|
||||
<input type="hidden" id="searchCalendarCode" value="">
|
||||
<h2>교육신청가능일자현황</h2>
|
||||
/${scholInfoVO.rndsOrd }/
|
||||
<!--
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
|
||||
@ -54,6 +54,174 @@
|
||||
<script type="text/javaScript">
|
||||
var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
|
||||
var v_TR0E = '${selectBasicTR0E}'; //초등 기본 교육시간
|
||||
var v_TR0M = '${selectBasicTR0M}'; //중등 기본 교육시간
|
||||
var v_TR0H = '${selectBasicTR0H}'; //고등 기본 교육시간
|
||||
|
||||
//교육희망일자가 가능한 일자인지 확인한다.
|
||||
function _fncEduHopeDt(p_idx){
|
||||
|
||||
|
||||
|
||||
//console.log(eduHopeDt);
|
||||
|
||||
//var eduHopeDt = $(this).find('input[name=eduHopeDt]').val();
|
||||
//var strtTm = $(this).find('input[name=strtTm]').val();
|
||||
//var endTm = $(this).find('input[name=endTm]').val();
|
||||
//var eduSlctAreaCd = $("select[name=eduSlctAreaCd]").val();
|
||||
//var trgt = $(this).find('input[name=trgt]').val();
|
||||
|
||||
var eduSlctCd = $("select[name=eduSlctCd]").val();
|
||||
var eduSlctAreaCd = $("select[name=eduSlctAreaCd]").val();
|
||||
|
||||
var eduHopeDt = $('.duet-date__input:eq('+p_idx+')').val();
|
||||
|
||||
var strtTm = "";
|
||||
var endTm = "";
|
||||
var eduSlctAreaCd = "";
|
||||
var trgt = "";
|
||||
|
||||
var rndsOrd = $('input[name=rndsOrd]').val();
|
||||
|
||||
_fncEduHopeDtStep1(
|
||||
rndsOrd
|
||||
, eduSlctCd
|
||||
, eduSlctAreaCd
|
||||
|
||||
, eduHopeDt
|
||||
, strtTm
|
||||
, endTm
|
||||
, trgt
|
||||
, p_idx
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//교육희망일자가 가능한 일자인지 확인한다.
|
||||
function _fncEduHopeDtStep1(
|
||||
p_rndsOrd
|
||||
, p_eduSlctCd
|
||||
, p_eduSlctAreaCd
|
||||
|
||||
, p_eduHopeDt
|
||||
, p_strtTm
|
||||
, p_endTm
|
||||
, p_trgt
|
||||
, p_idx
|
||||
){
|
||||
|
||||
console.log('p_eduHopeDt s');
|
||||
console.log(p_eduHopeDt);
|
||||
console.log('p_eduHopeDt e');
|
||||
|
||||
var duplChk = false;
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctEAChkAjax.do",
|
||||
data: {
|
||||
"rndsOrd":p_rndsOrd,
|
||||
"eduSlctCd" : p_eduSlctCd,
|
||||
"eduSlctAreaCd" : p_eduSlctAreaCd,
|
||||
|
||||
"eduHopeDt" : p_eduHopeDt ,
|
||||
"strtTm" : p_strtTm,
|
||||
"endTm" : p_endTm,
|
||||
"trgt" : p_trgt,
|
||||
|
||||
},
|
||||
dataType:'json',
|
||||
async: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "fail5"){
|
||||
alert("로그인 후 다시 교육신청해 주세요.");
|
||||
flag = false;
|
||||
return;
|
||||
}else if(returnData.result == "fail4"){
|
||||
//alert("가능한 교육희망일자가 아닙니다.");
|
||||
alert(returnData.msg+"일에 신청 가능한 차시수를 넘어서 더 이상 신청이 불가능합니다.");
|
||||
flag = false;
|
||||
return;
|
||||
}else if(returnData.result == "fail3"){
|
||||
//alert("가능한 교육희망일자가 아닙니다.");
|
||||
$('.duet-date__input:eq('+p_idx+')').val('');
|
||||
alert(returnData.msg+"일은 교육가능일자가 아닙니다.");
|
||||
flag = false;
|
||||
return;
|
||||
}else if(returnData.result == "fail"){
|
||||
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
|
||||
alert(returnData.msg+"는 강의가능시간이 아닙니다.");
|
||||
flag = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!duplChk) {
|
||||
if(returnData.result == "fail2"){
|
||||
if(confirm("중복된 신청 건이 있습니다. 진행하시겠습니까?")){
|
||||
//중복신청건이 있어도 등록(최초 질의 후 재질의 방지)
|
||||
duplChk = true;
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
//교육신청시간이 최소시간 및 가능시간인지 확인한다.
|
||||
function _chkChasiTime(p_this){
|
||||
//console.log(eduHopeDt);
|
||||
|
||||
var p_lrnTm = $(p_this).val();
|
||||
|
||||
//alert(p_lrnTm);
|
||||
|
||||
//var eduHopeDt = $(this).find('input[name=eduHopeDt]').val();
|
||||
//var strtTm = $(this).find('input[name=strtTm]').val();
|
||||
//var endTm = $(this).find('input[name=endTm]').val();
|
||||
//var eduSlctAreaCd = $("select[name=eduSlctAreaCd]").val();
|
||||
//var trgt = $(this).find('input[name=trgt]').val();
|
||||
|
||||
var eduSlctCd = $("select[name=eduSlctCd]").val();
|
||||
var eduSlctAreaCd = $("select[name=eduSlctAreaCd]").val();
|
||||
|
||||
var eduHopeDt = $('.duet-date__input:eq('+p_idx+')').val();
|
||||
|
||||
var strtTm = "";
|
||||
var endTm = "";
|
||||
var eduSlctAreaCd = "";
|
||||
var trgt = "";
|
||||
|
||||
var rndsOrd = $('input[name=rndsOrd]').val();
|
||||
|
||||
_fncEduHopeDtStep1(
|
||||
rndsOrd
|
||||
, eduSlctCd
|
||||
, eduSlctAreaCd
|
||||
|
||||
, eduHopeDt
|
||||
, strtTm
|
||||
, endTm
|
||||
, trgt
|
||||
, p_idx
|
||||
);
|
||||
}
|
||||
|
||||
// 신청하는 차시가 유효한 신청기간인지, 강의가능시간인지 체크하는 로직
|
||||
// =>강의 가능 시간 여부만 체크로 변경 2022-02-28
|
||||
// 추가로, 본인이 등록했던 신청건인지 체크(사용자아이디, 학교명, 교육희망일, 교육대상 비교)
|
||||
//1.교육희망일이 신청 가능한 일자인지
|
||||
//2.신청 시간이 해당 지역의 가능한 시간인지
|
||||
//3.중복시간 체크
|
||||
|
||||
$( document ).ready(function(){
|
||||
|
||||
/* $('.chasu_calendar').pickadate({
|
||||
@ -146,6 +314,42 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
$("select[name=divCd] option[value='10']").remove();
|
||||
$("select[name=divCd] option[value='20']").remove();
|
||||
$("select[name=divCd] option[value='30']").remove();
|
||||
|
||||
|
||||
/*
|
||||
$(".duet-date__input").each(function(idx,itm){
|
||||
//console.log(' each idx ', idx);
|
||||
//$(itm).attr("name","eduHopeDt"+idx);
|
||||
//$(itm).attr("id","eduHopeDt"+idx);
|
||||
$(itm).attr("onBlue","_eduHopeDt(this)");
|
||||
idx+=1;
|
||||
}) ;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
setTimeout(function(){
|
||||
|
||||
$("duet-date-picker .duet-date__input").each(function(idx,itm){
|
||||
if ($(itm).attr('onblur')=="undefined" || $(itm).attr('onblur')==null){
|
||||
$(itm).attr('onblur','_fncEduHopeDt('+idx+');');
|
||||
}
|
||||
|
||||
//idx+=1;
|
||||
});
|
||||
|
||||
|
||||
$("duet-date-picker .duet-date__dialog").each(function(idx,itm){
|
||||
if ($(itm).attr('onclick')=="undefined" || $(itm).attr('onclick')==null){
|
||||
$(itm).attr('onclick','_fncEduHopeDt('+idx+');');
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
},1000)
|
||||
|
||||
});
|
||||
|
||||
function fncScholList(paramObj) {
|
||||
@ -179,7 +383,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
$("#addr").val(schData.newAddr);
|
||||
$("#addrDetail").val(schData.newAddrDtl);
|
||||
|
||||
alert(schData.isltnYn);
|
||||
//alert(schData.isltnYn);
|
||||
|
||||
$('input[name=scholDivCd][value='+schData.scholDivCd+']').prop('checked', true);
|
||||
//$('input[name=isltnScholYn][value='+schData.isltnScholYn+']').prop('checked', true);
|
||||
@ -253,9 +457,12 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
|
||||
if(type == 'S' || type == 'E' ){
|
||||
// 입력 데이터 유효성 체크
|
||||
// 입력 데이터 유효성 체크(시간만체크)
|
||||
if (!timeValidCheck()) return;
|
||||
// 입력 데이터 유효성 체크(시간이외체크)
|
||||
if (!validCheck()) return;
|
||||
// 작성한 차시가 신청 가능한 기간/시간인지 체크(관리자 지역별 강의관리 참고) 및 중복신청건 조회
|
||||
//DB로 체크
|
||||
if(!checkAplctPsbl()) return;
|
||||
}
|
||||
|
||||
@ -393,7 +600,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
return false;
|
||||
}
|
||||
var flag = true;
|
||||
var all_lrnTm = 0;
|
||||
//var all_lrnTm = 0;
|
||||
|
||||
$.each(trObj , function(idx, row){
|
||||
if($(this).find('input[name=eduHopeDt]').val() == ''){
|
||||
@ -470,6 +677,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
/*
|
||||
var lrnTm = Number($('input[name=lrnTm]:eq('+idx+')').val());
|
||||
var scholDivCd = $('#scholDivCd').val();
|
||||
|
||||
@ -497,6 +705,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
}
|
||||
|
||||
all_lrnTm = all_lrnTm + lrnTm;
|
||||
*/
|
||||
|
||||
|
||||
});
|
||||
@ -507,11 +716,13 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
|
||||
//alert(VeConstants.CLASS_CD_10);
|
||||
|
||||
/*
|
||||
if(all_lrnTm < VeConstants.CLASS_TM_70){
|
||||
alert('전체 교육시간은 '+VeConstants.CLASS_TM_70+'분 이상이여야합니다.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
if(!flag){
|
||||
@ -546,6 +757,83 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
return true;
|
||||
}
|
||||
|
||||
function timeValidCheck(){
|
||||
|
||||
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
|
||||
|
||||
if(trObj.length == 0){
|
||||
alert('교육차시 정보를 등록해주세요.');
|
||||
return false;
|
||||
}
|
||||
var flag = true;
|
||||
//var all_lrnTm = 0;
|
||||
|
||||
$.each(trObj , function(idx, row){
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
var todayDate = new Date(tyyyy, tmm-1, tdd)
|
||||
|
||||
|
||||
if($(this).find('input[name=strtTm]').val() == ''){
|
||||
alert('교육시작 시간을 입력해주세요.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=strtTm]').val().indexOf('선택') != -1){
|
||||
alert('교육시작 시간을 입력해주세요.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
|
||||
if($(this).find('input[name=endTm]').val() == ''){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=endTm]').val().indexOf('선택') != -1){
|
||||
alert('교육종료 시간을 입력해주세요.');
|
||||
$('input[name=endTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
|
||||
var lrnTm = Number($('input[name=lrnTm]:eq('+idx+')').val());
|
||||
var scholDivCd = $('#scholDivCd').val();
|
||||
|
||||
// 초등, 특수 , 기타
|
||||
if(scholDivCd == VeConstants.CLASS_CD_10 || scholDivCd == VeConstants.CLASS_CD_40 || scholDivCd == VeConstants.CLASS_CD_50){
|
||||
if(lrnTm < v_TR0E*1){
|
||||
alert('학교구분이 초등/특수/기타와 같다면 최소교육시간 '+v_TR0E+'분 이상이여야합니다.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
// 중등
|
||||
}else if(scholDivCd == VeConstants.CLASS_CD_20 ){
|
||||
if(lrnTm < v_TR0M){
|
||||
alert('학교구분이 중등과 같다면 최소교육시간 '+v_TR0M+'분 이상이여야합니다.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
// 고등
|
||||
}else if(scholDivCd == VeConstants.CLASS_CD_30){
|
||||
if(lrnTm < v_TR0H){
|
||||
alert('학교구분이 고등과 같다면 최소교육시간 '+v_TR0H+'분 이상이여야합니다.');
|
||||
$('input[name=strtTm]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 신청하는 차시가 유효한 신청기간인지, 강의가능시간인지 체크하는 로직
|
||||
// =>강의 가능 시간 여부만 체크로 변경 2022-02-28
|
||||
@ -708,6 +996,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
var list = data.chasiList;
|
||||
|
||||
itemChg(info.eduSlctCd);
|
||||
$("#rndsOrd").val(info.rndsOrd);
|
||||
$("#eduSlctCd").val(info.eduSlctCd);
|
||||
$("#mode").val(VeConstants.MODE_UPT);
|
||||
$("#eduAplctOrd").val(info.eduAplctOrd);
|
||||
@ -770,6 +1059,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
// alert(defaultRow);
|
||||
// addEduClassCopy('addClassRow');
|
||||
addEduClassCopyTngr('addClassRow');
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -829,6 +1119,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
}
|
||||
}
|
||||
|
||||
//교육일정달력보기
|
||||
function fncCalView() {
|
||||
// if(paramObj == undefined || paramObj == ''){
|
||||
// paramObj = {
|
||||
@ -839,11 +1130,18 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
// formId : "createForm"
|
||||
// };
|
||||
// }
|
||||
|
||||
var rndsOrd = $('input[name=rndsOrd]').val();
|
||||
|
||||
paramObj = {
|
||||
rndsOrd : $('input[name=rndsOrd]').val()
|
||||
};
|
||||
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/calendarPopList.do"
|
||||
, 900
|
||||
, 900
|
||||
, ""
|
||||
, paramObj
|
||||
, "Y"
|
||||
, "calendarPop"
|
||||
);
|
||||
@ -1132,13 +1430,14 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
</th>
|
||||
<td>
|
||||
<label for="eduPlace" class="label">교육장소 입력</label>
|
||||
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25" disabled>
|
||||
|
||||
<%-- <input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>> <label for="corpsEdu">집체교육</label> --%>
|
||||
<%-- <input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>> <label for="broadroomEdu">방송실교육</label> --%>
|
||||
<ve:radio codeId="VEA010" id="eduPlaceCd" name="eduPlaceCd"
|
||||
selectedValue="${empty info.eduPlaceCd ? '01' : info.eduPlaceCd}"
|
||||
onChange="eduPlaceChg();"
|
||||
/>
|
||||
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25" disabled>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
@ -1335,7 +1634,9 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" value="${list.lrnTm}" class="input_time" name="lrnTm">분)
|
||||
</div>(<input type="text"
|
||||
value="${list.lrnTm}" class="input_time"
|
||||
name="lrnTm">분)
|
||||
</div>
|
||||
</td>
|
||||
<!-- 구분을 점심시간 포험여부로 수정 2023.10.11 -->
|
||||
@ -1359,7 +1660,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
<tr>
|
||||
<th class="calendar_th">
|
||||
<div class="calendar_wrap">
|
||||
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt"></duet-date-picker>
|
||||
<duet-date-picker identifier="date" class="startDate" name="eduHopeDt" onblur="_chkChasiDate(this); return false;"></duet-date-picker>
|
||||
</div>
|
||||
</th>
|
||||
<td>
|
||||
@ -1481,7 +1782,8 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
|
||||
</div>
|
||||
<button type="button" class="time_close" onclick="timeLayerUtil()" title="팝업 닫기"><i></i>닫기</button>
|
||||
</div>
|
||||
</div>(<input type="text" readonly="readonly" class="input_time" name="lrnTm" title="교육 시간">분)
|
||||
</div>(<input type="text" class="input_time"
|
||||
name="lrnTm" title="교육 시간">분)
|
||||
</div>
|
||||
</td>
|
||||
|
||||
|
||||
@ -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){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user