Merge branch 'master' of http://yongjoon.cho@vcs.iten.co.kr:9999/itnAdmin/koipa_edu_2025-1
This commit is contained in:
commit
147b60d242
@ -1,10 +1,9 @@
|
|||||||
package kcc.let.my.web;
|
package kcc.let.my.web;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.time.LocalDate;
|
||||||
import java.util.HashMap;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
@ -17,7 +16,6 @@ import org.springframework.stereotype.Controller;
|
|||||||
import org.springframework.ui.ModelMap;
|
import org.springframework.ui.ModelMap;
|
||||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
|
||||||
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
|
||||||
|
|
||||||
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
|
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.BoardMasterVO;
|
||||||
import kcc.let.cop.bbs.service.BoardVO;
|
import kcc.let.cop.bbs.service.BoardVO;
|
||||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
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.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.VEPrcsAplctPrdService;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
|
||||||
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
||||||
@ -60,277 +51,94 @@ import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsService;
|
|||||||
@Controller
|
@Controller
|
||||||
public class MyPageController {
|
public class MyPageController {
|
||||||
|
|
||||||
|
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
|
||||||
|
|
||||||
// 로그인 체크 util
|
// 로그인 체크 util
|
||||||
@Resource(name = "checkLoginUtil")
|
@Resource(name = "checkLoginUtil")
|
||||||
private CheckLoginUtil checkLoginUtil;
|
private CheckLoginUtil checkLoginUtil;
|
||||||
|
|
||||||
// 교육과정신청
|
|
||||||
@Resource(name = "vEEduMIXService")
|
|
||||||
private VEEduMIXService vEEduMIXService;
|
|
||||||
|
|
||||||
//암복호화 유틸
|
//암복호화 유틸
|
||||||
@Resource(name = "egovCryptoUtil")
|
@Resource(name = "egovCryptoUtil")
|
||||||
EgovCryptoUtil egovCryptoUtil;
|
EgovCryptoUtil egovCryptoUtil;
|
||||||
|
|
||||||
//과정차시 관리
|
|
||||||
@Resource(name = "vEPrcsAplctPrdService")
|
|
||||||
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
|
||||||
|
|
||||||
//과정 관리
|
//과정 관리
|
||||||
@Resource(name = "vEPrcsService")
|
@Resource(name = "vEPrcsService")
|
||||||
private VEPrcsService vEPrcsService;
|
private VEPrcsService vEPrcsService;
|
||||||
|
|
||||||
//온라인콘텐츠과정 관리
|
//과정차시 관리
|
||||||
@Resource(name = "fndtnEnhanceTrnService")
|
@Resource(name = "vEPrcsAplctPrdService")
|
||||||
private FndtnEnhanceTrnService fndtnEnhanceTrnService;
|
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
|
||||||
|
|
||||||
@Resource(name = "NotifyManageService")
|
|
||||||
private NotifyManageService notifyManageService;
|
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
|
private String p_lctr_div_cd = "60";
|
||||||
|
|
||||||
@RequestMapping(value = { "/web/my/myPageDashBoard.do" })
|
@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 {
|
ModelMap model, BoardVO boardVO, RedirectAttributes redirectAttributes) throws Exception {
|
||||||
|
|
||||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기
|
//로그인 처리====================================
|
||||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); // SSO 로그인 정보 가져오기
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
if (loginVO == null || ssoLoginVO == null) {
|
|
||||||
return checkLoginUtil.getUserLoginPage(model, request); // 로그인 정보가 없으면 로그인 페이지로 이동한다.
|
if (loginVO == null || ssoLoginVO == null) {
|
||||||
}
|
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
|
||||||
|
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||||
/*
|
}
|
||||||
* 청소년 진행목록
|
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
||||||
*/
|
|
||||||
{
|
|
||||||
/*진행/종료 건수에서 신청/완료 건수로 변경 > 진행/종료는 차시 기준. 신청은 신청 기준이라 조회쿼리 변경*/
|
//1.pageing step1
|
||||||
/*VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
|
//5개만 select을 위한 설정
|
||||||
// 청소년
|
vEPrcsDetailVO.setPageUnit(5);
|
||||||
|
PaginationInfo paginationInfo = this.setPagingStep1(vEPrcsDetailVO);
|
||||||
// 사용자 교육신청 차시 리스트
|
|
||||||
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<VEEduChasiVO> vEEduChasiVOList =
|
|
||||||
// vEEduMIXService.selectChasiList(vEEduChasiVO);
|
|
||||||
|
|
||||||
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
|
|
||||||
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
|
|
||||||
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
|
|
||||||
|
|
||||||
List<VEEduChasiVO> tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
|
|
||||||
|
|
||||||
|
|
||||||
Map<String, String> 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<VEEduAplctVO> 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<VEEduChasiVO> 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<VEEduChasiVO> vEEduChasiVOList =
|
|
||||||
// vEEduMIXService.selectChasiList(vEEduChasiVO);
|
|
||||||
|
|
||||||
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
|
|
||||||
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
|
|
||||||
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
|
|
||||||
|
|
||||||
List<VEEduChasiVO> adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
|
|
||||||
|
|
||||||
|
|
||||||
Map<String, String> 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<VEEduAplctVO> 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<VEEduChasiVO> 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<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
|
||||||
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
|
||||||
|
|
||||||
System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size());
|
|
||||||
// vEEduAplctVOList에서 10, 11, 12, 13 값 제거
|
|
||||||
List<VEEduAplctVO> 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<String, String> 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);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
//1.pageing step1
|
||||||
* 실무역량강화
|
|
||||||
* */
|
//임시로 페이징 처리를 안하기 위해서 RecordCountPerPage 수를 10000 으로 셋팅함
|
||||||
{
|
//paginationInfo.setRecordCountPerPage(10000);
|
||||||
|
|
||||||
|
//2. pageing step2
|
||||||
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
vEPrcsDetailVO = this.setPagingStep2(vEPrcsDetailVO, paginationInfo);
|
||||||
|
|
||||||
vEPrcsDetailVO.setUserId(loginVO.getUniqId());
|
//기반강화 조회
|
||||||
//기반강화 조회
|
vEPrcsDetailVO.setLctrDivCd(p_lctr_div_cd); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
||||||
vEPrcsDetailVO.setLctrDivCd(VeConstants.LCTR_DIV_CD_50); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
|
|
||||||
vEPrcsDetailVO.setRecordCountPerPage(1000000);
|
|
||||||
vEPrcsDetailVO.setFirstIndex(0);
|
/*
|
||||||
|
if(StringUtil.isEmpty(vEPrcsDetailVO.getPrcsDiv())) {
|
||||||
|
vEPrcsDetailVO.setPrcsDiv("10");// 과정구분 VE0015 10-산업종사자, 20-대학생, 30-공무원, 40-일반인, 50-청소년, 60-학부모
|
||||||
List<VEPrcsDetailVO> 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<String, String> 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<String,Object> countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO);
|
|
||||||
model.addAttribute("countMap", countMap);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
//내 문의 목록
|
vEPrcsDetailVO.setSiteId(p_lctr_div_cd); //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
|
||||||
{
|
List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlQustnrAllList(vEPrcsDetailVO);
|
||||||
|
//List<VEPrcsDetailVO> vEPrcsDetailVOList = vEPrcsAplctPrdService.findByAprvlList(vEPrcsDetailVO);
|
||||||
|
|
||||||
|
// 현재 날짜를 가져옵니다.
|
||||||
|
LocalDate currentDate = LocalDate.now();
|
||||||
|
// 날짜비교
|
||||||
|
vEPrcsDetailVOList.stream().forEach(t->{
|
||||||
|
t.setDateChk(this.dateChk(t, currentDate));
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Map<String,Object> countMap = vEPrcsAplctPrdService.findAllSspnldtmtDashboardCnt(vEPrcsDetailVO);
|
||||||
|
// 리스트 row마다 신청 확인하기
|
||||||
|
//대상 리스트, 페이징 정보 전달
|
||||||
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
model.addAttribute("countMap", countMap);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Q&A 영역
|
||||||
|
// vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
|
||||||
|
// List<VEPrcsDetailVO> 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<VEPrcsDetailVO> qnaList = vEPrcsService.selectQnaPagingList(vEPrcsDetailVO);
|
|
||||||
model.addAttribute("qnaList", qnaList);
|
|
||||||
}
|
|
||||||
|
|
||||||
// return "/web/cop/bbs/FaqListAjax";
|
|
||||||
return "web/my/myPageDashBoard";
|
return "web/my/myPageDashBoard";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,140 +175,12 @@ public class MyPageController {
|
|||||||
|
|
||||||
model.addAttribute("paginationInfo", paginationInfo);
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
// 사용자 이름 디코딩
|
|
||||||
// vEPrcsDetailVOList.stream().forEach(t->t.setMberNm(egovCryptoUtil.decrypt(t.getMberNm())));
|
|
||||||
|
|
||||||
//대상 리스트, 페이징 정보 전달
|
//대상 리스트, 페이징 정보 전달
|
||||||
model.addAttribute("list", vEPrcsDetailVOList);
|
model.addAttribute("list", vEPrcsDetailVOList);
|
||||||
|
|
||||||
return "web/my/myQnaMngList";
|
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<NotifyManageVO> 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<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
|
|
||||||
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<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
|
|
||||||
|
|
||||||
for (int i=0;i<a_params.length;i++) {
|
|
||||||
NotifyManageVO tInfo = new NotifyManageVO();
|
|
||||||
tInfo.setSiteNm(a_params[i].split(":")[0]);
|
|
||||||
tInfo.setParams(a_params[i].split(":")[1]);
|
|
||||||
|
|
||||||
notifyParamList.add(tInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
model.addAttribute("notifyParamList", notifyParamList);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}catch(Exception ex) {
|
|
||||||
ex.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return "web/my/myNotifyMngDetail";
|
|
||||||
}
|
|
||||||
|
|
||||||
@RequestMapping(value = { "/web/my/myQnaMngDetail.do"})
|
@RequestMapping(value = { "/web/my/myQnaMngDetail.do"})
|
||||||
public String myQnaMngDetail(
|
public String myQnaMngDetail(
|
||||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
@ -531,43 +211,9 @@ public class MyPageController {
|
|||||||
return "web/my/myQnaMngDetail";
|
return "web/my/myQnaMngDetail";
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(value = { "/web/my/myNotifyMngDeleteAjax.do"})
|
|
||||||
public ModelAndView myNotifyMngDeleteAjax(
|
|
||||||
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
|
|
||||||
, ModelMap model
|
|
||||||
, RedirectAttributes redirectAttributes
|
|
||||||
, HttpSession session
|
|
||||||
, HttpServletRequest request
|
|
||||||
, String[] chk
|
|
||||||
) throws Exception {
|
|
||||||
|
|
||||||
ModelAndView modelAndView = new ModelAndView();
|
|
||||||
modelAndView.setViewName("jsonView");
|
|
||||||
|
|
||||||
//로그인 처리====================================
|
|
||||||
//로그인 정보 가져오기
|
|
||||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
|
||||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
|
||||||
|
|
||||||
if (loginVO == null || ssoLoginVO == null) {
|
|
||||||
modelAndView.addObject("result", "loginFail");
|
|
||||||
}
|
|
||||||
//로그인 처리====================================
|
|
||||||
|
|
||||||
try {
|
|
||||||
notifyManageVO.setCmmNotifyOrdArr(chk);
|
|
||||||
notifyManageService.updateChkedUseYnN(notifyManageVO);
|
|
||||||
modelAndView.addObject("result", "success");
|
|
||||||
}catch(Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
modelAndView.addObject("result", "fail");
|
|
||||||
}
|
|
||||||
|
|
||||||
//세부과정 목록 조회
|
|
||||||
|
|
||||||
return modelAndView;
|
|
||||||
}
|
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
@ -621,41 +267,28 @@ public class MyPageController {
|
|||||||
|
|
||||||
return p_paginationInfo;
|
return p_paginationInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) {
|
||||||
|
|
||||||
|
String returnDate = "";
|
||||||
|
|
||||||
private PaginationInfo setNotiPagingStep1(NotifyManageVO notifyManageVO) {
|
String targetDateString = vEPrcsDetailVO.getEduStrtPnttm();
|
||||||
// pageing step1
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
|
||||||
PaginationInfo paginationInfo = new PaginationInfo();
|
|
||||||
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
|
// 문자열로부터 LocalDate 객체를 생성합니다.
|
||||||
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
|
LocalDate targetDate = LocalDate.parse(targetDateString, formatter);
|
||||||
paginationInfo.setPageSize(notifyManageVO.getPageSize());
|
|
||||||
|
|
||||||
return paginationInfo;
|
// 교육종료 날짜와 현재날짜 비교
|
||||||
|
if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0
|
||||||
|
returnDate = "0";
|
||||||
|
} else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1
|
||||||
|
returnDate = "1";
|
||||||
|
} else { // 종료날짜와 같으면 2
|
||||||
|
returnDate = "2";
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnDate;
|
||||||
}
|
}
|
||||||
|
|
||||||
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<NotifyManageVO> vEPrcsDetailVOList, PaginationInfo paginationInfo) {
|
|
||||||
// pageing step3
|
|
||||||
int totCnt = 0;
|
|
||||||
if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt();
|
|
||||||
paginationInfo.setTotalRecordCount(totCnt);
|
|
||||||
|
|
||||||
return paginationInfo;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
667
src/main/java/kcc/let/my/web/MyPageController_back_251028.java
Normal file
667
src/main/java/kcc/let/my/web/MyPageController_back_251028.java
Normal file
@ -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
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* << 개정이력(Modification Information) >>
|
||||||
|
*
|
||||||
|
* 수정일 수정자 수정내용
|
||||||
|
* ------- -------- ---------------------------
|
||||||
|
* 2009.03.19 이삼섭 최초 생성
|
||||||
|
* 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사)
|
||||||
|
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
//@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<VEEduChasiVO> vEEduChasiVOList =
|
||||||
|
// vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||||
|
|
||||||
|
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
|
||||||
|
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
|
||||||
|
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
|
||||||
|
|
||||||
|
List<VEEduChasiVO> tngrList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, String> 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<VEEduAplctVO> 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<VEEduChasiVO> 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<VEEduChasiVO> vEEduChasiVOList =
|
||||||
|
// vEEduMIXService.selectChasiList(vEEduChasiVO);
|
||||||
|
|
||||||
|
vEEduChasiVO.setPageIndex(vEEduAplctVO.getPageIndex());
|
||||||
|
vEEduChasiVO.setPageUnit(vEEduAplctVO.getPageUnit());
|
||||||
|
vEEduChasiVO.setPageSize(vEEduAplctVO.getPageSize());
|
||||||
|
|
||||||
|
List<VEEduChasiVO> adultList = vEEduMIXService.selectChasiListMypage(vEEduChasiVO);
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, String> 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<VEEduAplctVO> 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<VEEduChasiVO> 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<VEEduAplctVO> vEEduAplctVOList = vEEduMIXService.selectExprnPagingList(vEEduAplctVO);
|
||||||
|
vEEduAplctVOList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduAplctVOList);
|
||||||
|
|
||||||
|
System.out.println("vEEduAplctVOList.size() :: "+vEEduAplctVOList.size());
|
||||||
|
// vEEduAplctVOList에서 10, 11, 12, 13 값 제거
|
||||||
|
List<VEEduAplctVO> 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<String, String> 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<VEPrcsDetailVO> 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<String, String> 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<String,Object> countMap = vEPrcsAplctPrdService.findAllDashboardCnt(vEPrcsDetailVO);
|
||||||
|
model.addAttribute("countMap", countMap);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//내 문의 목록
|
||||||
|
{
|
||||||
|
|
||||||
|
VEPrcsDetailVO vEPrcsDetailVO = new VEPrcsDetailVO();
|
||||||
|
vEPrcsDetailVO.setRecordCountPerPage(3);
|
||||||
|
vEPrcsDetailVO.setFirstIndex(0);
|
||||||
|
vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
|
||||||
|
List<VEPrcsDetailVO> 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<VEPrcsDetailVO> 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<NotifyManageVO> 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<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
|
||||||
|
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<NotifyManageVO> notifyParamList = new ArrayList<NotifyManageVO>();
|
||||||
|
|
||||||
|
for (int i=0;i<a_params.length;i++) {
|
||||||
|
NotifyManageVO tInfo = new NotifyManageVO();
|
||||||
|
tInfo.setSiteNm(a_params[i].split(":")[0]);
|
||||||
|
tInfo.setParams(a_params[i].split(":")[1]);
|
||||||
|
|
||||||
|
notifyParamList.add(tInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
model.addAttribute("notifyParamList", notifyParamList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}catch(Exception ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return "web/my/myNotifyMngDetail";
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = { "/web/my/myQnaMngDetail.do"})
|
||||||
|
public String myQnaMngDetail(
|
||||||
|
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||||
|
, 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) {
|
||||||
|
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
|
||||||
|
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||||
|
}
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
//과정 조회
|
||||||
|
VEPrcsDetailVO vEPrcsQnaDetail = vEPrcsService.selectQnaDetail(vEPrcsDetailVO);
|
||||||
|
vEPrcsQnaDetail.setMberNm(egovCryptoUtil.decrypt(vEPrcsQnaDetail.getMberNm()));
|
||||||
|
|
||||||
|
model.addAttribute("info", vEPrcsQnaDetail);
|
||||||
|
//세부과정 목록 조회
|
||||||
|
|
||||||
|
return "web/my/myQnaMngDetail";
|
||||||
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = { "/web/my/myNotifyMngDeleteAjax.do"})
|
||||||
|
public ModelAndView myNotifyMngDeleteAjax(
|
||||||
|
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
|
||||||
|
, ModelMap model
|
||||||
|
, RedirectAttributes redirectAttributes
|
||||||
|
, HttpSession session
|
||||||
|
, HttpServletRequest request
|
||||||
|
, String[] chk
|
||||||
|
) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
//로그인 처리====================================
|
||||||
|
//로그인 정보 가져오기
|
||||||
|
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||||
|
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||||
|
|
||||||
|
if (loginVO == null || ssoLoginVO == null) {
|
||||||
|
modelAndView.addObject("result", "loginFail");
|
||||||
|
}
|
||||||
|
//로그인 처리====================================
|
||||||
|
|
||||||
|
try {
|
||||||
|
notifyManageVO.setCmmNotifyOrdArr(chk);
|
||||||
|
notifyManageService.updateChkedUseYnN(notifyManageVO);
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
}catch(Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
}
|
||||||
|
|
||||||
|
//세부과정 목록 조회
|
||||||
|
|
||||||
|
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<VEPrcsDetailVO> 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<NotifyManageVO> vEPrcsDetailVOList, PaginationInfo paginationInfo) {
|
||||||
|
// pageing step3
|
||||||
|
int totCnt = 0;
|
||||||
|
if(vEPrcsDetailVOList.size() > 0) totCnt = vEPrcsDetailVOList.get(0).getTotCnt();
|
||||||
|
paginationInfo.setTotalRecordCount(totCnt);
|
||||||
|
|
||||||
|
return paginationInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -92,4 +92,7 @@ public interface VEPrcsAplctPrdService {
|
|||||||
|
|
||||||
//교육확정상태 대상자 리스트 가져오기
|
//교육확정상태 대상자 리스트 가져오기
|
||||||
List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
|
List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO vEPrcsDetailVO) throws Exception;
|
||||||
|
|
||||||
|
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용
|
||||||
|
List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -170,4 +170,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
|||||||
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO);
|
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.selectTrgtList4_60", vEPrcsDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
|
return (List<VEPrcsDetailVO>) list("VEPrcsAplctPrdDAO.findByAprvlQustnrAllList", vEPrcsDetailVO);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -383,6 +383,10 @@ public class VEPrcsAplctPrdServiceImpl implements VEPrcsAplctPrdService {
|
|||||||
@Override
|
@Override
|
||||||
public List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{
|
public List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{
|
||||||
return vEPrcsAplctPrdDAO.selectTrgtList4_60(paramVO);
|
return vEPrcsAplctPrdDAO.selectTrgtList4_60(paramVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO) {
|
||||||
|
return vEPrcsAplctPrdDAO.findByAprvlQustnrAllList(vEPrcsDetailVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -448,7 +448,7 @@ public class MainController {
|
|||||||
BoardVO boardVO = new BoardVO();
|
BoardVO boardVO = new BoardVO();
|
||||||
boardVO.setRecordCountPerPage(5); //게시글 수
|
boardVO.setRecordCountPerPage(5); //게시글 수
|
||||||
boardVO.setFirstIndex(0); //
|
boardVO.setFirstIndex(0); //
|
||||||
boardVO.setBbsId("BBSMSTR_000000000653");
|
boardVO.setBbsId("BBSMSTR_000000000010");
|
||||||
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
|
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
|
||||||
//게시글 내용 html 태그 삭제
|
//게시글 내용 html 태그 삭제
|
||||||
for(int i=0; i<vo.size(); i++) {
|
for(int i=0; i<vo.size(); i++) {
|
||||||
|
|||||||
@ -848,6 +848,7 @@
|
|||||||
AND b.sex = #sex#
|
AND b.sex = #sex#
|
||||||
|
|
||||||
and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD')
|
and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD')
|
||||||
|
AND a.aprvl_cd in ('10','20','60')
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 기소유예 대상자 확인 STEP00 -->
|
<!-- 기소유예 대상자 확인 STEP00 -->
|
||||||
|
|||||||
@ -1701,6 +1701,241 @@
|
|||||||
AND aprvl_cd='20'
|
AND aprvl_cd='20'
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<!-- 교육 확정 목록 (설문조사, 이수증 수정)-->
|
||||||
|
<select id="findByAprvlQustnrAllList" parameterClass="VEPrcsDetailVO" resultClass="VEPrcsDetailVO">
|
||||||
|
/* VEPrcsAplctPrdDAO.findByAprvlQustnrAllList */
|
||||||
|
select
|
||||||
|
COUNT(1) OVER() AS totCnt ,
|
||||||
|
a.edu_aplct_ord AS eduAplctOrd ,
|
||||||
|
vpap.PRCS_APLCT_PRD_ORD AS prcsAplctPrdOrd ,
|
||||||
|
vp.prcs_nm AS prcsNm ,
|
||||||
|
vp.prcs_cn AS prcsCn ,
|
||||||
|
vp.prcs_div AS prcsDiv ,
|
||||||
|
vpap.title AS title ,
|
||||||
|
vpap.strt_pnttm AS strtPnttm ,
|
||||||
|
vpap.end_pnttm AS endPnttm ,
|
||||||
|
vpap.edu_strt_pnttm AS eduStrtPnttm ,
|
||||||
|
vpap.edu_ddln_pnttm AS eduDdlnPnttm ,
|
||||||
|
|
||||||
|
case
|
||||||
|
when to_char(now(),'YYYY.MM.DD HH24') >= concat(vpap.qustnr_strt_pnttm, ' ', vpap.qustnr_tm) and vpap.qustnr_tm>'' then 1
|
||||||
|
else 0
|
||||||
|
end as qustnrTm,
|
||||||
|
|
||||||
|
|
||||||
|
CASE
|
||||||
|
WHEN to_char(now(), 'YYYY.MM.DD') > COALESCE(vpap.edu_ddln_pnttm,vpap.edu_strt_pnttm) THEN 1
|
||||||
|
ELSE 0
|
||||||
|
END AS qestRsltExists,
|
||||||
|
|
||||||
|
a.APRVL_CD AS aprvlCd,
|
||||||
|
vpap.ddln_cd AS ddlnCd,
|
||||||
|
vadi.APLCT_STATE_CD AS aplctStateCd,
|
||||||
|
vadi.CNCL_ATCH_FILE_ID AS cnclAtchFileId,
|
||||||
|
vadi.CNCL_CN AS cnclCn,
|
||||||
|
|
||||||
|
|
||||||
|
/* 설문지 정보 */
|
||||||
|
I10.qustnr_tmplat_id AS qustnrTmplatId ,
|
||||||
|
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_10, I10.qestnr_id_10) AS qestnrId10 ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_20, I20.qestnr_id_20) AS qestnrId20 ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_30, I30.qestnr_id_30) AS qestnrId30 ,
|
||||||
|
|
||||||
|
/* 답변 정보 */
|
||||||
|
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_10_CNT,0) AS qestnrId10Cnt ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_20_CNT,0) AS qestnrId20Cnt ,
|
||||||
|
COALESCE(qustnr01.QESTNR_ID_30_CNT,0) AS qestnrId30Cnt ,
|
||||||
|
a.lctr_div_cd AS lctrDivCd
|
||||||
|
|
||||||
|
from
|
||||||
|
VE_EDU_APLCT a
|
||||||
|
join ve_prcs_aplct_prd vpap
|
||||||
|
on a.prcs_ord = vpap.prcs_aplct_prd_ord
|
||||||
|
join ve_prcs vp /* 과정 */
|
||||||
|
on vpap.prcs_ord = vp.prcs_ord
|
||||||
|
left join vea_aplct_detail_info vadi /* 신청상세정보 */
|
||||||
|
on a.edu_aplct_ord = vadi.edu_aplct_ord
|
||||||
|
and vpap.prcs_aplct_prd_ord = vadi.prcs_aplct_prd_ord
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
aa.EDU_APLCT_ORD ,
|
||||||
|
aa.prcs_ord,
|
||||||
|
aa.QUSTNR_TMPLAT_ID ,
|
||||||
|
aa.user_id
|
||||||
|
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '10' THEN aa.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '20' THEN aa.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
, max(CASE WHEN bb.site_id_cd = '30' THEN aa.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '10' THEN 1 ELSE 0 END) AS QESTNR_ID_10_CNT
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '20' THEN 1 ELSE 0 END) AS QESTNR_ID_20_CNT
|
||||||
|
, SUM(CASE WHEN bb.site_id_cd = '30' THEN 1 ELSE 0 END) AS QESTNR_ID_30_CNT
|
||||||
|
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
a.EDU_APLCT_ORD ,
|
||||||
|
a.prcs_ord,
|
||||||
|
b.QUSTNR_TMPLAT_ID ,
|
||||||
|
b.QESTNR_ID
|
||||||
|
, a.user_id
|
||||||
|
|
||||||
|
FROM
|
||||||
|
ve_edu_aplct a ,
|
||||||
|
LETTNQESTNRRSLTDETAIL b
|
||||||
|
WHERE
|
||||||
|
1 = 1
|
||||||
|
AND a.edu_aplct_ord = b.edu_aplct_ord
|
||||||
|
AND (b.EDU_CHASI_ORD IS NULL or b.EDU_CHASI_ORD = '')
|
||||||
|
AND a.user_id=#userId#
|
||||||
|
|
||||||
|
)aa
|
||||||
|
, lettnqestnrinfo bb
|
||||||
|
WHERE aa.qustnr_tmplat_id=bb.qustnr_tmplat_id
|
||||||
|
AND aa.qestnr_id=bb.qestnr_id
|
||||||
|
|
||||||
|
GROUP BY
|
||||||
|
aa.EDU_APLCT_ORD ,
|
||||||
|
aa.prcs_ord,
|
||||||
|
aa.QUSTNR_TMPLAT_ID ,
|
||||||
|
aa.user_id
|
||||||
|
|
||||||
|
) qustnr01
|
||||||
|
on(
|
||||||
|
|
||||||
|
a.edu_aplct_ord = qustnr01.edu_Aplct_Ord
|
||||||
|
AND a.PRCS_ORD = qustnr01.prcs_Ord
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_10
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('10')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
) I10 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_20
|
||||||
|
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('20')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
) I20 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
LEFT OUTER JOIN (
|
||||||
|
/* 현재 진행가능한 설문 정보(기본, 선생님, 강사) 여러개가 있는 경우는 최근 등록된 설문 정보를 가져온다.*/
|
||||||
|
SELECT
|
||||||
|
a.QUSTNR_TMPLAT_ID ,
|
||||||
|
a.SITE_ID ,
|
||||||
|
/*
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
*/
|
||||||
|
(CASE WHEN a.STTUS = '1' THEN a.QESTNR_ID ELSE a.QESTNR_ID END) AS QESTNR_ID_30
|
||||||
|
|
||||||
|
FROM
|
||||||
|
LETTNQESTNRINFO a
|
||||||
|
WHERE
|
||||||
|
a.SITE_ID = #siteId#
|
||||||
|
/*
|
||||||
|
AND a.SITE_ID_CD IN ('30')
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
AND a.STTUS IN ('1')
|
||||||
|
*/
|
||||||
|
AND TO_CHAR(NOW(),
|
||||||
|
'YYYY.MM.DD') BETWEEN COALESCE(a.qustnr_bgnde,
|
||||||
|
'2000.01.01')
|
||||||
|
AND COALESCE(a.qustnr_endde,
|
||||||
|
'9999.12.31')
|
||||||
|
|
||||||
|
ORDER BY coalesce(a.qustnr_bgnde,'9999.12.31')
|
||||||
|
LIMIT 1
|
||||||
|
|
||||||
|
) I30 ON
|
||||||
|
(1 = 1)
|
||||||
|
|
||||||
|
where
|
||||||
|
a.user_id = #userId#
|
||||||
|
|
||||||
|
<isNotEmpty property="searchStartDt">
|
||||||
|
AND vpap.edu_strt_pnttm <![CDATA[ >= ]]> #searchStartDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isNotEmpty property="searchEndDt">
|
||||||
|
AND vpap.edu_strt_pnttm <![CDATA[ <= ]]> #searchEndDt#
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEqual property="searchStatus" compareValue="5"> /*VEA003 미이수 : 수강중 강의*/
|
||||||
|
AND vadi.aplct_state_cd = '10'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="30"> /*취소 : 취소*/
|
||||||
|
AND vadi.aplct_state_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="20"> /*이수완료 : 종료 강의*/
|
||||||
|
AND vadi.aplct_state_cd is not null
|
||||||
|
AND a.aprvl_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="15"> /*수강중 강의*/
|
||||||
|
AND vadi.aplct_state_cd is null
|
||||||
|
AND a.aprvl_cd = '20'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchStatus" compareValue="10"> /*요청 : 요청 강의*/
|
||||||
|
AND a.aprvl_cd = #searchStatus#
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
ORDER BY vpap.edu_strt_pnttm desc
|
||||||
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|||||||
@ -174,11 +174,11 @@ function bbsMasterExcelDownload(){
|
|||||||
|
|
||||||
<input type="text" id="searchWrd" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" class="search_input" placeholder="검색어를 입력하세요" onkeyDown="press(event);">
|
<input type="text" id="searchWrd" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" class="search_input" placeholder="검색어를 입력하세요" onkeyDown="press(event);">
|
||||||
<button class="btn_search" onclick="javascript:linkPage('1'); return false;">검색</button>
|
<button class="btn_search" onclick="javascript:linkPage('1'); return false;">검색</button>
|
||||||
<c:if test="${bbsAttrMngAuth}">
|
<%-- <c:if test="${bbsAttrMngAuth}">
|
||||||
<input type="checkbox" name="useAt" id="useAt" value="N" onclick="javascript:linkPage('1'); return false;"
|
<input type="checkbox" name="useAt" id="useAt" value="N" onclick="javascript:linkPage('1'); return false;"
|
||||||
<c:if test="${'N' eq searchVO.useAt}"> checked='checked' </c:if> >
|
<c:if test="${'N' eq searchVO.useAt}"> checked='checked' </c:if> >
|
||||||
<label for="useAt"></label>미사용
|
<label for="useAt"></label>미사용
|
||||||
</c:if>
|
</c:if> --%>
|
||||||
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||||
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
<option value='10' <c:if test="${searchVO.pageUnit == '10' or searchVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||||
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
<option value='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||||
|
|||||||
@ -138,7 +138,6 @@
|
|||||||
${resultListTit.menuNm }
|
${resultListTit.menuNm }
|
||||||
</c:if>
|
</c:if>
|
||||||
</c:forEach>
|
</c:forEach>
|
||||||
<!-- 상표권 교육조건부 기소유예 -->
|
|
||||||
</strong>
|
</strong>
|
||||||
<p>지식재산보호교육시스템</p>
|
<p>지식재산보호교육시스템</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -166,8 +166,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<p class="title">상표권 교육조건부 기소유예</p>
|
<p class="title">상표권 교육조건부 기소유예</p>
|
||||||
<div class="link_area">
|
<div class="link_area">
|
||||||
<a href="#" class="btn line">교육안내</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduInfo.do" class="btn line">교육안내</a>
|
||||||
<a href="#" class="btn fill">교육신청</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctList.do" class="btn fill">교육신청</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -175,8 +175,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<p class="title">부정경쟁행위 시정명령</p>
|
<p class="title">부정경쟁행위 시정명령</p>
|
||||||
<div class="link_area">
|
<div class="link_area">
|
||||||
<a href="#" class="btn line">교육안내</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduInfo.do" class="btn line">교육안내</a>
|
||||||
<a href="#" class="btn fill">교육신청</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctList.do" class="btn fill">교육신청</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -184,8 +184,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
|||||||
<div class="box">
|
<div class="box">
|
||||||
<p class="title">상표권 침해·부정경쟁 행위 예방</p>
|
<p class="title">상표권 침해·부정경쟁 행위 예방</p>
|
||||||
<div class="link_area">
|
<div class="link_area">
|
||||||
<a href="#" class="btn line">교육안내</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/prevent/eduInfo.do" class="btn line">교육안내</a>
|
||||||
<a href="#" class="btn fill">교육신청</a>
|
<a href="${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctList.do" class="btn fill">교육신청</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@ -372,12 +372,15 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="list">
|
<ul class="list">
|
||||||
<li>
|
<c:forEach var="notiList" items="${bbsList}" varStatus="sts">
|
||||||
<a href="#">
|
<li>
|
||||||
<strong class="title">2025 대전지역 도메인이름 분쟁조정(DNDR) 세미나 </strong>
|
<a href="#">
|
||||||
<p class="date">2025.09.12</p>
|
<strong class="title">2025 대전지역 도메인이름 분쟁조정(DNDR) 세미나 </strong>
|
||||||
</a>
|
<p class="date">2025.09.12</p>
|
||||||
</li>
|
</a>
|
||||||
|
</li>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<strong class="title">특허분쟁 위험경보 시스템 회원가입 이벤트(6/16~6/30) </strong>
|
<strong class="title">특허분쟁 위험경보 시스템 회원가입 이벤트(6/16~6/30) </strong>
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user