diff --git a/src/main/java/kcc/let/my/web/MyPageController.java b/src/main/java/kcc/let/my/web/MyPageController.java index 96e094f7..50abed76 100644 --- a/src/main/java/kcc/let/my/web/MyPageController.java +++ b/src/main/java/kcc/let/my/web/MyPageController.java @@ -1,10 +1,9 @@ package kcc.let.my.web; -import java.util.ArrayList; -import java.util.HashMap; +import java.time.LocalDate; +import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; -import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; @@ -17,7 +16,6 @@ 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.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; @@ -26,14 +24,7 @@ import kcc.com.utl.user.service.CheckLoginUtil; import kcc.let.cop.bbs.service.BoardMasterVO; import kcc.let.cop.bbs.service.BoardVO; import kcc.let.uat.uia.service.SsoLoginVO; -import kcc.let.uss.notify.service.NotifyManageService; -import kcc.let.uss.notify.service.NotifyManageVO; import kcc.let.utl.fcc.service.EgovCryptoUtil; -import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; -import kcc.ve.cmm.VeConstants; -import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; -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.VEPrcsService; @@ -60,277 +51,94 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService; @Controller public class MyPageController { + private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class); + // 로그인 체크 util @Resource(name = "checkLoginUtil") private CheckLoginUtil checkLoginUtil; - // 교육과정신청 - @Resource(name = "vEEduMIXService") - private VEEduMIXService vEEduMIXService; - //암복호화 유틸 @Resource(name = "egovCryptoUtil") EgovCryptoUtil egovCryptoUtil; - //과정차시 관리 - @Resource(name = "vEPrcsAplctPrdService") - private VEPrcsAplctPrdService vEPrcsAplctPrdService; - //과정 관리 @Resource(name = "vEPrcsService") private VEPrcsService vEPrcsService; - //온라인콘텐츠과정 관리 - @Resource(name = "fndtnEnhanceTrnService") - private FndtnEnhanceTrnService fndtnEnhanceTrnService; - - @Resource(name = "NotifyManageService") - private NotifyManageService notifyManageService; + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; - private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class); + private String p_lctr_div_cd = "60"; @RequestMapping(value = { "/web/my/myPageDashBoard.do" }) - public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO, + public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("vEEduAplctVO") VEPrcsDetailVO vEPrcsDetailVO, ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception { - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다. - } - - /* - * 청소년 진행목록 - */ - { - /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ - /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 청소년 - - // 사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(1000000); - vEEduChasiVO.setFirstIndex(0); - // List vEEduChasiVOList = - // vEEduMIXService.selectChasiList(vEEduChasiVO); - - vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); - vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); - vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); - - List tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); - - - Map tngrMap = tngrList.stream() - .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) - //.collect(Collectors.partitioningBy(vo -> "60".equals(vo.getAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "tngrEnd" : "tngrIng", - entry -> entry.getValue().toString() - ) - ); - - System.out.println(tngrMap); - System.out.println(tngrMap); - - - model.addAttribute("tngrMap", tngrMap); - model.addAttribute("tngrList", tngrList);*/ - - //신청목록 - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduAplctVO.setRecordCountPerPage(10); - vEEduAplctVO.setFirstIndex(0); - List vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO); - int tngrAplctCnt = 0; - if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { - tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); - } - model.addAttribute("tngrAplctCnt", tngrAplctCnt); - - //완료목록 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt()); - vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt()); - vEEduChasiVO.setRecordCountPerPage(10); - vEEduChasiVO.setFirstIndex(0); - List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); - int tngrEndCnt = 0; - if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { - tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt(); - } - model.addAttribute("tngrEndCnt", tngrEndCnt); - model.addAttribute("tngrList", vEEduChasiVOList); - } - - /* - * 성인 진행목록 - */ - { - /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ - /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 청소년 - - // 사용자 교육신청 차시 리스트 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(1000000); - vEEduChasiVO.setFirstIndex(0); - // List vEEduChasiVOList = - // vEEduMIXService.selectChasiList(vEEduChasiVO); - - vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); - vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); - vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); - - List adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); - - - Map adultMap = adultList.stream() - .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "adultEnd" : "adultIng", - entry -> entry.getValue().toString() - ) - ); - - model.addAttribute("adultMap", adultMap); - model.addAttribute("adultList", adultList);*/ - //신청목록 - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduAplctVO.setRecordCountPerPage(10); - vEEduAplctVO.setFirstIndex(0); - List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); - int adultAplctCnt = 0; - if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { - adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); - } - model.addAttribute("adultAplctCnt", adultAplctCnt); - - //완료목록 - VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); - vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); - vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); - vEEduChasiVO.setUserId(loginVO.getUniqId()); - vEEduChasiVO.setRecordCountPerPage(10); - vEEduChasiVO.setFirstIndex(0); - List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); - int adultEndCnt = 0; - if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { - adultEndCnt = vEEduChasiVOList.get(0).getTotCnt(); - } - model.addAttribute("adultEndCnt", adultEndCnt); - model.addAttribute("adultList", vEEduChasiVOList); - } - /* - * 체험교실 - * */ - { - VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); - // 저작권 - vEEduAplctVO.setUserId(loginVO.getUniqId()); - vEEduAplctVO.setRecordCountPerPage(1000000); - vEEduAplctVO.setFirstIndex(0); - vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); - - List vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO); - vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); - - System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size()); -// vEEduAplctVOList에서 10, 11, 12, 13 값 제거 - List filteredList = vEEduAplctVOList.stream() - /* - .filter(item -> !item.getAprvlCd().equals("10") - && !item.getAprvlCd().equals("11") - && !item.getAprvlCd().equals("12") - && !item.getAprvlCd().equals("13")) - */ - .filter(item -> item.getAprvlCd().equals("80") - || item.getAprvlCd().equals("20") - ) - .collect(Collectors.toList()); -// -- 종료 80 -// -- 진행중 20~70 - - Map exprnMap = filteredList.stream() - .collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting())) - .entrySet().stream() - .collect(Collectors.toMap( - entry -> entry.getKey() ? "exprnEnd" : "exprnIng", - entry -> entry.getValue().toString() - ) - ); - - model.addAttribute("exprnMap", exprnMap); - model.addAttribute("exprnList", filteredList); - } + //로그인 처리==================================== + 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); + + + //로그인 처리==================================== - /* - * 실무역량강화 - * */ - { - - - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - - vEPrcsDetailVO.setUserId(loginVO.getUniqId()); - //기반강화 조회 - vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 - vEPrcsDetailVO.setRecordCountPerPage(1000000); - vEPrcsDetailVO.setFirstIndex(0); - - - List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); - // 요청 - long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count(); - // 미이수 - long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count(); - // 이수완료 - long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count(); - - Map fndtnMap = new HashMap<>(); - fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20)); - fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont)); - - model.addAttribute("fndtnMap", fndtnMap); - model.addAttribute("fndtnList", vEPrcsDetailVOList); - - - //신청중, 수강중, 종료된 수량 - Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); - model.addAttribute("countMap", countMap); - + //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.findByAprvlQustnrAllList(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/sspnIdtmt/main"; - VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); - vEPrcsDetailVO.setRecordCountPerPage(3); - vEPrcsDetailVO.setFirstIndex(0); - vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); - List qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); - model.addAttribute("qnaList", qnaList); - } - -// return "/web/cop/bbs/FaqListAjax"; return "web/my/myPageDashBoard"; } @@ -367,140 +175,12 @@ public class MyPageController { model.addAttribute("paginationInfo", paginationInfo); - // 사용자 이름 디코딩 -// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); - //대상 리스트, 페이징 정보 전달 model.addAttribute("list", vEPrcsDetailVOList); return "web/my/myQnaMngList"; } - @RequestMapping(value = { "/web/my/myNotifyMngList.do" }) - public String myNotifyMngList( - HttpServletRequest request - , @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO - , ModelMap model - ) 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. -// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - - notifyManageService.updateM7DaysUseYnN(); - - - //1.pageing step1 - PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); - //2. pageing step2 - notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); -// - - - notifyManageVO.setToUserId(loginVO.getUniqId()); - - - /*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) { - String status = ""; - if("Y".equals(notifyManageVO.getSearchStatus())) - status = "IS NOT NULL"; - if("N".equals(notifyManageVO.getSearchStatus())) - status = "IS NULL"; - - notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); - } */ - - List notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO); - - //3.pageing step3 - paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo); - - model.addAttribute("paginationInfo", paginationInfo); - - // 사용자 이름 디코딩 -// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); - - //대상 리스트, 페이징 정보 전달 - model.addAttribute("list", notifyManageVOList); -// } catch (Exception e) { -// e.printStackTrace(); -// // TODO: handle exception -// } -// return "web/my/myQnaMngList"; - return "web/my/myNotifyMngList"; - } - - @RequestMapping(value = { "/web/my/myNotifyMngDetail.do"}) - public String myNotifyMngDetail( - @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO - , ModelMap model - , RedirectAttributes redirectAttributes - , HttpSession session - , HttpServletRequest request - ) throws Exception { - - //로그인 처리==================================== - //로그인 정보 가져오기 - LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 - SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 - - if (loginVO == null || ssoLoginVO == null) { - return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. - } - //로그인 처리==================================== - - //과정 조회 - NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO); - - model.addAttribute("info", notifyManageInfo); - - - try { - if ("30".equals(notifyManageInfo.getLctrDivCd())){ //체험교실은 다른게 바로가기를 만든다. - //eduAplctOrd:eduAplct_00000015581 - List notifyParamList = new ArrayList(); - NotifyManageVO tInfo = new NotifyManageVO(); - tInfo.setSiteNm("eduAplctOrd"); - tInfo.setParams(notifyManageInfo.getEduAplctOrd()); - - notifyParamList.add(tInfo); - - model.addAttribute("notifyParamList", notifyParamList); - - }else{ - //세부과정 목록 조회 - String[] a_params = notifyManageInfo.getParams().split(","); - - List notifyParamList = new ArrayList(); - - for (int i=0;i vEPrcsDetailVOList, PaginationInfo paginationInfo) { - // pageing step3 - int totCnt = 0; - if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); - paginationInfo.setTotalRecordCount(totCnt); - - return paginationInfo; - } - } diff --git a/src/main/java/kcc/let/my/web/MyPageController_back_251028.java b/src/main/java/kcc/let/my/web/MyPageController_back_251028.java new file mode 100644 index 00000000..cfd20cd8 --- /dev/null +++ b/src/main/java/kcc/let/my/web/MyPageController_back_251028.java @@ -0,0 +1,667 @@ +package kcc.let.my.web; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +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.servlet.ModelAndView; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; + +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import kcc.com.cmm.LoginVO; +import kcc.com.utl.user.service.CheckLoginUtil; +import kcc.let.cop.bbs.service.BoardMasterVO; +import kcc.let.cop.bbs.service.BoardVO; +import kcc.let.uat.uia.service.SsoLoginVO; +import kcc.let.uss.notify.service.NotifyManageService; +import kcc.let.uss.notify.service.NotifyManageVO; +import kcc.let.utl.fcc.service.EgovCryptoUtil; +import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService; +import kcc.ve.cmm.VeConstants; +import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO; +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.VEPrcsService; + +/** + * 게시물 관리를 위한 컨트롤러 클래스 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009.03.19 + * @version 1.0 + * @see + * + *
+ * << 개정이력(Modification Information) >>
+ *
+ *   수정일      수정자          수정내용
+ *  -------    --------    ---------------------------
+ *  2009.03.19  이삼섭          최초 생성
+ *  2009.06.29  한성곤	       2단계 기능 추가 (댓글관리, 만족도조사)
+ *  2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
+ *
+ *      
+ */ +//@Controller +public class MyPageController_back_251028 { + + // 로그인 체크 util + @Resource(name = "checkLoginUtil") + private CheckLoginUtil checkLoginUtil; + + // 교육과정신청 + @Resource(name = "vEEduMIXService") + private VEEduMIXService vEEduMIXService; + + //암복호화 유틸 + @Resource(name = "egovCryptoUtil") + EgovCryptoUtil egovCryptoUtil; + + //과정차시 관리 + @Resource(name = "vEPrcsAplctPrdService") + private VEPrcsAplctPrdService vEPrcsAplctPrdService; + + //과정 관리 + @Resource(name = "vEPrcsService") + private VEPrcsService vEPrcsService; + + //온라인콘텐츠과정 관리 + @Resource(name = "fndtnEnhanceTrnService") + private FndtnEnhanceTrnService fndtnEnhanceTrnService; + + @Resource(name = "NotifyManageService") + private NotifyManageService notifyManageService; + + private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController_back_251028.class); + + @RequestMapping(value = { "/web/my/myPageDashBoard.do" }) + public String selectFaqListWeb(HttpServletRequest request, @ModelAttribute("searchVO") BoardMasterVO boardMasterVO, + ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + /* + * 청소년 진행목록 + */ + { + /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ + /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 청소년 + + // 사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(1000000); + vEEduChasiVO.setFirstIndex(0); + // List vEEduChasiVOList = + // vEEduMIXService.selectChasiList(vEEduChasiVO); + + vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); + vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); + vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); + + List tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); + + + Map tngrMap = tngrList.stream() + .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) + //.collect(Collectors.partitioningBy(vo -> "60".equals(vo.getAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "tngrEnd" : "tngrIng", + entry -> entry.getValue().toString() + ) + ); + + System.out.println(tngrMap); + System.out.println(tngrMap); + + + model.addAttribute("tngrMap", tngrMap); + model.addAttribute("tngrList", tngrList);*/ + + //신청목록 + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduAplctVO.setRecordCountPerPage(10); + vEEduAplctVO.setFirstIndex(0); + List vEEduAplctVOList = vEEduMIXService.selectPagingApplyList(vEEduAplctVO); + int tngrAplctCnt = 0; + if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { + tngrAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); + } + model.addAttribute("tngrAplctCnt", tngrAplctCnt); + + //완료목록 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_10); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setSearchStartDt(vEEduAplctVO.getSearchStartDt()); + vEEduChasiVO.setSearchEndDt(vEEduAplctVO.getSearchEndDt()); + vEEduChasiVO.setRecordCountPerPage(10); + vEEduChasiVO.setFirstIndex(0); + List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); + int tngrEndCnt = 0; + if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { + tngrEndCnt = vEEduChasiVOList.get(0).getTotCnt(); + } + model.addAttribute("tngrEndCnt", tngrEndCnt); + model.addAttribute("tngrList", vEEduChasiVOList); + } + + /* + * 성인 진행목록 + */ + { + /*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/ + /*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 청소년 + + // 사용자 교육신청 차시 리스트 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setEduAplctOrd(vEEduAplctVO.getEduAplctOrd()); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(1000000); + vEEduChasiVO.setFirstIndex(0); + // List vEEduChasiVOList = + // vEEduMIXService.selectChasiList(vEEduChasiVO); + + vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex()); + vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit()); + vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize()); + + List adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO); + + + Map adultMap = adultList.stream() + .collect(Collectors.partitioningBy(vo -> "30".equals(vo.getAsgnmAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "adultEnd" : "adultIng", + entry -> entry.getValue().toString() + ) + ); + + model.addAttribute("adultMap", adultMap); + model.addAttribute("adultList", adultList);*/ + //신청목록 + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduAplctVO.setRecordCountPerPage(10); + vEEduAplctVO.setFirstIndex(0); + List vEEduAplctVOList = vEEduMIXService.selectPagingList(vEEduAplctVO); + int adultAplctCnt = 0; + if(vEEduAplctVOList != null && !vEEduAplctVOList.isEmpty()) { + adultAplctCnt = vEEduAplctVOList.get(0).getTotCnt(); + } + model.addAttribute("adultAplctCnt", adultAplctCnt); + + //완료목록 + VEEduChasiVO vEEduChasiVO = new VEEduChasiVO(); + vEEduChasiVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_20); + vEEduChasiVO.setAprvlCd(VeConstants.STATUS_CD_EDU_SELCT); + vEEduChasiVO.setUserId(loginVO.getUniqId()); + vEEduChasiVO.setRecordCountPerPage(10); + vEEduChasiVO.setFirstIndex(0); + List vEEduChasiVOList = vEEduMIXService.selectChasiList(vEEduChasiVO); + int adultEndCnt = 0; + if(vEEduChasiVOList != null && !vEEduChasiVOList.isEmpty()) { + adultEndCnt = vEEduChasiVOList.get(0).getTotCnt(); + } + model.addAttribute("adultEndCnt", adultEndCnt); + model.addAttribute("adultList", vEEduChasiVOList); + } + /* + * 체험교실 + * */ + { + VEEduAplctVO vEEduAplctVO = new VEEduAplctVO(); + // 저작권 + vEEduAplctVO.setUserId(loginVO.getUniqId()); + vEEduAplctVO.setRecordCountPerPage(1000000); + vEEduAplctVO.setFirstIndex(0); + vEEduAplctVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_30); + + List vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO); + vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList); + + System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size()); +// vEEduAplctVOList에서 10, 11, 12, 13 값 제거 + List filteredList = vEEduAplctVOList.stream() + /* + .filter(item -> !item.getAprvlCd().equals("10") + && !item.getAprvlCd().equals("11") + && !item.getAprvlCd().equals("12") + && !item.getAprvlCd().equals("13")) + */ + .filter(item -> item.getAprvlCd().equals("80") + || item.getAprvlCd().equals("20") + ) + .collect(Collectors.toList()); +// -- 종료 80 +// -- 진행중 20~70 + + Map exprnMap = filteredList.stream() + .collect(Collectors.partitioningBy(vo -> "80".equals(vo.getAprvlCd()), Collectors.counting())) + .entrySet().stream() + .collect(Collectors.toMap( + entry -> entry.getKey() ? "exprnEnd" : "exprnIng", + entry -> entry.getValue().toString() + ) + ); + + model.addAttribute("exprnMap", exprnMap); + model.addAttribute("exprnList", filteredList); + } + + /* + * 실무역량강화 + * */ + { + + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + + vEPrcsDetailVO.setUserId(loginVO.getUniqId()); + //기반강화 조회 + vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부 + vEPrcsDetailVO.setRecordCountPerPage(1000000); + vEPrcsDetailVO.setFirstIndex(0); + + + List vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO); + // 요청 + long cont = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAprvlCd())).count(); + // 미이수 + long aplctStateCd10 = vEPrcsDetailVOList.stream().filter(t-> "10".equals(t.getAplctStateCd())).count(); + // 이수완료 + long aplctStateCd20 = vEPrcsDetailVOList.stream().filter(t-> "20".equals(t.getAplctStateCd())).count(); + + Map fndtnMap = new HashMap<>(); + fndtnMap.put("fndtnEnd", String.valueOf(aplctStateCd20)); + fndtnMap.put("fndtnIng", String.valueOf(aplctStateCd10+cont)); + + model.addAttribute("fndtnMap", fndtnMap); + model.addAttribute("fndtnList", vEPrcsDetailVOList); + + + //신청중, 수강중, 종료된 수량 + Map countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO); + model.addAttribute("countMap", countMap); + + } + + //내 문의 목록 + { + + VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO(); + vEPrcsDetailVO.setRecordCountPerPage(3); + vEPrcsDetailVO.setFirstIndex(0); + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + List qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + model.addAttribute("qnaList", qnaList); + } + +// return "/web/cop/bbs/FaqListAjax"; + return "web/my/myPageDashBoard"; + } + + @RequestMapping(value = { "/web/my/myQnaMngList.do" }) + public String myQnaMngList( + HttpServletRequest request + , @ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO + , ModelMap model + ) throws Exception { + + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기 + //1.pageing step1 + PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO); + //2. pageing step2 + vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo); + + vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId()); + + + if(StringUtils.isNotEmpty(vEPrcsDetailVO.getSearchStatus())) { + String status = ""; + if("Y".equals(vEPrcsDetailVO.getSearchStatus())) + status = "IS NOT NULL"; + if("N".equals(vEPrcsDetailVO.getSearchStatus())) + status = "IS NULL"; + + vEPrcsDetailVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); + } + + List vEPrcsDetailVOList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO); + + //3.pageing step3 + paginationInfo = this.setPagingStep3(vEPrcsDetailVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 +// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", vEPrcsDetailVOList); + + return "web/my/myQnaMngList"; + } + + @RequestMapping(value = { "/web/my/myNotifyMngList.do" }) + public String myNotifyMngList( + HttpServletRequest request + , @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + ) 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); //로그인 정보가 없으면 로그인 페이지로 이동한다. +// return checkLoginUtil.getUserLoginPage(model); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + + notifyManageService.updateM7DaysUseYnN(); + + + //1.pageing step1 + PaginationInfo paginationInfo = this.setNotiPagingStep1(notifyManageVO); + //2. pageing step2 + notifyManageVO = this.setNotiPagingStep2(notifyManageVO, paginationInfo); +// + + + notifyManageVO.setToUserId(loginVO.getUniqId()); + + + /*if(StringUtils.isNotEmpty(notifyManageVO.getSearchStatus())) { + String status = ""; + if("Y".equals(notifyManageVO.getSearchStatus())) + status = "IS NOT NULL"; + if("N".equals(notifyManageVO.getSearchStatus())) + status = "IS NULL"; + + notifyManageVO.setSearchQuery(" AND qn.QNA_ANSWER_CN "+status); + } */ + + List notifyManageVOList = notifyManageService.selectPagingList(notifyManageVO); + + //3.pageing step3 + paginationInfo = this.setNotiPagingStep3(notifyManageVOList, paginationInfo); + + model.addAttribute("paginationInfo", paginationInfo); + + // 사용자 이름 디코딩 +// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm()))); + + //대상 리스트, 페이징 정보 전달 + model.addAttribute("list", notifyManageVOList); +// } catch (Exception e) { +// e.printStackTrace(); +// // TODO: handle exception +// } +// return "web/my/myQnaMngList"; + return "web/my/myNotifyMngList"; + } + + @RequestMapping(value = { "/web/my/myNotifyMngDetail.do"}) + public String myNotifyMngDetail( + @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO + , ModelMap model + , RedirectAttributes redirectAttributes + , HttpSession session + , HttpServletRequest request + ) throws Exception { + + //로그인 처리==================================== + //로그인 정보 가져오기 + LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 + SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 + + if (loginVO == null || ssoLoginVO == null) { + return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다. + } + //로그인 처리==================================== + + //과정 조회 + NotifyManageVO notifyManageInfo = notifyManageService.findById(notifyManageVO); + + model.addAttribute("info", notifyManageInfo); + + + try { + if ("30".equals(notifyManageInfo.getLctrDivCd())){ //체험교실은 다른게 바로가기를 만든다. + //eduAplctOrd:eduAplct_00000015581 + List notifyParamList = new ArrayList(); + NotifyManageVO tInfo = new NotifyManageVO(); + tInfo.setSiteNm("eduAplctOrd"); + tInfo.setParams(notifyManageInfo.getEduAplctOrd()); + + notifyParamList.add(tInfo); + + model.addAttribute("notifyParamList", notifyParamList); + + }else{ + //세부과정 목록 조회 + String[] a_params = notifyManageInfo.getParams().split(","); + + List notifyParamList = new ArrayList(); + + for (int i=0;i 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; + } + + + + private PaginationInfo setNotiPagingStep1(NotifyManageVO notifyManageVO) { + // pageing step1 + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit()); + paginationInfo.setPageSize(notifyManageVO.getPageSize()); + + return paginationInfo; + } + + private NotifyManageVO setNotiPagingStep2(NotifyManageVO notifyManageVO, PaginationInfo paginationInfo) { + // pageing step2 + notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + if("".equals(notifyManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List + notifyManageVO.setSearchSortCnd("prcs_ord"); + notifyManageVO.setSearchSortOrd("desc"); + } + + return notifyManageVO; + } + + private PaginationInfo setNotiPagingStep3(List vEPrcsDetailVOList, PaginationInfo paginationInfo) { + // pageing step3 + int totCnt = 0; + if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt(); + paginationInfo.setTotalRecordCount(totCnt); + + return paginationInfo; + } + + +} diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java index 30069c86..7e747dfc 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/VEPrcsAplctPrdService.java @@ -92,4 +92,7 @@ public interface VEPrcsAplctPrdService { //교육확정상태 대상자 리스트 가져오기 List selectTrgtList4_60(VEPrcsDetailVO vEPrcsDetailVO) throws Exception; + + //신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용 + List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO); } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java index fe037aec..ea014590 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdDAO.java @@ -170,4 +170,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO { return (List) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO); } + public List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) { + return (List) list("VEPrcsAplctPrdDAO.findByAprvlQustnrAllList", vEPrcsDetailVO); + } + } diff --git a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java index 41b1f4fd..e84c6b19 100644 --- a/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java +++ b/src/main/java/kcc/ve/instr/tngrVisitEdu/prcsInfo/service/impl/VEPrcsAplctPrdServiceImpl.java @@ -383,6 +383,10 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService { @Override public List selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{ return vEPrcsAplctPrdDAO.selectTrgtList4_60(paramVO); + } + + public List findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) { + return vEPrcsAplctPrdDAO.findByAprvlQustnrAllList(vEPrcsDetailVO); } diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index 875959f3..81be5265 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -448,7 +448,7 @@ public class MainController { BoardVO boardVO = new BoardVO(); boardVO.setRecordCountPerPage(5); //게시글 수 boardVO.setFirstIndex(0); // - boardVO.setBbsId("BBSMSTR_000000000653"); + boardVO.setBbsId("BBSMSTR_000000000010"); List vo = bbsMngService.selectMainBoardRecent(boardVO); //게시글 내용 html 태그 삭제 for(int i=0; i= TO_CHAR(NOW(),'YYYY.MM.DD') + AND a.aprvl_cd in ('10','20','60') diff --git a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml index 26089065..efbfadb9 100644 --- a/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml +++ b/src/main/resources/egovframework/sqlmap/ve/prcs/VEPrcsAplctPrd_SQL_Postgresql.xml @@ -1701,6 +1701,241 @@ AND aprvl_cd='20' - + + + + diff --git a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp index 58a0886d..771349b7 100644 --- a/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp +++ b/src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp @@ -174,11 +174,11 @@ function bbsMasterExcelDownload(){ - + <%-- checked='checked' > 미사용 - + --%> - - -
" method="post"> + + +
+ " method="post"> - -
- -
-
- -
-
- -
-
-
-

마이페이지

-
- -
- -
- - -
- -
+
+ + +
+ + + " /> + " /> - + +
+

교육현황

+
+
    + <%--
  • 신청중 강의

  • --%> +
  • 신청중 강의

  • + <%--
  • 수강중 강의

  • --%> +
  • 수강중 강의

  • + <%--
  • 종료된 강의

  • --%> +
  • 종료된 강의

  • +
-
-
-
-
-
찾아가는 교육 청소년
-
-
- -
-
+
+
+
교육 신청 목록
+
+
+ +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
교육 신청 목록 - 교육과정, 교육일자, 신청결과, 설문조사등의 정보제공
구분교육과정교육일자신청결과설문조사이수증
+ + ', '', '');" onkeypress="if(event.keyCode == 13){fncGoDetail('', '', '');}" style="cursor:pointer;" tabindex="0"> + + + + + + + + + + + + + + - + + + + + + + + + + + + + + 대상설문없음 + + + + + + + + + + + + + - + + + + + + + - + + + + + + + + + + 교육완료 + + + - + + +
+
+ +
+ + +
+ +
+