Merge branch 'advc' of http://subsub8729@vcs.iten.co.kr:9999/hylee/offedu into advc
This commit is contained in:
commit
b20d9fc5ea
@ -1282,11 +1282,32 @@ public class CommonWebController {
|
||||
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrMntAsgnmtChasiList(vEAutoAsgnmVO);
|
||||
|
||||
|
||||
//step2-1-1.동일일자 시간대에 배정이 없는강사찾기
|
||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
|
||||
if (!"'aaa'".equals(s_user_id)) { //대상 강사가 있을때만 다음을 실행한다.
|
||||
System.out.println("===O있음===");
|
||||
|
||||
System.out.println("===////step2-1-1.동일일자 시간대에 배정이 없는강사찾기(필)===");
|
||||
vEAutoAsgnmVO.setUserIds(s_user_id);
|
||||
|
||||
vEInstrAssiEduAplctVOList = vEAutoAsgnmMIXService.selectInstrTimeDupFilterList(vEAutoAsgnmVO);
|
||||
|
||||
}else {
|
||||
System.out.println("===X없음===");
|
||||
}
|
||||
|
||||
|
||||
//step2-2.희망 지역 강사 검색(필)
|
||||
//오프라인, 온라인 구분해서 희망 지역 체크가 필요하다.
|
||||
//오프라인의 경우 (완)
|
||||
//온라인인 경우 (해당 강사의 zoom 가능 여부 체크)
|
||||
|
||||
s_user_id = "'aaa'";
|
||||
|
||||
for (int j=0;j<vEInstrAssiEduAplctVOList.size();j++) {
|
||||
s_user_id = s_user_id + ",'" + vEInstrAssiEduAplctVOList.get(j).getUserId()+"'";
|
||||
}
|
||||
|
||||
@ -268,7 +268,7 @@ public class ScholInfoController {
|
||||
vList.get(i).setColor("#FF0000");
|
||||
|
||||
}else if (Integer.parseInt(vList.get(i).getTitleF())>=Integer.parseInt(vList.get(i).getTitleB()))
|
||||
{
|
||||
{ //신청 시간이 넘어간 경우로 불가능 처리함
|
||||
vList.get(i).setColor("#FF0000");
|
||||
//vList.get(i).setTitle("가능");
|
||||
vList.get(i).setTitle("불가능");
|
||||
|
||||
@ -41,7 +41,9 @@ public interface EduAplctTngrService {
|
||||
|
||||
//boolean eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception;
|
||||
String eduAplctDateChkProcess(VEEduAplctVO vEEduAplctVO , HttpServletRequest request, ModelAndView modelAndView) throws Exception;
|
||||
|
||||
|
||||
//해당일에 신청가능한 차시가 남아 있는지 - 신청지역
|
||||
String eduAplctChkZoneChasiProcessToStr(HttpServletRequest request, ModelAndView modelAndView) throws Exception;
|
||||
//해당일에 신청가능한 차시가 남아 있는지 - 전체
|
||||
String eduAplctChkDayChasiProcessToStr(HttpServletRequest request, ModelAndView modelAndView) throws Exception;
|
||||
//해당일에 신청가능한 차시가 남아 있는지 - 개별
|
||||
|
||||
@ -670,6 +670,66 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
|
||||
return v_ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String eduAplctChkZoneChasiProcessToStr(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();
|
||||
|
||||
if ("10".equals(eduSlctCd)) { //온라인인 경우
|
||||
vEAStngVO.setAreaCd("400");
|
||||
}else { //오프라인인 경우
|
||||
vEAStngVO.setAreaCd(eduSlctAreaCd[0]);
|
||||
}
|
||||
|
||||
//vELctrDetailVO.setPrdDivCd(prdDivCd[i]);
|
||||
|
||||
//청소년 요청이 신청한 지역의 신청 제한에 맞게 재대로 신청한 것인지 확인 한다.
|
||||
List<VEAStngVO> list = vELctrAreaMngDAO.selectList20231024(vEAStngVO);
|
||||
|
||||
|
||||
//해당지역의 신청한 차시
|
||||
int i_aplctChasi = 0; //신청된 차시
|
||||
int i_psblChasi = 0; //신청가능한 차시
|
||||
|
||||
try {
|
||||
i_aplctChasi = vELctrAreaMngDAO.selectList20231027(vEAStngVO);
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
if (list.size()>0) {
|
||||
i_aplctChasi = Integer.parseInt(list.get(0).getPsblTmQntty());
|
||||
}
|
||||
|
||||
if (i_aplctChasi>=i_psblChasi) {
|
||||
flag = false;
|
||||
v_ret = "해당 지역의 차시 제한 초과";
|
||||
}
|
||||
|
||||
return v_ret;
|
||||
}
|
||||
|
||||
|
||||
//개별 시간 체크
|
||||
@Override
|
||||
public String eduAplctEAChkProcessToStr(
|
||||
|
||||
@ -360,7 +360,11 @@ public class EduAplctTngrController {
|
||||
(해당 강의 회차의 교육 가능일자만 신청 가능하도록)
|
||||
==>vea_lctr_rnds_stng
|
||||
2-2.신청 가능한 시간인지(구현)
|
||||
2-3.해당일 신청가능한 차시가 남았는지(미구현)
|
||||
|
||||
2-3-1.해당지역에 신청가능한 차시가 남았는지(미구현)
|
||||
|
||||
2-3.해당일 신청가능한 차시가 남았는지(구현)
|
||||
|
||||
|
||||
2-4.동일한 날짜에 기 신청된 건이 있는지(구현)
|
||||
* */
|
||||
@ -407,9 +411,10 @@ public class EduAplctTngrController {
|
||||
modelAndView.addObject("msg", s_flag);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
|
||||
//2-3.해당일 신청가능한 차시가 남았는지
|
||||
//일 교육가능시수 체크 - Y
|
||||
//지역의 총 접수시간 체크 - N
|
||||
String s_flag4 = eduAplctTngrService.eduAplctChkDayChasiProcessToStr(request, modelAndView);
|
||||
|
||||
if(!"".equals(s_flag4)){
|
||||
@ -437,6 +442,81 @@ public class EduAplctTngrController {
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 해당 지역이 신청 가능한지 체크
|
||||
*/
|
||||
@RequestMapping("eduAplctChkZoneAjax.do")
|
||||
public ModelAndView eduAplctChkZoneAjax(@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-1.해당지역에 신청가능한 차시가 남았는지(미구현)
|
||||
|
||||
2-3.해당일 신청가능한 차시가 남았는지(구현)
|
||||
|
||||
|
||||
2-4.동일한 날짜에 기 신청된 건이 있는지(구현)
|
||||
* */
|
||||
try {
|
||||
//1.교육희망일이 신청 가능한 일자인지 fail3
|
||||
VEAStngVO vEAStngVO = new VEAStngVO();
|
||||
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;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
//2-3-1.해당지역에 신청가능한 차시가 남았는지(미구현)
|
||||
String s_flag5 = eduAplctTngrService.eduAplctChkZoneChasiProcessToStr(request, modelAndView);
|
||||
|
||||
if(!"".equals(s_flag5)){
|
||||
modelAndView.addObject("result", "fail6");
|
||||
modelAndView.addObject("msg", s_flag5);
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
modelAndView.addObject("VO", vEEduAplctVO);
|
||||
modelAndView.addObject("result", "success");
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 교육 신청 시 강의신청기간, 강의가능시간이 유효한지 체크 - 건별 체크
|
||||
*/
|
||||
|
||||
@ -9,6 +9,9 @@ public interface VEAutoAsgnmMIXService {
|
||||
|
||||
//해당 차시 학교에 거주하는 강사
|
||||
List<VEAutoAsgnmVO> selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
//step2-1-1.동일일자,시간에 배정안된 강사 검색(필)
|
||||
List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
//step2-2.희망 지역 강사 검색(필)
|
||||
List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception;
|
||||
|
||||
@ -21,6 +21,12 @@ public class VEAutoAsgnmMIXDAO extends EgovAbstractDAO {
|
||||
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectRsdneInstrList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<VEAutoAsgnmVO> tlist = (List<VEAutoAsgnmVO>) list("VEAutoAsgnmDAO.selectInstrTimeDupFilterList", paramVO);
|
||||
return tlist;
|
||||
}
|
||||
|
||||
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) {
|
||||
@SuppressWarnings("unchecked")
|
||||
|
||||
@ -27,7 +27,12 @@ public class VEAutoAsgnmMIXServiceImpl implements VEAutoAsgnmMIXService {
|
||||
public List<VEAutoAsgnmVO> selectRsdneInstrList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||
return vEAutoAsgnmMIXDAO.selectRsdneInstrList(paramVO);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<VEAutoAsgnmVO> selectInstrTimeDupFilterList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||
return vEAutoAsgnmMIXDAO.selectInstrTimeDupFilterList(paramVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<VEAutoAsgnmVO> selectInstrHopeAreaList(VEAutoAsgnmVO paramVO) throws Exception{
|
||||
return vEAutoAsgnmMIXDAO.selectInstrHopeAreaList(paramVO);
|
||||
|
||||
@ -84,6 +84,11 @@ public class VELctrAreaMngDAO extends EgovAbstractDAO {
|
||||
public int selectList20231026(VEAStngVO paramVO) throws Exception {
|
||||
return (int) select("VELctrAreaMngDAO.selectList20231026", paramVO);
|
||||
}
|
||||
|
||||
//해당 라운드가 속한 년도의 해당 지역의 신청한 차시수
|
||||
public int selectList20231027(VEAStngVO paramVO) throws Exception {
|
||||
return (int) select("VELctrAreaMngDAO.selectList20231027", paramVO);
|
||||
}
|
||||
|
||||
//L
|
||||
public List<VELctrDetailVO> selectOnList(VELctrDetailVO paramVO) throws Exception {
|
||||
|
||||
@ -4,11 +4,9 @@ import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -27,13 +25,9 @@ import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.exception.FdlException;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
||||
import kcc.com.cmm.ComDefaultCodeVO;
|
||||
import kcc.com.cmm.ComDefaultVO;
|
||||
import kcc.com.cmm.LoginVO;
|
||||
import kcc.com.cmm.service.CmmnDetailCode;
|
||||
import kcc.com.cmm.service.EgovCmmUseService;
|
||||
@ -47,7 +41,6 @@ import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
|
||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||
@ -1379,27 +1372,33 @@ public class CndtnTrgtMngController {
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||
try {
|
||||
//과정 조회
|
||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||
|
||||
|
||||
// 관할청 공통코드
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
|
||||
// 관할청 공통코드
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
|
||||
|
||||
String userWork = this.getUserWork(request);
|
||||
model.addAttribute("userWork", userWork);
|
||||
|
||||
|
||||
//파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
String userWork = this.getUserWork(request);
|
||||
model.addAttribute("userWork", userWork);
|
||||
|
||||
|
||||
//파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
|
||||
return "oprtn/cndtnSspnIdtmt/trgtMdfy";
|
||||
}
|
||||
@ -1420,54 +1419,59 @@ public class CndtnTrgtMngController {
|
||||
|
||||
//로그인 처리====================================
|
||||
|
||||
//과정 조회
|
||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||
|
||||
//복호화
|
||||
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
|
||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||
|
||||
|
||||
//파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
|
||||
/*
|
||||
// 관할청 공통코드
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
|
||||
|
||||
*/
|
||||
try {
|
||||
//과정 조회
|
||||
CndtnTrgtMngVO cndtnTrgtInfoVO = cndtnTrgtInfoMngService.selectDetail(cndtnTrgtInfoMngVO);
|
||||
|
||||
//복호화
|
||||
cndtnTrgtInfoVO = egovCryptoUtil.decryptCndtnTrgtMngVOInfo(cndtnTrgtInfoVO);
|
||||
model.addAttribute("info", cndtnTrgtInfoVO);
|
||||
|
||||
|
||||
//파일 정보 가져오기
|
||||
FileVO fileVO = new FileVO();
|
||||
fileVO.setAtchFileId(cndtnTrgtInfoVO.getAtchFileId());
|
||||
List<FileVO> result = fileService.selectFileInfs(fileVO);
|
||||
model.addAttribute("fileList", result);
|
||||
model.addAttribute("fileListCnt", result.size());
|
||||
|
||||
/*
|
||||
// 관할청 공통코드
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
model.addAttribute("CmmnDetailCodeList", CmmnDetailCodeList);
|
||||
|
||||
*/
|
||||
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VEA008");
|
||||
List<CmmnDetailCode> CmmnDetailCodeList = egovCmmUseService.selectCmmCodeDetailOrderByCode(codeParam);
|
||||
|
||||
|
||||
// CODE 값을 저장할 Set (중복을 제거하기 위해 사용)
|
||||
Set<String> uniqueCodes = new HashSet<>();
|
||||
|
||||
for(CmmnDetailCode vo : CmmnDetailCodeList) {
|
||||
uniqueCodes.add(vo.getCode().split("-")[0]);
|
||||
// CODE 값을 저장할 Set (중복을 제거하기 위해 사용)
|
||||
Set<String> uniqueCodes = new HashSet<>();
|
||||
|
||||
for(CmmnDetailCode vo : CmmnDetailCodeList) {
|
||||
uniqueCodes.add(vo.getCode().split("-")[0]);
|
||||
}
|
||||
|
||||
model.addAttribute("CmmnDetailCodeList", uniqueCodes);
|
||||
|
||||
// 관할청 - 지역명
|
||||
String codeNm = cndtnTrgtInfoVO.getCmptntAthrt().split("-")[0];
|
||||
model.addAttribute("cmptntAthrtCode", codeNm);
|
||||
|
||||
codeParam.setCodeNm(codeNm);
|
||||
List<CmmnDetailCode> CmmnDetailList = egovCmmUseService.selectCmmCodeDetailLikeNmOrderByCode(codeParam);
|
||||
|
||||
|
||||
model.addAttribute("cmmnCodeList", CmmnDetailList);
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
model.addAttribute("CmmnDetailCodeList", uniqueCodes);
|
||||
|
||||
// 관할청 - 지역명
|
||||
String codeNm = cndtnTrgtInfoVO.getCmptntAthrt().split("-")[0];
|
||||
model.addAttribute("cmptntAthrtCode", codeNm);
|
||||
|
||||
codeParam.setCodeNm(codeNm);
|
||||
List<CmmnDetailCode> CmmnDetailList = egovCmmUseService.selectCmmCodeDetailLikeNmOrderByCode(codeParam);
|
||||
|
||||
|
||||
model.addAttribute("cmmnCodeList", CmmnDetailList);
|
||||
|
||||
|
||||
|
||||
return "oprtn/cndtnSspnIdtmt/trgtMngMdfy";
|
||||
|
||||
@ -692,6 +692,102 @@ public class EduAplctMngTngrController {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 청소년찾아가는 저작권 교육 목록 Excel
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
|
||||
@SuppressWarnings("rawtypes")
|
||||
@RequestMapping(value = "eduAplctApplyExcelDownLoad.do")
|
||||
public ModelAndView eduAplctApplyExcelDownLoad(@ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO, ModelMap model) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
try {
|
||||
//년도
|
||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchYear())){
|
||||
//vEEduAplctVO.setSearchYear(String.valueOf(LocalDate.now().getYear()));
|
||||
}
|
||||
|
||||
//월
|
||||
if(StringUtils.isBlank(vEEduAplctVO.getSearchMonth())){
|
||||
//vEEduAplctVO.setSearchMonth(String.valueOf(LocalDate.now().getMonthValue()));
|
||||
}
|
||||
|
||||
// 요청, 반려건
|
||||
//vEEduAplctVO.setSearchNotStatusArr(new String[]{"60",});
|
||||
// 청소년
|
||||
vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10);
|
||||
|
||||
vEEduAplctVO.setMode(VeConstants.MODE_EXCEL);
|
||||
vEEduAplctVO.setS4Excel("Y");
|
||||
//List<VEEduAplctVO> list = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
List<VEEduAplctVO> list = vEEduMIXService.selectPagingApplyList(vEEduAplctVO);
|
||||
list = egovCryptoUtil.decryptVEEduAplctVOList(list);
|
||||
list.forEach( vo -> {
|
||||
/*
|
||||
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
|
||||
codeParam.setCodeId("VE0008");
|
||||
codeParam.setCode(vo.getEduSlctAreaCd());
|
||||
vo.setEduSlctAreaCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam));
|
||||
|
||||
codeParam.setCodeId("VE0009");
|
||||
codeParam.setCode(vo.getScholDivCd());
|
||||
vo.setScholDivCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam));
|
||||
|
||||
codeParam.setCodeId("VE0003");
|
||||
codeParam.setCode(vo.getAprvlCd());
|
||||
vo.setAprvlCd(egovCmmUseService.selectCmmCodeDetailCodeValue(codeParam));
|
||||
*/
|
||||
|
||||
//vo.setEduHopeDt(CmmUtil.getStrDateFormat(vo.getEduHopeDt()));
|
||||
|
||||
});
|
||||
List<Object> excelData = new ArrayList<>();
|
||||
excelData.addAll(list);
|
||||
// 세팅값
|
||||
String title = "청소년 찾아가는 저작권 교육 - 교육신청 목록";
|
||||
int[] width = {
|
||||
4000, 4000, 4000, 4000, 4000
|
||||
, 4000, 4000, 4000, 4000, 4000, 7000, 10000
|
||||
, 4000
|
||||
, 4000, 4000
|
||||
}; // 너비
|
||||
|
||||
String[] header = {
|
||||
"교육일자", "신청일자", "지역", "학교(기관)명", "신청시간"
|
||||
, "학교구분", "신청자", "담당자", "연락처", "휴대전화", "E-mail", "주소"
|
||||
, "신청상태", "확정일자"
|
||||
, "신청차시", "신청일시"
|
||||
};
|
||||
|
||||
String[] order = {
|
||||
"EduHopeDt", "SbmtPnttm", "EduSlctAreaCd", "ScholInsttNm", "LrnTm"
|
||||
, "ScholDivCd", "UserNm", "ChrgNm", "Phone", "Clphone", "Email", "Addr"
|
||||
, "AprvlCd","AprvlPnttm"
|
||||
, "ChasiCnt","FrstRegistPnttm"
|
||||
};
|
||||
|
||||
// 호출
|
||||
SXSSFWorkbook workbook = ExcelUtil.makeSimpleFruitExcelWorkbook(excelData , header, order, width, title);
|
||||
model.addAttribute("locale", Locale.KOREA);
|
||||
model.addAttribute("workbook", workbook);
|
||||
model.addAttribute("workbookName", title);
|
||||
|
||||
|
||||
modelAndView.setViewName("excelDownloadView");
|
||||
modelAndView.addObject(model);
|
||||
|
||||
|
||||
}catch(Exception ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
|
||||
|
||||
return modelAndView;
|
||||
}
|
||||
|
||||
/**
|
||||
* 청소년찾아가는 저작권 교육 목록 Excel
|
||||
* @param model
|
||||
|
||||
@ -207,6 +207,23 @@ public class EduAsgnmCnfrmMngTngrController {
|
||||
|
||||
vEEduAplctVO.setSearchAsgnmAprvlCd("30"); //교육배치확정 대상은 강사가 배정확정되어야 한다.
|
||||
|
||||
|
||||
if (!"".equals(vEEduAplctVO.getSearchKeyword())) {
|
||||
|
||||
if ("2".equals(vEEduAplctVO.getSearchCondition())) {
|
||||
vEEduAplctVO.setSelectPagingListQuery(" AND i.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"'");
|
||||
|
||||
}else if ("0".equals(vEEduAplctVO.getSearchCondition())) {
|
||||
vEEduAplctVO.setSelectPagingListQuery(" AND (A.SCHOL_INSTT_NM LIKE '%' || '"+vEEduAplctVO.getSearchKeyword()+"' || '%' OR i.instr_nm='"+egovCryptoUtil.encrypt(vEEduAplctVO.getSearchKeyword())+"')");
|
||||
}
|
||||
|
||||
//AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||
|
||||
//vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||
}
|
||||
|
||||
|
||||
|
||||
List<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO);
|
||||
//이름 복호화
|
||||
VEEduAplctVO vo = new VEEduAplctVO();
|
||||
|
||||
@ -458,6 +458,44 @@
|
||||
END
|
||||
,0)>NVL(aa.chasi,0)
|
||||
</select>
|
||||
|
||||
<!-- //step2-1-1.해당 일자, 시간대에 강의가 없는 강사만(필) L page -->
|
||||
<select id="VEAutoAsgnmDAO.selectInstrTimeDupFilterList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||
/* VEAutoAsgnmDAO.selectInstrTimeDupFilterList */
|
||||
|
||||
/* 해당일자, 시간대에 강의가 없는 강사만 필수 */
|
||||
|
||||
SELECT aa.userId
|
||||
FROM (
|
||||
SELECT
|
||||
b.user_id AS userId
|
||||
, c.edu_hope_dt
|
||||
, c.strt_tm
|
||||
, c.end_tm
|
||||
FROM
|
||||
|
||||
ve_edu_chasi_instr_asgnm b
|
||||
, ve_edu_chasi c
|
||||
WHERE
|
||||
1 = 1
|
||||
|
||||
AND b.user_id IN ($userIds$)
|
||||
AND b.edu_chasi_ord = c.edu_chasi_ord
|
||||
)aa
|
||||
LEFT OUTER JOIN ve_edu_chasi bb
|
||||
on(
|
||||
aa.edu_hope_dt=bb.edu_hope_dt
|
||||
AND bb.edu_chasi_ord = #eduChasiOrd#
|
||||
AND ( aa.strt_tm BETWEEN bb.strt_tm AND bb.end_tm
|
||||
OR aa.end_tm BETWEEN bb.strt_tm AND bb.end_tm
|
||||
OR bb.strt_tm BETWEEN aa.strt_tm AND aa.end_tm
|
||||
OR bb.end_tm BETWEEN aa.strt_tm AND aa.end_tm )
|
||||
)
|
||||
WHERE 1=1
|
||||
GROUP BY aa.userId
|
||||
HAVING 0 >= SUM(CASE WHEN bb.edu_chasi_ord IS NULL THEN 0 ELSE 1 END)
|
||||
|
||||
</select>
|
||||
|
||||
<!-- //step2-2.희망 지역 강사 검색(필) L page -->
|
||||
<select id="VEAutoAsgnmDAO.selectInstrHopeAreaList" parameterClass="VEAutoAsgnmVO" resultClass="VEAutoAsgnmVO" remapResults="true">
|
||||
|
||||
@ -1043,7 +1043,11 @@
|
||||
AND A.SCHOL_INSTT_NM LIKE '%' || #searchKeyword# || '%'
|
||||
</isEqual>
|
||||
<isEqual property="searchCondition" compareValue="2">
|
||||
AND A.CHRG_NM LIKE '%' || #searchKeyword# || '%'
|
||||
|
||||
/*
|
||||
OR A.CHRG_NM LIKE '%' || searchKeyword || '%'
|
||||
*/
|
||||
|
||||
</isEqual>
|
||||
</isNotEmpty>
|
||||
|
||||
@ -5857,7 +5861,10 @@ VALUES
|
||||
<select id="VEEduMIXDAO.selectSatisfactionExcelList" parameterClass="VEEduAplctVO" resultClass="VEEduSatisfactionExcelVO">
|
||||
/* VEEduMIXDAO.selectSatisfactionExcelList */
|
||||
SELECT
|
||||
/*
|
||||
substring(bbbb.edu_hope_dt,1,4)|| '-'|| substring(bbbb.edu_hope_dt,5,2)|| '-'|| substring(bbbb.edu_hope_dt,7,2) AS eduHopeDt
|
||||
*/
|
||||
bbbb.edu_hope_dt AS eduHopeDt
|
||||
, cccc.schol_instt_nm AS scholInsttNm
|
||||
, eeee.instr_nm AS instrNm
|
||||
/*
|
||||
@ -6070,7 +6077,7 @@ VALUES
|
||||
SELECT EDU_APLCT_ORD
|
||||
, EDU_CHASI_ORD
|
||||
, '응답자' nos
|
||||
, '0' vals
|
||||
, 0 vals
|
||||
, SUM(qestnSn1) AS qestnSn1
|
||||
, SUM(qestnSn2) AS qestnSn2
|
||||
, SUM(qestnSn3) AS qestnSn3
|
||||
@ -6079,7 +6086,7 @@ VALUES
|
||||
, SUM(qestnSn6) AS qestnSn6
|
||||
, SUM(qestnSn7) AS qestnSn7
|
||||
, SUM(qestnSn8) AS qestnSn8
|
||||
, '0' AS srt
|
||||
, 0 AS srt
|
||||
FROM (
|
||||
/*
|
||||
A.VERY_SATISFIED AS verySatisfied ,
|
||||
@ -6263,7 +6270,7 @@ VALUES
|
||||
SELECT EDU_APLCT_ORD
|
||||
, EDU_CHASI_ORD
|
||||
, '점수' nos
|
||||
, '0' vals
|
||||
, 0 vals
|
||||
/*
|
||||
, IF(qestnSn1 IS NULL OR qestnSn1=0,0,ROUND(CAST(SUM(qestnSn1*vals*1.0) / SUM(qestnSn1*5.0)*100.0 AS double),2)) AS qestnSn1
|
||||
, IF(qestnSn2 IS NULL OR qestnSn2=0,0,ROUND(CAST(SUM(qestnSn2*vals*1.0) / SUM(qestnSn2*5.0)*100.0 AS double),2)) AS qestnSn2
|
||||
@ -6294,7 +6301,7 @@ VALUES
|
||||
,ROUND(SUM(DECODE(qestnSn7,0,0,qestnSn7) *vals*1.0)*100 / DECODE(SUM(DECODE(qestnSn7,0,0,qestnSn7)*5.0),0,1,SUM(DECODE(qestnSn7,0,0,qestnSn7)*5.0)),2) AS qestnSn7
|
||||
,ROUND(SUM(DECODE(qestnSn8,0,0,qestnSn8) *vals*1.0)*100 / DECODE(SUM(DECODE(qestnSn8,0,0,qestnSn8)*5.0),0,1,SUM(DECODE(qestnSn8,0,0,qestnSn8)*5.0)),2) AS qestnSn8
|
||||
|
||||
, '99' AS srt
|
||||
, 99 AS srt
|
||||
FROM (
|
||||
/*
|
||||
A.VERY_SATISFIED AS verySatisfied ,
|
||||
|
||||
@ -747,7 +747,34 @@
|
||||
GROUP BY d.edu_hope_dt
|
||||
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 해당 일자에 신청한 차시 정보를 가져온다. L -->
|
||||
<select id="VELctrAreaMngDAO.selectList20231027" parameterClass="VEAStngVO" resultClass="int">
|
||||
/* VELctrAreaMngDAO.selectList20231027 */
|
||||
SELECT sum(d.chasi) AS psblTmQnttyCnt
|
||||
FROM vea_lctr_rnds_stng a ,
|
||||
vea_lctr_rnds_stng b
|
||||
, ve_edu_aplct c
|
||||
, ve_edu_chasi d
|
||||
WHERE 1=1
|
||||
AND a.yr =b.yr
|
||||
AND a.rnds_ord=#rndsOrd#
|
||||
AND d.edu_hope_dt=#trgtDt#
|
||||
|
||||
AND b.RNDS_ORD =c.RNDS_ORD
|
||||
AND c.EDU_APLCT_ORD =d.EDU_APLCT_ORD
|
||||
|
||||
AND c.edu_slct_area_cd = #areaCd#
|
||||
|
||||
AND NVL(c.use_yn,'Y')='Y'
|
||||
AND c.SBMT_YN = 'Y'
|
||||
/* 요청(10), 선정완료(120), 승인(20), 교육확정(60), 수정요청(70), 수정요청 완료(80), 대기 수량(230)을 모두 카운트 한다. */
|
||||
AND c.aprvl_cd IN ('10','120','20','60','70','80','230')
|
||||
|
||||
GROUP BY d.edu_hope_dt
|
||||
|
||||
</select>
|
||||
|
||||
<!-- 강사 정보 L -->
|
||||
<select id="VELctrAreaMngDAO.selectDateChkList" parameterClass="VELctrDetailVO" resultClass="VELctrDetailVO">
|
||||
/* VELctrAreaMngDAO.selectDateChkList */
|
||||
|
||||
@ -17,7 +17,9 @@
|
||||
<pattern>/web/survey/surveyResultPreview.do</pattern> <!-- 사용자 설문 결과 팝업 -->
|
||||
<pattern>/web/survey/jsontest.do</pattern> <!-- 사용자 설문 결과 팝업 -->
|
||||
<pattern>/web/ve/aplct/tngrVisitEdu/lctrSrvy/lctrSrvyReg.do</pattern> <!-- 찾교 설문조사 화면 -->
|
||||
<pattern>*/web/ve/**/*Popup*</pattern> <!-- 찾교 팝업(강사신청 반려 팝업) -->
|
||||
<pattern>*/web/ve/**/*Popup*</pattern> <!-- 찾교 팝업(강사신청 반려 팝업) -->
|
||||
<pattern>/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctRegIncPrivacy.do</pattern> <!-- 개인정보 -->
|
||||
|
||||
<!-- <pattern>*/eduEndQustnrNoLoginDetail.do</pattern> -->
|
||||
|
||||
</decorator>
|
||||
|
||||
@ -453,7 +453,7 @@
|
||||
<th scope="row">의뢰상태</th>
|
||||
<td>
|
||||
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
|
||||
selectedText="" defaultValue=""
|
||||
selectedText="교육대기" defaultValue="10"
|
||||
defaultText='선택'
|
||||
/>
|
||||
</td>
|
||||
@ -493,7 +493,7 @@
|
||||
<tr>
|
||||
<th scope="row">
|
||||
<p class="req_text"><span>필수입력 항목</span>*</p>
|
||||
<p>첨부파일</p>
|
||||
<p>의뢰통지서</p>
|
||||
</th>
|
||||
<td class="upload_area" colspan="3">
|
||||
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
|
||||
|
||||
@ -334,7 +334,7 @@
|
||||
var optionNOT = {
|
||||
// 차트 제목
|
||||
title: {
|
||||
text: '월별 횟수 차트 (총합 :' + dataNOTSum +')',
|
||||
text: '전체 운영 차트 (총합 :' + dataNOTSum +')',
|
||||
},
|
||||
// x축 라벨
|
||||
xAxis: {
|
||||
|
||||
@ -76,7 +76,7 @@
|
||||
|
||||
function excelDownLoad(){
|
||||
var listForm = document.listForm ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctExcelDownLoad.do'/>";
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/eduAplctApplyExcelDownLoad.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
@ -376,7 +376,7 @@
|
||||
<option value='1000' <c:if test="${vEEduAplctVO.pageUnit == '1000'}">selected</c:if>>1000줄</option>
|
||||
</select>
|
||||
<button type="button" class="btn_type03" onclick="fncPrintListPopup(); return false;">신청서 일괄출력</button>
|
||||
<!-- <button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button> -->
|
||||
<button type="button" class="btn_down_excel" onclick="excelDownLoad();">엑셀 다운로드</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -388,11 +388,11 @@
|
||||
<col style="width: 5%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: 8%">
|
||||
|
||||
@ -391,9 +391,10 @@
|
||||
<col style="width: 5%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 8%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 10%">
|
||||
<col style="width: auto;">
|
||||
<col style="width: 6%">
|
||||
|
||||
<col style="width: 6%">
|
||||
<col style="width: 6%">
|
||||
<col style="width: 8%">
|
||||
|
||||
@ -152,7 +152,6 @@
|
||||
/>
|
||||
|
||||
<select class="sel_type1" name="searchCondition" id="searchCondition">
|
||||
<option value="0" ${vEEduAplctVO.searchCondition eq '0' ? 'selected' : '' }>전체</option>
|
||||
<option value="1" ${vEEduAplctVO.searchCondition eq '1' ? 'selected' : '' }>학교명</option>
|
||||
<option value="2" ${vEEduAplctVO.searchCondition eq '2' ? 'selected' : '' }>강사이름</option>
|
||||
</select>
|
||||
|
||||
@ -618,8 +618,8 @@
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center" style="width: 100%;">
|
||||
<button type="button" class="btn_type04" onclick="fncAprooval(); return false;">확인</button>
|
||||
<button type="button" class="btn_type02" onclick="window.close()">취소</button>
|
||||
<!-- <button type="button" class="btn_type04" onclick="fncAprooval(); return false;">확인</button> -->
|
||||
<button type="button" class="btn_type02" onclick="window.close()">닫기</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="faq_Wrap">
|
||||
<div class="faq_Wrap full_faq">
|
||||
<ul class="faq">
|
||||
<c:forEach var="result" items="${resultList}" varStatus="status">
|
||||
<li>
|
||||
|
||||
@ -32,491 +32,7 @@
|
||||
background-color: #f9f9f9 !important;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javaScript" language="javascript">
|
||||
$( document ).ready(function(){
|
||||
|
||||
$('.time').attr('readonly',true);
|
||||
|
||||
//교육 선택에 따른 항목 노출
|
||||
itemChg($("#eduSlctCd").val());
|
||||
|
||||
});
|
||||
|
||||
function prsnlCheck(thisObj){
|
||||
|
||||
if(thisObj.value < 10){
|
||||
alert('교육 최소인원은 10명 이상입니다.');
|
||||
$(this).focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function callBackSchPop(schData){
|
||||
if(emptyObject(schData)){
|
||||
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-SCH-POP]")
|
||||
return false;
|
||||
}
|
||||
$("#scholInsttNm").val(schData.scholNm);
|
||||
$("#stndrdScholCd").val(schData.stndrdScholCd);
|
||||
$("#post").val(schData.newZipcd);
|
||||
$("#addr").val(schData.newAddr);
|
||||
$("#addrDetail").val(schData.newAddrDtl);
|
||||
console.log(schData);
|
||||
}
|
||||
|
||||
function fncCancle(){
|
||||
if(confirm("교육신청을 취소하시겠습니까?")){
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncReset(isMsg){
|
||||
if(isMsg == undefined && !confirm("교육신청을 내용을 초기화하시겠습니까?")){
|
||||
return false;
|
||||
}
|
||||
|
||||
$(".tb_write").find("input[type=text],input[type=hidden],textarea").val('');
|
||||
$(".tb_write").find("select").prop('selectedIndex', 0);
|
||||
$(".tb_write").find("input[type=radio]:first-child").attr('checked',true);
|
||||
$(".addClassRow > tbody > tr:not(:first)").remove();
|
||||
var rowObj = $(".addClassRow > tbody > tr:first");
|
||||
rowObj.find('input[name=eduHopeDt]').val('');
|
||||
rowObj.find('input[name=strtTm]').val('');
|
||||
rowObj.find('input[name=endTm]').val('');
|
||||
rowObj.find('input[name=trgt]').val('');
|
||||
rowObj.find('input[name=prsnl]').val('');
|
||||
rowObj.find('input[name=lrnTm]').val('');
|
||||
$("#agree").prop('checked',false);
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
$("#eduAplctOrd").val('');
|
||||
var varFrom = document.getElementById("createForm");
|
||||
varFrom.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
function fncGoDetail(){
|
||||
var varFrom = document.getElementById("createForm");
|
||||
varFrom.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
|
||||
varFrom.submit();
|
||||
}
|
||||
|
||||
//주소검색에 따른 지역 코드 값 가져오기
|
||||
function codeVal(pram){
|
||||
var code ='';
|
||||
|
||||
$.ajax({
|
||||
method : "GET",
|
||||
url : "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctRegCodeAjax.do' />",
|
||||
async : false,
|
||||
data : {
|
||||
"codeDc" : pram
|
||||
},
|
||||
|
||||
success : function(response) {
|
||||
code = response.code;
|
||||
},
|
||||
error : function(request, status, error) {
|
||||
console.log("code:"+request.status + "\n message:" + request.responseText +"\n error:" + error);
|
||||
}
|
||||
|
||||
});
|
||||
return code;
|
||||
}
|
||||
|
||||
function fncSave(type){
|
||||
//주소검색에 따른 지역 코드 값 세팅
|
||||
var sigunguCode = $('#sigunguCode').val();
|
||||
var eduSlctAreaCd = codeVal(sigunguCode);
|
||||
document.createForm.eduSlctAreaCd.value = eduSlctAreaCd;
|
||||
|
||||
//온라인 일때는 교유선택 지역코드 불필요
|
||||
if($("#eduSlctCd").val() == "10")
|
||||
{
|
||||
$("#eduSlctAreaCd").attr("disabled", "disabled");
|
||||
}
|
||||
|
||||
if(type == 'S' || type == 'E' ){
|
||||
if (!validCheck()) return;
|
||||
}
|
||||
var url = '${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctRegAjax.do';
|
||||
if(VeConstants.MODE_UPT == $("#mode").val()){
|
||||
url = '${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctMdfyAjax.do';
|
||||
}
|
||||
if(confirm("교육신청을 "+(type == 'I'? '임시저장' : '등록')+"하시겠습니까?")){
|
||||
if(type != 'E' ){
|
||||
if(type == 'I'){
|
||||
$("#sbmtYn").val("N");
|
||||
}else{
|
||||
$("#sbmtYn").val("Y");
|
||||
$("#aprvlCd").val(VeConstants.APRVL_CD_10);
|
||||
}
|
||||
}
|
||||
//핸드폰번호 하이푼 추가
|
||||
var phoneAll = document.getElementById("clphone1").value + "-"+ document.getElementById("clphone2").value + "-"+ document.getElementById("clphone3").value;
|
||||
$("#clphone").val(phoneAll);
|
||||
// 전화번호 하이푼 추가
|
||||
var tell = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
|
||||
$("#phone").val(tell);
|
||||
//이메일 합치기
|
||||
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
|
||||
|
||||
$("#email").val(emailAll);
|
||||
|
||||
var data = new FormData(document.getElementById("createForm"));
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
enctype: 'multipart/form-data',
|
||||
url: url,
|
||||
data: data,
|
||||
dataType:'json',
|
||||
async: false,
|
||||
processData: false,
|
||||
contentType: false,
|
||||
cache: false,
|
||||
success: function (returnData, status) {
|
||||
$("#eduAplctOrd").val(returnData.VO.eduAplctOrd);
|
||||
if(status == 'success'){
|
||||
alert("등록 되었습니다.");
|
||||
if(type != 'I'){
|
||||
fncGoDetail(); //현재 메인화면 이동
|
||||
}
|
||||
} else if(status== 'fail'){
|
||||
alert("등록에 실패하였습니다.");
|
||||
}
|
||||
},
|
||||
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function validCheck(){
|
||||
if($("#eduSlctCd").val() == ''){
|
||||
alert('교육선택 구분을 선택해주세요.');
|
||||
$("#eduSlctCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
/* if($("#eduSlctAreaCd").val() == ''){
|
||||
alert('교육선택 지역을 선택해주세요.');
|
||||
$("#eduSlctAreaCd").focus();
|
||||
return false;
|
||||
}; */
|
||||
|
||||
if($("#insttNm").val() == ''){
|
||||
alert('기관(단체)명을 입력해주세요.');
|
||||
$("#insttNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#insttDivCd").val() == ''){
|
||||
alert('기관구분을 선택해주세요.');
|
||||
$("#insttDivCd").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#eduSlctCd").val() == "20"){
|
||||
if($("#post").val() == ''){
|
||||
alert('주소를 입력해주세요.');
|
||||
$("#post").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#addrDetail").val() == ''){
|
||||
alert('상세주소를 입력해주세요.');
|
||||
$("#addrDetail").focus();
|
||||
return false;
|
||||
};
|
||||
}
|
||||
|
||||
if($("#eduSlctCd").val() == "10"){
|
||||
if($("input[name='eduMdCd']:checked").val() == "99"){
|
||||
if($("#eduMd").val() == ''){
|
||||
alert('교육매체를 입력해주세요.');
|
||||
$("#eduMd").focus();
|
||||
return false;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if($("#chrgNm").val() == ''){
|
||||
alert('담당자를 입력해주세요.');
|
||||
$("#chrgNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#jobNm").val() == ''){
|
||||
alert('직위을 입력해주세요.');
|
||||
$("#jobNm").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#clphone2").val() == '' || $("#clphone3").val() == ''){
|
||||
alert('휴대폰 번호를 입력해주세요.');
|
||||
$("#clphone2").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
|
||||
alert('전화번호를 입력해주세요.');
|
||||
$("#phone1").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#email1").val() == '' || $("#email2").val() == ''){
|
||||
alert('이메일을 입력해주세요.');
|
||||
$("#email1").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#hopeSbjct").val() == ''){
|
||||
alert('희망주제를 입력해주세요.');
|
||||
$("#hopeSbjct").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
if($("#rqstCn").val() == ''){
|
||||
alert('교육 주제 관련 상세 요청사항 및 사전 질의(자유기재)를 입력해주세요.');
|
||||
$("#rqstCn").focus();
|
||||
return false;
|
||||
};
|
||||
if($("#eduTrgt").val() == ''){
|
||||
alert('교육대상을 입력해주세요..');
|
||||
$("#eduTrgt").focus();
|
||||
return false;
|
||||
};
|
||||
if($("#eduPrsnl").val() == ''){
|
||||
alert('교육인원을 입력해주세요.');
|
||||
$("#eduPrsnl").focus();
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
|
||||
if(trObj.length == 0){
|
||||
alert('교육차시 정보를 등록해주세요.');
|
||||
return false;
|
||||
}
|
||||
var flag = true;
|
||||
$.each(trObj , function(idx, row){
|
||||
var eduHopeDt = $(this).find('input[name=eduHopeDt]').val();
|
||||
if(eduHopeDt == ''){
|
||||
alert('교육희망일 입력해주세요.');
|
||||
$('input[name=eduHopeDt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
var yyyy = eduHopeDt.substr(0,4);
|
||||
var mm = eduHopeDt.substr(5,2);
|
||||
var dd = eduHopeDt.substr(8,2);
|
||||
var eduHopeDtDate = new Date(yyyy, mm-1, dd); // 교육희망일을 Date 형태로 변경
|
||||
|
||||
var today = new Date();
|
||||
var tyyyy = today.getFullYear();
|
||||
var tmm = today.getMonth()+1;
|
||||
var tdd = today.getDate();
|
||||
|
||||
var twoWeekAfter = new Date(tyyyy, tmm-1, tdd + 14); //오늘로부터 14일 뒤의 날짜를 SET
|
||||
|
||||
//교육희망일이 오늘로부터 2주 이내인지 체크
|
||||
if(eduHopeDtDate < twoWeekAfter) {
|
||||
alert('교육희망일은 2주 이후의 날짜로 입력해주세요.');
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
if($(this).find('select[name=divCd]').val() == ''){
|
||||
alert('구분을 선택해주세요.');
|
||||
$('select[name=divCd]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=trgt]').val() == ''){
|
||||
alert('대상을 입력해주세요.');
|
||||
$('input[name=trgt]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
|
||||
if($(this).find('input[name=prsnl]').val() == ''){
|
||||
alert('인원을 입력해주세요.');
|
||||
$('input[name=prsnl]:eq('+idx+')').focus();
|
||||
return flag = false;
|
||||
}
|
||||
});
|
||||
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
if($("input:checkbox[name='agree']").prop('checked')==false){
|
||||
alert('개인정보 수집 및 이용 목적에 동의하셔야합니다.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function searchBeforeData(data){
|
||||
if(data == undefined || emptyObject(data)){
|
||||
data = {'lctrDivCd' : VeConstants.LCTR_DIV_CD_20, 'pageUnit' : 5, 'pageIndex': 1 , 'sbmtYn' : 'N'};
|
||||
}
|
||||
commonPopLayeropen(
|
||||
"${pageContext.request.contextPath}/web/ve/comm/popup/searchBeforeContent.do"
|
||||
, 470
|
||||
, 464
|
||||
, data
|
||||
, "Y"
|
||||
, "searchBeforeData"
|
||||
);
|
||||
}
|
||||
|
||||
function callDataSetting(data){
|
||||
// 데이터 체크
|
||||
fncReset('Y'); // 데이터 초기화 진행
|
||||
var info = data.info;
|
||||
var list = data.chasiList;
|
||||
|
||||
$("#mode").val(VeConstants.MODE_UPT);
|
||||
$("#eduAplctOrd").val(info.eduAplctOrd);
|
||||
$("#eduSlctCd").val(info.eduSlctCd);
|
||||
//오프라인의 경우 교육장소 활성화
|
||||
if(info.eduSlctCd == '20'){
|
||||
$("#juso").show();
|
||||
$("#juso").find("input").removeAttr("disabled", "disabled");
|
||||
$("#mechae").hide();
|
||||
$("#mechae").find("input").attr("disabled", "disabled");
|
||||
}
|
||||
$("#eduMd").val(info.eduMd);
|
||||
$("#eduSlctAreaCd").val(info.eduSlctAreaCd);
|
||||
$("#insttNm").val(info.insttNm);
|
||||
$('input[name=insttDivCd][value='+info.insttDivCd+']').prop('checked', true);
|
||||
$("#post").val(info.post);
|
||||
$("#addr").val(info.addr);
|
||||
$("#addrDetail").val(info.addrDetail);
|
||||
$("#chrgNm").val(info.chrgNm);
|
||||
$("#jobNm").val(info.jobNm);
|
||||
$("#eduTrgt").val(info.eduTrgt);
|
||||
$("#eduPrsnl").val(info.eduPrsnl);
|
||||
if(isNotEmpty(info.aplctCn)){
|
||||
var aplctCnList = info.aplctCn.split(',');
|
||||
$.each(aplctCnList, function(idx, value){
|
||||
$('input[name=aplctCn][value='+value+']').prop('checked',true);
|
||||
});
|
||||
}
|
||||
|
||||
if(!isEmpty(info.clphone)){
|
||||
var clphone = info.clphone.split('-');
|
||||
$("#clphone1").val(clphone[0]);
|
||||
$("#clphone2").val(clphone[1]);
|
||||
$("#clphone3").val(clphone[2]);
|
||||
}
|
||||
if(!isEmpty(info.phone)){
|
||||
var phone = info.phone.split('-');
|
||||
$("#phone1").val(phone[0]);
|
||||
$("#phone2").val(phone[1]);
|
||||
$("#phone3").val(phone[2]);
|
||||
}
|
||||
|
||||
if(!isEmpty(info.email)){
|
||||
var email = info.email.split('@');
|
||||
$("#email1").val(email[0]);
|
||||
$("#email2").val(email[1]);
|
||||
}
|
||||
|
||||
if(isNotEmpty(info.eduMdCd)){
|
||||
$('input[name=eduMdCd][value='+info.eduMdCd+']').prop('checked',true);
|
||||
}
|
||||
if(isNotEmpty(info.feeInsttCd)){
|
||||
$('input[name=feeInsttCd][value='+info.feeInsttCd+']').prop('checked',true);
|
||||
}
|
||||
|
||||
$("#hopeSbjct").val(info.hopeSbjct);
|
||||
$("#rqstCn").val(info.rqstCn);
|
||||
|
||||
$('.addClassRow').find('tbody > tr:first').nextAll().remove();
|
||||
$.each(list, function(idx, value){
|
||||
// 로우 추가
|
||||
if(idx != 0){
|
||||
addEduClassCopy('addClassRow');
|
||||
}
|
||||
console.log("+++++++++++++++++++++++++++++++++");
|
||||
var tr = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr').eq(idx);
|
||||
//tr.find('input[name=eduHopeDt]').val(dateFormat(value.eduHopeDt, 'date'));
|
||||
//alert(info.eduHopeDt);
|
||||
//alert(value.eduHopeDt);
|
||||
if(isNotEmpty(value.eduHopeDt)){
|
||||
tr.find('input[name=eduHopeDt0]').val(dateFormat(value.eduHopeDt.replace(/\./g, ""), 'date'));
|
||||
tr.find('input[name=eduHopeDt]').val(dateFormat(value.eduHopeDt.replace(/\./g, ""), 'date'));
|
||||
tr.find('input[name=eduHopeDt]').val(value.eduHopeDt);
|
||||
//alert(value.eduHopeDt);
|
||||
|
||||
//$('#eduHopeDt'+idx).val(value.eduHopeDt);
|
||||
}
|
||||
tr.find('input[name=strtTm]').val(timeFomat(value.strtTm));
|
||||
tr.find('input[name=endTm]').val(timeFomat(value.endTm));
|
||||
tr.find('input[name=lrnTm]').val(value.lrnTm);
|
||||
tr.find('input[name=trgt]').val(value.trgt);
|
||||
tr.find('input[name=prsnl]').val(value.prsnl);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//교육 선택에 따른 항목 노출
|
||||
function itemChg(item){
|
||||
var mechae = $("#mechae");
|
||||
var juso = $("#juso");
|
||||
//온라인
|
||||
if(item == '10'){
|
||||
mechae.show();
|
||||
mechae.find("input").removeAttr("disabled", "disabled");
|
||||
$("#eduMd").attr("disabled", "disabled");
|
||||
juso.hide();
|
||||
juso.find("input").attr("disabled", "disabled");
|
||||
}
|
||||
//오프라인
|
||||
if(item == '20'){
|
||||
juso.show();
|
||||
juso.find("input").removeAttr("disabled", "disabled");
|
||||
mechae.hide();
|
||||
mechae.find("input").attr("disabled", "disabled");
|
||||
}
|
||||
}
|
||||
|
||||
//교육 매체 따른 내용 변경
|
||||
function eduMdChg(){
|
||||
|
||||
var v_eduMdCd = $("input[name='eduMdCd']:checked").val();
|
||||
var v_eduMd = $('#eduMd');
|
||||
|
||||
|
||||
if (v_eduMdCd=='99'){
|
||||
v_eduMd.removeAttr('disabled');
|
||||
}else{
|
||||
v_eduMd.val('');
|
||||
v_eduMd.attr('disabled', 'disabled');
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="agree_text" tabindex="0">
|
||||
<pre>한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제 17조, 제 22조, 제23조 및 제24조에 따라<br>아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.<br>
|
||||
|
||||
@ -66,6 +66,7 @@
|
||||
console.log(value.value);
|
||||
rsObj[value.name] = value.value;
|
||||
});
|
||||
alert(rsObj);
|
||||
callBackSchPop(rsObj);
|
||||
$(".btn_popup_close").click();
|
||||
}
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
$.each(inObj, function(idx, value){
|
||||
console.log(value.value);
|
||||
rsObj[value.name] = value.value;
|
||||
});
|
||||
});
|
||||
callBackSchPop(rsObj);
|
||||
$(".btn_popup_close").click();
|
||||
}
|
||||
|
||||
@ -464,6 +464,9 @@ function _chkChasiTime(p_this){
|
||||
// 작성한 차시가 신청 가능한 기간/시간인지 체크(관리자 지역별 강의관리 참고) 및 중복신청건 조회
|
||||
//DB로 체크
|
||||
if(!checkAplctPsbl()) return;
|
||||
|
||||
//지역체크 추가
|
||||
if(!checkAplctZonePsbl()) return;
|
||||
}
|
||||
|
||||
var url = '${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctRegAjax.do';
|
||||
@ -893,20 +896,23 @@ function _chkChasiTime(p_this){
|
||||
if(returnData.result == "fail4"){
|
||||
alert("로그인 후 다시 교육신청해 주세요.");
|
||||
flag = false;
|
||||
return;
|
||||
//return false;
|
||||
}else if(returnData.result == "fail3"){
|
||||
//alert("가능한 교육희망일자가 아닙니다.");
|
||||
alert(returnData.msg+"일은 교육가능일자가 아닙니다.");
|
||||
flag = false;
|
||||
return;
|
||||
//return false;
|
||||
}else if(returnData.result == "fail"){
|
||||
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
|
||||
alert(returnData.msg+"는 강의가능시간이 아닙니다.");
|
||||
flag = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!duplChk) {
|
||||
//return false;
|
||||
}else if(returnData.result == "fail5"){
|
||||
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
|
||||
alert("해당 지역의 차시 신청이 초과 되어서 교육신청을 할 수 없습니다.");
|
||||
flag = false;
|
||||
//return false;
|
||||
}else if(!duplChk) {
|
||||
if(returnData.result == "fail2"){
|
||||
if(confirm("중복된 신청 건이 있습니다. 진행하시겠습니까?")){
|
||||
//중복신청건이 있어도 등록(최초 질의 후 재질의 방지)
|
||||
@ -914,7 +920,7 @@ function _chkChasiTime(p_this){
|
||||
} else {
|
||||
flag = false;
|
||||
}
|
||||
return;
|
||||
//return;
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -933,6 +939,88 @@ function _chkChasiTime(p_this){
|
||||
|
||||
}
|
||||
|
||||
// 신청하는 차시가 유효한 신청기간인지, 강의가능시간인지 체크하는 로직
|
||||
// =>강의 가능 시간 여부만 체크로 변경 2022-02-28
|
||||
// 추가로, 본인이 등록했던 신청건인지 체크(사용자아이디, 학교명, 교육희망일, 교육대상 비교)
|
||||
//1.교육희망일이 신청 가능한 일자인지
|
||||
//2.신청 시간이 해당 지역의 가능한 시간인지
|
||||
//3.중복시간 체크
|
||||
function checkAplctZonePsbl() {
|
||||
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
|
||||
|
||||
var flag = true;
|
||||
var duplChk = false;
|
||||
|
||||
var eduSlctCd = $("select[name=eduSlctCd]").val();
|
||||
//alert(eduSlctCd);
|
||||
//return;
|
||||
|
||||
$.each(trObj , function(idx, row){
|
||||
if(!flag) return false;
|
||||
|
||||
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 rndsOrd = $('input[name=rndsOrd]').val();
|
||||
|
||||
|
||||
/*
|
||||
2.교육신청시 교육희망일 비교하여 가능한 정보를 가져온다.
|
||||
2-1.신청 가능한 일자인지(구현)
|
||||
(해당 강의 회차의 교육 가능일자만 신청 가능하도록)
|
||||
==>vea_lctr_rnds_stng
|
||||
2-2.신청 가능한 시간인지(구현)
|
||||
2-3.해당일 신청가능한 차시가 남았는지(미구현)
|
||||
|
||||
2-4.동일한 날짜에 기 신청된 건이 있는지(구현)
|
||||
*/
|
||||
|
||||
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"${pageContext.request.contextPath}/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctChkZoneAjax.do",
|
||||
data: {
|
||||
"eduHopeDt" : eduHopeDt ,
|
||||
"strtTm" : strtTm,
|
||||
"endTm" : endTm,
|
||||
"eduSlctAreaCd" : eduSlctAreaCd,
|
||||
// "prdDivCd" : prdDivCd,
|
||||
"eduSlctCd" : eduSlctCd,
|
||||
"trgt" : trgt,
|
||||
"rndsOrd":rndsOrd,
|
||||
},
|
||||
dataType:'json',
|
||||
async: false,
|
||||
success:function(returnData){
|
||||
if(returnData.result == "fail4"){
|
||||
alert("로그인 후 다시 교육신청해 주세요.");
|
||||
flag = false;
|
||||
return ;
|
||||
}else if(returnData.result == "fail6"){
|
||||
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
|
||||
alert("해당 지역의 차시 신청이 초과 되어서 교육신청을 할 수 없습니다.");
|
||||
flag = false;
|
||||
return ;
|
||||
}
|
||||
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
if(!flag){
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
// 신청기간에 정상적으로 들어온 것인지 체크하는 로직
|
||||
function checkAplctPsbl_date_check() {
|
||||
$.ajax({
|
||||
@ -1240,8 +1328,8 @@ function _chkChasiTime(p_this){
|
||||
</select>
|
||||
<label for="eduSlctAreaCd" class="label">지역 선택</label>
|
||||
<ve:select codeId="VE0008" selectedValue="${info.eduSlctAreaCd}" id="eduSlctAreaCd" name="eduSlctAreaCd" styleClass="selType1" css="disabled" defaultText="지역" defaultValue=""/>
|
||||
<span class="cf_text areaMent" style="color:grey;">학교를 선택하시면 지역은 자동으로 입력됩니다.</span>
|
||||
<span class="cf_text onlineMent" style="color:grey;">강사님이 방문하지 않는 비대면 교육입니다.</span>
|
||||
<span class="cf_text areaMent" style="color:grey;display:none;">학교를 선택하시면 지역은 자동으로 입력됩니다.</span>
|
||||
<span class="cf_text onlineMent" style="color:grey;display:none;">강사님이 방문하지 않는 비대면 교육입니다.</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@ -163,7 +163,7 @@
|
||||
.req_text{display: inline-block; font-size: 16px; font-weight: 600; color: #e40000; vertical-align: middle; padding-right: 5px;}
|
||||
.req_text span{display: inline-block; width: 1px; height: 1px; margin: -1px; clip: rect(0,0,0,0); overflow: hidden; padding: 0;}
|
||||
.req_text+p{display: inline-block;}
|
||||
.cf_text {font-size: 15px; font-weight: 300; color: #e40000;}
|
||||
.cf_text {font-size: 15px; font-weight: 400; color: #e40000;}
|
||||
.cf_text2 {font-size: 15px; font-weight: 300; color: #666;}
|
||||
.cf_text3 {font-size: 18px; font-weight: 300; color: #666; line-height: 1.4; letter-spacing: -1px; display: block; padding-top: 12px;}
|
||||
.table_req_text {font-size: 15px; color: #666; font-weight: 300; display: block; padding-top: 5px; line-height: 1.3; letter-spacing: -0.5px;}
|
||||
@ -841,6 +841,12 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
|
||||
/*알림마당 > 교육자료실 > 첨부파일 수정*/
|
||||
.fileView a{margin: 0 0 10px 0; white-space: normal; background-image: url(../images/content/file_img.png); background-repeat: no-repeat; background-position: left 48%; padding-left: 23px; letter-spacing: -0.5px; font-size: 16px; font-weight: 400; color:#555; line-height:20px;}
|
||||
|
||||
/*알림마당 > FAQ > 답변 색 수정*/
|
||||
.full_faq .faq li button{background-color: #f5f5f5;}
|
||||
.full_faq .faq li button .qst_text{z-index: 1;}
|
||||
.full_faq .faq li .answer{background-color: #fff;}
|
||||
|
||||
|
||||
@media all and (max-width: 1300px){
|
||||
/*교육소개 추가*/
|
||||
.edu_wrap .tb_type01 table tbody .edu_sus_num li{width: 55%;}
|
||||
|
||||
@ -1067,3 +1067,42 @@ $(function(){
|
||||
|
||||
/* 날짜 및 시간 입력 시 자동 작성 스크립트 */
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
boardCaptionToggle();
|
||||
boardCaptionToggle02();
|
||||
|
||||
});
|
||||
|
||||
function boardCaptionToggle() {
|
||||
var bdWid = $("body").width();
|
||||
var thLength = $(".tb_type01 th").length;
|
||||
if (bdWid > 640) {
|
||||
var subTit = $(".tb_tit01_left p").text()
|
||||
var itmText = "";
|
||||
$(".tb_type01 th").each(function (index, item) {
|
||||
itmText += $(item).text();
|
||||
if (index === thLength - 1) {
|
||||
/* 마지막 th일 경우 - ,가 들어가면 안됨. */
|
||||
itmText;
|
||||
} else {
|
||||
itmText += ", ";
|
||||
}
|
||||
});
|
||||
if ($(".tb_type01 caption").length == 0) {
|
||||
if(subTit.indexOf("목록") != -1){
|
||||
$(".tb_type01>table").prepend("<caption>" + subTit + " : " + itmText + "등의 정보제공 </caption>");
|
||||
}else{
|
||||
if(subTit == "대시보드"){
|
||||
$(".tb_type01>table").prepend("<caption> : " + itmText + "등의 정보제공 </caption>");
|
||||
}else{
|
||||
$(".tb_type01>table").prepend("<caption>" + subTit + " 목록 : " + itmText + "등의 정보제공 </caption>");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {}
|
||||
} else {
|
||||
$(".tb_type01 caption").remove();
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user