2025-10-17 16:34 예방교육 수강 신청 수정
This commit is contained in:
parent
343b529c5f
commit
500e04cd4a
@ -19,8 +19,7 @@ public interface CmdTrgtService {
|
|||||||
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
//교육대상자 확인 - new
|
//교육대상자 확인 - new
|
||||||
ModelAndView checkSspnIdtmt(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
ModelAndView checkSspnIdtmt(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,24 @@
|
|||||||
|
package kcc.ve.aplct.prevent.service;
|
||||||
|
|
||||||
|
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
|
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO;
|
||||||
|
|
||||||
|
public interface PreventService {
|
||||||
|
|
||||||
|
void insertVeEduAplct(VEEduAplctVO paramVO);
|
||||||
|
|
||||||
|
void updateAprvlCd(VEEduAplctVO paramVO) throws Exception;
|
||||||
|
|
||||||
|
VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO);
|
||||||
|
|
||||||
|
// String findByTrgtNmAndDBirthAndEduStateCd(CndtnTrgtMngVO cndtnTrgtInfoMngVO);
|
||||||
|
//교육대상자 확인
|
||||||
|
ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
//교육대상자 확인 - new
|
||||||
|
ModelAndView checkSspnIdtmt(CmdTrgtMngVO cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,285 @@
|
|||||||
|
package kcc.ve.aplct.prevent.service.impl;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
import org.apache.commons.lang.RandomStringUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
|
import kcc.com.cmm.LoginVO;
|
||||||
|
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||||
|
import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
||||||
|
import kcc.ve.aplct.prevent.service.PreventService;
|
||||||
|
import kcc.ve.cmm.VeSendSMS;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.impl.VEEduAplctDAO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
|
||||||
|
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrMixService;
|
||||||
|
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO;
|
||||||
|
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.impl.CmdTrgtMngDAO;
|
||||||
|
|
||||||
|
@Service("preventService")
|
||||||
|
public class PreventServiceImpl implements PreventService {
|
||||||
|
|
||||||
|
//과정
|
||||||
|
@Resource(name="vEEduAplctDAO")
|
||||||
|
private VEEduAplctDAO vEEduAplctDAO;
|
||||||
|
|
||||||
|
// 기소유예 관련
|
||||||
|
@Resource(name="cmdTrgtInfoMngDAO")
|
||||||
|
private CmdTrgtMngDAO cmdTrgtMngDAO;
|
||||||
|
|
||||||
|
//snd_hstry id gen
|
||||||
|
@Resource(name = "sndGnrService")
|
||||||
|
private EgovIdGnrService sndGnrService;
|
||||||
|
|
||||||
|
//로그인 체크 util
|
||||||
|
@Resource(name = "checkLoginUtil")
|
||||||
|
private CheckLoginUtil checkLoginUtil;
|
||||||
|
|
||||||
|
//암복호화 유틸
|
||||||
|
@Resource(name = "egovCryptoUtil")
|
||||||
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
|
//강사 정보 MIX
|
||||||
|
@Resource(name="vEInstrMixService")
|
||||||
|
private VEInstrMixService vEInstrMixService;
|
||||||
|
|
||||||
|
// 교육신청발송이력
|
||||||
|
@Resource(name = "vEEduAplctSndHstryService")
|
||||||
|
private VEEduAplctSndHstryService vEEduAplctSndHstryService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void insertVeEduAplct(VEEduAplctVO paramVO) {
|
||||||
|
vEEduAplctDAO.insertVeEduAplct(paramVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateAprvlCd(VEEduAplctVO paramVO) throws Exception {
|
||||||
|
vEEduAplctDAO.updateReg(paramVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public VEEduAplctVO findByAprvlCd(VEEduAplctVO vEEduAplctReqVO) {
|
||||||
|
return vEEduAplctDAO.findByAprvlCd(vEEduAplctReqVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelAndView findByTrgtNmAndDBirthAndEduStateCd(CmdTrgtMngVO cndtnTrgtInfoMngVO) {
|
||||||
|
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
String result="";
|
||||||
|
String msg="";
|
||||||
|
String id="";
|
||||||
|
String next="";
|
||||||
|
try {
|
||||||
|
result="success";
|
||||||
|
//
|
||||||
|
// // 교육 신청한 대상자 조회
|
||||||
|
id = cmdTrgtMngDAO.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(id)) {
|
||||||
|
msg = "이미 신청한 대상자 입니다.";
|
||||||
|
|
||||||
|
// 신청한 대상자가 없으면
|
||||||
|
// 신청하지 않은 대상자가 있는지 조회
|
||||||
|
}else {
|
||||||
|
|
||||||
|
id = cmdTrgtMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd(cndtnTrgtInfoMngVO);
|
||||||
|
msg = "대상자가 없습니다.";
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(id)) {
|
||||||
|
msg = "확인됐습니다.";
|
||||||
|
next = "Y";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
result="fail";
|
||||||
|
msg = "오류가 발생하였습니다 관리자에게 문의하세요. ";
|
||||||
|
e.printStackTrace();
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
modelAndView.addObject("msg", msg);
|
||||||
|
modelAndView.addObject("result", result);
|
||||||
|
modelAndView.addObject("id", id);
|
||||||
|
modelAndView.addObject("next", next);
|
||||||
|
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelAndView checkSspnIdtmt(CmdTrgtMngVO cmdTrgtMngVO) {
|
||||||
|
/*
|
||||||
|
* step0.해당 계정으로 신청한 정보가 있는지 확인 하고, 있다면 동일한 정보로 신청했는지 확인 할것.
|
||||||
|
* step1.신청 가능한 대상이 있는지 찾는다.
|
||||||
|
* 있으면 신청처리 but 2개 이상이면 선택하도록, 1개면 신청 처리
|
||||||
|
* step2.대상이 없으면 기존 이력이 있는지 확인
|
||||||
|
* 있으면 기존 사유 노출
|
||||||
|
* step3.기존 이력이 없으면 관리자에게 문의 하도록 한다.
|
||||||
|
* */
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
String result="";
|
||||||
|
String msg="";
|
||||||
|
String id="";
|
||||||
|
String next=""; //?
|
||||||
|
String smsYn = ""; //휴대폰 인증 번호 발송 여부
|
||||||
|
try {
|
||||||
|
result="";
|
||||||
|
//
|
||||||
|
// // step0.해당 계정으로 신청한 정보가 있는지 확인 하고, 있다면 동일한 정보로 신청했는지 확인 할것.
|
||||||
|
//CmdTrgtMngVO cndtnTrgtMngVO = cmdTrgtMngDAO.checkSspnIdtmtNewStep0(cmdTrgtMngVO);
|
||||||
|
/*
|
||||||
|
if ("F".equals(cndtnTrgtMngVO.getResultCd())) { //해당 계정으로 신청한 정보중에 다른 개인정보(이름, 생년월일, 성별)를 사용해서 신청한 내용이 있다.
|
||||||
|
|
||||||
|
result="fail";
|
||||||
|
msg = "하나의 계정은 한 명의 대상자만 신청할 수 있습니다.";
|
||||||
|
|
||||||
|
modelAndView.addObject("msg", msg);
|
||||||
|
modelAndView.addObject("result", result);
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// step1.신청 가능한 대상이 있는지 찾는다.-대상자 존재 여부만 확인
|
||||||
|
List<CmdTrgtMngVO> cndtnTrgtMngVOList = cmdTrgtMngDAO.checkSspnIdtmtStep1(cmdTrgtMngVO);
|
||||||
|
|
||||||
|
System.out.println(cndtnTrgtMngVOList);
|
||||||
|
System.out.println(cndtnTrgtMngVOList.size());
|
||||||
|
|
||||||
|
if (false) { //대상자가 없음
|
||||||
|
result = "fail";
|
||||||
|
msg = "대상자 정보와 입력하신 정보가 일치하지 않습니다.\n담당자에게 문의 바랍니다.\n문의: 055-792-0223";
|
||||||
|
next = "Y"; //?
|
||||||
|
|
||||||
|
}else { //대상자 있음
|
||||||
|
//id = cndtnTrgtMngVOList.get(0).getCmdTrgtInfoOrd();
|
||||||
|
|
||||||
|
//step2.대상이 완료 상태인지 확인
|
||||||
|
cndtnTrgtMngVOList = cmdTrgtMngDAO.checkSspnIdtmtStep2(cmdTrgtMngVO);
|
||||||
|
|
||||||
|
int i_cnt = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
i_cnt = cndtnTrgtMngVOList.size();
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i_cnt>0) { //완료한 상태이다.
|
||||||
|
result = "fail";
|
||||||
|
msg = "의뢰 상태가 완료로 과정대상자가 아닙니다. 관리자에게 문의 바랍니다.";
|
||||||
|
next = "Y"; //?
|
||||||
|
|
||||||
|
}else { //미완료 상태이다. //신청한 과정이 있는지 확인 필요.
|
||||||
|
cndtnTrgtMngVOList = cmdTrgtMngDAO.checkSspnIdtmtStep3(cmdTrgtMngVO);
|
||||||
|
|
||||||
|
i_cnt = 0;
|
||||||
|
|
||||||
|
try {
|
||||||
|
i_cnt = cndtnTrgtMngVOList.size();
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i_cnt>0) {//기 신청한 과정이 있다.
|
||||||
|
msg = "이미 신청한 교육이 있습니다.";
|
||||||
|
next = ""; //?
|
||||||
|
}else {//신청한 과정이 없다.
|
||||||
|
result = "success";
|
||||||
|
msg = "";
|
||||||
|
//id = cndtnTrgtMngVOList.get(0).getSspnIdtmtTrgtOrd();
|
||||||
|
//id = "";
|
||||||
|
next = "Y";
|
||||||
|
smsYn = "Y";
|
||||||
|
//next = Integer.toString(cndtnTrgtMngVOList.size()); //대상자 수
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//핸드폰으로 인증번호 발송
|
||||||
|
if ("Y".equals(smsYn) && !"Y".equals(cmdTrgtMngVO.getChkYn())) {
|
||||||
|
//인증번호 생성
|
||||||
|
String code = RandomStringUtils.randomNumeric(6);
|
||||||
|
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
||||||
|
VeSendSMS sendSMS = new VeSendSMS();
|
||||||
|
cmdTrgtMngVO = egovCryptoUtil.decryptCmdTrgtMngVOInfo(cmdTrgtMngVO); //핸드폰번호 복호화
|
||||||
|
vEEduAplctVO.setEduAplctOrd("기소유예 대상자 인증");
|
||||||
|
vEEduAplctVO.setSndCn("안녕하세요. 저작권배움터 기소유예 담당자입니다.\n인증번호는 " + code + " 입니다.");
|
||||||
|
vEEduAplctVO.setClphone(cmdTrgtMngVO.getClphone());
|
||||||
|
vEEduAplctVO.setSndFlag("B");
|
||||||
|
Map<String, Object> resultMap = sendSMS.VeSendSMS(vEEduAplctVO.getClphone(), vEEduAplctVO.getSndCn(), vEEduAplctVO.getSndFlag());
|
||||||
|
//문자 발송 성공 시
|
||||||
|
if("1".equals(resultMap.get("result_code"))){
|
||||||
|
//발송 로그
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
|
||||||
|
String snd_ord = sndGnrService.getNextStringId();
|
||||||
|
vEEduAplctVO.setSndHstryOrd(snd_ord);
|
||||||
|
vEEduAplctVO.setSndId(loginVO.getUniqId());
|
||||||
|
vEEduAplctVO.setTrgt(vEEduAplctVO.getClphone());
|
||||||
|
vEEduAplctVO.setSndCd("10");
|
||||||
|
vEEduAplctVO.setTrgtId(loginVO.getUniqId());
|
||||||
|
vEEduAplctSndHstryService.insert(vEEduAplctVO);
|
||||||
|
|
||||||
|
|
||||||
|
//인증번호 row 생성 (기존 강사인증 테이블 사용)
|
||||||
|
VEInstrDetailVO vEInstrDetailVO = new VEInstrDetailVO();
|
||||||
|
vEInstrDetailVO.setEmail(vEEduAplctVO.getClphone());
|
||||||
|
vEInstrDetailVO.setCrtfdNumber(code);
|
||||||
|
vEInstrDetailVO.setUserId(loginVO.getUniqId());
|
||||||
|
vEInstrMixService.deleteInstrEmailCrtfd(vEInstrDetailVO);
|
||||||
|
vEInstrMixService.insertInstrEmailCrtfd(vEInstrDetailVO);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
if(StringUtils.isNotEmpty(id)) {
|
||||||
|
msg = "이미 신청한 대상자 입니다.";
|
||||||
|
|
||||||
|
// 신청한 대상자가 없으면
|
||||||
|
// 신청하지 않은 대상자가 있는지 조회
|
||||||
|
}else {
|
||||||
|
|
||||||
|
id = cndtnTrgtInfoMngDAO.findByTrgtNmAndDBirthAndUserIdAndEduStateCd(cndtnTrgtInfoMngVO);
|
||||||
|
msg = "대상자가 없습니다.";
|
||||||
|
|
||||||
|
if(StringUtils.isNotEmpty(id)) {
|
||||||
|
msg = "확인됐습니다.";
|
||||||
|
next = "Y";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
} catch (Exception e) {
|
||||||
|
result="fail";
|
||||||
|
msg = "오류가 발생하였습니다 관리자에게 문의하세요. ";
|
||||||
|
next = "Y";
|
||||||
|
e.printStackTrace();
|
||||||
|
// TODO: handle exception
|
||||||
|
}
|
||||||
|
|
||||||
|
modelAndView.addObject("msg", msg);
|
||||||
|
modelAndView.addObject("id", id);
|
||||||
|
modelAndView.addObject("result", result);
|
||||||
|
modelAndView.addObject("next", next); //fail & Y = 관리자 문의 버튼 노출
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -35,7 +35,7 @@ import kcc.let.utl.fcc.service.EgovCryptoUtil;
|
|||||||
import kcc.let.utl.fcc.service.ITNotiUtil;
|
import kcc.let.utl.fcc.service.ITNotiUtil;
|
||||||
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
|
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
|
||||||
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
|
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
|
||||||
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
|
import kcc.ve.aplct.prevent.service.PreventService;
|
||||||
import kcc.ve.cmm.VeConstants;
|
import kcc.ve.cmm.VeConstants;
|
||||||
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
|
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
|
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService;
|
||||||
@ -50,6 +50,7 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService;
|
|||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO;
|
import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO;
|
||||||
|
import kcc.ve.oprtn.cmdTrgt.trgtMng.service.CmdTrgtMngVO;
|
||||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService;
|
||||||
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO;
|
||||||
|
|
||||||
@ -165,8 +166,14 @@ public class PreventController {
|
|||||||
private CmmUseDAO cmmUseDAO;
|
private CmmUseDAO cmmUseDAO;
|
||||||
|
|
||||||
//온라인콘텐츠과정 관리
|
//온라인콘텐츠과정 관리
|
||||||
@Resource(name = "sspnIdtmtService")
|
//@Resource(name = "sspnIdtmtService")
|
||||||
private SspnIdtmtService sspnIdtmtService;
|
//private SspnIdtmtService sspnIdtmtService;
|
||||||
|
|
||||||
|
//@Resource(name = "cmdTrgtService")
|
||||||
|
//private CmdTrgtService cmdTrgtService;
|
||||||
|
|
||||||
|
@Resource(name = "preventService")
|
||||||
|
private PreventService preventService;
|
||||||
|
|
||||||
@Resource(name = "NotifyManageService")
|
@Resource(name = "NotifyManageService")
|
||||||
private NotifyManageService notifyManageService;
|
private NotifyManageService notifyManageService;
|
||||||
@ -364,6 +371,10 @@ public class PreventController {
|
|||||||
, ModelMap model
|
, ModelMap model
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
|
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
model.addAttribute("loginVO", loginVO);
|
||||||
|
System.out.println("s_actionaaaaaaaaaaa");
|
||||||
|
|
||||||
String s_action = request.getParameter("action"); //insert or select
|
String s_action = request.getParameter("action"); //insert or select
|
||||||
System.out.println("s_action");
|
System.out.println("s_action");
|
||||||
@ -529,7 +540,7 @@ public class PreventController {
|
|||||||
vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd());
|
vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd());
|
||||||
vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd());
|
||||||
vEEduAplctReqVO.setLctrDivCd(p_lctr_div_cd);
|
vEEduAplctReqVO.setLctrDivCd(p_lctr_div_cd);
|
||||||
VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO);
|
VEEduAplctVO vEEduAplctVO = preventService.findByAprvlCd(vEEduAplctReqVO);
|
||||||
// VO를 먼저 null 체크 후 진행해야 에러안남
|
// VO를 먼저 null 체크 후 진행해야 에러안남
|
||||||
// vEEduAplctVO != null &&
|
// vEEduAplctVO != null &&
|
||||||
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
|
if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) {
|
||||||
@ -675,6 +686,7 @@ public class PreventController {
|
|||||||
// frst_regist_pnttm
|
// frst_regist_pnttm
|
||||||
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
vEEduAplctVO.setUserId(loginVO.getUniqId());
|
||||||
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd());
|
||||||
|
vEEduAplctVO.setChrgNm(vEPrcsDetailVO.getTrgtNm());
|
||||||
vEEduAplctVO.setTrgtNm(vEPrcsDetailVO.getTrgtNm());
|
vEEduAplctVO.setTrgtNm(vEPrcsDetailVO.getTrgtNm());
|
||||||
vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth());
|
vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth());
|
||||||
vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone()));
|
vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone()));
|
||||||
@ -685,14 +697,14 @@ public class PreventController {
|
|||||||
//암호화
|
//암호화
|
||||||
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO);
|
||||||
vEEduAplctVO.setRndsOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); //2024-02-07 추가 신청서 정보에 대상자 정보를 넣어야 추후 구분이 가능해서 추가함
|
vEEduAplctVO.setRndsOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); //2024-02-07 추가 신청서 정보에 대상자 정보를 넣어야 추후 구분이 가능해서 추가함
|
||||||
sspnIdtmtService.insertVeEduAplct(vEEduAplctVO);
|
preventService.insertVeEduAplct(vEEduAplctVO);
|
||||||
|
|
||||||
|
|
||||||
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
|
CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO();
|
||||||
|
|
||||||
cndtnTrgtMngVO.setUserId(loginVO.getUniqId());
|
cndtnTrgtMngVO.setUserId(loginVO.getUniqId());
|
||||||
cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd());
|
cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd());
|
||||||
cndtnTrgtMngVO.setEduStateCd("25"); // 신청
|
//cndtnTrgtMngVO.setEduStateCd("25"); // 신청
|
||||||
|
|
||||||
cndtnTrgtMngVO.setEduAplctOrd(s_eduAplctOrd); //동일한 대상자가 어떤 신청서와 맞는지 매칭에 필요함
|
cndtnTrgtMngVO.setEduAplctOrd(s_eduAplctOrd); //동일한 대상자가 어떤 신청서와 맞는지 매칭에 필요함
|
||||||
|
|
||||||
@ -920,7 +932,7 @@ public class PreventController {
|
|||||||
String result = "false";
|
String result = "false";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
sspnIdtmtService.updateAprvlCd(vEEduAplctVO);
|
preventService.updateAprvlCd(vEEduAplctVO);
|
||||||
|
|
||||||
result = "success";
|
result = "success";
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -940,7 +952,7 @@ public class PreventController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping("/web/ve/aplct/prevent/userConfirmAjax.do")
|
@RequestMapping("/web/ve/aplct/prevent/userConfirmAjax.do")
|
||||||
public ModelAndView userConfirmAjax(
|
public ModelAndView userConfirmAjax(
|
||||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
@ModelAttribute("cndtnTrgtInfoMngVO") CmdTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
@ -956,7 +968,7 @@ public class PreventController {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO);
|
return preventService.checkSspnIdtmt(cndtnTrgtInfoMngVO);
|
||||||
/*
|
/*
|
||||||
try {
|
try {
|
||||||
|
|
||||||
@ -992,7 +1004,7 @@ public class PreventController {
|
|||||||
*/
|
*/
|
||||||
@RequestMapping("/web/ve/aplct/prevent/userNewConfirmAjax.do")
|
@RequestMapping("/web/ve/aplct/prevent/userNewConfirmAjax.do")
|
||||||
public ModelAndView userNewConfirmAjax(
|
public ModelAndView userNewConfirmAjax(
|
||||||
@ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO
|
@ModelAttribute("cndtnTrgtInfoMngVO") CmdTrgtMngVO cndtnTrgtInfoMngVO
|
||||||
, ModelMap model
|
, ModelMap model
|
||||||
, HttpServletRequest request
|
, HttpServletRequest request
|
||||||
) throws Exception {
|
) throws Exception {
|
||||||
@ -1022,11 +1034,11 @@ public class PreventController {
|
|||||||
System.out.println(cndtnTrgtInfoMngVO.getTrgtNm());
|
System.out.println(cndtnTrgtInfoMngVO.getTrgtNm());
|
||||||
*/
|
*/
|
||||||
|
|
||||||
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO);
|
cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCmdTrgtMngVOInfo(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
//return modelAndView;
|
//return modelAndView;
|
||||||
|
|
||||||
return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO);
|
return preventService.checkSspnIdtmt(cndtnTrgtInfoMngVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -592,6 +592,7 @@
|
|||||||
강사 배치 정보
|
강사 배치 정보
|
||||||
강사 배치 정보
|
강사 배치 정보
|
||||||
-->
|
-->
|
||||||
|
<br/>
|
||||||
<div class="tb_tit01">
|
<div class="tb_tit01">
|
||||||
<p>강사 배치 정보</p>
|
<p>강사 배치 정보</p>
|
||||||
</div>
|
</div>
|
||||||
@ -735,7 +736,7 @@
|
|||||||
<c:out value="${list.rowNo}"/>
|
<c:out value="${list.rowNo}"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<c:out value="${list.trgtNm}"/>
|
<c:out value="${list.chrgNm}"/>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="#none" onclick="fn_goDetailPop('${list.eduAplctOrd}','${list.mberId}','${list.cmdTrgtInfoOrd}')"><c:out value="${list.mberId}"/></a>
|
<a href="#none" onclick="fn_goDetailPop('${list.eduAplctOrd}','${list.mberId}','${list.cmdTrgtInfoOrd}')"><c:out value="${list.mberId}"/></a>
|
||||||
|
|||||||
@ -0,0 +1,299 @@
|
|||||||
|
<%@ page contentType="text/html; charset=utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||||
|
<title>교육신청 목록 > 기소유예 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/ipedu/visitEdu/adm/publish/css/reset.css">
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.duet-date__dialog-content,.duet-date__dialog{max-width:400px;width:364px;}
|
||||||
|
.popup_wrap.popType01{left: 25%;width: 50%;}
|
||||||
|
.twoRow{width: 100%;}
|
||||||
|
input::placeholder {
|
||||||
|
/* color: red; */
|
||||||
|
font-size: 0.7em;
|
||||||
|
/* font-style: italic; */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
const dBirth = document.querySelector(".dBirth");
|
||||||
|
dBirth.localization = {
|
||||||
|
placeholder: '생년월일을 선택하세요',
|
||||||
|
selectedDateMessage: 'Selected date is',
|
||||||
|
prevMonthLabel: '이전 달 보기',
|
||||||
|
nextMonthLabel: '다음 달 보기',
|
||||||
|
monthSelectLabel: '달 선택',
|
||||||
|
yearSelectLabel: '년도 선택',
|
||||||
|
closeLabel: '달력 닫기',
|
||||||
|
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
|
||||||
|
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||||
|
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||||
|
identifier: "searchStartDt",
|
||||||
|
incrementYears:100,
|
||||||
|
}
|
||||||
|
setTimeout(function(){
|
||||||
|
$('.dBirth .duet-date__input').attr("title","생년월일을 선택하세요.");
|
||||||
|
|
||||||
|
},10)
|
||||||
|
$('#fldSelect').change(function(){
|
||||||
|
console.log($(this).val());
|
||||||
|
console.log($(this).val() == '99');
|
||||||
|
if($(this).val() == '99'){
|
||||||
|
$('#fld').val('');
|
||||||
|
$('#fld').attr('type', 'text');
|
||||||
|
}else{
|
||||||
|
$('#fld').val($('#fldSelect option:selected').text());
|
||||||
|
$('#fld').attr('type', 'hidden');
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// $('#phone').keyup(function() {
|
||||||
|
// var input = $(this).val();
|
||||||
|
// console.log('input : ', input);
|
||||||
|
// // 숫자가 아닌 모든 문자를 찾아서 삭제합니다.
|
||||||
|
// var numericInput = input.replace(/[^0-9]/g, '');
|
||||||
|
// $(this).val(numericInput);
|
||||||
|
// });
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// value 체크
|
||||||
|
// 20231130 이호영
|
||||||
|
function fnValidation(){
|
||||||
|
|
||||||
|
var valChk = true
|
||||||
|
|
||||||
|
// 텍스트 입력 필드에 값이 있는지 확인
|
||||||
|
$('input[type="text"]').not('#fld').each(function() {
|
||||||
|
if ($(this).val() == '') {
|
||||||
|
var fieldName = $(this).closest('td').prev('th').find('p').text();
|
||||||
|
|
||||||
|
if (fieldName!=''){
|
||||||
|
alert(fieldName + '를 입력해주세요.');
|
||||||
|
$(this).focus();
|
||||||
|
valChk = false
|
||||||
|
return false; // 함수 실행 중지
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// alert 두번 방지 if
|
||||||
|
if(valChk){
|
||||||
|
|
||||||
|
var phoneNumber = $('#phone').val();
|
||||||
|
// -가 없는 핸드폰 번호 형식을 검사하는 정규 표현식
|
||||||
|
var regex = /^01[0-9]{8,9}$/;
|
||||||
|
|
||||||
|
if(!regex.test(phoneNumber)) {
|
||||||
|
alert("올바른 핸드폰 번호 형식이 아닙니다.\n01012341234 형식으로 입력해 주세요");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(!$('#chkY').prop("checked")){
|
||||||
|
alert('개인정보 처리 동의해 주세요.')
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return valChk;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function fncEduReg(){
|
||||||
|
|
||||||
|
if(!fnValidation()){
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("regForm2"));
|
||||||
|
if(confirm("신청하시겠습니까?")){
|
||||||
|
var url = "${pageContext.request.contextPath}/web/ve/aplct/prevent/eduRegAjax.do";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
alert("저장되었습니다.");
|
||||||
|
fncGoList();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
$('#target_confirm_popup-close').click();
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<form id="regForm2" name="regForm2" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" value="${vEPrcsDetailVO.prcsAplctPrdOrd}">
|
||||||
|
<!-- 대상자 테이블 PK -->
|
||||||
|
<input type="hidden" name="cmdTrgtInfoOrd" value="${vEPrcsDetailVO.cmdTrgtInfoOrd}">
|
||||||
|
<input type="hidden" name="trgtNm" value="${vEPrcsDetailVO.trgtNm}">
|
||||||
|
<input type="hidden" name="dBirth" value="${vEPrcsDetailVO.dBirth}">
|
||||||
|
<input type="hidden" name="phone" id="phone" value="${vEPrcsDetailVO.clphone}"/>
|
||||||
|
<!-- 신청인정보 -->
|
||||||
|
<div class="tooltip-wrap q_pop">
|
||||||
|
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
|
||||||
|
<div class="popup_tit">
|
||||||
|
<p id="popNm">신청인정보</p>
|
||||||
|
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
|
||||||
|
</div>
|
||||||
|
<div class="popup_cont">
|
||||||
|
<div class="cont_body">
|
||||||
|
<div class="pop_tb_type01" style="overflow:visible;">
|
||||||
|
<table>
|
||||||
|
<caption>신청인정보를 입력하는 표</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 170px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 170px;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<!-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>성명</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" class="twoRow" name="chrgNm" id="chrgNm"/>
|
||||||
|
</td>
|
||||||
|
<th scope="row">
|
||||||
|
<p>생년월일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<duet-date-picker identifier="date" class="dBirth" name="dBirth" min="1940-01-01" max="2025-12-31"></duet-date-picker>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr> -->
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>핸드폰</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" class="twoRow" value="${vEPrcsDetailVO.clphone}" readonly/>
|
||||||
|
</td>
|
||||||
|
<th scope="row">
|
||||||
|
<p>이메일</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" class="twoRow" name="email" id="email"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<%-- <tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>소속기업</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" class="twoRow" name="insttNm" id="insttNm"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>분야</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<ve:select codeId="VEA014" id="fldSelect" css="class='selType1'"
|
||||||
|
selectedValue="" defaultValue=''
|
||||||
|
defaultText="선택"
|
||||||
|
/>
|
||||||
|
<!-- <input type="text" class="twoRow" name="fld" id="fld"/> -->
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="hidden" placeholder="직접 입력해주세요" class="twoRow" name="fld" id="fld"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>저작권 교육 수강 여부</p>
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" class="lctrYn" name="lctrYn" id="lctrYn"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
<p>교육관련 사전질의</p>
|
||||||
|
</th>
|
||||||
|
<td colspan="2">
|
||||||
|
<input type="text" name="prvsQs" id="prvsQs" style="width: 100%;"/>
|
||||||
|
</td>
|
||||||
|
</tr> --%>
|
||||||
|
|
||||||
|
<!-- <tr> -->
|
||||||
|
<!-- <td colspan="3"> -->
|
||||||
|
<!-- </td> -->
|
||||||
|
<!-- </tr> -->
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<pre>개인정보 처리 동의서
|
||||||
|
|
||||||
|
한국지식재산보호원에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제17조, 제22조, 제23조 및 제24조에 따라 아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.
|
||||||
|
|
||||||
|
<개인정보 수집 및 이용에 대한 동의 >
|
||||||
|
ο 개인정보의 수집 이용 목적 : 교육 대상자 및 이수자 관리
|
||||||
|
ο 수집하는 개인정보 항목 : 성명, 생년월일, 휴대전화, 이메일
|
||||||
|
ο 개인정보의 보유 및 이용기간 : 사업 종료시까지
|
||||||
|
ο 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용 : 귀하의 개인정보 제공 및 동의를 거부할 권리가 있으며, 위 항목 동의 거부시 수강신청이 불가할 수 있음
|
||||||
|
</pre>
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<input type="checkbox" name="chkYn" id="chkY" value="Y"/><label for="chkY">동의</label>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btnType05" id="regButton" onclick="fncEduReg();">신청</button>
|
||||||
|
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
|
||||||
|
</form>
|
||||||
@ -0,0 +1,624 @@
|
|||||||
|
<%--
|
||||||
|
|
||||||
|
Class Name : eduAplctPopList.jsp
|
||||||
|
Description : 신청팝업
|
||||||
|
Modification Information
|
||||||
|
|
||||||
|
1.강의 종류(청소년, 성인 ... VE0011) 및 설문 종류 (10-기본, 20-신청자, 30-강사) 및 상태(등록, 완료) 에 맞는 설문 레이어 팝업을 만든다.
|
||||||
|
|
||||||
|
수정일 수정자 수정내용
|
||||||
|
------- -------- ---------------------------
|
||||||
|
2021.12.02 조용준 내용
|
||||||
|
|
||||||
|
author : 조용준
|
||||||
|
since : 2021.12.02
|
||||||
|
|
||||||
|
--%>
|
||||||
|
<%@ page contentType="text/html; charset=utf-8"%>
|
||||||
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||||
|
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||||
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||||
|
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||||
|
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||||
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||||
|
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
|
||||||
|
<script type="text/javaScript" language="javascript">
|
||||||
|
//본인인증 확인 여부 체크
|
||||||
|
var chkYn = "";
|
||||||
|
/*
|
||||||
|
function fncGoScholList(){
|
||||||
|
linkPage(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
function linkPage(pageNo){
|
||||||
|
var data = {
|
||||||
|
pageIndex : pageNo,
|
||||||
|
searchKeyword : $("#searchKeyword").val(),
|
||||||
|
searchCondition : $("#searchCondition").val(),
|
||||||
|
pageUnit : 5,
|
||||||
|
formId : $("#formId").val(),
|
||||||
|
}
|
||||||
|
fncScholList(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncScholList(paramObj) {
|
||||||
|
if(paramObj == undefined || paramObj == ''){
|
||||||
|
paramObj = {
|
||||||
|
pageIndex : 1,
|
||||||
|
searchKeyword : "",
|
||||||
|
searchCondition : "",
|
||||||
|
pageUnit : 5,
|
||||||
|
formId : $("#formId").val(),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// 학교 리스트 팝업 호출
|
||||||
|
commonPopLayeropen(
|
||||||
|
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
|
||||||
|
, 500
|
||||||
|
, 600
|
||||||
|
, paramObj
|
||||||
|
, "N"
|
||||||
|
, "scholPop"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function fn_qa(){
|
||||||
|
location.href = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/main.do";
|
||||||
|
}
|
||||||
|
|
||||||
|
//제출
|
||||||
|
function fn_new_confirm(p_prcsAplctPrdOrd){
|
||||||
|
var form = document.confirmForm;
|
||||||
|
console.log('$("#dBirth").val() : ' , $('#dBirth').val());
|
||||||
|
var dBirth = $('#dBirth').val().replace(/\./g, '');
|
||||||
|
var trgtNm = $('#trgtNm').val();
|
||||||
|
var sex = $('input[name="sex"]:checked').val();
|
||||||
|
var clphone = $('#clphone').val();
|
||||||
|
|
||||||
|
$('#regForm input[name="prcsAplctPrdOrd"]').val(p_prcsAplctPrdOrd);
|
||||||
|
|
||||||
|
if (trgtNm==""){
|
||||||
|
alert("성명을 입력해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
console.log('dBirth : ' , dBirth);
|
||||||
|
if (!dBirth){
|
||||||
|
alert("주민번호앞자리를 입력해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sex==""){
|
||||||
|
alert("성별을 입력해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (clphone==""){
|
||||||
|
alert("휴대폰 번호를 입력해주세요.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
form.trgtNm.value = trgtNm;
|
||||||
|
form.dBirth.value = dBirth;
|
||||||
|
form.sex.value = sex;
|
||||||
|
form.clphone.value = clphone;
|
||||||
|
form.chkYn.value = chkYn;
|
||||||
|
|
||||||
|
var data = new FormData(document.getElementById("confirmForm"));
|
||||||
|
|
||||||
|
//var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/userConfirmAjax.do";
|
||||||
|
var url = "${pageContext.request.contextPath}/web/ve/aplct/prevent/userNewConfirmAjax.do";
|
||||||
|
$.ajax({
|
||||||
|
type:"POST",
|
||||||
|
url: url,
|
||||||
|
data: data,
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success:function(returnData){
|
||||||
|
console.log('returnData : ', returnData);
|
||||||
|
if(returnData.result == "success"){
|
||||||
|
|
||||||
|
if(chkYn != 'Y'){ //본인인증 전
|
||||||
|
alert("인증번호를 확인해주세요.");
|
||||||
|
$("#chkNo").show();
|
||||||
|
$("#chkBtn").hide();
|
||||||
|
//기존정보 변경 막기
|
||||||
|
$("#trgtNm").prop('readonly', true);
|
||||||
|
$("#date").prop('readonly', true);
|
||||||
|
$("#clphone").prop('readonly', true);
|
||||||
|
$(".duet-date__toggle").remove();
|
||||||
|
$("#sexM").attr("onclick", "return(false);");
|
||||||
|
$("#sexF").attr("onclick", "return(false);");
|
||||||
|
|
||||||
|
|
||||||
|
}else{ //본인인증 후
|
||||||
|
|
||||||
|
// 대상자 테이블 pk 값
|
||||||
|
var cmdTrgtInfoOrd = returnData.id;
|
||||||
|
|
||||||
|
// 교육 신청 ajax
|
||||||
|
// 대상자 이름, 생년월일, 대상자TB ID
|
||||||
|
if(returnData.next == "Y")
|
||||||
|
{
|
||||||
|
//sspnIdtmtTrgtOrd = returnData.id;
|
||||||
|
//fncEduReg(trgtNm, dBirth, returnData.id);
|
||||||
|
$('#target_confirm_popup-close').click();
|
||||||
|
fn_eduRegPopup(trgtNm, dBirth, clphone, returnData.id);
|
||||||
|
}else if(returnData.next == "N"){
|
||||||
|
//동일 대상자 중에서 선택할수 있도록 처리해야 한다.
|
||||||
|
//forMulti
|
||||||
|
$('#confirmBtns').hide();
|
||||||
|
$('#VOList').show();
|
||||||
|
|
||||||
|
returnData.cndtnTrgtMngVOList.forEach(
|
||||||
|
function (el, index){
|
||||||
|
var v_forMulti = '';
|
||||||
|
v_forMulti = v_forMulti +"<tr>";
|
||||||
|
v_forMulti = v_forMulti +"<td>";
|
||||||
|
v_forMulti = v_forMulti +el.reqNmbr;
|
||||||
|
v_forMulti = v_forMulti +"</td>";
|
||||||
|
v_forMulti = v_forMulti +"<td>";
|
||||||
|
v_forMulti = v_forMulti +el.prsctrNm;
|
||||||
|
v_forMulti = v_forMulti +"</td>";
|
||||||
|
v_forMulti = v_forMulti +"<td>";
|
||||||
|
//v_forMulti = v_forMulti +el.sspnIdtmtTrgtOrd;
|
||||||
|
|
||||||
|
v_forMulti = v_forMulti +"<button type=\"button\" class=\"btnType05\" onclick=\"fn_new_select('"+el.cmdTrgtInfoOrd+"')\">선택</button>";
|
||||||
|
|
||||||
|
v_forMulti = v_forMulti +"</td>";
|
||||||
|
v_forMulti = v_forMulti +"</tr>";
|
||||||
|
|
||||||
|
$('#forMulti').after(v_forMulti);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
alert(returnData.msg);
|
||||||
|
|
||||||
|
if(returnData.next == "Y" && returnData.result == "fail")
|
||||||
|
{
|
||||||
|
//문의 하기 버튼 노출을 한다.
|
||||||
|
$('#qaBtn').show();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// fn_target_confirm_clean();
|
||||||
|
// location.reload();
|
||||||
|
},
|
||||||
|
error:function(request , status, error){
|
||||||
|
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//$('#target_confirm_popup-close').click();
|
||||||
|
}
|
||||||
|
|
||||||
|
//선택
|
||||||
|
function fn_new_select(p_cmdTrgtInfoOrd){
|
||||||
|
var dBirth = $('#dBirth').val().replace(/\./g, '');
|
||||||
|
var trgtNm = $('#trgtNm').val();
|
||||||
|
var clphone = $('#clphone').val();
|
||||||
|
|
||||||
|
$('#target_confirm_popup-close').click();
|
||||||
|
fn_eduRegPopup(trgtNm, dBirth, clphone, p_cmdTrgtInfoOrd);
|
||||||
|
}
|
||||||
|
|
||||||
|
function fncChkNo(){
|
||||||
|
if($("#crtfdNumber").val().length != 6){
|
||||||
|
alert("인증번호 6자리를 입력해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
var data = new FormData(document.getElementById("newSrvyPopupForm"));
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "${pageContext.request.contextPath}/web/ve/instr/instrInfo/emailCrtfdChkAjax.do",
|
||||||
|
data: data,
|
||||||
|
dataType:"json",
|
||||||
|
async: false,
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
cache: false,
|
||||||
|
success: function (returnData, status) {
|
||||||
|
if(returnData.result == 'success'){
|
||||||
|
alert("확인되었습니다.");
|
||||||
|
chkYn = "Y";
|
||||||
|
$("#chkNo").hide();
|
||||||
|
|
||||||
|
fn_new_confirm('${vEEduChasiVO.prcsAplctPrdOrd}');
|
||||||
|
} else {
|
||||||
|
alert("인증번호가 일치하지 않습니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function(){
|
||||||
|
/*
|
||||||
|
boardCaptionDetailToggle4();
|
||||||
|
|
||||||
|
// 레이어팝업 포커싱 이동 수정
|
||||||
|
$(".tooltip-close").click(function(){
|
||||||
|
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
|
||||||
|
activeTarget.hide();
|
||||||
|
$('[data-tooltip="sub01_pop02"]').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
//레이어팝업 초정 이동 시 필요한 data 값 추가
|
||||||
|
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
|
||||||
|
btnLast.attr('data-focus-next','sub36_pop02');
|
||||||
|
btnLast.attr('data-focus','sub36_pop02_close');
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 레이어팝업 포커싱 이동 수정
|
||||||
|
$(".tooltip-close").click(function(){
|
||||||
|
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
|
||||||
|
activeTarget.hide();
|
||||||
|
$('[data-info="${vEEduChasiVO.prcsAplctPrdOrd}"][data-tooltip="sub36_pop02"]').focus();
|
||||||
|
});
|
||||||
|
|
||||||
|
/* setTimeout(function(){
|
||||||
|
$('#dBirth .duet-date__input').attr("title","ex)1973.12.23 생년월일을 선택하세요.");
|
||||||
|
$('.calendar_wrap').each(function(){
|
||||||
|
//$(this).find('.duet-date__input').attr('onkeydown','this.value=dateSettingHere(this.value);');
|
||||||
|
$(this).find('.duet-date__input').attr('onblur','this.value=dateSettingHere(this.value);');
|
||||||
|
});
|
||||||
|
},10) */
|
||||||
|
|
||||||
|
//성명
|
||||||
|
if ('${loginVO.membName}'!=''){
|
||||||
|
$('#trgtNm').val('${loginVO.membName}');
|
||||||
|
}
|
||||||
|
|
||||||
|
//생년월일
|
||||||
|
if ('${fn:substring(loginVO.membBirth, 0 ,4)}'>='0'){
|
||||||
|
$('#year').val('${fn:substring(loginVO.membBirth, 0 ,4)}');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('${fn:substring(loginVO.membBirth, 4 ,6)}'>='0'){
|
||||||
|
$('#month').val('${fn:substring(loginVO.membBirth, 4 ,6)}');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ('${fn:substring(loginVO.membBirth, 6 ,8)}'>='0'){
|
||||||
|
$('#day').val('${fn:substring(loginVO.membBirth, 6 ,8)}');
|
||||||
|
}
|
||||||
|
|
||||||
|
var year = $("#year").val();
|
||||||
|
var month = $("#month").val();
|
||||||
|
var day = $("#day").val();
|
||||||
|
$("#dBirth").val(year+"."+month+"."+day);
|
||||||
|
|
||||||
|
|
||||||
|
//휴대폰번호
|
||||||
|
if ('${loginVO.membCelnum}'!=''){
|
||||||
|
$('#clphone').val('${loginVO.membCelnum}');
|
||||||
|
}
|
||||||
|
|
||||||
|
//성별sexMsexM
|
||||||
|
if ('${loginVO.sexCode}'=='M'){
|
||||||
|
$('input[id="sexM"]').attr("checked", true);
|
||||||
|
|
||||||
|
}else if ('${loginVO.sexCode}'=='F'){
|
||||||
|
$('input[id="sexF"]').attr("checked", true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<!-- 일정 상세 -->
|
||||||
|
<form id="statusChgForm" name="statusChgForm" method="post">
|
||||||
|
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${chasiSrvyList[0].prcsAplctPrdOrd}' />"/>
|
||||||
|
<input type="hidden" name="aplctStateCd" id="aplctStateCd" value="20"/>
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
|
||||||
|
<input type="hidden" name="lctrDivCd" value="50"/>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<form id="newSrvyPopupForm" name="newSrvyPopupForm" method="post" >
|
||||||
|
<input type="hidden" name="siteId" id="siteId" value="${vEEduChasiVO.siteId}">
|
||||||
|
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${vEEduChasiVO.eduAplctOrd}">
|
||||||
|
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${vEEduChasiVO.eduChasiOrd}">
|
||||||
|
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="${chasiSrvyList[0].qustnrTmplatId}">
|
||||||
|
<input type="hidden" name="qestnrId" id="qestnrId" value="${chasiSrvyList[0].qestnrId}">
|
||||||
|
<input type="hidden" name="qestmInfoSize" id="qestmInfoSize" value="${fn:length(chasiSrvyList)}">
|
||||||
|
|
||||||
|
<div class="popup_wrap popType01" data-info="${vEEduChasiVO.prcsAplctPrdOrd}" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
|
||||||
|
<div class="popup_tit">
|
||||||
|
<p>교육대상자 확인</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="popup_cont">
|
||||||
|
<div class="cont_body">
|
||||||
|
<div class="pop_tb_type01" style="overflow:visible;">
|
||||||
|
<table>
|
||||||
|
<caption>교육대상자 확인 : 성명, 주민번호앞자리, 성별 등의 정보입력</caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width:38%;">
|
||||||
|
<col style="width:auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">성명</th>
|
||||||
|
<td>
|
||||||
|
<label for="trgtNm" class="label">성명 입력</label>
|
||||||
|
<input type="text" id="trgtNm">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope=“row”>생년월일 8자리 (ex.1988.01.01)</th>
|
||||||
|
<td>
|
||||||
|
<div class="calendar_wrap">
|
||||||
|
<input type="hidden" value="" id="dBirth"/>
|
||||||
|
<select name="" id="year" class="selType1">
|
||||||
|
|
||||||
|
<c:forEach var="index" begin="1925" end="2024">
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${fn:substring(loginVO.membBirth, 0 ,4) eq index}">
|
||||||
|
<option value="${index}" selected>${index}</option>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<option value="${index}">${index}</option>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
|
||||||
|
</c:forEach>
|
||||||
|
</select> 년  
|
||||||
|
<select name="" id="month" class="selType1">
|
||||||
|
<option value="01">1</option>
|
||||||
|
<option value="02">2</option>
|
||||||
|
<option value="03">3</option>
|
||||||
|
<option value="04">4</option>
|
||||||
|
<option value="05">5</option>
|
||||||
|
<option value="06">6</option>
|
||||||
|
<option value="07">7</option>
|
||||||
|
<option value="08">8</option>
|
||||||
|
<option value="09">9</option>
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="11">11</option>
|
||||||
|
<option value="12">12</option>
|
||||||
|
</select> 월  
|
||||||
|
<select name="" id="day" class="selType1">
|
||||||
|
<option value="01">1</option>
|
||||||
|
<option value="02">2</option>
|
||||||
|
<option value="03">3</option>
|
||||||
|
<option value="04">4</option>
|
||||||
|
<option value="05">5</option>
|
||||||
|
<option value="06">6</option>
|
||||||
|
<option value="07">7</option>
|
||||||
|
<option value="08">8</option>
|
||||||
|
<option value="09">9</option>
|
||||||
|
<option value="10">10</option>
|
||||||
|
<option value="11">11</option>
|
||||||
|
<option value="12">12</option>
|
||||||
|
<option value="13">13</option>
|
||||||
|
<option value="14">14</option>
|
||||||
|
<option value="15">15</option>
|
||||||
|
<option value="16">16</option>
|
||||||
|
<option value="17">17</option>
|
||||||
|
<option value="18">18</option>
|
||||||
|
<option value="19">19</option>
|
||||||
|
<option value="20">20</option>
|
||||||
|
<option value="21">21</option>
|
||||||
|
<option value="22">22</option>
|
||||||
|
<option value="23">23</option>
|
||||||
|
<option value="24">24</option>
|
||||||
|
<option value="25">25</option>
|
||||||
|
<option value="26">26</option>
|
||||||
|
<option value="27">27</option>
|
||||||
|
<option value="28">28</option>
|
||||||
|
<option value="29">29</option>
|
||||||
|
<option value="30">30</option>
|
||||||
|
<option value="31">31</option>
|
||||||
|
|
||||||
|
</select> 일  
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
$(".calendar_wrap select").change(function(){
|
||||||
|
var year = $("#year").val();
|
||||||
|
var month = $("#month").val();
|
||||||
|
var day = $("#day").val();
|
||||||
|
$("#dBirth").val(year+"."+month+"."+day);
|
||||||
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- <duet-date-picker identifier="date" id="dBirth" class="dBirth" min="1940-01-01"></duet-date-picker>
|
||||||
|
<script>
|
||||||
|
$(function(){
|
||||||
|
setTimeout(function(){
|
||||||
|
$('.calendar_wrap').each(function(){
|
||||||
|
//$(this).find('.duet-date__input').attr('onkeydown','this.value=dateSettingHere(this.value);');
|
||||||
|
|
||||||
|
$(this).find('.duet-date__input').attr('onblur','this.value=dateSettingHere(this.value);');
|
||||||
|
$(this).find('.duet-date__input').attr('onkeyup','this.value=dateSettingHere(this.value);');
|
||||||
|
|
||||||
|
});
|
||||||
|
},1000)
|
||||||
|
})
|
||||||
|
|
||||||
|
var dBirth = document.querySelector("#dBirth");
|
||||||
|
var DATE_FORMAT = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/
|
||||||
|
|
||||||
|
dBirth.dateAdapter = {
|
||||||
|
parse: function parse() {
|
||||||
|
var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ""
|
||||||
|
var createDate = arguments.length > 1 ? arguments[1] : undefined
|
||||||
|
var matches = value.match(DATE_FORMAT)
|
||||||
|
|
||||||
|
if (matches) {
|
||||||
|
return createDate(matches[3], matches[2], matches[1])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
format: function format(date) {
|
||||||
|
if (date.getMonth() < 9) {
|
||||||
|
if (date.getDate() < 10) {
|
||||||
|
return ""
|
||||||
|
.concat(date.getFullYear(), ".")
|
||||||
|
.concat('0', date.getMonth() + 1, ".")
|
||||||
|
.concat('0', date.getDate())
|
||||||
|
} else {
|
||||||
|
return ""
|
||||||
|
.concat(date.getFullYear(), ".")
|
||||||
|
.concat('0', date.getMonth() + 1, ".")
|
||||||
|
.concat(date.getDate())
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (date.getDate() < 10) {
|
||||||
|
return ""
|
||||||
|
.concat(date.getFullYear(), ".")
|
||||||
|
.concat(date.getMonth() + 1, ".")
|
||||||
|
.concat('0', date.getDate())
|
||||||
|
} else {
|
||||||
|
return ""
|
||||||
|
.concat(date.getFullYear(), ".")
|
||||||
|
.concat(date.getMonth() + 1, ".")
|
||||||
|
.concat(date.getDate())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
// 달력 플러그인 실행
|
||||||
|
dBirth.localization = {
|
||||||
|
placeholder: '날짜를 입력하세요',
|
||||||
|
selectedDateMessage: 'Selected date is',
|
||||||
|
prevMonthLabel: '이전 달 보기',
|
||||||
|
nextMonthLabel: '다음 달 보기',
|
||||||
|
monthSelectLabel: '달 선택',
|
||||||
|
yearSelectLabel: '년도 선택',
|
||||||
|
closeLabel: '달력 닫기',
|
||||||
|
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
|
||||||
|
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||||
|
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
|
||||||
|
identifier: "searchStartDt",
|
||||||
|
name: "eduHopeDt"
|
||||||
|
}
|
||||||
|
dBirth.addEventListener("duetFocus", function (e) {
|
||||||
|
calendarSetting();
|
||||||
|
dateSettingHere();
|
||||||
|
});
|
||||||
|
|
||||||
|
function dateSettingHere(objValue) {
|
||||||
|
var v = objValue.replace("..", ".");
|
||||||
|
if (v.match(/^\d{4}$/) !== null) {
|
||||||
|
if (event.keyCode == "8") {
|
||||||
|
// 백스페이스 키를 누를 때 '.' 안생기게
|
||||||
|
} else {
|
||||||
|
v = v + '.';
|
||||||
|
}
|
||||||
|
} else if (v.match(/^\d{4}\.\d{2}$/) !== null) {
|
||||||
|
if (event.keyCode == "8") {
|
||||||
|
// 백스페이스 키를 누를 때 '.' 안생기게
|
||||||
|
} else {
|
||||||
|
v = v + '.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (v.length==10){
|
||||||
|
setTimeout(function(){
|
||||||
|
$('#dBirth').val(v);
|
||||||
|
},100)
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$('#dBirth').val('123');
|
||||||
|
}
|
||||||
|
|
||||||
|
// '-' 막기
|
||||||
|
if (event.keyCode == "189" || event.keyCode == "109") {
|
||||||
|
event.preventDefault();
|
||||||
|
return v;
|
||||||
|
} else {}
|
||||||
|
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
</script> -->
|
||||||
|
</div>
|
||||||
|
<%-- <script src="${pageContext.request.contextPath}/visitEdu/usr/publish/script/duetdatepicker2.js"></script> --%>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope=“row”>휴대폰 번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" id="clphone" onkeyup="onlyNumber(this);" maxlength="11">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="chkNo" style="display:none;">
|
||||||
|
<th scope=“row”>인증번호</th>
|
||||||
|
<td>
|
||||||
|
<input type="text" name="crtfdNumber" id="crtfdNumber" onkeyup="onlyNumber(this);" maxlength="6">
|
||||||
|
<button type="button" class="btnType06" onclick="fncChkNo();">인증하기</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th scope=“row”>성별</th>
|
||||||
|
<td>
|
||||||
|
<input type="radio" id="sexM" name="sex" value="M"> <label class="" for="sexM">남성</label>
|
||||||
|
<input type="radio" id="sexF" name="sex" value="F"> <label class="" for="sexF">여성</label>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="pop_btn_wrap btn_layout01" id="confirmBtns">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
<button type="button" class="btnType05" id="chkBtn" onclick="fn_new_confirm('${vEEduChasiVO.prcsAplctPrdOrd}')">확인</button>
|
||||||
|
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="sub36_pop02_close" data-focus-next="sub36_pop02">취소</button>
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <div class="pop_tb_type01" style="overflow:visible;display:none;" id="VOList"> -->
|
||||||
|
<div class="pop_tb_type01" style="display:none;" id="VOList">
|
||||||
|
|
||||||
|
<div class="pop_btn_wrap btn_layout01">
|
||||||
|
<div class="btn_left">
|
||||||
|
</div>
|
||||||
|
<div class="btn_center">
|
||||||
|
</div>
|
||||||
|
<div class="btn_right">
|
||||||
|
<button type="button" id="qaBtn" class="btnType05" onclick="fn_qa()" style="display:none;">문의하기</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width:30%;">
|
||||||
|
<col style="width:30%;">
|
||||||
|
<col style="width:auto;">
|
||||||
|
</colgroup>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<tr>
|
||||||
|
<td colspan="3">여러건의 데이터가 확인 되었습니다.하기 대상 데이터중 하나를 선택 바랍니다.</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="forMulti">
|
||||||
|
<th>사건번호</th>
|
||||||
|
<th>검사명</th>
|
||||||
|
<th>선택</th>
|
||||||
|
</tr>
|
||||||
|
</div>
|
||||||
|
</table>
|
||||||
|
<br/><br/><br/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
Loading…
Reference in New Issue
Block a user