Merge branch 'master_tolag3'
This commit is contained in:
commit
34bd025250
@ -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<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);
|
||||
}
|
||||
//로그인 처리====================================
|
||||
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<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);
|
||||
|
||||
//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<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";
|
||||
}
|
||||
|
||||
@ -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<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
|
||||
@ -531,43 +211,9 @@ public class MyPageController {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
private String dateChk(VEPrcsDetailVO vEPrcsDetailVO , LocalDate currentDate) {
|
||||
|
||||
String returnDate = "";
|
||||
|
||||
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;
|
||||
String targetDateString = vEPrcsDetailVO.getEduStrtPnttm();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy.MM.dd");
|
||||
|
||||
// 문자열로부터 LocalDate 객체를 생성합니다.
|
||||
LocalDate targetDate = LocalDate.parse(targetDateString, formatter);
|
||||
|
||||
|
||||
// 교육종료 날짜와 현재날짜 비교
|
||||
if (currentDate.isBefore(targetDate)) { //현재날짜가 종료날짜보다 이전이면 0
|
||||
returnDate = "0";
|
||||
} else if (currentDate.isAfter(targetDate)) { //현재날짜가 종료날짜 이후면 1
|
||||
returnDate = "1";
|
||||
} else { // 종료날짜와 같으면 2
|
||||
returnDate = "2";
|
||||
}
|
||||
|
||||
return returnDate;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
//신청목록-실무역량강화, 기소유예 new -설문조사, 이수증 처리용
|
||||
List<VEPrcsDetailVO> findByAprvlQustnrAllList(VEPrcsDetailVO vEPrcsDetailVO);
|
||||
}
|
||||
|
||||
@ -170,4 +170,8 @@ public class VEPrcsAplctPrdDAO extends EgovAbstractDAO {
|
||||
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
|
||||
public List<VEPrcsDetailVO> selectTrgtList4_60(VEPrcsDetailVO paramVO) throws Exception{
|
||||
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.setRecordCountPerPage(5); //게시글 수
|
||||
boardVO.setFirstIndex(0); //
|
||||
boardVO.setBbsId("BBSMSTR_000000000653");
|
||||
boardVO.setBbsId("BBSMSTR_000000000010");
|
||||
List<BoardVO> vo = bbsMngService.selectMainBoardRecent(boardVO);
|
||||
//게시글 내용 html 태그 삭제
|
||||
for(int i=0; i<vo.size(); i++) {
|
||||
|
||||
@ -848,6 +848,7 @@
|
||||
AND b.sex = #sex#
|
||||
|
||||
and c.edu_strt_pnttm >= TO_CHAR(NOW(),'YYYY.MM.DD')
|
||||
AND a.aprvl_cd in ('10','20','60')
|
||||
</select>
|
||||
|
||||
<!-- 기소유예 대상자 확인 STEP00 -->
|
||||
|
||||
@ -1701,6 +1701,241 @@
|
||||
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>
|
||||
|
||||
@ -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);">
|
||||
<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;"
|
||||
<c:if test="${'N' eq searchVO.useAt}"> checked='checked' </c:if> >
|
||||
<label for="useAt"></label>미사용
|
||||
</c:if>
|
||||
</c:if> --%>
|
||||
<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='20' <c:if test="${searchVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
|
||||
@ -138,7 +138,6 @@
|
||||
${resultListTit.menuNm }
|
||||
</c:if>
|
||||
</c:forEach>
|
||||
<!-- 상표권 교육조건부 기소유예 -->
|
||||
</strong>
|
||||
<p>지식재산보호교육시스템</p>
|
||||
</div>
|
||||
|
||||
@ -166,8 +166,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
<div class="box">
|
||||
<p class="title">상표권 교육조건부 기소유예</p>
|
||||
<div class="link_area">
|
||||
<a href="#" class="btn line">교육안내</a>
|
||||
<a href="#" class="btn fill">교육신청</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduInfo.do" class="btn line">교육안내</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/eduAplctList.do" class="btn fill">교육신청</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -175,8 +175,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
<div class="box">
|
||||
<p class="title">부정경쟁행위 시정명령</p>
|
||||
<div class="link_area">
|
||||
<a href="#" class="btn line">교육안내</a>
|
||||
<a href="#" class="btn fill">교육신청</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduInfo.do" class="btn line">교육안내</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctList.do" class="btn fill">교육신청</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -184,8 +184,8 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
<div class="box">
|
||||
<p class="title">상표권 침해·부정경쟁 행위 예방</p>
|
||||
<div class="link_area">
|
||||
<a href="#" class="btn line">교육안내</a>
|
||||
<a href="#" class="btn fill">교육신청</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/prevent/eduInfo.do" class="btn line">교육안내</a>
|
||||
<a href="${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctList.do" class="btn fill">교육신청</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@ -372,12 +372,15 @@ function fn_egov_inqire_data(bbsId, nttId) {
|
||||
</div>
|
||||
|
||||
<ul class="list">
|
||||
<li>
|
||||
<a href="#">
|
||||
<strong class="title">2025 대전지역 도메인이름 분쟁조정(DNDR) 세미나 </strong>
|
||||
<p class="date">2025.09.12</p>
|
||||
</a>
|
||||
</li>
|
||||
<c:forEach var="notiList" items="${bbsList}" varStatus="sts">
|
||||
<li>
|
||||
<a href="#">
|
||||
<strong class="title">2025 대전지역 도메인이름 분쟁조정(DNDR) 세미나 </strong>
|
||||
<p class="date">2025.09.12</p>
|
||||
</a>
|
||||
</li>
|
||||
</c:forEach>
|
||||
|
||||
<li>
|
||||
<a href="#">
|
||||
<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