parent
beb276acac
commit
5087d7b50d
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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
1571
src/main/java/kcc/ve/oprtn/cmdTrgt/web/CmdInstrMngController.java
Normal file
1571
src/main/java/kcc/ve/oprtn/cmdTrgt/web/CmdInstrMngController.java
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1304
src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/newEduPrfrmMngList.jsp
Normal file
1304
src/main/webapp/WEB-INF/jsp/oprtn/cmdTrgt/newEduPrfrmMngList.jsp
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,249 @@
|
||||
<!DOCTYPE html>
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
|
||||
<%
|
||||
/**
|
||||
* @Class Name : instrActvtHstrySignMngList.jsp
|
||||
* @Description : 운영관리 > 직인대장관리
|
||||
* @Modification Information
|
||||
* @
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------- -------- ---------------------------
|
||||
* @ 2022.12.7 안주영 최초 생성
|
||||
* @author 안주영
|
||||
* @since 2022.2.7
|
||||
* @version 1.0
|
||||
* @see
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<style>
|
||||
input:read-only{
|
||||
background-color: #ededed;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
function press(event) {
|
||||
if (event.keyCode==13) {
|
||||
fncGoList();
|
||||
}
|
||||
}
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.action = "<c:url value='/kccadr/oprtn/prevent/instrActvtHstrySignAndCmpltCrtfcMngList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
// function fn_goDetail(instrDetailActvtHstryOrd){
|
||||
// var form = document.detailForm;
|
||||
// form.instrDetailActvtHstryOrd.value = instrDetailActvtHstryOrd ;
|
||||
// form.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/instrActvtHstryMngDetail.do'/>";
|
||||
// form.submit();
|
||||
// }
|
||||
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
if($(this).prop('tagName') == 'SELECT'){
|
||||
if($(this).attr('name').indexOf('Month') != -1){
|
||||
$(this).val(new Date().getMonth()+1);
|
||||
}else if($(this).attr('name').indexOf('Year') != -1){
|
||||
$(this).val(new Date().getFullYear());
|
||||
}else{
|
||||
$(this).prop("selectedIndex", 0);
|
||||
}
|
||||
}else{
|
||||
$(this).val('');
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<title>직인대장관리(이수증)</title>
|
||||
</head>
|
||||
<body>
|
||||
<form id="detailForm" name="detailForm" method="post">
|
||||
<input type="hidden" name="instrDetailActvtHstryOrd" id="instrDetailActvtHstryOrd" value=""/>
|
||||
</form>
|
||||
<form id="listForm" name="listForm" method="post">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrActvtHstryVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrActvtHstryVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrActvtHstryVO.searchSortOrd}" />" />
|
||||
|
||||
<div class="cont_wrap">
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>직인대장관리(이수증) 목록</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>운영관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">직인대장관리(이수증)</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
<div class="cont">
|
||||
<!-- list_top -->
|
||||
<div class="list_top">
|
||||
<!--
|
||||
<div class="list_top_1">
|
||||
<div class="util_left">
|
||||
<p>구분</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<ve:select codeId="VEA011" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
|
||||
selectedValue="${vEInstrActvtHstryVO.searchSelStatus}" defaultValue=''
|
||||
defaultText='전체'
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
<div class="list_top_2">
|
||||
<div class="util_left">
|
||||
<p>발급일자</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="<c:out value='${vEInstrActvtHstryVO.searchStartDt}'/>">
|
||||
</div>
|
||||
~
|
||||
<div class="calendar_wrap">
|
||||
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="<c:out value='${vEInstrActvtHstryVO.searchEndDt}'/>">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_top_2">
|
||||
<div class="util_left">
|
||||
<p>성명</p>
|
||||
</div>
|
||||
<div class="util_right">
|
||||
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrActvtHstryVO.searchKeyword}'/>" onkeyDown="press(event);">
|
||||
<button class="btn_type08" onclick="fncGoList(); return false;">검색</button>
|
||||
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //list_top -->
|
||||
|
||||
<!-- list util -->
|
||||
<div class="list_util">
|
||||
<p class="list_util_p">총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
|
||||
<div>
|
||||
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
|
||||
<option value='10' <c:if test="${vEInstrActvtHstryVO.pageUnit == '10' or vEInstrActvtHstryVO.pageUnit == ''}">selected</c:if>>10줄</option>
|
||||
<option value='20' <c:if test="${vEInstrActvtHstryVO.pageUnit == '20'}">selected</c:if>>20줄</option>
|
||||
<option value='30' <c:if test="${vEInstrActvtHstryVO.pageUnit == '30'}">selected</c:if>>30줄</option>
|
||||
<option value='100' <c:if test="${vEInstrActvtHstryVO.pageUnit == '100'}">selected</c:if>>100줄</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- list -->
|
||||
<div class="tb_type01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width: 60px;">
|
||||
<col style="width: 150px;">
|
||||
<col style="width: 120px;">
|
||||
<col style="width: 120px;">
|
||||
<col style="width: 120px;">
|
||||
<col style="width: 120px;">
|
||||
<col style="width: 120px;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>항목</th>
|
||||
<th>문서번호</th>
|
||||
<th>과정명</th>
|
||||
<th>교육일시</th>
|
||||
<th>성명</th>
|
||||
<th>발급일자</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach var="list" items="${list}" varStatus="status">
|
||||
<%-- <tr onclick="fn_goDetail('${list.instrDetailActvtHstryOrd}')" style="cursor:pointer;"> --%>
|
||||
<!-- VE0011 -->
|
||||
<tr>
|
||||
<td>
|
||||
<c:out value="${ ( paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo -1)*paginationInfo.recordCountPerPage) ) - status.index }"/>
|
||||
</td>
|
||||
<td>
|
||||
<ve:code codeId="VE0011" code="${list.lctrDivCd }"/>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${list.lctrDivCd eq '50'}">실무역량-</c:if>
|
||||
<c:if test="${list.lctrDivCd eq '60'}">기소유예-</c:if>
|
||||
<c:out value="${list.eduCmpltCrtfcNmbr }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.prcsNm }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.eduStrtPnttm }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.mberNm }" />
|
||||
</td>
|
||||
<td>
|
||||
<c:out value="${list.lastUpdtPnttm }" />
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
<c:if test="${empty list}">
|
||||
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- //list -->
|
||||
<!-- page -->
|
||||
<div class="page">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
|
||||
</div>
|
||||
<!-- //page -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user