This commit is contained in:
myname 2023-12-20 18:17:40 +09:00
commit 869570ff89
46 changed files with 2784 additions and 1877 deletions

View File

@ -24,6 +24,8 @@ 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;
@ -80,6 +82,8 @@ public class MyPageController {
@Resource(name = "fndtnEnhanceTrnService")
private FndtnEnhanceTrnService fndtnEnhanceTrnService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
private static final Logger LOGGER = LoggerFactory.getLogger(MyPageController.class);
@ -307,6 +311,76 @@ 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(
@ -394,4 +468,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,31 @@ 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;
int selectNotifyCnt(String uniqId);
}

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,21 @@ 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);
}
public int selectNotifyCnt(String uniqId) {
return (int) select("VEANotifyDAO.selectNotifyCnt", uniqId);
}
}

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;
@ -40,6 +44,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) {
return notifyManageDAO.selectMngPagingList(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,21 +139,237 @@ 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) {
return notifyManageDAO.selectPagingList(notifyManageVO);
@ -157,4 +380,8 @@ public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements
notifyManageDAO.updateNotifyChkWhereCmmNotifyOrd(cmmNotifyOrd);
}
@Override
public int selectNotifyCnt(String uniqId) {
return notifyManageDAO.selectNotifyCnt(uniqId);
}
}

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;
@ -106,9 +108,9 @@ 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;
@ -119,7 +120,8 @@ 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

@ -26,6 +26,7 @@ import kcc.com.cmm.util.StringUtil;
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.aplct.fndtnEnhanceTrn.service.FndtnEnhanceTrnService;
@ -155,11 +156,12 @@ public class SspnIdtmtController {
@Resource(name="cmmUseDAO")
private CmmUseDAO cmmUseDAO;
//온라인콘텐츠과정 관리
@Resource(name = "sspnIdtmtService")
private SspnIdtmtService sspnIdtmtService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 대시보드 임시
@ -398,6 +400,15 @@ public class SspnIdtmtController {
@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
@ -682,6 +686,12 @@ 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(
@ -136,6 +141,12 @@ public class VEFndtnAsgnmController {
, 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(
@ -139,6 +145,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;
@ -92,6 +93,10 @@ 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

@ -199,6 +199,7 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String qestnrId30;
private String eduPrcsOrd;
private String cmmNotifyOrd; //
@ -968,6 +969,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,5 +1,6 @@
package kcc.ve.oprtn.cndtnSspnIdtmt.web;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
@ -28,6 +29,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.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.sspnIdtmt.service.SspnIdtmtService;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctVO;
@ -130,6 +132,10 @@ public class CndtnPrcsInfoMngController {
@Resource(name="prcsAplctPrdGnrService")
private EgovIdGnrService prcsAplctPrdGnrService;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 기반강화연수 과정 관리 목록 화면
*/
@ -900,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", "");
@ -946,8 +969,6 @@ public class CndtnPrcsInfoMngController {
, HttpServletRequest request
) throws Exception {
System.out.println(vEPrcsDetailVO.getPrcsAplctPrdOrd() +"!!!");
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 처리====================================
@ -965,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());
@ -1046,8 +1086,19 @@ public class CndtnPrcsInfoMngController {
}
// 교육 신청 테이블에 신청자 상태값 update
notifyManageService.insertNotifyAprvlCd5060CmpltForUser(
loginVO
, vEPrcsDetailVO.getPrcsAplctPrdOrd()
, vEPrcsDetailVO.getLctrDivCd()
, vEPrcsDetailVO.getEduAplctOrdList()
, vEPrcsDetailVO.getAprvlCd()
);
// 교육 신청 테이블에 신청자 상태값 update
if(vEPrcsDetailVO.getSspnIdtmtTrgtOrdList() != null && !vEPrcsDetailVO.getSspnIdtmtTrgtOrdList().isEmpty())
{
// 대상자 테이블에 update
@ -1410,6 +1461,7 @@ 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

@ -3,7 +3,6 @@ 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;
@ -16,6 +15,7 @@ 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;
@ -69,6 +69,9 @@ public class CommonManageWebController {
private VEAStngService vEAStngService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/**
* 학교정보 검색 팝업 리스트
*/
@ -163,6 +166,17 @@ public class CommonManageWebController {
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;

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;
@ -156,6 +157,10 @@ public class EduCnfrmMngTngrController {
@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

@ -94,6 +94,7 @@ import kcc.let.sym.prm.service.ProgrmManageVO;
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.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrDetailVO;
import kcc.ve.instr.tngrVisitEdu.instrInfo.service.VEInstrService;
@ -181,6 +182,10 @@ public class MainController {
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//강사 정보
@Resource(name="vEInstrService")
private VEInstrService vEInstrService;
@ -611,6 +616,13 @@ public class MainController {
model.addAttribute("modifyUrl", modifyUrl);
model.addAttribute("environment", environment); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr
if(loginVO != null)
{
int cnt = notifyManageService.selectNotifyCnt(loginVO.getUniqId());
System.out.println("cnt : "+ cnt);
model.addAttribute("notifyCnt", cnt); //로그인, 회원가입 URL 환경에 따른 구분 ex) local, dev, svr
}
return "web/com/webCommonHeader";
}

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,49 @@
</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>
<select id="VEANotifyDAO.selectNotifyCnt" parameterClass="String" resultClass="int">
/* VEANotifyDAO.selectNotifyCnt */
SELECT count(*)
from VEA_CMM_NOTIFY
WHERE TO_USER_ID = #uniqId#
AND NOTIFY_CHK = 'N'
</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}' />"/>
@ -307,7 +309,7 @@
<tr>
<th scope="row">상세교육내용</th>
<td>
<c:out value="${info.prcsCn }" />
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
<tr>

View File

@ -269,7 +269,7 @@
<tr>
<th scope="row">상세교육내용</th>
<td>
<textarea name="prcsCn" id="prcsCn" class="memo" disabled="disabled" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
<tr>

View File

@ -116,7 +116,12 @@
<tr>
<th scope="row">과정설명</th>
<td>
<c:out value='${info.prcsCn}' />
<!-- <div id="bbs_cn"> -->
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
<!-- </div> -->
<%-- <c:out value='${info.prcsCn}' /> --%>
</td>
</tr>
<tr>

View File

@ -235,8 +235,12 @@
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsNm}'/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsCn}'/>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;text-align: left;">
<!-- <div id="bbs_cn"> -->
<c:out value="${fn:replace(list.prcsCn , crlf , '<br/>')}" escapeXml="false" />
<!-- </div> -->
<%-- <c:out value='${list.prcsCn}'/> --%>
</td>
<td>
<c:out value='${list.frstRegistPnttm}'/>

View File

@ -8,6 +8,7 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%>
<%
/**
* @Class Name : fndthEduPrcsMngMdfy.jsp
@ -98,6 +99,7 @@
}
function fncSave(){
CKEDITOR.instances.prcsCn.updateElement();
var data = new FormData(document.getElementById("createForm"));
if(confirm("수정하시겠습니까?")){
@ -215,7 +217,16 @@
<tr>
<th scope="row">상세교육과정</th>
<td>
<textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
<%-- <textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea> --%>
<textarea id="prcsCn" name="prcsCn" title="<spring:message code="cop.nttCn" />" cols="500" rows="20">
<%-- <c:out value="${board.nttCn}" escapeXml="false" /> --%>
<c:out value="${info.prcsCn}" escapeXml="false" />
</textarea>
<ckeditor:replace replace="prcsCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" />
<form:errors path="prcsCn" />
</td>
</tr>

View File

@ -9,6 +9,7 @@
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ckeditor" uri="http://ckeditor.com"%>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
@ -31,76 +32,13 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function addPro() {
var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length;
questLen = Number(questLen+1);
var trHtml="";
trHtml += '<div class="tbody_one">';
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
trHtml += '<div>';
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
trHtml += '</div>';
trHtml += '</div>';
addQuest.append(trHtml);
}
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
function delPro(item) {
var bodyThis = $(item).closest('.tbody_one');
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
var idx = bodyThis.index();
if(len == 1){
alert("세부과정은 최소1개가 존재해야합니다.");
return false;
}else{
bodyThis.remove();
for(var i=0;i<len;i++){
if(idx>i){
tb.eq(i).find('.span_num3').text(i+1);
}else{
tb.eq(i).find('.span_num3').text(i);
}
}
}
}
function fncAddUser(){
var obj = $(".memList:first").clone(true);
obj.children('input').val('')
/*
var len = $(".memList").length;
$.each(obj.find("input"), function(idx, objInput){
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
console.log(objInput.name);
if(objInput.name.indexOf("memGrade") < 0){
objInput.value = '';
}
});
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
obj.find("tr:last > td").text("");
*/
$(".memList:last").after(obj);
}
function fncDelUser(obj){
if($(".memList").length <= 1){
alert("담당자은 최소1개가 존재해야합니다.");
}else{
$(obj).closest("td").remove();
}
}
function fncSave(){
CKEDITOR.instances.prcsCn.updateElement();
var data = new FormData(document.getElementById("createForm"));
var data = new FormData(document.getElementById("vEPrcsDetailVO"));
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/fndthEduPrcsMngRegAjax.do";
console.log(data);
@ -143,7 +81,10 @@
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<%-- <form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post"> --%>
<form:form commandName="vEPrcsDetailVO" name="createForm" method="post" enctype="multipart/form-data">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
@ -212,7 +153,15 @@
<tr>
<th scope="row">상세교육과정</th>
<td>
<textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"></textarea>
<!-- <textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"></textarea> -->
<%--
<form:textarea path="nttCn" class="textarea" cols="500" rows="20" />
<ckeditor:replace replace="nttCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" />
<form:errors path="nttCn" />
--%>
<form:textarea path="prcsCn" class="textarea" cols="500" rows="20" />
<ckeditor:replace replace="prcsCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" />
<form:errors path="prcsCn" />
</td>
</tr>

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

@ -206,7 +206,7 @@ function usrJoin(){
</button> --%>
<div class="area_right">
<p class="login_info"><span class="t_none">알림</span><a href="#" class="header_alarm"><span class="a_count">28</span></a></p>
<!-- <p class="login_info"><span class="t_none">알림</span><a href="#" class="header_alarm"><span class="a_count">28</span></a></p> -->
<!-- local -->
<c:if test="${environment eq 'local' }">
<p class="login_info header_login_wrap"><a href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do" class="header_login"><i></i>로그인</a></p>
@ -269,7 +269,7 @@ function usrJoin(){
</button> --%>
<div class="area_right">
<p class="login_info"><span class="t_none">알림</span><a href="#" class="header_alarm"><span class="a_count">28</span></a></p>
<p class="login_info"><span class="t_none">알림</span><a href="<c:url value="/web/my/myNotifyMngList.do" />" class="header_alarm"><c:if test="${notifyCnt > 0}"><span class="a_count">${notifyCnt }</span></c:if></a></p>
<p class="login_after"><c:out value="${LoginVO.id}"/><span>님</span></p>
<p class="login_after"><a href="<c:url value="/web/my/myPageDashBoard.do" />" title="새창열림">마이페이지</a></p>
<!-- e배움터 로그인 연동으로 인하여 개발, 운영 구분 -->
@ -302,17 +302,17 @@ function usrJoin(){
<c:choose>
<c:when test="${empty LoginVO or empty ssoLoginVO}">
<c:if test="${environment eq 'local' }">
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="#"><span class="m_a_count">28</span></a></p>
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="<c:url value="/web/my/myNotifyMngList.do" />"><c:if test="${notifyCnt > 0}"><span class="m_a_count">${notifyCnt }</span></c:if></a></p>
<button type="button" class="btn_mobile btn_login" onclick="location.href='${pageContext.request.contextPath}/web/user/login/ssoLogin.do'" title="로그인"></button>
<button type="button" class="btn_mobile btn_join" onclick="javascript:usrJoin();" title="회원가입"></button>
</c:if>
<c:if test="${environment eq 'dev' }">
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="#"><span class="m_a_count">28</span></a></p>
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="<c:url value="/web/my/myNotifyMngList.do" />"><c:if test="${notifyCnt > 0}"><span class="m_a_count">${notifyCnt }</span></c:if></a></p>
<button type="button" class="btn_mobile btn_login" onclick="location.href='http://223.255.205.7/user/member/loginForm.do?eduOff=Y'" title="로그인"></button>
<button type="button" class="btn_mobile btn_join" onclick="location.href='http://223.255.205.7/user/usrservice/selectUserSeView.do?eduOff=Y'" title="회원가입"></button>
</c:if>
<c:if test="${environment eq 'real' }">
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="#"><span class="m_a_count">28</span></a></p>
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="<c:url value="/web/my/myNotifyMngList.do" />"><c:if test="${notifyCnt > 0}"><span class="m_a_count">${notifyCnt }</span></c:if></a></p>
<button type="button" class="btn_mobile btn_login" onclick="location.href='https://edu-copyright.or.kr/user/member/loginForm.do?eduOff=Y'" title="로그인"></button>
<button type="button" class="btn_mobile btn_join" onclick="location.href='https://edu-copyright.or.kr/user/usrservice/selectUserSeView.do?eduOff=Y'" title="회원가입"></button>
</c:if>
@ -320,7 +320,7 @@ function usrJoin(){
<c:when test="${!empty LoginVO and !empty ssoLoginVO}">
<button type="button" class="btn_mobile btn_logout" onclick="location.href='${pageContext.request.contextPath}/web/uat/uia/actionLogout.do'" title="로그아웃"></button>
<button class="btn_mobile btn_mypage" title="마이페이지"></button>
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="#"><span class="m_a_count">28</span></a></p>
<p class="btn_mobile btn_alarm"><span class="t_none">알림</span><a href="<c:url value="/web/my/myNotifyMngList.do" />"><c:if test="${notifyCnt > 0}"><span class="m_a_count">${notifyCnt }</span></c:if></a></p>
<button type="button" class="btn_mobile btn_usredit" onclick="javascript:usrModify();" title="개인정보 수정"></button>
</c:when>
</c:choose>

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

@ -99,11 +99,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">
@ -199,7 +200,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

@ -242,7 +242,8 @@
<tr>
<th scope="row">상세교육내용</th>
<td colspan="3">
<div style="white-space:pre;"><c:out value='${info.prcsCn}'/></div>
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
<%-- <div style="white-space:pre;"><c:out value='${info.prcsCn}'/></div> --%>
</td>
</tr>
<tr>

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;}