2023-10-24 17:06 청소년 찾교 사용자 신청서 작성시 제한 사항 체크

This commit is contained in:
myname 2023-10-24 17:07:19 +09:00
parent 0f52196e7d
commit 3ef5d57fed
10 changed files with 161 additions and 4 deletions

View File

@ -35,6 +35,9 @@ 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_rnds_stng - 해당 회차의 신청 가능한 시간인지 체크
//vea_area_lctr_stng

View File

@ -146,6 +146,53 @@ public class VEAStngMixServiceImpl implements VEAStngMixService {
return flag;
}
@Override
public String eduAplctChkDateToStr(VEAStngVO vEAStngVO, HttpServletRequest request) throws Exception {
boolean flag = true;
String v_ret = "";
//교육 희망일자별로 가능한 일자인지 확인 한다.
System.out.println("vEAStngVO.toString()1");
String[] s_eduHopeDt = request.getParameterValues("eduHopeDt");
System.out.println("vEAStngVO.toString()2");
for (int i=0; i<s_eduHopeDt.length; i++) {
if(flag == false) break;
vEAStngVO.setLctrPsblStrtDt(s_eduHopeDt[i]);
//vELctrDetailVO.setPrdDivCd(prdDivCd[i]);
System.out.println("vEAStngVO.toString()");
System.out.println(vEAStngVO.toString());
System.out.println(vEAStngVO.toString());
//청소년 요청이 신청한 지역의 신청 제한에 맞게 재대로 신청한 것인지 확인 한다.
VEAStngVO dateVO = vEAStngMixDAO.selectEduAplctDateChkList(vEAStngVO);
System.out.println("vEAStngVO.toString()3");
if (dateVO==null) {
//대상 기간이 없다.
flag = false;
v_ret = s_eduHopeDt[i];
break;
}
// 날짜에 부합하는 데이터가 없는 경우 flag 변경 처리
//가능한 기간에 값이 있고, 불가능한 기간에 값이 없음
if (Integer.parseInt(dateVO.getDpStrtDt())>0 && Integer.parseInt(dateVO.getDpDdlnDt())<=0){
;
}else {
flag = false;
v_ret = s_eduHopeDt[i];
}
}
return v_ret;
}
@Override
public boolean eduAplctChkTime(VEAStngVO vEAStngVO, HttpServletRequest request) throws Exception {

View File

@ -19,6 +19,8 @@ public interface EduAplctTngrService {
boolean eduAplctChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception;
String eduAplctChkProcessToStr(HttpServletRequest request, ModelAndView modelAndView) throws Exception;
boolean eduAplctDuplChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception;
//boolean eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception;

View File

@ -16,6 +16,7 @@ import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.tngrVisitEdu.eduAplct.service.EduAplctTngrService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
@ -416,6 +417,60 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
return flag;
}
@Override
public String eduAplctChkProcessToStr(HttpServletRequest request, ModelAndView modelAndView) 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.getParameterValues("eduHopeDt");
String[] s_strtTm = request.getParameterValues("strtTm");
String[] s_endTm = request.getParameterValues("endTm");
String[] eduSlctAreaCd = request.getParameterValues("eduSlctAreaCd");
String[] prdDivCd = request.getParameterValues("prdDivCd");
String rndsOrd = request.getParameter("rndsOrd");
VEAStngVO vEAStngVO = new VEAStngVO();
vEAStngVO.setRndsOrd(rndsOrd);
//VELctrDetailVO vELctrDetailVO = new VELctrDetailVO();
for (int i=0; i<s_eduHopeDt.length; i++) {
if(flag == false) break;
vEAStngVO.setRndsOrd(rndsOrd);
//vEAStngVO.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
vEAStngVO.setLctrPsblStrtTm(s_strtTm[i]);
vEAStngVO.setLctrPsblDdlnTm(s_endTm[i]);
if ("10".equals(eduSlctCd)) { //온라인인 경우
vEAStngVO.setAreaCd("400");
}else { //오프라인인 경우
vEAStngVO.setAreaCd(eduSlctAreaCd[i]);
}
//vELctrDetailVO.setPrdDivCd(prdDivCd[i]);
//청소년 요청이 신청한 지역의 신청 제한에 맞게 재대로 신청한 것인지 확인 한다.
List<VEAStngVO> list = vELctrAreaMngDAO.selectList20231024(vEAStngVO);
// 날짜와 시간에 부합하는 데이터가 없는 경우 flag 변경 처리
if(list.size() == 0) {
flag = false;
v_ret = s_strtTm[i]+"~"+s_endTm[i];
}
}
return v_ret;
}
@Override
public boolean eduAplctDuplChkProcess(VEEduAplctVO vEEduAplctVO, HttpServletRequest request, ModelAndView modelAndView) throws Exception {
@ -434,7 +489,8 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
vo.setUserId(loginVO.getUniqId());
for (int i=0; i<s_eduHopeDt.length; i++) {
if(flag == false) break;
vo.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
//vo.setEduHopeDt(s_eduHopeDt[i].replaceAll("[^0-9]",""));
vo.setEduHopeDt(s_eduHopeDt[i]);
vo.setTrgt(s_trgt[i]);
vo.setLctrDivCd("10"); //청소년

View File

@ -291,17 +291,28 @@ public class EduAplctTngrController {
vEAStngVO.setFrstRegisterId(loginVO.getUniqId());
vEAStngVO.setRndsOrd(request.getParameter("rndsOrd"));
System.out.println(vEAStngVO.toString());
/*
boolean flag3 = vEAStngMixService.eduAplctChkDate(vEAStngVO, request);
if(!flag3){
modelAndView.addObject("result", "fail3");
return modelAndView;
}
*/
String s_flag3 = vEAStngMixService.eduAplctChkDateToStr(vEAStngVO, request);
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);
//boolean flag = vEAStngMixService.eduAplctChkTime(vEAStngVO, request);
//접수기간에 속한 회차의 년도에서 해당 지역이 신청가능한 시간인지 확인한다.
/*
boolean flag = eduAplctTngrService.eduAplctChkProcess(vEEduAplctVO, request, modelAndView);
@ -310,6 +321,13 @@ public class EduAplctTngrController {
return modelAndView;
}
*/
String s_flag = eduAplctTngrService.eduAplctChkProcessToStr(request, modelAndView);
if(!"".equals(s_flag)){
modelAndView.addObject("result", "fail");
modelAndView.addObject("msg", s_flag);
return modelAndView;
}
//동일한 신청건이 있는지 확인(신청자아이디, 교육희망일, 교육대상 동일 비교)
boolean flag2 = eduAplctTngrService.eduAplctDuplChkProcess(vEEduAplctVO, request, modelAndView);

View File

@ -5,6 +5,7 @@ import java.util.List;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO;
@Repository("vELctrAreaMngDAO")
@ -63,6 +64,12 @@ public class VELctrAreaMngDAO extends EgovAbstractDAO {
return tlist;
}
//L
public List<VEAStngVO> selectList20231024(VEAStngVO paramVO) throws Exception {
List<VEAStngVO> tlist = (List<VEAStngVO>) list("VELctrAreaMngDAO.selectList20231024", paramVO);
return tlist;
}
//L
public List<VELctrDetailVO> selectOnList(VELctrDetailVO paramVO) throws Exception {
List<VELctrDetailVO> tlist = (List<VELctrDetailVO>) list("VELctrAreaMngDAO.selectOnList", paramVO);

View File

@ -2849,6 +2849,9 @@ VALUES
NVL(A.USE_YN, 'Y') <![CDATA[ <> ]]> 'N'
AND
A.LCTR_DIV_CD = #lctrDivCd#
/* 제출한것을 중복기준으로 한다. */
AND
A.SBMT_YN='Y'
</select>
<select id="VEEduMIXDAO.eduAplctMngUserList" resultClass="UserManageVO">

View File

@ -4,6 +4,7 @@
<sqlMap namespace="VELctrAreaMng">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="VELctrDetailVO" type="kcc.ve.instr.tngrVisitEdu.lctrInfo.service.VELctrDetailVO"/>
<typeAlias alias="VEAStngVO" type="kcc.ve.adv.tngr.stngInfo.service.VEAStngVO"/>
<!-- 공통 테이블 명 -->
@ -681,6 +682,20 @@
</select>
<!-- 강사 정보 L -->
<select id="VELctrAreaMngDAO.selectList20231024" parameterClass="VEAStngVO" resultClass="VEAStngVO">
/* VELctrAreaMngDAO.selectList20231024 */
SELECT b.*
FROM vea_lctr_rnds_stng a
, vea_area_lctr_stng b
WHERE a.rnds_ord=#rndsOrd#
AND a.yr=b.rnds_ord
AND b.AREA_CD =#areaCd#
AND #lctrPsblStrtTm# BETWEEN b.LCTR_PSBL_STRT_TM AND b.LCTR_PSBL_DDLN_TM
AND #lctrPsblDdlnTm# BETWEEN b.LCTR_PSBL_STRT_TM AND b.LCTR_PSBL_DDLN_TM
</select>
<!-- 강사 정보 L -->
<select id="VELctrAreaMngDAO.selectDateChkList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
/* VELctrAreaMngDAO.selectDateChkList */

View File

@ -194,6 +194,10 @@ var calendar;
//fncGoList();
//$('#schduleManager').fullCalendar('gotoDate', new Date('2023-10-01'));
window.location.reload(false);
//calendar.render();
}else{
alert("변경 중 오류가 발생하였습니다.");
fncGoList();

View File

@ -563,11 +563,13 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
flag = false;
return;
}else if(returnData.result == "fail3"){
alert("가능한 교육희망일자가 아닙니다.");
//alert("가능한 교육희망일자가 아닙니다.");
alert(returnData.msg+"일은 교육가능일자가 아닙니다.");
flag = false;
return;
}else if(returnData.result == "fail"){
alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
alert(returnData.msg+"는 강의가능시간이 아닙니다.");
flag = false;
return;
}