diff --git a/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java b/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java index 2a481adf..ad6aa867 100644 --- a/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java +++ b/src/main/java/kcc/ve/aplct/cmdTrgt/web/CmdTrgtController.java @@ -178,7 +178,7 @@ public class CmdTrgtController { @Resource(name = "iTNotiUtil") private ITNotiUtil iTNotiUtil; - private String p_lctr_div_cd = "70"; + private String p_lctr_div_cd = "70"; //시정명령 코드, 기소유예 - 60, 예방교육 - 80 /** * 대시보드 임시 diff --git a/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java b/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java new file mode 100644 index 00000000..ed641c94 --- /dev/null +++ b/src/main/java/kcc/ve/aplct/prevent/web/PreventController.java @@ -0,0 +1,1378 @@ +package kcc.ve.aplct.prevent.web; + +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.cmm.service.EgovFileMngService; +import kcc.com.cmm.service.impl.CmmUseDAO; +import kcc.com.cmm.util.StringUtil; +import kcc.com.utl.user.service.CheckFileUtil; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.cop.bbs.service.BoardVO; +import kcc.let.cop.bbs.service.EgovBBSManageService; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.let.utl.fcc.service.ITNotiUtil; +import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; +import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; +import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEInstrAsgnmVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctOnlnService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiService; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduChasiVO; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsAplctPrdService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsMIXService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService; +import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; +import kcc.ve.instr.tngrVisitEdu.rprtInfo.service.VEEduRprtVO; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngService; +import kcc.ve.oprtn.cndtnSspnIdtmt.trgtMng.service.CndtnTrgtMngVO; + +/** + * 교육신청(성인찾아가는교육) + * 교육신청에 관한 controller 클래스를 정의한다. + * @author 조용준 + * @since 2021.12.16 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2021.12.16  조용준          최초 생성
+ *
+ * 
+ */ + +@Controller +//@RequestMapping("/web/ve/aplct/sspnIdtmt") +public class PreventController { + + private static final Logger LOGGER = LoggerFactory.getLogger(PreventController.class); + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //파일 체크 util + @Resource(name = "checkFileUtil") + private CheckFileUtil checkFileUtil; + + //로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + //파일정보의 관리 + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "vEPrcsOnlnCntntService") + private VEPrcsOnlnCntntService vEPrcsOnlnCntntService; + + //교육신청 + @Resource(name = "vEEduAplctService") + private VEEduAplctService vEEduAplctService; + + //차시 + @Resource(name = "vEEduChasiService") + private VEEduChasiService vVEEduChasiService; + + //교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //교육과정신청 + @Resource(name = "vEPrcsMIXService") + private VEPrcsMIXService vEPrcsMIXService; + + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + + //온라인콘텐츠과정 관리 + @Resource(name = "fndtnEnhanceTrnService") + private FndtnEnhanceTrnService fndtnEnhanceTrnService; + + + //교육과정순번 + @Resource(name="prcsGnrService") + private EgovIdGnrService prcsGnrService; + + //과정온라인콘텐츠순번 + @Resource(name="prcsOnlnGnrService") + private EgovIdGnrService prcsOnlnGnrService; + + //교육신청순번 + @Resource(name="eduAplctGnrService") + private EgovIdGnrService eduAplctGnrService; + + //교육차시순번 + @Resource(name="eduChasiGnrService") + private EgovIdGnrService eduChasiGnrService; + + //교육신청온라인 + @Resource(name = "vEEduAplctOnlnService") + private VEEduAplctOnlnService vEEduAplctOnlnService; + + @Resource(name = "eduAplctAdultService") + private EduAplctAdultService eduAplctAdultService; + + //과정 관리 + @Resource(name = "cndtnTrgtInfoMngService") + private CndtnTrgtMngService cndtnTrgtInfoMngService; + + //qna순번 + @Resource(name="prcsAplctPrdQnaOrdGnrService") + private EgovIdGnrService prcsAplctPrdQnaOrdGnrService; + + //코드 + @Resource(name="cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + //온라인콘텐츠과정 관리 + @Resource(name = "sspnIdtmtService") + private SspnIdtmtService sspnIdtmtService; + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + @Resource(name = "EgovBBSManageService") + private EgovBBSManageService bbsMngService; + + //알림 + @Resource(name = "iTNotiUtil") + private ITNotiUtil iTNotiUtil; + + private String p_lctr_div_cd = "80"; //시정명령 코드, 기소유예 - 60, 예방교육 - 80 + + /** + * 대시보드 임시 + */ + @RequestMapping("/web/ve/aplct/prevent/main_2.do") + public String main_2( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + return "/web/ve/aplct/prevent/main_2"; + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/prevent/main.do") + public String main( @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + + + //1.pageing step1 + //5개만 select을 위한 설정 + vEPrcsDetailVO.setPageUnit(5); + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + + /* + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + } + */ + vEPrcsDetailVO.setSiteId(p_lctr_div_cd); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소 + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO); + //List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + Map countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + model.addAttribute("countMap", countMap); + + + + // Q&A 영역 + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); + model.addAttribute("qnaList", vEPrcsDetailQnaVOList); + + + return "/web/ve/aplct/prevent/main"; + } + + + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/prevent/eduAplctList.do") + public String eduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + + vEPrcsDetailVO.setUseYn("Y"); //공개 여부만 조회 + + if(loginVO != null) { + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + } + + List vEPrcsDetailVOList = vEPrcsAplctPrdService.selectPagingList4Fndth(vEPrcsDetailVO); + + // 리스트 row마다 신청 확인하기 + /* + vEPrcsDetailVOList.stream().forEach(t->{ + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(t.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(t.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(p_lctr_div_cd); + VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + System.out.println("vEEduAplctVO.getAprvlCd() :: "+ vEEduAplctVO.getAprvlCd()); + t.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + }); + */ + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/prevent/eduAplctList"; + } + + /** + * 설문 팝업 리스트 - 실무, 기소 + */ + @RequestMapping("/web/ve/aplct/prevent/popup/eduAplctPopList.do") + public String eduAplctPopList( + @ModelAttribute("vEEduChasiVO") VEEduChasiVO vEEduChasiVO + , QustnrRespondInfoVO qustnrRespondInfoVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + String s_action = request.getParameter("action"); //insert or select + System.out.println("s_action"); + System.out.println(s_action); + System.out.println(vEEduChasiVO.getQustnrTmplatId()); + System.out.println(vEEduChasiVO.getQestnrId()); + System.out.println(vEEduChasiVO.getQustnrRespondId()); + + + System.out.println(qustnrRespondInfoVO.getQustnrTmplatId()); + System.out.println(qustnrRespondInfoVO.getQestnrId()); + System.out.println(qustnrRespondInfoVO.getQustnrRespondId()); + //차시 정보 + /* + try { + vEEduChasiVO.setInstrDiv(VeConstants.LCTR_DIV_CD_10); //10-청소년 강사, 20-성인강사 VE0001 + + VEEduChasiVO ChasiInfo = vEEduMIXService.selectChasiInfo(vEEduChasiVO); + ChasiInfo.setInstrNm(egovCryptoUtil.decrypt(ChasiInfo.getInstrNm())); + + ChasiInfo.setStrtTm(ChasiInfo.getStrtTm().substring(0,2)+":"+ChasiInfo.getStrtTm().substring(2,4)); + ChasiInfo.setEndTm(ChasiInfo.getEndTm().substring(0,2)+":"+ChasiInfo.getEndTm().substring(2,4)); + + model.addAttribute("chasiInfo", ChasiInfo); + + }catch(Exception ex) { + System.out.println("Exception vEEduAplctOnlnService.updateBulk"); + } +*/ + //참석 답변 정보 + try { + /* + List chasiSrvyList = egovQustnrRespondInfoService.selectChasiSrvyFndtnList202312(qustnrRespondInfoVO); + //model.addAttribute("qestnrRespondent", chasiSrvyList.get(0).getQestnrRespondent()); + //model.addAttribute("qestnrParticipant", chasiSrvyList.get(0).getQestnrParticipant()); + System.out.println("chasiSrvyList.get(0).getPrcsAplctPrdOrd()"); + System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd()); + System.out.println(chasiSrvyList.get(0).getPrcsAplctPrdOrd()); + model.addAttribute("chasiSrvyList", chasiSrvyList); + model.addAttribute("chasiSrvyListCnt", chasiSrvyList.size()); + */ + }catch(Exception ex) { + System.out.println("Exception vEEduAplctOnlnService.updateBulk"); + } + + + //설문 참여 정보 + /* + try { + model = qustnrCommonUtil._qustnrQesItm( + model + , VeConstants.LCTR_DIV_CD_10 //청소년 -10, 성인-20, ...VE0012 + , "10" //10-기본설문, 20-신청자설문, 30-강사설문 VEA012 + , "QTMPLA_0000000000001" + , vEALettnQestnrMIXService + , egovQustnrRespondInfoService + ); + + }catch(Exception ex) { + ex.printStackTrace(); + } + */ + + return "/web/ve/aplct/prevent/popup/eduAplctPopList"; + } + + /** + * 교육신청 목록 화면 + */ + /*@RequestMapping("/web/ve/aplct/prevent/fndtnEduAplctList.do") + public String fndtnEduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + + } + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + // 리스트 row마다 신청 확인하기 + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + + + return "/web/ve/aplct/prevent/fndtnEduAplctList"; + } + *//** + * 교육상세 + */ + @RequestMapping("/web/ve/aplct/prevent/eduAplctDetail.do") + public String eduAplctDetail( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + + + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } + + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //1.pageing step1 + //과정 조회 + VEPrcsDetailVO vEPrcsDetailVODetail = vEPrcsAplctPrdService.selectDetailNewOne4Fndth(vEPrcsDetailVO); + VEEduAplctVO vEEduAplctReqVO = new VEEduAplctVO(); + vEEduAplctReqVO.setUserId(loginVO.getUniqId()); + vEEduAplctReqVO.setLctrDivCd(vEPrcsDetailVODetail.getLctrDivCd()); + vEEduAplctReqVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); + vEEduAplctReqVO.setLctrDivCd(p_lctr_div_cd); + VEEduAplctVO vEEduAplctVO = sspnIdtmtService.findByAprvlCd(vEEduAplctReqVO); + // VO를 먼저 null 체크 후 진행해야 에러안남 + // vEEduAplctVO != null && + if(vEEduAplctVO != null && StringUtils.isNotEmpty(vEEduAplctVO.getAprvlCd())) { + vEPrcsDetailVODetail.setAprvlCd(vEEduAplctVO.getAprvlCd()); + } + + + model.addAttribute("info", vEPrcsDetailVODetail); + model.addAttribute("infoAplctOrd", vEEduAplctVO); + + + //신청 상태 정보를 가져온다. + VEPrcsDetailVO vEPrcsAplctVO = new VEPrcsDetailVO(); + + //신청이 없는 경우를 위한 예외 처리 + try { + if (vEEduAplctVO !=null) { + vEPrcsAplctVO.setPrcsAplctPrdOrd(vEPrcsDetailVODetail.getPrcsAplctPrdOrd()); + vEPrcsAplctVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + + vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsAplctVO); + } + + }catch(Exception ex) { + ex.printStackTrace(); + } + model.addAttribute("prcsAplctVO", vEPrcsAplctVO); + + return "/web/ve/aplct/prevent/eduAplctDetail"; + } + + + //사용자 교육취소 + //교육 상태코드, 교육 선정여부 수정 로직 + @RequestMapping(value="/web/ve/aplct/prevent/eduAplctDelete4UserAjax.do") + public ModelAndView eduAplctDelete4UserAjax( HttpServletRequest request , ModelMap model + , VEEduAplctVO vEEduAplctVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + if (!"".equals(s_userCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + System.out.println("vEEduAplctVO"); + System.out.println(vEEduAplctVO.getPrcsAplctPrdOrd()); + System.out.println(vEEduAplctVO.getUserId()); + System.out.println(vEEduAplctVO.getEduAplctOrd()); + + int rs = vEEduAplctService.userDelete(vEEduAplctVO); + //vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + //int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); + + modelAndView.addObject("rsCnt", rs); + modelAndView.addObject("result", "success"); + return modelAndView; + } + + //사용자 교육취소요청 + //교육 상태코드, 교육 선정여부 수정 로직 + @RequestMapping(value="/web/ve/aplct/prevent/eduAplctCancelRequest4UserAjax.do") + public ModelAndView eduAplctCancelRequest4UserAjax( HttpServletRequest request , ModelMap model + , VEEduAplctVO vEEduAplctVO) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + if (!"".equals(s_userCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + System.out.println("vEEduAplctVO"); + System.out.println(vEEduAplctVO.getPrcsAplctPrdOrd()); + System.out.println(vEEduAplctVO.getUserId()); + System.out.println(vEEduAplctVO.getEduAplctOrd()); + + vEEduAplctVO.setAprvlCd("35"); //35-취소요청-VEA0003 + + int rs = vEEduAplctService.update(vEEduAplctVO); + //vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + //int rs = vEEduAplctService.statusUpdate(vEEduAplctVO); + + modelAndView.addObject("rsCnt", rs); + modelAndView.addObject("result", "success"); + return modelAndView; + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/prevent/eduRegAjax.do") + public ModelAndView fndthEduPrcsAplctPrdMngRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + + + + +// ㄴㅇㄹㄴㅇㄹㄴㅇㄹ + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + + + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + String s_eduAplctOrd = eduAplctGnrService.getNextStringId(); + vEEduAplctVO.setEduAplctOrd(s_eduAplctOrd); + + vEEduAplctVO.setLctrDivCd(p_lctr_div_cd); // 기소유예 + vEEduAplctVO.setAprvlCd("10"); // 승인코드 VE0003 10 - 요청, 20 - 승인, 30 - 반려 +// sbmt_pnttm 제출일시 + vEEduAplctVO.setSbmtYn("Y"); // 제출여부 + vEEduAplctVO.setFrstRegisterId(loginVO.getUniqId()); +// frst_regist_pnttm + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setPrcsOrd(vEPrcsDetailVO.getPrcsAplctPrdOrd()); + vEEduAplctVO.setTrgtNm(vEPrcsDetailVO.getTrgtNm()); + vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth()); + vEEduAplctVO.setPhone(egovCryptoUtil.encrypt(vEPrcsDetailVO.getPhone())); + vEEduAplctVO.setEmail(vEPrcsDetailVO.getEmail()); + + String result = ""; + try { + //암호화 + vEEduAplctVO = egovCryptoUtil.encryptVEEduAplctVOInfo(vEEduAplctVO); + vEEduAplctVO.setRndsOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); //2024-02-07 추가 신청서 정보에 대상자 정보를 넣어야 추후 구분이 가능해서 추가함 + sspnIdtmtService.insertVeEduAplct(vEEduAplctVO); + + + CndtnTrgtMngVO cndtnTrgtMngVO = new CndtnTrgtMngVO(); + + cndtnTrgtMngVO.setUserId(loginVO.getUniqId()); + cndtnTrgtMngVO.setSspnIdtmtTrgtOrd(vEPrcsDetailVO.getSspnIdtmtTrgtOrd()); + cndtnTrgtMngVO.setEduStateCd("25"); // 신청 + + cndtnTrgtMngVO.setEduAplctOrd(s_eduAplctOrd); //동일한 대상자가 어떤 신청서와 맞는지 매칭에 필요함 + + //cndtnTrgtMngVO.setPrcsAplctPrdOrdCmplt(vEPrcsDetailVO.getPrcsAplctPrdOrd()); // 교육 번호 +// , edu_state_cd = #eduStateCd# +// , prcs_aplct_prd_ord_cmplt = #prcsAplctPrdOrdCmplt# + + + cndtnTrgtInfoMngService.updateUserId(cndtnTrgtMngVO); + + //알림 교육신청 + try { + iTNotiUtil.insertNotifyNew_60( + p_lctr_div_cd, //"60", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_10, + vEPrcsDetailVO.getPrcsAplctPrdOrd(), + "", + "1", + "1" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + + result = "success"; + } catch (Exception e) { + // TODO: handle exception + } + + + + modelAndView.addObject("result", result); + + return modelAndView; + + } + + + + + @RequestMapping("/web/ve/aplct/prevent/eduAplctPop.do") + public String eduAplctPop( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + return "/web/ve/aplct/prevent/popup/eduAplctPop"; + } + + + /** + * 결과보고 팝업 + */ + @RequestMapping("/web/ve/aplct/prevent/popup/eduCancelPop.do") + public String filePopup( + @ModelAttribute("vEEduRprtVO") VEEduRprtVO vEEduRprtVO + ,@ModelAttribute("vEInstrAsgnmVO") VEInstrAsgnmVO vEInstrAsgnmVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + try { + /* + vEEduRprtVO = vEEduRsltRprtService.selectDetail(vEEduRprtVO); + + //파일 정보 가져오기 + int fileCnt = 0; + List result = null; + if (vEEduRprtVO != null) { + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(vEEduRprtVO.getAtchFileId()); + result = fileService.selectFileInfs(fileVO); + fileCnt = result.size(); + } + else { + fileCnt = 0; + } + model.addAttribute("fileList", result); + model.addAttribute("fileListCnt", fileCnt); + model.addAttribute("vEEduRprtVO", vEEduRprtVO); + model.addAttribute("vEInstrAsgnmVO", vEInstrAsgnmVO); + */ + } + catch(Exception ex) { + ex.printStackTrace(); + } + + return "/web/ve/aplct/prevent/popup/eduCancelPop"; + } + + /** + * 결과보고 Ajax + */ + @RequestMapping("/web/ve/aplct/prevent/popup/eduCancelPopupAjax.do") + public ModelAndView filePopupAjax( + @ModelAttribute("vEEduRprtVO") VEEduRprtVO vEEduRprtVO + , ModelMap model + //, RedirectAttributes redirectAttributes + , HttpServletRequest request + , final MultipartHttpServletRequest multiRequest + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + /* + String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + if (!"".equals(s_userCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + */ + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + //SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + //로그인 처리==================================== + + + //step2.파일 처리==================================== + //파일 정상 처리 여부와 첨부 파일 정보 + //String atchFileId = this.takeFile(multiRequest, modelAndView, bmVO); + //파일 제한 수량 가져오기, 없으면 기본값 사용 + int i_file_limit = checkFileUtil.getLimitCount(request); // file count + int i_limit_size = checkFileUtil.getLimitSize(request); // file MB + String s_file_exts = checkFileUtil.getS_exts(); // file exts + + + //step2.기존 첨부파일 체크 후 저장 하기 + String s_atchFileId = ""; + + if ("".equals(s_atchFileId)) { + s_atchFileId = checkFileUtil.fileValCheckNdbInsert( + multiRequest, modelAndView + , "EDUCANCEL_" //file_name_prefix + , s_file_exts + , i_limit_size + , i_file_limit + ); //EXT, MB size and ea + }else { + s_atchFileId = checkFileUtil.fileValCheckNdbUpdate( + multiRequest, modelAndView + , "EDUCANCEL_" //file_name_prefix + , s_file_exts + , i_limit_size + , i_file_limit + , s_atchFileId + ); + } + + if ("ERROR".equals(s_atchFileId)) return modelAndView; + + //step2.파일 처리==================================== + + try { + + System.out.println("vEEduRprtVO.getAprvlCn()"); + System.out.println(vEEduRprtVO.getEduAplctOrd()); + System.out.println(vEEduRprtVO.getAprvlCn()); + System.out.println(s_atchFileId); + + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setEduAplctOrd(vEEduRprtVO.getEduAplctOrd()); + + vEEduAplctVO.setAplctCn(vEEduRprtVO.getAprvlCn()); + vEEduAplctVO.setRsltAtchFileId(s_atchFileId); + vEEduAplctVO.setAprvlCd("35"); + vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId()); + + //취소요청 정보 저장 + vEEduAplctService.update(vEEduAplctVO); + + + }catch(Exception ex) { + System.out.println("Exception vEEduRsltRprtService.insert"); + } + + modelAndView.addObject("result", "success"); + + return modelAndView; + } + + /** + * + + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/prevent/cnclUpdateAjax.do") + public ModelAndView cnclUpdateAjax( + @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + + + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + String result = "false"; + + try { + sspnIdtmtService.updateAprvlCd(vEEduAplctVO); + + result = "success"; + } catch (Exception e) { + // TODO: handle exception + } + + + + modelAndView.addObject("result", result); + + return modelAndView; + + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/prevent/userConfirmAjax.do") + public ModelAndView userConfirmAjax( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO); +/* + try { + + + + // 이미 이수한 사용자가 있는지 확인 + // 있으면 리턴 + id = sspnIdtmtService.findByTrgtNmAndDBirthAndEduStateCd(cndtnTrgtInfoMngVO); + if(StringUtils.isNotEmpty(id)) { + modelAndView.addObject("msg", "확인되었습니다."); + modelAndView.addObject("result", "success"); + modelAndView.addObject("id", id); + + + return modelAndView; + } + + } catch (Exception e) { + result = "fail"; + msg = "오류가 발생하였습니다. 담당자에게 문의해주세요."; + } + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", result); + modelAndView.addObject("id", id); + + + return modelAndView; + */ + } + + /** + * 기반강화연수과정 신청기간 등록 + */ + @RequestMapping("/web/ve/aplct/prevent/userNewConfirmAjax.do") + public ModelAndView userNewConfirmAjax( + @ModelAttribute("cndtnTrgtInfoMngVO") CndtnTrgtMngVO cndtnTrgtInfoMngVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + + + //System.out.println(cndtnTrgtInfoMngVO.getUserId()); + cndtnTrgtInfoMngVO.setUserId(loginVO.getUniqId()); + //System.out.println(cndtnTrgtInfoMngVO.getUserId()); + + /* + System.out.println(cndtnTrgtInfoMngVO.getSex()); + //System.out.println(cndtnTrgtInfoMngVO.getDBirth()); + System.out.println(cndtnTrgtInfoMngVO.getdBirth()); + System.out.println(cndtnTrgtInfoMngVO.getTrgtNm()); + */ + + cndtnTrgtInfoMngVO = egovCryptoUtil.encryptCndtnTrgtMngVOInfo(cndtnTrgtInfoMngVO); + + //return modelAndView; + + return sspnIdtmtService.checkSspnIdtmt(cndtnTrgtInfoMngVO); + + } + + /** + * 교육신청 목록 화면 + */ + @RequestMapping("/web/ve/aplct/prevent/sspnIdtmtEduAplctList.do") + public String sspnIdtmtEduAplctList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + + try { + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + + + //로그인 처리==================================== + + //1.pageing step1 + + //임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함 + //paginationInfo.setRecordCountPerPage(10000); + + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getSearchKeyword())){ + String selectCondition = "AND b.PRCS_NM LIKE CONCAT ('%', '" +vEPrcsDetailVO.getSearchKeyword() + "', '%')"; + vEPrcsDetailVO.setSelectPagingListQuery(selectCondition); + + } + + if(StringUtil.isNotEmpty(vEPrcsDetailVO.getPrcsKind())){ + String[] splited = vEPrcsDetailVO.getPrcsKind().split(","); + vEPrcsDetailVO.setSearchStatusArr(splited); + } + + if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) { + + //vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모 + vEPrcsDetailVO.setSiteId(p_lctr_div_cd); //"60" + + } + //List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrList(vEPrcsDetailVO); + + + // 현재 날짜를 가져옵니다. + LocalDate currentDate = LocalDate.now(); + // 날짜비교 + vEPrcsDetailVOList.stream().forEach(t->{ + t.setDateChk(this.dateChk(t, currentDate)); + }); + + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + + model.addAttribute("paginationInfo", paginationInfo); + + + } catch (Exception e) { + e.printStackTrace(); + // TODO: handle exception + } + + return "/web/ve/aplct/prevent/sspnIdtmtEduAplctList"; + + } + + + private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) { + + String returnDate = ""; + + String targetDateString = vEPrcsDetailVO.getEduStrtPnttm(); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd"); + + // 문자열로부터 LocalDate 객체를 생성합니다. + LocalDate targetDate = LocalDate.parse(targetDateString, formatter); + + + // 교육종료 날짜와 현재날짜 비교 + if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0 + returnDate = "0"; + } else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1 + returnDate = "1"; + } else { // 종료날짜와 같으면 2 + returnDate = "2"; + } + + return returnDate; + } + + /** + * 교육소개 임시페이지 + */ + @RequestMapping("/web/ve/aplct/prevent/eduInfo.do") + public String eduInfo( @ModelAttribute("modelVO") VEPrcsDetailVO vEPrcsDetailVO , ModelMap model , HttpServletRequest request ) throws Exception { + + return "/web/ve/aplct/prevent/eduInfo"; + } + + + @RequestMapping("/web/ve/aplct/prevent/qnaRegAjax.do") + public ModelAndView qnaSspnIdtmtRegAjax( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request + ) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 처리==================================== + //로그인 정보 가져오기 + + String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); + if (!"".equals(s_oprtnLoginCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + + vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); //esntl_id + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setPrcsAplctPrdQnaOrd(prcsAplctPrdQnaOrdGnrService.getNextStringId()); + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + + String msg = "등록되었습니다"; + try { + fndtnEnhanceTrnService.insertVeEduQna(vEPrcsDetailVO); + + //알림 교육문의 + try { + iTNotiUtil.insertNotifyNew_60( + p_lctr_div_cd, //"60", + loginVO.getUniqId(), + VeConstants.NOTI_STATUS_91, + "", + "", + "0", + "0" + ); + }catch(Exception ex) { + ex.printStackTrace(); + } + + } catch (Exception e) { + // TODO: handle exception + e.printStackTrace(); + msg = "등록에 실패하였습니다. 관리자에게 문의해주세요"; + } + + + modelAndView.addObject("msg", msg); + modelAndView.addObject("result", "success"); + + return modelAndView; + + } + + + /** + * 교육문의 + */ + @RequestMapping("/web/ve/aplct/prevent/eduFAQList.do") + public String eduFAQList( + @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + , HttpServletRequest request ) throws Exception { + //로그인 처리==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + /* + if (loginVO == null || ssoLoginVO == null) { + //이전 url 처리(beforeSiteUrl)_이준호_220228추가 + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + */ + //로그인 처리==================================== + try { + // 확인 체크 + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd())) + { + notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd()); + } + + //FAQ 조회 + BoardVO boardVO = new BoardVO(); + boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID + boardVO.setFirstIndex(0); //페이징 미처리 + boardVO.setRecordCountPerPage(1000); //페이징 미처리 + Map map = bbsMngService.selectBoardArticlesWeb(boardVO, null); + List resultList = (List)map.get("resultList"); + model.addAttribute("FAQList", resultList); + //Q&A 조회 + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //기소유예 구분값 + List vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO); + model.addAttribute("qnaList", vEPrcsDetailQnaVOList); + }catch(Exception ex) { + ex.printStackTrace(); + } + + + return "/web/ve/aplct/prevent/eduFAQList"; + } + + //사용자 - 기소유예 상태 변경 + @RequestMapping(value="/web/ve/aplct/prevent/eduAplctStatusChange4UserAjax.do") + public ModelAndView eduAplctStatusChange4UserAjax( HttpServletRequest request , ModelMap model + , VEPrcsDetailVO vEPrcsDetailVO + ) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + //로그인 체크==================================== + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + String s_userCheckNInfo = checkLoginUtil.userCheckNInfo(model, request); + if (!"".equals(s_userCheckNInfo)) { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + } + //로그인 체크==================================== + + + //4개 테이블에 대한 상태 변경이 필요하다. + //ve_prcs_aplct_prd - 교육과정정보, + //ve_edu_aplct - 교육신청상태, + //vea_aplct_detail_info - 교육신청 상세 + //vea_sspn_idtmt_trgt - 교육의뢰대상자 + + /* + * 기본 전달값을 하면 요청 번호에 따라서 처리 하도록 한다. + private String eduAplctOrd; //교육신청순번 + private String prcsAplctPrdOrd; //교육과정순번 + private String reqNo; //요청번호 - excel 참고 - 해당 번호에 따라서 처리 + */ + + //신청 상태 정보를 가져온다. + VEPrcsDetailVO vEPrcsAplctVO = vEPrcsAplctPrdService.selectAplctInfo(vEPrcsDetailVO); + + if (vEPrcsAplctVO==null) { + modelAndView.addObject("result", "fail"); + return modelAndView; + } + + vEPrcsAplctVO.setReqNo(vEPrcsDetailVO.getReqNo()); + + //수정자 정보 + vEPrcsAplctVO.setLastUpdusrId(loginVO.getUniqId()); + + System.out.println("vEPrcsAplctVO.getReqNo()"); + System.out.println(vEPrcsAplctVO.getReqNo()); + System.out.println(vEPrcsAplctVO.getReqNo()); + + int i_ret = 0; + try { + i_ret = vEPrcsAplctPrdService.updateStatusChange4User(vEPrcsAplctVO); + + }catch(Exception ex) { + System.out.println(ex.toString()); + } + + modelAndView.addObject("result", "success"); + modelAndView.addObject("rsCnt", i_ret); + return modelAndView; + } + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // + // private function + // + // + + //페이징을 위한 처리 step1 - 페이징 기본 정보 설정 + private PaginationInfo setPagingStep1( + VEPrcsDetailVO p_vEPrcsDetailVO + )throws Exception{ + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(p_vEPrcsDetailVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(p_vEPrcsDetailVO.getPageUnit()); + paginationInfo.setPageSize(p_vEPrcsDetailVO.getPageSize()); + + return paginationInfo; + } + + + //페이징을 위한 처리 step2 - 게시물 리스트 수량 설정 및 검색 조건 초기화 + private VEPrcsDetailVO setPagingStep2( + VEPrcsDetailVO p_vEPrcsDetailVO + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step2 + p_vEPrcsDetailVO.setFirstIndex(p_paginationInfo.getFirstRecordIndex()); + p_vEPrcsDetailVO.setLastIndex(p_paginationInfo.getLastRecordIndex()); + p_vEPrcsDetailVO.setRecordCountPerPage(p_paginationInfo.getRecordCountPerPage()); + + if("".equals(p_vEPrcsDetailVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + p_vEPrcsDetailVO.setSearchSortCnd("prcs_ord"); + p_vEPrcsDetailVO.setSearchSortOrd("desc"); + } + + return p_vEPrcsDetailVO; + } + + + //페이징을 위한 처리 step3 - 전체 게시물 수량 설정하기 + private PaginationInfo setPagingStep3( + List p_vEPrcsDetailVOList + + , PaginationInfo p_paginationInfo + )throws Exception{ + // pageing step3 + int totCnt = 0; + if(p_vEPrcsDetailVOList.size() > 0) totCnt = p_vEPrcsDetailVOList.get(0).getTotCnt(); + p_paginationInfo.setTotalRecordCount(totCnt); + + return p_paginationInfo; + } +} diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctList.jsp index 1ec10f61..0f1f00e2 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/eduAplctList.jsp @@ -215,7 +215,7 @@ $(document).ready(function(){ data.forEach(item => { console.log(item); - item.url = '${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctDetail.do?prcsAplctPrdOrd='+item.prcsAplctPrdOrd; // 여기서 원하는 URL로 대체 + item.url = '${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctDetail.do?prcsAplctPrdOrd='+item.prcsAplctPrdOrd; // 여기서 원하는 URL로 대체 }); events.push({ @@ -285,7 +285,7 @@ $(document).ready(function(){ var data = new FormData(document.getElementById("regForm")); if(confirm("신청하시겠습니까?")){ - var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduRegAjax.do"; + var url = "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduRegAjax.do"; console.log(data); $.ajax({ type:"POST", @@ -320,7 +320,7 @@ $(document).ready(function(){ } commonPopLayeropen( - "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctPop.do" + "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctPop.do" // "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do" , 800 , 800 @@ -398,7 +398,7 @@ $(document).ready(function(){ function linkPage(pageNo){ var listForm = document.listForm ; listForm.pageIndex.value = pageNo ; - listForm.action = ""; + listForm.action = ""; listForm.submit(); } @@ -406,7 +406,7 @@ $(document).ready(function(){ function fncGoDetail(prcsAplctPrdOrd){ var viewForm = document.viewForm ; viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ; - viewForm.action = ""; + viewForm.action = ""; viewForm.submit(); } @@ -435,7 +435,7 @@ $(document).ready(function(){ 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/cmdTrgt/userConfirmAjax.do"; $.ajax({ type:"POST", url: url, @@ -611,7 +611,7 @@ $(document).ready(function(){ commonPopLayeropen( //"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do" - "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/popup/eduAplctPopList.do" + "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/popup/eduAplctPopList.do" , 800 , 700 , paramObj diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp new file mode 100644 index 00000000..ee5fa9df --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/cmdTrgt/main.jsp @@ -0,0 +1,508 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 + + + + +
+
" method="post"> + +
+
+ +
+ + + " /> + " /> + + +
+

나의강의실

+
+
    +
  • 신청중 강의

  • +
  • 수강중 강의

  • +
  • 종료된 강의

  • +
+ +
+
+
교육 신청 목록
+
+
+ +
+
+ +
+ + + + + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + +
교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공
교육과정교육일자신청결과설문조사
');" onkeypress="if(event.keyCode == 13){fncGoDetail('');}" style="cursor:pointer;" tabindex="0"> + + + + + + + + + + + + +<%-- ~ --%> + + + + + + + + + + + + + + + +<%-- --%> + + + + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + - + + + + + + + - + + + +
+
+ + +
+ +
    +
  • + 교육과정 + ');" > + + + + + + + + + +
  • +
  • + 교육일자 + +
  • +
  • + 신청결과 + + + + + + + + + + + + + + +<%-- --%> + + + +
  • +
  • + 설문조사 + + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + - + + + + + + + - + + + +
  • +
+
+
+ + +
+
+
+
+
Q&A
+
+
+
+ +
+
+ +
+
+
    + +
  • class='first' > + + +
    +
    +

    답변A

    + + +
    +

    ${list.qnaAnswerCn }

    +

    ${list.lastUpdtPnttm }

    +
    +
    + +

    내용이 없습니다.

    +
    +
    + +
    +
    +
  • +
    +
+
+
+
+ +
+ - 내용이 없습니다. +
+
+
+ +
+
+ + +
+ +
+ +
+ +
+ +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduAplctList.jsp new file mode 100644 index 00000000..46661de1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduAplctList.jsp @@ -0,0 +1,934 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 + + + + + + + + +
+ +
+ + +
+
+ + + + + +
+
+ + + + +
+
+ +
+ + + + " /> + " /> + + +
+

강의목록

+
+ + +
+
+ +
    +
  • +
  • +
+ +
+
+
+ + +
+
+
+ <%-- --%> + +
+ ~ +
+ <%-- --%> + +
+ + + +
+
+ + +
+ + + + <%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + <%-- + + + + + + + + + + + + +
강의목록 : 교육구분, 과정명, 신청기간, 교육일자, 신청자/정원, 상태, 교육신청 등의 정보제공
교육구분과정명신청기간교육일자신청자/정원상태교육신청
');" style="cursor:pointer;"> --%> + <%-- --%> + + + + ');" style="cursor:pointer;" tabindex="0" onkeypress="if(event.keyCode == 13){fncGoDetail('');}"> + + + + + + + + + + + ~ + +<%-- ~ --%> + + + / + + + + + + + + + + + <%-- --%> +<%-- --%> + + + <%-- --%> + + + +
+
+ + + + +
+ +
    ');"> +
  • + 교육구분 + +
  • +
  • + 과정명 + + + + + + + + + + +
  • +
  • + 신청기간 + ~ +
  • +
  • + 교육일자 + +
  • +
  • + 신청자/정원 + / +
  • +
  • + 상태 + + + + + + + + + + +
  • +
  • + 교육신청 + +
  • +
+
+
+ +
+
+
+
+
+
+ +
+
+ + +
+ +
+
+ +
+ + +
+
+
+ + + + + +
+ +
+ diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp new file mode 100644 index 00000000..d3d5f648 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduFAQList.jsp @@ -0,0 +1,312 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 + + + + +
+
" method="post"> + +
+
+ +
+ + + " /> + " /> + + + +
+
+
+
+
FAQ
+
+
+
+ +
+
+
    + +
  • class='first' > + + +
    +
    +

    답변A

    +
    +

    ${FAQList.nttCn }

    +
    +
    +
    +
  • +
    +
+
+
+
+ +
+ - 내용이 없습니다. +
+
+
+ + +
+
+
+
+
Q&A
+
+
+
+ +
+
+ +
+
+
    + +
  • class='first' > + + +
    +
    +

    답변A

    + + +
    +

    ${list.qnaAnswerCn }

    +

    ${list.lastUpdtPnttm }

    +
    +
    + +

    내용이 없습니다.

    +
    +
    + +
    +
    +
  • +
    +
+
+
+
+ +
+ - 내용이 없습니다. +
+
+
+ +
+
+ + +
+ +
+ +
+ + +
+ + +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduInfo.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduInfo.jsp new file mode 100644 index 00000000..372fd2f1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/eduInfo.jsp @@ -0,0 +1,96 @@ +<%-- + + Class Name : eduAplctReg.jsp + Description : 교육신청등록 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 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"%> +<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %> + + + +
+
+

교육신청

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

기소유예교육

+
+
+
+ + + + + + + + + + + + + + + + +
기소유예 교육소개 : 교육대상, 교육절차 등의 정보제공
+

교육대상

+
저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자
+

교육절차

+
+
    +
  • +

    1

    +

    교육의뢰검찰청 다음 위원회

    +
  • +
  • +

    2

    +

    교육 실시·운영(8시간)한국지식재산보호원

    +
  • +
  • +

    3

    +

    교육 이수자 확정한국지식재산보호원

    +
  • +
  • +

    4

    +

    교육 결과 통보(분기별 또는 요청 시)위원회 다음 검찰청

    +
  • +
+
+
+
+
+
+
+ +
+
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/main.jsp new file mode 100644 index 00000000..725b0db3 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/main.jsp @@ -0,0 +1,508 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 + + + + +
+
" method="post"> + +
+
+ +
+ + + " /> + " /> + + +
+

나의강의실

+
+
    +
  • 신청중 강의

  • +
  • 수강중 강의

  • +
  • 종료된 강의

  • +
+ +
+
+
교육 신청 목록
+
+
+ +
+
+ +
+ + + + + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + +
교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공
교육과정교육일자신청결과설문조사
');" onkeypress="if(event.keyCode == 13){fncGoDetail('');}" style="cursor:pointer;" tabindex="0"> + + + + + + + + + + + + +<%-- ~ --%> + + + + + + + + + + + + + + + +<%-- --%> + + + + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + - + + + + + + + - + + + +
+
+ + +
+ +
    +
  • + 교육과정 + ');" > + + + + + + + + + +
  • +
  • + 교육일자 + +
  • +
  • + 신청결과 + + + + + + + + + + + + + + +<%-- --%> + + + +
  • +
  • + 설문조사 + + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + - + + + + + + + - + + + +
  • +
+
+
+ + +
+
+
+
+
Q&A
+
+
+
+ +
+
+ +
+
+
    + +
  • class='first' > + + +
    +
    +

    답변A

    + + +
    +

    ${list.qnaAnswerCn }

    +

    ${list.lastUpdtPnttm }

    +
    +
    + +

    내용이 없습니다.

    +
    +
    + +
    +
    +
  • +
    +
+
+
+
+ +
+ - 내용이 없습니다. +
+
+
+ +
+
+ + +
+ +
+ +
+ +
+ +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp new file mode 100644 index 00000000..918ecd66 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/prevent/sspnIdtmtEduAplctList.jsp @@ -0,0 +1,861 @@ +<%@ 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"%> + +교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국지식재산보호원 저작권 교육 시스템 + + + + + + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+ +
+
+
+ + + + " /> + " /> + + +
+

신청목록

+
+ + +
+
+
+
+ + +
+
+
+ <%-- --%> + +
+ ~ +
+ <%-- --%> + +
+ + + +
+
+ + + +
+ + + + + + + + +<%-- --%> + + + + + + + + + + + + + + + + + + + + + + + + + +
신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사 확인 등의 정보제공
교육과정교육일자신청결과설문조사비고
');" onkeypress="if(event.keyCode == 13){fncGoDetail('');}" style="cursor:pointer;" tabindex="0"> + + + + + + + + + +<%-- () --%> + +<%-- ~ --%> + + + + + + + + + + (취소-반려) + + + + + + + + + + + + + + + + +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> +<%-- --%> + +<%-- --%> +<%-- --%> + + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + - + + + + + + + - + + + + + + +
+
+ +
+
+
+
+
+
+ +
+
+ + +
+ +
+
+
+ + + + + + +
+ +
+ + + + + + + +
+ + + + + + + + + + +
+ +
+
+ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp index 6b573f05..ee5fa9df 100644 --- a/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/ve/aplct/sspnIdtmt/main.jsp @@ -27,7 +27,7 @@ function fncGoDetail(prcsAplctPrdOrd){ var viewForm = document.viewForm ; viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ; - viewForm.action = ""; + viewForm.action = ""; viewForm.submit(); } @@ -68,7 +68,7 @@ var data = new FormData(document.getElementById("qnaForm")); - var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do"; + var url = "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/qnaRegAjax.do"; $.ajax({ type:"POST", url: url, @@ -146,7 +146,7 @@
-
" method="post"> + " method="post">
@@ -172,7 +172,7 @@
교육 신청 목록
- +