알림기능 완료

This commit is contained in:
hylee 2023-12-20 12:00:26 +09:00
parent e8d03eec9b
commit 2e7cb21cb4
38 changed files with 2082 additions and 1245 deletions

View File

@ -1,95 +1,32 @@
package kcc.let.my.web;
import java.io.OutputStream;
import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import com.penta.scpdb.ScpDbAgent;
import com.sci.v2.pcc.secu.SciSecuManager;
import com.sci.v2.pcc.secu.hmac.SciHmac;
import NiceID.Check.CPClient;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.EgovMultiPartEmail;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.ReadVO;
import kcc.com.cmm.UserVO;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.service.ReadService;
import kcc.com.cmm.util.StringUtil;
import kcc.com.cmm.util.WebUtil;
import kcc.com.uss.ion.cnf.service.ProhibitMngService;
import kcc.com.uss.ion.cnf.service.WordFilterService;
import kcc.com.uss.ion.cnf.service.WordFilterVO;
import kcc.com.utl.fcc.service.EgovStringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.cop.bbs.service.Board;
import kcc.let.cop.bbs.service.BoardChgHst;
import kcc.let.cop.bbs.service.BoardMaster;
import kcc.let.cop.bbs.service.BoardMasterVO;
import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSAttributeManageService;
import kcc.let.cop.bbs.service.EgovBBSManageService;
import kcc.let.sym.mnu.mpm.service.EgovMenuManageService;
import kcc.let.sym.mnu.mpm.service.MenuManageVO;
import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.sim.service.EgovClntInfo;
import kcc.ve.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@ -144,7 +81,9 @@ public class MyPageController {
//온라인콘텐츠과정 관리
@Resource(name = "fndtnEnhanceTrnService")
private FndtnEnhanceTrnService fndtnEnhanceTrnService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
@ -358,7 +297,77 @@ public class MyPageController {
return "web/my/myQnaMngList";
}
@RequestMapping(value = { "/web/my/myNotifyMngList.do" })
public String myNotifyMngList(
HttpServletRequest request
, @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model
) throws Exception {
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); // 권한에 따른 로그인 정보 가져오기
//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);
// 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);
//세부과정 목록 조회
return "web/my/myNotifyMngDetail";
}
@RequestMapping(value = { "/web/my/myQnaMngDetail.do"})
public String myQnaMngDetail(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
@ -445,4 +454,40 @@ public class MyPageController {
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;
}
}

View File

@ -3,6 +3,7 @@ package kcc.let.uss.notify.service;
import java.util.List;
import egovframework.rte.fdl.cmmn.exception.FdlException;
import kcc.com.cmm.LoginVO;
/**
*
@ -34,13 +35,29 @@ public interface NotifyManageService {
void mngDel(NotifyManageVO notifyManageVO);
void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException;
void insertNotifyEduForAdmin(LoginVO loginVO, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException;
void insertNotifyClsrmForAdmin(String userId, String eduAplctOrd, String lctrDivCd) throws FdlException;
void insertNotifyClsrmForAdmin(LoginVO loginVO, String eduAplctOrd, String lctrDivCd) throws FdlException;
List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO);
NotifyManageVO findById(NotifyManageVO notifyManageVO);
void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd);
void insertNotifyAprvlCdForUser(LoginVO loginVO, String eduAplctOrd, String lctrDivCd, String aprvlCd) throws FdlException;
void insertNotifyAprvlCd5060ForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List<String> eduAplctOrdList, String aprvlCd)
throws FdlException;
void insertNotifyAprvlCd5060CmpltForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List<String> eduAplctOrdList, String aprvlCd)
throws FdlException;
void insertNotifyForInstr5060(LoginVO loginVO, String prcsAplctPrdOrd, String asgnmAprvlCd, String userId) throws FdlException;
void insertNotifyAsgnmCnfrmForInstr(LoginVO loginVO, String eduAplctOrd, String eduChasiOrd, String asgnmAprvlCd) throws FdlException;
}

View File

@ -50,8 +50,8 @@ public class NotifyManageDAO extends EgovAbstractDAO {
update("VEANotifyMngDAO.mngDel", notifyManageVO);
}
public void insertNotifyEduForAdmin(NotifyManageVO notifyManageVO) {
insert("VEANotifyDAO.insertNotifyEduForAdmin", notifyManageVO);
public void insertNotifyInfo(NotifyManageVO notifyManageVO) {
insert("VEANotifyDAO.insertNotifyInfo", notifyManageVO);
}
public List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO) {
@ -66,5 +66,17 @@ public class NotifyManageDAO extends EgovAbstractDAO {
update("VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd", cmmNotifyOrd);
}
public String findByUserIdFromVE_EDU_APLCT(String eduAplctOrd) {
return (String) select("VEANotifyDAO.findByUserIdFromVE_EDU_APLCT", eduAplctOrd);
}
public String findByLctrDivCdFromVePrcsAplctPrd(String prcsAplctPrdOrd) {
return (String) select("VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd", prcsAplctPrdOrd);
}
public String selectNotifyInstr(NotifyManageVO notifyManageVO) {
return (String) select("VEANotifyDAO.selectNotifyInstr", notifyManageVO);
}
}

View File

@ -4,11 +4,15 @@ import java.util.List;
import javax.annotation.Resource;
import org.apache.ibatis.javassist.compiler.ast.Symbol;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.cmmn.exception.FdlException;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovCmmUseService;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
@ -39,6 +43,10 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
//교육과정순번
@Resource(name="veaCmmNotifyMngOrdGnrService")
private EgovIdGnrService veaCmmNotifyOrdGnrService;
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService egovCmmUseService;
@Override
public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
@ -75,7 +83,7 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
* @청소년 찾교 사용자 등록 -> 관리자 알림
*/
@Override
public void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException {
public void insertNotifyEduForAdmin(LoginVO loginVO, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException {
// 담당자 ID 가져오기
@ -91,23 +99,22 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
NotifyManageVO notifyManageVO = new NotifyManageVO();
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setLctrDivCd(lctrDivCd);
notifyManageVO.setNotifyCn("["+userId+"]["+eduChasiOrdList.size()+"개 차시] 교육신청을 하였습니다.");
notifyManageVO.setNotifyCn("["+loginVO.getId()+"]["+eduChasiOrdList.size()+"개 차시] 교육신청을 하였습니다.");
String notifyPath = "";
if("10".equals(lctrDivCd))
if("10".equals(lctrDivCd)) // 청소년
notifyPath = "/kccadr/oprtn/tngrVisitEdu/eduAplctMngDetail.do";
if("20".equals(lctrDivCd))
if("20".equals(lctrDivCd)) // 찾교
notifyPath = "/kccadr/oprtn/adultVisitEdu/eduAplctMngDetail.do";
if("30".equals(lctrDivCd))
notifyPath = "/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.do";
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(eduAplctOrd);
notifyManageVO.setEduChasiOrd(eduChasiOrdList.toString());
notifyManageVO.setFrstRegisterId(userId);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
for(NotifyManageVO vo : notifyManageListVO) {
notifyManageVO.setToUserId(vo.getMngUserId());
notifyManageDAO.insertNotifyEduForAdmin(notifyManageVO);
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
// }
@ -117,7 +124,7 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
* @체험교실 사용자 등록 -> 관리자 알림
*/
@Override
public void insertNotifyClsrmForAdmin(String userId, String eduAplctOrd, String lctrDivCd) throws FdlException {
public void insertNotifyClsrmForAdmin(LoginVO loginVO, String eduAplctOrd, String lctrDivCd) throws FdlException {
// 담당자 ID 가져오기
@ -132,20 +139,236 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
NotifyManageVO notifyManageVO = new NotifyManageVO();
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setLctrDivCd(lctrDivCd);
notifyManageVO.setNotifyCn("["+userId+"] 교육신청을 하였습니다.");
notifyManageVO.setNotifyCn("["+loginVO.getId()+"] 교육신청을 하였습니다.");
String notifyPath = "";
notifyPath = "/kccadr/oprtn/cpyrgExprnClsrm/oprtnAplctMngDetail.do";
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(eduAplctOrd);
notifyManageVO.setFrstRegisterId(userId);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
for(NotifyManageVO vo : notifyManageListVO) {
notifyManageVO.setToUserId(vo.getMngUserId());
notifyManageDAO.insertNotifyEduForAdmin(notifyManageVO);
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
}
// 관리자가 사용자 신청 값을 수정하면 알림 등록
@Override
public void insertNotifyAprvlCdForUser(LoginVO loginVO, String eduAplctOrd, String lctrDivCd, String aprvlCd) throws FdlException {
// 상태 변경된 교육의 USERID 가져오기
NotifyManageVO notifyManageVO = new NotifyManageVO();
// 교육 담당자 조회 - 노티 받을 대상
notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd));
// pk
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setLctrDivCd(lctrDivCd);
// 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출
String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011");
// 상태값 text
String aprvlNm = this.getCodeNm(aprvlCd, "VE0003");
notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다.");
String notifyPath = "";
if( "10".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/tngrVisitEdu/eduAplct/eduAplctDetail.do";
}
else if( "20".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do";
}
else if( "30".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/exprnClsrmAplctDetail.do";
}
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(eduAplctOrd);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
// 관리자가 사용자 신청 값을 수정하면 알림 등록
@Override
public void insertNotifyAprvlCd5060ForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List<String> eduAplctOrdList, String aprvlCd) throws FdlException {
// 상태 변경된 교육의 USERID 가져오기
NotifyManageVO notifyManageVO = new NotifyManageVO();
// 교육 담당자 조회 - 노티 받을 대상
// pk
notifyManageVO.setLctrDivCd(lctrDivCd);
// 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출
String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011");
// 상태값 text
String aprvlNm = this.getCodeNm(aprvlCd, "VE0003");
notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다.");
String notifyPath = "";
if( "50".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do";
}
else if( "60".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/sspnIdtmt/eduAplctDetail.do";
}
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd); //50, 60은 pk값이 다름
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
for(String eduAplctOrd : eduAplctOrdList) {
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd));
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
}
@Override
public void insertNotifyAprvlCd5060CmpltForUser(LoginVO loginVO, String prcsAplctPrdOrd, String lctrDivCd, List<String> eduAplctOrdList, String aprvlCd) throws FdlException {
// 상태 변경된 교육의 USERID 가져오기
NotifyManageVO notifyManageVO = new NotifyManageVO();
// 교육 담당자 조회 - 노티 받을 대상
// pk
notifyManageVO.setLctrDivCd(lctrDivCd);
// 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출
String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011");
// 상태값 text
String aprvlNm = this.getCodeNm(aprvlCd, "VEA003");
notifyManageVO.setNotifyCn("["+lctrDivNm+"]교육 상태값이 "+aprvlNm+"(으)로 변경되었습니다.");
String notifyPath = "";
if( "50".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/fndtnEnhanceTrn/eduAplctDetail.do";
}
else if( "60".equals(lctrDivCd) ) {
notifyPath = "/web/ve/aplct/sspnIdtmt/eduAplctDetail.do";
}
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd); //50, 60은 pk값이 다름
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
for(String eduAplctOrd : eduAplctOrdList) {
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setToUserId(notifyManageDAO.findByUserIdFromVE_EDU_APLCT(eduAplctOrd));
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
}
@Override
public void insertNotifyForInstr5060(LoginVO loginVO, String prcsAplctPrdOrd, String asgnmAprvlCd, String userId) throws FdlException {
// 상태 변경된 교육의 USERID 가져오기
NotifyManageVO notifyManageVO = new NotifyManageVO();
// 교육 담당자 조회 - 노티 받을 대상
// pk
String lctrDivCd = notifyManageDAO.findByLctrDivCdFromVePrcsAplctPrd(prcsAplctPrdOrd);
notifyManageVO.setLctrDivCd(lctrDivCd);
// 청소년 , 성인 , 기소 , 기반 공통코드로 test 추출
String lctrDivNm = this.getCodeNm(lctrDivCd, "VE0011");
// 상태값 text
String aprvlNm = this.getCodeNm(asgnmAprvlCd, "VEA011");
notifyManageVO.setNotifyCn("["+lctrDivNm+"]강사 신청 상태가 "+aprvlNm+"(으)로 변경되었습니다.");
String notifyPath = "";
if( "50".equals(lctrDivCd) ) {
notifyPath = "/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmDetail.do";
}
else if( "60".equals(lctrDivCd) ) {
notifyPath = "/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmDetail.do";
}
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(prcsAplctPrdOrd);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setToUserId(userId);
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
/*
* @
*/
@Override
public void insertNotifyAsgnmCnfrmForInstr(LoginVO loginVO, String eduAplctOrd, String eduChasiOrd, String asgnmAprvlCd) throws FdlException {
NotifyManageVO notifyManageVO = new NotifyManageVO();
notifyManageVO.setEduAplctOrd(eduAplctOrd);
notifyManageVO.setEduChasiOrd(eduChasiOrd);
String toUserId = notifyManageDAO.selectNotifyInstr(notifyManageVO);
// 상태값 text
String asgnmAprvlNm = this.getCodeNm(asgnmAprvlCd, "VE0019");
notifyManageVO.setNotifyCn("강사 상태가 "+asgnmAprvlNm+"(으)로 변경되었습니다.");
// 청소년 성인구분
String lctrDivCd = notifyManageDAO.findByLctrDivCdFromVePrcsAplctPrd(eduAplctOrd);
notifyManageVO.setLctrDivCd(lctrDivCd);
if("10".equals(lctrDivCd))
notifyManageVO.setNotifyPath("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do");
else if("20".equals(lctrDivCd))
notifyManageVO.setNotifyPath("/web/ve/instr/adultVisitEdu/asgnmInfo/instrAsgnmRqstDetail.do");
notifyManageVO.setNotifyChk("N");
notifyManageVO.setFrstRegisterId(loginVO.getUniqId());
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setToUserId(toUserId);
notifyManageDAO.insertNotifyInfo(notifyManageVO);
}
private String getCodeNm(String code, String codeId) {
ComDefaultCodeVO codeParam = new ComDefaultCodeVO();
codeParam.setCodeId(codeId);
codeParam.setCode(code);
return egovCmmUseService.selectCmmCodeDetailCodeValueOnlyName(codeParam);
}
@Override
public List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO) {
@ -156,5 +379,4 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
public void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd) {
notifyManageDAO.updateNotifyChkWhereCmmNotifyOrd(cmmNotifyOrd);
}
}

View File

@ -164,7 +164,7 @@ public class EduAplctAdultServiceImpl implements EduAplctAdultService {
}
// 성인 교육 신청 성공시 노티 insert
notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
notifyManageService.insertNotifyEduForAdmin(loginVO, eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
return true;

View File

@ -6,6 +6,7 @@ import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@ -27,6 +28,7 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
import kcc.ve.cmm.VeConstants;
@ -105,10 +107,10 @@ public class EduAplctAdultController {
//교육과정신청
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
// 알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//교육과정순번
@Resource(name="prcsGnrService")
@ -258,6 +260,13 @@ public class EduAplctAdultController {
*/
@RequestMapping("eduAplctDetail.do")
public String eduAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
}
//기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);

View File

@ -140,7 +140,7 @@ public class ExprnClsrmAplctServiceImpl implements ExprnClsrmAplctService {
// 저작권 등록
veEduOprtnService.insert(oprtn);
// 성인 교육 신청 성공시 노티 insert
notifyManageService.insertNotifyClsrmForAdmin(loginVO.getMembId(), eduAplctOrd, vEEduAplctVO.getLctrDivCd());
notifyManageService.insertNotifyClsrmForAdmin(loginVO, eduAplctOrd, vEEduAplctVO.getLctrDivCd());
return true;
}

View File

@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@ -29,6 +30,7 @@ import kcc.com.cmm.util.DateUtil;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ExprnClsrmAplctService;
import kcc.ve.cmm.VeConstants;
@ -135,6 +137,9 @@ public class ExprnClsrmAplctController {
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
// 알림 service
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 체험교실신청 목록 화면
*/
@ -350,6 +355,11 @@ public class ExprnClsrmAplctController {
@RequestMapping("exprnClsrmAplctDetail.do")
public String exprnClsrmAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
}
//기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectOprtnDetail(vEEduAplctVO);

View File

@ -29,6 +29,7 @@ import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.com.utl.user.service.QustnrCommonUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -118,8 +119,9 @@ public class FndtnEnhanceTrnController {
//과정차시 관리
@Resource(name = "vEPrcsAplctPrdService")
private VEPrcsAplctPrdService vEPrcsAplctPrdService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//교육과정순번
@Resource(name="prcsGnrService")
@ -454,6 +456,18 @@ public class FndtnEnhanceTrnController {
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model
, HttpServletRequest request ) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd());
}
//로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기

View File

@ -274,7 +274,7 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
}
// 성인 교육 신청 성공시 노티 insert
notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
notifyManageService.insertNotifyEduForAdmin(loginVO, eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
return true;
}

View File

@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
@ -24,6 +25,7 @@ import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
@ -145,6 +147,8 @@ public class EduAplctTngrController {
@Resource(name = "vEInstrMixService")
private VEInstrMixService vEInstrMixService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/*
* START
@ -681,7 +685,13 @@ public class EduAplctTngrController {
*/
@RequestMapping("eduAplctDetail.do")
public String eduAplctDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
}
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기

View File

@ -6,6 +6,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -16,6 +17,7 @@ import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
@ -64,6 +66,9 @@ public class VEFndtnAsgnmController {
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/fndtnVisitEdu/asgnmInfo/instrAsgnmList.do")
public String instrAsgnmList(
@ -135,6 +140,12 @@ public class VEFndtnAsgnmController {
, ModelMap model
, HttpServletRequest request
) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd());
}
//로그인 처리====================================
//로그인 정보 가져오기

View File

@ -6,6 +6,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
@ -16,6 +17,7 @@ import kcc.com.cmm.EgovMessageSource;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.asgnmInfo.service.VEAsgnmMIXService;
@ -64,6 +66,10 @@ public class VESspnIdtmtAsgnmController {
@Resource(name = "vEPrcsMIXService")
private VEPrcsMIXService vEPrcsMIXService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
// 기반강화 강의목록(확정)
@RequestMapping("/web/ve/instr/sspnIdtmt/asgnmInfo/instrAsgnmList.do")
public String instrAsgnmList(
@ -138,6 +144,12 @@ public class VESspnIdtmtAsgnmController {
//로그인 처리====================================
//로그인 정보 가져오기
// 확인 체크
if(StringUtils.isNotEmpty(vEPrcsDetailVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEPrcsDetailVO.getCmmNotifyOrd());
}
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기

View File

@ -159,6 +159,8 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
private String avgScore; //평균점수
private String cmmNotifyOrd; //평균점수
public String getMemoCn() {
@ -791,5 +793,11 @@ public class VEInstrAsgnmVO extends ComDefaultVO implements Serializable {
public void setAvgScore(String avgScore) {
this.avgScore = avgScore;
}
public String getCmmNotifyOrd() {
return cmmNotifyOrd;
}
public void setCmmNotifyOrd(String cmmNotifyOrd) {
this.cmmNotifyOrd = cmmNotifyOrd;
}
}

View File

@ -21,6 +21,7 @@ import kcc.com.cmm.LoginVO;
import kcc.com.cmm.util.IpUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.EgovCryptoUtil4VO;
import kcc.let.utl.fcc.service.VisitEduTransUtil;
@ -91,7 +92,11 @@ public class VEAsgnmController {
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//청소년강사 강의 요청 목록
@RequestMapping("/web/ve/instr/tngrVisitEdu/asgnmInfo/instrAsgnmRqstList.do")
public String instrAsgnmRqstList(
@ -324,6 +329,14 @@ public class VEAsgnmController {
try{
System.out.println("adultVisitEdu-endInfo-instrEduEndDetail");
// 확인 체크
if(StringUtils.isNotEmpty(vEInstrAsgnmVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEInstrAsgnmVO.getCmmNotifyOrd());
}
//로그인 처리====================================
//로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
@ -445,6 +458,13 @@ public class VEAsgnmController {
, HttpServletRequest request
) throws Exception {
// 확인 체크
if(StringUtils.isNotEmpty(vEInstrAsgnmVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEInstrAsgnmVO.getCmmNotifyOrd());
}
try{
System.out.println("tngrVisitEdu-asgnmInfo-instrAsgnmDetail");

View File

@ -189,6 +189,8 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String instrFee; //
private String trafficFee; //
private String cmmNotifyOrd; //
@ -916,6 +918,12 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setTrafficFee(String trafficFee) {
this.trafficFee = trafficFee;
}
public String getCmmNotifyOrd() {
return cmmNotifyOrd;
}
public void setCmmNotifyOrd(String cmmNotifyOrd) {
this.cmmNotifyOrd = cmmNotifyOrd;
}
}

View File

@ -218,7 +218,10 @@ public class EduAplctMngAdultController {
public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model ,HttpSession session, HttpServletRequest request ) throws Exception {
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
{
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
}
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;

View File

@ -1,8 +1,8 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.web;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@ -25,12 +25,11 @@ import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.ComDefaultVO;
import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO;
import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.fcc.service.EgovDateUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@ -132,6 +131,10 @@ public class CndtnPrcsInfoMngController {
//과정신청기간순번
@Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 기반강화연수 과정 관리 목록 화면
@ -903,8 +906,25 @@ public class CndtnPrcsInfoMngController {
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduMIXService.updateAplctStateCd(vEEduAplctVO);
// 기소유예 대상자 상태값 udpate
vEEduMIXService.updateEduStateCd(vEEduAplctVO);
// 알림 영역
List<String> eduAplctOrdList = new ArrayList<String>();
eduAplctOrdList.add(vEEduAplctVO.getEduAplctOrd());
vEEduAplctVO.setEduAplctOrdList(eduAplctOrdList);
notifyManageService.insertNotifyAprvlCd5060CmpltForUser(
loginVO
, vEEduAplctVO.getPrcsAplctPrdOrd()
, vEEduAplctVO.getLctrDivCd()
, vEEduAplctVO.getEduAplctOrdList()
, vEEduAplctVO.getAplctStateCd()
);
modelAndView.addObject("result", "success");
} catch (Exception e) {
modelAndView.addObject("result", "");
@ -949,8 +969,6 @@ public class CndtnPrcsInfoMngController {
, HttpServletRequest request
) throws Exception {
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
@ -968,6 +986,25 @@ public class CndtnPrcsInfoMngController {
// 교육 신청 테이블에 신청자 상태값 update
vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO);
/*var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
*/
notifyManageService.insertNotifyAprvlCd5060ForUser(
loginVO
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, vEPrcsDetailVO.getLctrDivCd()
, vEPrcsDetailVO.getEduAplctOrdList()
, vEPrcsDetailVO.getAprvlCd()
);
// 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함
if("20".equals(vEPrcsDetailVO.getAprvlCd())) {
this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId());
@ -1048,9 +1085,20 @@ public class CndtnPrcsInfoMngController {
vEAPrcsAplctPrdInstrAsgnmService.updateAplctStateCdListAjax(vEPrcsDetailVO);
}
// 교육 신청 테이블에 신청자 상태값 update
notifyManageService.insertNotifyAprvlCd5060CmpltForUser(
loginVO
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, vEPrcsDetailVO.getLctrDivCd()
, vEPrcsDetailVO.getEduAplctOrdList()
, vEPrcsDetailVO.getAprvlCd()
);
// 교육 신청 테이블에 신청자 상태값 update
if(vEPrcsDetailVO.getSspnIdtmtTrgtOrdList() != null && !vEPrcsDetailVO.getSspnIdtmtTrgtOrdList().isEmpty())
{
// 대상자 테이블에 update
@ -1412,7 +1460,8 @@ public class CndtnPrcsInfoMngController {
//선택한 강사 데이터 등록 처리
vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO);
notifyManageService.insertNotifyForInstr5060(loginVO, vEAPrcsAplctPrdInstrAsgnmVO.getPrcsAplctPrdOrd(), vEAPrcsAplctPrdInstrAsgnmVO.getAsgnmAprvlCd(), vEAPrcsAplctPrdInstrAsgnmVO.getUserId());
} catch (Exception ex) {

View File

@ -1,281 +1,295 @@
package kcc.ve.oprtn.comweb;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
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 egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserManageVO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
import kcc.ve.cmm.VeSendMail;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
@Controller
@RequestMapping("/kccadr/oprtn/comm")
public class CommonManageWebController {
@Resource(name = "scholInfoService")
private ScholInfoService scholInfoService;
@Resource(name = "scholInfoMIXService")
private ScholInfoMIXService scholInfoMIXService;
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
@Resource(name = "vEPrcsOnlnCntntService")
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//snd_hstry id gen
@Resource(name = "sndGnrService")
private EgovIdGnrService sndGnrService;
// 교육신청발송이력
@Resource(name = "vEEduAplctSndHstryService")
private VEEduAplctSndHstryService vEEduAplctSndHstryService;
//회원조회
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
//강의 회차 정보
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
/**
* 학교정보 검색 팝업 리스트
*/
@RequestMapping("popup/scholPopList.do")
public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception {
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex());
paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit());
paginationInfo.setPageSize(5);
// paging step2
scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex());
scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
scholInfoVO.setSearchSortCnd("schol_nm");
scholInfoVO.setSearchSortOrd("desc");
}
//검색 조건
String selectCondition = new String();
if (!"".equals(scholInfoVO.getSearchKeyword())) {
selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ";
}
//2.2 학교종류
/*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){
selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')";
}*/
if (!"".equals(scholInfoVO.getSearchCondition())) {
if(scholInfoVO.getSearchCondition().equals("10")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' ";
}else if(scholInfoVO.getSearchCondition().equals("20")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' ";
}else if(scholInfoVO.getSearchCondition().equals("30")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' ";
}else if(scholInfoVO.getSearchCondition().equals("40")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' ";
}else if(scholInfoVO.getSearchCondition().equals("50")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' ";
}
}
scholInfoVO.setSelectPagingListQuery(selectCondition);
List<ScholInfoVO> scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO);
//3.paging step3
int totCnt = 0;
if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt();
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("scholList", scholInfoVOList);
return "oprtn/cmm/scholPopListBower";
}
/**
* 학교정보 검색 팝업 리스트
*/
@RequestMapping("popup/rejectPopup.do")
public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
return "oprtn/cmm/rejectPopup";
}
@RequestMapping(value="/eduAplctStatusAjax.do")
public ModelAndView eduAplctStatusAjax(HttpServletRequest request
, ModelMap model
, VEEduAplctVO vEEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//권한에 따른 로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
int rs = vEEduAplctService.statusUpdate(vEEduAplctVO);
//교육콘텐츠 교육승인 상태로 변경 메일발송
if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) {
VeSendMail sendMail = new VeSendMail();
vEEduAplctVO.setSndCd("20");
//메일발송
String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO);
if("success".equals(mailResult)) {
//메일 발송 로그
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);
vEEduAplctVO.setSndId(loginVO.getUniqId());
vEEduAplctSndHstryService.insert(vEEduAplctVO);
}
}
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
//교육신청 리스트에서 일괄 상태변경 처리
@RequestMapping(value="/eduAplctStatusListAjax.do")
public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
int rs = 0;
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
String[] splitChk = veEduAplctVO.getChk().split(",");
for(int i=0; i<splitChk.length; i++) {
if(!"".equals(splitChk[i])) {
System.out.println(veEduAplctVO.getAprvlCd());
if ("230N".equals(veEduAplctVO.getAprvlCd())) {
//is wait 제거 하는데 사용한다.
VEEduAplctVO p_veEduAplctVO = new VEEduAplctVO();
p_veEduAplctVO.setEduAplctOrd(splitChk[i]);
p_veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
p_veEduAplctVO.setIsWait("N");
vEEduAplctService.updateIsWait(p_veEduAplctVO);
rs++;
}else if ("230Y".equals(veEduAplctVO.getAprvlCd())) {
//is wait 제거 하는데 사용한다.
VEEduAplctVO p_veEduAplctVO = new VEEduAplctVO();
p_veEduAplctVO.setEduAplctOrd(splitChk[i]);
p_veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
p_veEduAplctVO.setIsWait("Y");
vEEduAplctService.updateIsWait(p_veEduAplctVO);
rs++;
}else {
veEduAplctVO.setEduAplctOrd(splitChk[i]);
veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduAplctService.statusUpdate(veEduAplctVO);
rs++;
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "fail");
}
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/popup/selectPrcsDetailList.do")
public String selectPrcsDetailList(@ModelAttribute("vEEduAplctVO") VEPrcsCntntVO vePrcsCntntVO, ModelMap model, HttpServletRequest request) throws Exception{
//로그인 정보 가져오기
model.addAttribute("list", vEPrcsOnlnCntntService.selectList(vePrcsCntntVO));
return "/web/ve/comm/selectPrcsDetailList";
}
/**
* 회원 검색 팝업 리스트
*/
@RequestMapping("popup/userPopList.do")
public String userPopList(@ModelAttribute("searchVO") UserManageVO userManageVO , ModelMap model , HttpServletRequest request ) throws Exception {
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(userManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(userManageVO.getPageUnit());
paginationInfo.setPageSize(10);
// paging step2
userManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
userManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
userManageVO.setRecordCountPerPage(10);
if("".equals(userManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
userManageVO.setSearchSortCnd("mber_id");
userManageVO.setSearchSortOrd("asc");
}
List<UserManageVO> userList = userManageService.selectOffeduUserList(userManageVO);
//3.paging step3
int totCnt = 0;
if(userList.size() > 0) totCnt = userList.get(0).getTotCnt();
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("userList", userList);
return "oprtn/cmm/userPopListBower";
}
/**
* 회차 검색 팝업 리스트
*/
@RequestMapping("popup/rndsPopList.do")
public String rndsPopList(
@ModelAttribute("searchVO") VEAStngVO vEAStngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//VEAStngVO vEAStngVO = new VEAStngVO();
List<VEAStngVO> rndsList = vEAStngService.selectList_VEALRS(vEAStngVO);
//회차 정보리스트
model.addAttribute("rndsList", rndsList);
return "oprtn/cmm/rndsPopList";
}
}
package kcc.ve.oprtn.comweb;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
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 egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.LoginVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserManageVO;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoMIXService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
import kcc.ve.cmm.VeSendMail;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctSndHstryService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsCntntVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsOnlnCntntService;
@Controller
@RequestMapping("/kccadr/oprtn/comm")
public class CommonManageWebController {
@Resource(name = "scholInfoService")
private ScholInfoService scholInfoService;
@Resource(name = "scholInfoMIXService")
private ScholInfoMIXService scholInfoMIXService;
@Resource(name = "vEEduAplctService")
private VEEduAplctService vEEduAplctService;
@Resource(name = "vEPrcsOnlnCntntService")
private VEPrcsOnlnCntntService vEPrcsOnlnCntntService;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
//snd_hstry id gen
@Resource(name = "sndGnrService")
private EgovIdGnrService sndGnrService;
// 교육신청발송이력
@Resource(name = "vEEduAplctSndHstryService")
private VEEduAplctSndHstryService vEEduAplctSndHstryService;
//회원조회
@Resource(name = "userManageService")
private EgovUserManageService userManageService;
//강의 회차 정보
@Resource(name = "vEAStngService")
private VEAStngService vEAStngService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 학교정보 검색 팝업 리스트
*/
@RequestMapping("popup/scholPopList.do")
public String exprnClsrmAplctList(@ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception {
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(scholInfoVO.getPageIndex());
paginationInfo.setRecordCountPerPage(scholInfoVO.getPageUnit());
paginationInfo.setPageSize(5);
// paging step2
scholInfoVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
scholInfoVO.setLastIndex(paginationInfo.getLastRecordIndex());
scholInfoVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
if("".equals(scholInfoVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
scholInfoVO.setSearchSortCnd("schol_nm");
scholInfoVO.setSearchSortOrd("desc");
}
//검색 조건
String selectCondition = new String();
if (!"".equals(scholInfoVO.getSearchKeyword())) {
selectCondition += " AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ";
}
//2.2 학교종류
/*if(StringUtil.isNotEmpty(scholInfoVO.getSearchCondition())){
selectCondition += "AND DECODE(schol_grade_nm, '초등학교','10', '중학교','20', '고등학교','30',IF (INSTR(schol_grade_nm,'각종학교')>0,'40','50')) IN ('"+scholInfoVO.getSearchCondition()+"')";
}*/
if (!"".equals(scholInfoVO.getSearchCondition())) {
if(scholInfoVO.getSearchCondition().equals("10")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%초등%' ";
}else if(scholInfoVO.getSearchCondition().equals("20")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%중학%' ";
}else if(scholInfoVO.getSearchCondition().equals("30")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%고등%' ";
}else if(scholInfoVO.getSearchCondition().equals("40")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%특수%' ";
}else if(scholInfoVO.getSearchCondition().equals("50")) {
selectCondition += " AND A.SCHOL_GRADE_NM LIKE '%각종%' ";
}
}
scholInfoVO.setSelectPagingListQuery(selectCondition);
List<ScholInfoVO> scholInfoVOList = scholInfoMIXService.selectPagingList(scholInfoVO);
//3.paging step3
int totCnt = 0;
if(scholInfoVOList.size() > 0) totCnt = scholInfoVOList.get(0).getTotCnt();
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("scholList", scholInfoVOList);
return "oprtn/cmm/scholPopListBower";
}
/**
* 학교정보 검색 팝업 리스트
*/
@RequestMapping("popup/rejectPopup.do")
public String rejectPopup(@ModelAttribute("veEduAplctVO") VEEduAplctVO veEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
return "oprtn/cmm/rejectPopup";
}
@RequestMapping(value="/eduAplctStatusAjax.do")
public ModelAndView eduAplctStatusAjax(HttpServletRequest request
, ModelMap model
, VEEduAplctVO vEEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//권한에 따른 로그인 정보 가져오기
LoginVO loginVO = checkLoginUtil.getAuthLoginVO();
vEEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
int rs = vEEduAplctService.statusUpdate(vEEduAplctVO);
//교육콘텐츠 교육승인 상태로 변경 메일발송
if("40".equals(vEEduAplctVO.getLctrDivCd()) && "20".equals(vEEduAplctVO.getAprvlCd())) {
VeSendMail sendMail = new VeSendMail();
vEEduAplctVO.setSndCd("20");
//메일발송
String mailResult = sendMail.VeSendMail("W", vEEduAplctVO.getEmail(), vEEduAplctVO);
if("success".equals(mailResult)) {
//메일 발송 로그
String snd_ord = sndGnrService.getNextStringId();
vEEduAplctVO.setSndHstryOrd(snd_ord);
vEEduAplctVO.setSndId(loginVO.getUniqId());
vEEduAplctSndHstryService.insert(vEEduAplctVO);
}
}
// 알림 insert
if(
"10".equals(vEEduAplctVO.getLctrDivCd())
|| "20".equals(vEEduAplctVO.getLctrDivCd())
|| "30".equals(vEEduAplctVO.getLctrDivCd())
)
{
notifyManageService.insertNotifyAprvlCdForUser(loginVO, vEEduAplctVO.getEduAplctOrd(), vEEduAplctVO.getLctrDivCd(), vEEduAplctVO.getAprvlCd());
}
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
//교육신청 리스트에서 일괄 상태변경 처리
@RequestMapping(value="/eduAplctStatusListAjax.do")
public ModelAndView eduAplctStatusListAjax(HttpServletRequest request , ModelMap model , VEEduAplctVO veEduAplctVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
int rs = 0;
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
try {
String[] splitChk = veEduAplctVO.getChk().split(",");
for(int i=0; i<splitChk.length; i++) {
if(!"".equals(splitChk[i])) {
System.out.println(veEduAplctVO.getAprvlCd());
if ("230N".equals(veEduAplctVO.getAprvlCd())) {
//is wait 제거 하는데 사용한다.
VEEduAplctVO p_veEduAplctVO = new VEEduAplctVO();
p_veEduAplctVO.setEduAplctOrd(splitChk[i]);
p_veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
p_veEduAplctVO.setIsWait("N");
vEEduAplctService.updateIsWait(p_veEduAplctVO);
rs++;
}else if ("230Y".equals(veEduAplctVO.getAprvlCd())) {
//is wait 제거 하는데 사용한다.
VEEduAplctVO p_veEduAplctVO = new VEEduAplctVO();
p_veEduAplctVO.setEduAplctOrd(splitChk[i]);
p_veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
p_veEduAplctVO.setIsWait("Y");
vEEduAplctService.updateIsWait(p_veEduAplctVO);
rs++;
}else {
veEduAplctVO.setEduAplctOrd(splitChk[i]);
veEduAplctVO.setLastUpdusrId(loginVO.getUniqId());
vEEduAplctService.statusUpdate(veEduAplctVO);
rs++;
}
}
}
} catch (Exception ex) {
ex.printStackTrace();
modelAndView.addObject("result", "fail");
}
modelAndView.addObject("rsCnt", rs);
modelAndView.addObject("result", "success");
return modelAndView;
}
@RequestMapping("/popup/selectPrcsDetailList.do")
public String selectPrcsDetailList(@ModelAttribute("vEEduAplctVO") VEPrcsCntntVO vePrcsCntntVO, ModelMap model, HttpServletRequest request) throws Exception{
//로그인 정보 가져오기
model.addAttribute("list", vEPrcsOnlnCntntService.selectList(vePrcsCntntVO));
return "/web/ve/comm/selectPrcsDetailList";
}
/**
* 회원 검색 팝업 리스트
*/
@RequestMapping("popup/userPopList.do")
public String userPopList(@ModelAttribute("searchVO") UserManageVO userManageVO , ModelMap model , HttpServletRequest request ) throws Exception {
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(userManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(userManageVO.getPageUnit());
paginationInfo.setPageSize(10);
// paging step2
userManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
userManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
userManageVO.setRecordCountPerPage(10);
if("".equals(userManageVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
userManageVO.setSearchSortCnd("mber_id");
userManageVO.setSearchSortOrd("asc");
}
List<UserManageVO> userList = userManageService.selectOffeduUserList(userManageVO);
//3.paging step3
int totCnt = 0;
if(userList.size() > 0) totCnt = userList.get(0).getTotCnt();
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("userList", userList);
return "oprtn/cmm/userPopListBower";
}
/**
* 회차 검색 팝업 리스트
*/
@RequestMapping("popup/rndsPopList.do")
public String rndsPopList(
@ModelAttribute("searchVO") VEAStngVO vEAStngVO
, ModelMap model
, HttpServletRequest request
) throws Exception {
//VEAStngVO vEAStngVO = new VEAStngVO();
List<VEAStngVO> rndsList = vEAStngService.selectList_VEALRS(vEAStngVO);
//회차 정보리스트
model.addAttribute("rndsList", rndsList);
return "oprtn/cmm/rndsPopList";
}
}

View File

@ -23,6 +23,7 @@ import javax.servlet.http.HttpSession;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -235,7 +236,9 @@ public class OprtnAplctMngController {
@RequestMapping("oprtnAplctMngDetail.do")
public String oprtnAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpSession session, HttpServletRequest request ) throws Exception {
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;

View File

@ -28,6 +28,7 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.olp.qri.service.EgovQustnrRespondInfoService;
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -142,6 +143,15 @@ public class FndthPrcsAplctPrdMngController {
@Resource(name = "egovQustnrRespondInfoService")
private EgovQustnrRespondInfoService egovQustnrRespondInfoService;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/*
// 교육신청 서비스단
@ -906,6 +916,8 @@ public class FndthPrcsAplctPrdMngController {
//선택한 강사 데이터 등록 처리
vEAPrcsAplctPrdInstrAsgnmVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEAPrcsAplctPrdInstrAsgnmService.instrInsert(vEAPrcsAplctPrdInstrAsgnmVO);
notifyManageService.insertNotifyForInstr5060(loginVO, vEAPrcsAplctPrdInstrAsgnmVO.getPrcsAplctPrdOrd(), vEAPrcsAplctPrdInstrAsgnmVO.getAsgnmAprvlCd(), vEAPrcsAplctPrdInstrAsgnmVO.getUserId());
} catch (Exception ex) {
ex.printStackTrace();
}
@ -927,7 +939,6 @@ public class FndthPrcsAplctPrdMngController {
, HttpServletRequest request
) throws Exception {
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
@ -946,6 +957,15 @@ public class FndthPrcsAplctPrdMngController {
// 교육 신청 테이블에 신청자 상태값 update
vEAPrcsAplctPrdInstrAsgnmService.udpateAprvlCdEduAplct(vEPrcsDetailVO);
notifyManageService.insertNotifyAprvlCd5060ForUser(
loginVO
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, vEPrcsDetailVO.getLctrDivCd()
, vEPrcsDetailVO.getEduAplctOrdList()
, vEPrcsDetailVO.getAprvlCd()
);
// 승인 - 승인일 경우 vea_aplct_detail_info TB에 넣어줘야함
if("20".equals(vEPrcsDetailVO.getAprvlCd())) {
this.aprvlCd20(vEPrcsDetailVO,loginVO.getUniqId());

View File

@ -414,8 +414,8 @@ public class EduAplctMngTngrController {
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
System.out.println("vEEduAplctVO.getCmmNotifyOrd() : "+ vEEduAplctVO.getCmmNotifyOrd());
if(StringUtils.isNotEmpty(vEEduAplctVO.getCmmNotifyOrd()))
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
//기본데이터 불러오기

View File

@ -28,6 +28,7 @@ import kcc.com.cmm.service.EgovFileMngUtil;
import kcc.com.cmm.spring.data.util.ExcelUtil;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.cmm.CmmUtil;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.let.utl.fcc.service.VEPagingUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
@ -155,7 +156,11 @@ public class EduCnfrmMngTngrController {
//강의설정 관리(MIX)
@Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 교육확정관리 목록 화면
*/
@ -568,6 +573,14 @@ public class EduCnfrmMngTngrController {
vEEduChasiInstrAsgnmService.insertDeadLineDt(vo);
notifyManageService.insertNotifyAsgnmCnfrmForInstr(
loginVO
, vo.getEduAplctOrd()
, vo.getEduChasiOrd()
, vo.getAsgnmAprvlCd()
);
}
}

View File

@ -56,11 +56,14 @@
<include refid="VEANotifyDAO.table_name"/> a
WHERE
a.TO_USER_ID = #toUserId#
ORDER BY
a.NOTIFY_CHK
, a.FRST_REGIST_PNTTM desc
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<insert id="VEANotifyDAO.insertNotifyEduForAdmin" parameterClass="notifyManageVO">
/* VEANotifyDAO.insertNotifyEduForAdmin */
<insert id="VEANotifyDAO.insertNotifyInfo" parameterClass="notifyManageVO">
/* VEANotifyDAO.insertNotifyInfo */
INSERT INTO <include refid="VEANotifyDAO.table_name"/> (
<include refid="VEANotifyDAO.column_name"/>
@ -108,4 +111,39 @@
</update>
<select id="VEANotifyDAO.findByUserIdFromVE_EDU_APLCT" parameterClass="String" resultClass="String">
/* VEANotifyDAO.findByUserIdFromVE_EDU_APLCT */
SELECT
a.user_id as toUserId
FROM
VE_EDU_APLCT a
WHERE a.EDU_APLCT_ORD = #eduAplctOrd#
</select>
<select id="VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd" parameterClass="String" resultClass="String">
/* VEANotifyDAO.findByLctrDivCdFromVePrcsAplctPrd */
SELECT
a.LCTR_DIV_CD as lctrDivCd
FROM
VE_PRCS_APLCT_PRD a
WHERE a.PRCS_APLCT_PRD_ORD = #prcsAplctPrdOrd#
</select>
<select id="VEANotifyDAO.selectNotifyInstr" parameterClass="notifyManageVO" resultClass="String">
/* VEANotifyDAO.selectNotifyInstr */
SELECT
USER_ID as toUserId
FROM
ve_edu_chasi_instr_asgnm
WHERE
edu_aplct_ord = #eduAplctOrd#
AND edu_chasi_ord = #eduChasiOrd#
</select>
</sqlMap>

View File

@ -41,8 +41,6 @@ function fn_goDetail(cmmNotifyOrd){
form.cmmNotifyOrd.value=cmmNotifyOrd;
form.action = "<c:url value='/cmm/main/mainDetail.do'/>";
form.submit();
}
</script>
</head>
@ -102,7 +100,7 @@ function fn_goDetail(cmmNotifyOrd){
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 2%">
<col style="width: 6%">
<col style="width: 15%">
<col style="width: 10%">
</colgroup>
@ -115,20 +113,20 @@ function fn_goDetail(cmmNotifyOrd){
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr onclick="fn_goDetail('${list.cmmNotifyOrd}')" style="cursor: pointer;" >
<td>
<c:if test="${list.notifyChk ne 'Y'}">
<span class="new_icon">NEW</span>
</c:if>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td>
<c:out value="${list.notifyCn}"/>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
<tr onclick="fn_goDetail('${list.cmmNotifyOrd}')" style="cursor: pointer;" >
<td>
<c:if test="${list.notifyChk ne 'Y'}">
<span class="new_icon">NEW</span>
</c:if>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td>
<td>
<c:out value="${list.notifyCn}"/>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>

View File

@ -134,6 +134,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : statusVal,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){

View File

@ -37,6 +37,7 @@
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : aprvlCd,
"aprvlCn" : $("#aprvlCn").val(),
"lctrDivCd" : lctrDivCd
},
dataType:'json',
success:function(returnData){

View File

@ -137,7 +137,8 @@
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
commAjax(dataToSend);
}
@ -161,7 +162,8 @@
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
commAjax(dataToSend);
@ -281,6 +283,7 @@
</form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="60"/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">

View File

@ -40,6 +40,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : statusVal,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){

View File

@ -61,6 +61,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : VeConstants.APRVL_CD_20,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){
@ -108,7 +109,8 @@
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N'
"useYn" : 'N' ,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){
@ -138,6 +140,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : statusVal,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){

View File

@ -158,7 +158,8 @@
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/updateEduAplctAprvlCdAjax.do'/>";
@ -225,6 +226,7 @@
<form id="modyfiForm" name="modyfiForm">
<input type="hidden" id="modyDdlnCd" name="ddlnCd" />
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="50"/>
</form>
<form id="instrForm" name="instrForm" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>

View File

@ -106,6 +106,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : statusVal,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){

View File

@ -62,6 +62,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : VeConstants.APRVL_CD_20,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){
@ -109,7 +110,8 @@
url:"${pageContext.request.contextPath}/kccadr/oprtn/comm/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"useYn" : 'N'
"useYn" : 'N',
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){
@ -139,6 +141,7 @@
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"aprvlCd" : statusVal,
"lctrDivCd" : $("#lctrDivCd").val()
},
dataType:'json',
success:function(returnData){

View File

@ -0,0 +1,133 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/my/myNotifyMngList.do'/>";
listForm.submit();
}
function fn_goDetail(url, lctrDivCd){
var form = '';
if(lctrDivCd == '50' || lctrDivCd == '60')
{
form = document.goForm5060 ;
}
else if($('#lctrDivCd').val() == "") // 강사
{
form = document.goInstrForm ;
}
else
{
form = document.goForm ;
}
form.action = url;
console.log(url);
form.submit();
}
</script>
<form name="listForm" method="POST">
<input type="hidden" name="pageIndex" value="1"/>
</form>
<form id="goInstrForm" name="goInstrForm" method="post" method="POST">
<input type="hidden" name="cmmNotifyOrd" id="cmmNotifyOrd" value="${info.cmmNotifyOrd}">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}">
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd" value="${info.eduChasiOrd}">
</form>
<form id="goForm" name="goForm" method="post" method="POST">
<input type="hidden" name="cmmNotifyOrd" id="cmmNotifyOrd" value="${info.cmmNotifyOrd}">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}">
</form>
<form id="goForm5060" name="goForm5060" method="post" method="POST">
<input type="hidden" name="cmmNotifyOrd" id="cmmNotifyOrd" value="${info.cmmNotifyOrd}">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="${info.eduAplctOrd}">
</form>
<input type="hidden" id="lctrDivCd" name="lctrDivCd" value="${info.lctrDivCd }" />
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>내 알림 상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="tb_type01 tb_write">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<c:if test="${not empty info.lctrDivCd}">
<tr>
<th scope="row">분류</th>
<td>
<ve:code codeId="VE0011" code="${info.lctrDivCd}"/>
</td>
</tr>
</c:if>
<tr>
<th scope="row">알림 메세지</th>
<td>
${info.notifyCn }
</td>
</tr>
<tr>
<th scope="row">바로가기</th>
<td>
<div class="btn_wrap btn_layout01">
<button type="button" class="btnType04" onclick="fn_goDetail('<c:url value="${info.notifyPath }" />', '<c:url value="${info.lctrDivCd }" />'); return false;">바로가기</button>
</div>
</td>
</tr>
</tbody>
</table>
<!-- //list_상세 -->
<!-- 비공개 메보 정보 -->
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" id="regBtn" class="btnType04" onclick="linkPage(1)">목록</button>
</div>
</div>
</div>

View File

@ -0,0 +1,141 @@
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
$('#searchStatus').change(function(){
fncGoList();
});
});
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/web/my/myNotifyMngList.do'/>";
listForm.submit();
}
function fn_goDetail(cmmNotifyOrd){
console.log('cmmNotifyOrd : ', cmmNotifyOrd);
var form = document.detailForm ;
form.cmmNotifyOrd.value=cmmNotifyOrd;
form.action = "<c:url value='/web/my/myNotifyMngDetail.do'/>";
form.submit();
}
</script>
<!-- content -->
<div class="cont_wrap" id="sub">
<form id="detailForm" name="detailForm" method="POST">
<input type="hidden" id="cmmNotifyOrd" name="cmmNotifyOrd" value=""/>
</form>
<form:form id="listForm" name="listForm" commandName="notifyManageVO">
<input type="hidden" name="pageIndex" value="<c:out value='${notifyManageVO.pageIndex}' default='1' />"/>
<div class="cont_tit">
<h2>내 알림</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="list_top">
<div class="list_top_left">
<label for="searchStatus2" class="label">신청상태 선택</label>
<select class="selType1" id="searchStatus" name="searchStatus">
<option value="">답변여부</option>
<option ${notifyManageVO.searchStatus eq 'Y' ? 'selected' : ''} value="Y">완료</option>
<option ${notifyManageVO.searchStatus eq 'N' ? 'selected' : ''} value="N">미완료</option>
</select>
</div>
</div>
<!-- list -->
<div class="tb_list01">
<table>
<caption>내 알림 목록</caption>
<colgroup>
<col style="width:10%;">
<col style="width:13%;">
<col style="width:13%;">
</colgroup>
<thead>
<tr>
<th>분야</th>
<th>메세지</th>
<th>등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}">
<tr onclick="fn_goDetail('${list.cmmNotifyOrd}')" style="cursor: pointer;" >
<td>
<c:if test="${list.notifyChk ne 'Y'}">
<span class="mypage_new">NEW</span>
</c:if>
<c:choose>
<c:when test="${empty list.lctrDivCd}">
-
</c:when>
<c:otherwise>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.notifyCn}"/>
</td>
<td>
<c:out value="${list.frstRegistPnttm}"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btnType01" onclick="location.href='<c:url value="/web/my/myPageDashBoard.do" />'">마이페이지</button>
</div>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</form:form>
</div>

View File

@ -81,11 +81,12 @@
<button type="button" title="새창열림" onclick="window.open('http://www.facebook.com/koreacopyright')"><img
src="/offedu/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
</div>
<td style="padding: 0 20px;">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/my/myQnaMngList.do'">교육문의 바로가기</button>
</div>
</td>
<td style="padding: 0 20px;">
<div class="btn_wrap">
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/my/myNotifyMngList.do'">알림 바로가기</button>
<button type="button" class="btnType05" onclick="location.href='${pageContext.request.contextPath}/web/my/myQnaMngList.do'">교육문의 바로가기</button>
</div>
</td>
</div>
<ul class="mypage">
@ -181,7 +182,7 @@
<c:forEach var="list" items="${tngrList}" varStatus="status" begin="0" end="2">
<tr onclick="goTngrDetail('<c:out value="${list.eduAplctOrd}"/>', '<c:out value="${list.eduChasiOrd}"/>');">
<!-- <tr > -->
<td><span class="mypage_new">NEW</span>${list.eduHopeDt}</td>
<td>${list.eduHopeDt}</td>
<td><kc:code codeId="VE0007" code="${list.eduSlctCd}"/></td>
<td>
<c:choose>

View File

@ -793,7 +793,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
/*마이페이지_new아이콘 추가*/
/*마이페이지_new아이콘 추가*/
.mypage_wrap .mypage_table .tb_list02 .mypage_new{background-color: #e95504; font-size: 12px; color: #fff; border-radius: 5px; padding: 0 5px 2px 5px; margin: 0 4px 0 -33PX;}
.tb_list01 .mypage_new{background-color: #e95504; font-size: 12px; color: #fff; border-radius: 5px; padding: 0 5px 2px 5px; margin: 0 4px 0 -33PX;}
/*마이페이지_m 추가*/
.mypage_m .mypage_m_list ul{border-top: none;}