새로운 신청 알림 게시판

This commit is contained in:
hylee 2023-12-18 15:41:02 +09:00
parent 0431525f3d
commit d18acfdfd2
19 changed files with 3819 additions and 3219 deletions

View File

@ -47,6 +47,7 @@ import kcc.com.uss.ion.cyb.service.CyberAlertManageVO;
import kcc.com.uss.ion.pwm.service.EgovPopupManageService; import kcc.com.uss.ion.pwm.service.EgovPopupManageService;
import kcc.com.uss.ion.pwm.service.PopupManageVO; import kcc.com.uss.ion.pwm.service.PopupManageVO;
import kcc.com.uss.ion.pwm.service.PopupzoneVO; import kcc.com.uss.ion.pwm.service.PopupzoneVO;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService; import kcc.kccadr.adjPgrMgr.cmm.service.PgrCmmService;
import kcc.let.cop.bbs.service.BoardVO; import kcc.let.cop.bbs.service.BoardVO;
import kcc.let.cop.bbs.service.EgovBBSManageService; import kcc.let.cop.bbs.service.EgovBBSManageService;
@ -61,6 +62,8 @@ import kcc.let.sym.mnu.mpm.service.MenuManageVO;
import kcc.let.sym.site.service.EgovSiteIpService; import kcc.let.sym.site.service.EgovSiteIpService;
import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.EgovSiteManagerService;
import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.sym.site.service.SiteManagerVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO;
import kcc.let.uss.olp.qmc.service.EgovQustnrManageService; import kcc.let.uss.olp.qmc.service.EgovQustnrManageService;
import kcc.let.uss.umt.service.EgovUserManageService; import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserDefaultVO; import kcc.let.uss.umt.service.UserDefaultVO;
@ -133,6 +136,16 @@ public class EgovMainController {
@Resource(name = "pgrCmmService") @Resource(name = "pgrCmmService")
private PgrCmmService cmmService; private PgrCmmService cmmService;
//로그인 체크 util
@Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/** /**
* 메인 페이지에서 업무 화면으로 연계하는 기능을 제공한다. * 메인 페이지에서 업무 화면으로 연계하는 기능을 제공한다.
* *
@ -147,6 +160,21 @@ public class EgovMainController {
} }
@RequestMapping(value = "/cmm/main/mainDetail.do")
public String mainDetail(@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
,HttpServletRequest request
, ModelMap model
, HttpSession session) throws Exception{
NotifyManageVO result = notifyManageService.findById(notifyManageVO);
//
model.addAttribute("info", result);
return "main/EgovMainDetail";
}
/** /**
* 템플릿 메인 페이지 조회 * 템플릿 메인 페이지 조회
* @return 메인페이지 정보 Map [key : 항목명] * @return 메인페이지 정보 Map [key : 항목명]
@ -157,15 +185,45 @@ public class EgovMainController {
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
@RequestMapping(value = "/cmm/main/mainPage.do") @RequestMapping(value = "/cmm/main/mainPage.do")
public String selectGetMgtMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception{ public String selectGetMgtMainPage(@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
,HttpServletRequest request
, ModelMap model
, HttpSession session) throws Exception{
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
paginationInfo.setPageSize(notifyManageVO.getPageSize());
notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
notifyManageVO.setToUserId(loginVO.getId());
List<NotifyManageVO> resultList = notifyManageService.selectPagingList(notifyManageVO);
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? resultList.get(0).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", resultList);
return "main/EgovMainList";
/*
try{ try{
System.out.println("cmm-main-mainPage"); System.out.println("cmm-main-mainPage");
//23.05.02 메인페이지 redirect 실시 //23.05.02 메인페이지 redirect 실시
boolean page = true; boolean page = true;
if(page) { // if(page) {
return "redirect:/kccadr/oprtn/tngrVisitEdu/areaLctrMngList.do"; // return "redirect:/kccadr/oprtn/tngrVisitEdu/areaLctrMngList.do";
} // }
{//관리자 오늘 사용자수 {//관리자 오늘 사용자수
StatsVO statsVO = new StatsVO(); StatsVO statsVO = new StatsVO();
List<?> conectStats = conectStatsService.selectMainConectStats(statsVO); List<?> conectStats = conectStatsService.selectMainConectStats(statsVO);
@ -255,98 +313,101 @@ public class EgovMainController {
model.addAttribute("userCount", userCount); model.addAttribute("userCount", userCount);
} }
{//접속통계 사용자만 */
StatsVO statsVO = new StatsVO(); // {//접속통계 사용자만
statsVO.setRecordCountPerPage(20); //일카운터(20개) // StatsVO statsVO = new StatsVO();
statsVO.setFirstIndex(0); // statsVO.setRecordCountPerPage(20); //일카운터(20개)
List<StatsVO> statsDayList = conectStatsService.selectMainStatsDay(statsVO); //일일접속카운터(관리자) // statsVO.setFirstIndex(0);
List<StatsVO> statsMonthList = conectStatsService.selectMainStatsMonth(statsVO); //월별접속카운터(관리자) // List<StatsVO> statsDayList = conectStatsService.selectMainStatsDay(statsVO); //일일접속카운터(관리자)
List<StatsVO> statsYearList = conectStatsService.selectMainStatsYear(statsVO); //연도변접속카운터(관리자) // List<StatsVO> statsMonthList = conectStatsService.selectMainStatsMonth(statsVO); //월별접속카운터(관리자)
{//일일통계 /* 연도없애기 */ // List<StatsVO> statsYearList = conectStatsService.selectMainStatsYear(statsVO); //연도변접속카운터(관리자)
JSONObject statsObject = new JSONObject(); // {//일일통계 /* 연도없애기 */
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
for(StatsVO tempStatsVO : statsDayList){ // JSONArray dateArray = new JSONArray();
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsDayList){
dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length())); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()));
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsDayList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsDayList", statsObject);
{//월통계 // }
JSONObject statsObject = new JSONObject(); // {//월통계
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
for(StatsVO tempStatsVO : statsMonthList){ // JSONArray dateArray = new JSONArray();
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsMonthList){
dateArray.add(tempStatsVO.getStatsDate()); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate());
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsMonthList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsMonthList", statsObject);
{//년통계 // }
JSONObject statsObject = new JSONObject(); // {//년통계
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
cntArray.add(0); //데이터가 2018 한건만 조회 되어서 2017년도 0 넣어줌 // JSONArray dateArray = new JSONArray();
dateArray.add("2017"); // cntArray.add(0); //데이터가 2018 한건만 조회 되어서 2017년도 0 넣어줌
for(StatsVO tempStatsVO : statsYearList){ // dateArray.add("2017");
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsYearList){
dateArray.add(tempStatsVO.getStatsDate()); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate());
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsYearList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsYearList", statsObject);
// }
//PC, 모바일 접속통계(주간) //
statsVO.setRecordCountPerPage(7); //일카운터(7일 : 일주일) // //PC, 모바일 접속통계(주간)
statsVO.setFirstIndex(0); // statsVO.setRecordCountPerPage(7); //일카운터(7일 : 일주일)
List<StatsVO> statsPcDayList = conectStatsService.selectPcMainStatsDay(statsVO); //일일접속카운터(사용자) // statsVO.setFirstIndex(0);
List<StatsVO> statsMobileDayList = conectStatsService.selectMobileMainStatsDay(statsVO); //일일접속카운터(사용자) // List<StatsVO> statsPcDayList = conectStatsService.selectPcMainStatsDay(statsVO); //일일접속카운터(사용자)
List<StatsVO> statsAllDayList = conectStatsService.selectPcMobileMainStatsDay(statsVO); //모바일+PC(사용자) // List<StatsVO> statsMobileDayList = conectStatsService.selectMobileMainStatsDay(statsVO); //일일접속카운터(사용자)
{//PC // List<StatsVO> statsAllDayList = conectStatsService.selectPcMobileMainStatsDay(statsVO); //모바일+PC(사용자)
JSONObject statsObject = new JSONObject(); // {//PC
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
for(StatsVO tempStatsVO : statsPcDayList){ // JSONArray dateArray = new JSONArray();
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsPcDayList){
dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) ); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) );
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsPcDayList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsPcDayList", statsObject);
{//모바일 // }
JSONObject statsObject = new JSONObject(); // {//모바일
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
for(StatsVO tempStatsVO : statsMobileDayList){ // JSONArray dateArray = new JSONArray();
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsMobileDayList){
dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) ); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) );
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsMobileDayList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsMobileDayList", statsObject);
{//전체 // }
JSONObject statsObject = new JSONObject(); // {//전체
JSONArray cntArray = new JSONArray(); // JSONObject statsObject = new JSONObject();
JSONArray dateArray = new JSONArray(); // JSONArray cntArray = new JSONArray();
for(StatsVO tempStatsVO : statsAllDayList){ // JSONArray dateArray = new JSONArray();
cntArray.add(tempStatsVO.getCnt()); // for(StatsVO tempStatsVO : statsAllDayList){
dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) ); // cntArray.add(tempStatsVO.getCnt());
} // dateArray.add(tempStatsVO.getStatsDate().substring(5,tempStatsVO.getStatsDate().length()) );
statsObject.put("cnt" , cntArray); // }
statsObject.put("date" , dateArray); // statsObject.put("cnt" , cntArray);
model.addAttribute("statsPcMobileDayList", statsObject); // statsObject.put("date" , dateArray);
} // model.addAttribute("statsPcMobileDayList", statsObject);
} // }
}catch(Exception ex){ // }
ex.printStackTrace();
}
// }catch(Exception ex){
// ex.printStackTrace();
// }
//조정 목록, 이번달 현황 조회(최근 접수, 진행 사건, 처리현황) //조정 목록, 이번달 현황 조회(최근 접수, 진행 사건, 처리현황)
@ -398,7 +459,6 @@ public class EgovMainController {
showMemory(); showMemory();
showDisk(); showDisk();
showCPU();*/ showCPU();*/
return "main/EgovMainView";
} }
/** /**

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +1,44 @@
package kcc.let.uss.notify.service; package kcc.let.uss.notify.service;
import java.util.List; import java.util.List;
import kcc.com.cmm.service.CmmnDetailCode; import egovframework.rte.fdl.cmmn.exception.FdlException;
/** /**
* *
* 알림 관리자 관리 * 알림 관리자 관리
* @author 이호영 * @author 이호영
* @since 2023.12.14 * @since 2023.12.14
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성 * 2023.12.14 이호영 최초 생성
* *
* *
* </pre> * </pre>
*/ */
public interface NotifyManageService { public interface NotifyManageService {
List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO); List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO);
void mngInsert(NotifyManageVO notifyManageVO); void mngInsert(NotifyManageVO notifyManageVO);
NotifyManageVO findById(NotifyManageVO notifyManageVO); NotifyManageVO findByMngId(NotifyManageVO notifyManageVO);
void mngUpdate(NotifyManageVO notifyManageVO); void mngUpdate(NotifyManageVO notifyManageVO);
void mngDel(NotifyManageVO notifyManageVO); void mngDel(NotifyManageVO notifyManageVO);
}
void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException;
List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO);
NotifyManageVO findById(NotifyManageVO notifyManageVO);
void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd);
}

View File

@ -1,53 +1,70 @@
package kcc.let.uss.notify.service.impl; package kcc.let.uss.notify.service.impl;
import java.util.List; import java.util.List;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO; import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.CmmnDetailCode;
import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO; import kcc.let.sym.ccm.cde.service.CmmnDetailCodeVO;
import kcc.let.uss.notify.service.NotifyManageVO; import kcc.let.uss.notify.service.NotifyManageVO;
/** /**
* *
* 알림 관리자 관리 * 알림 관리자 관리
* @author 이호영 * @author 이호영
* @since 2023.12.14 * @since 2023.12.14
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성 * 2023.12.14 이호영 최초 생성
* *
* *
* </pre> * </pre>
*/ */
@Repository("NotifyManageDAO") @Repository("NotifyManageDAO")
public class NotifyManageDAO extends EgovAbstractDAO { public class NotifyManageDAO extends EgovAbstractDAO {
public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) { public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
return (List<NotifyManageVO>) list("VEANotifyMngDAO.selectMngPagingList", notifyManageVO); return (List<NotifyManageVO>) list("VEANotifyMngDAO.selectMngPagingList", notifyManageVO);
} }
public void mngInsert(NotifyManageVO notifyManageVO) { public void mngInsert(NotifyManageVO notifyManageVO) {
insert("VEANotifyMngDAO.mngInsert", notifyManageVO); insert("VEANotifyMngDAO.mngInsert", notifyManageVO);
} }
public NotifyManageVO findById(NotifyManageVO notifyManageVO) { public NotifyManageVO findByMngId(NotifyManageVO notifyManageVO) {
return (NotifyManageVO) select("VEANotifyMngDAO.findById", notifyManageVO); return (NotifyManageVO) select("VEANotifyMngDAO.findByMngId", notifyManageVO);
} }
public void mngUpdate(NotifyManageVO notifyManageVO) { public void mngUpdate(NotifyManageVO notifyManageVO) {
update("VEANotifyMngDAO.mngUpdate", notifyManageVO); update("VEANotifyMngDAO.mngUpdate", notifyManageVO);
} }
public void mngDel(NotifyManageVO notifyManageVO) { public void mngDel(NotifyManageVO notifyManageVO) {
update("VEANotifyMngDAO.mngDel", notifyManageVO); update("VEANotifyMngDAO.mngDel", notifyManageVO);
} }
} public void insertNotifyEduForAdmin(NotifyManageVO notifyManageVO) {
insert("VEANotifyDAO.insertNotifyEduForAdmin", notifyManageVO);
}
public List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO) {
return (List<NotifyManageVO>) list("VEANotifyDAO.selectPagingList", notifyManageVO);
}
public NotifyManageVO findById(NotifyManageVO notifyManageVO) {
return (NotifyManageVO) select("VEANotifyDAO.findById", notifyManageVO);
}
public void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd) {
update("VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd", cmmNotifyOrd);
}
}

View File

@ -1,63 +1,119 @@
package kcc.let.uss.notify.service.impl; package kcc.let.uss.notify.service.impl;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.let.uss.notify.service.NotifyManageService; import egovframework.rte.fdl.cmmn.exception.FdlException;
import kcc.let.uss.notify.service.NotifyManageVO; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import kcc.let.uss.notify.service.NotifyManageService;
/** import kcc.let.uss.notify.service.NotifyManageVO;
*
* 알림 관리자 관리 /**
* @author 이호영 *
* @since 2023.12.14 * 알림 관리자 관리
* @version 1.0 * @author 이호영
* @see * @since 2023.12.14
* * @version 1.0
* <pre> * @see
* << 개정이력(Modification Information) >> *
* * <pre>
* 수정일 수정자 수정내용 * << 개정이력(Modification Information) >>
* ------- -------- --------------------------- *
* 2023.12.14 이호영 최초 생성 * 수정일 수정자 수정내용
* * ------- -------- ---------------------------
* * 2023.12.14 이호영 최초 생성
* </pre> *
*/ *
@Service("NotifyManageService") * </pre>
public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements NotifyManageService { */
@Service("NotifyManageService")
@Resource(name="NotifyManageDAO") public class NotifyManageServiceImpl extends EgovAbstractServiceImpl implements NotifyManageService {
private NotifyManageDAO notifyManageDAO;
@Resource(name="NotifyManageDAO")
@Override private NotifyManageDAO notifyManageDAO;
public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
return notifyManageDAO.selectMngPagingList(notifyManageVO); //교육과정순번
} @Resource(name="veaCmmNotifyMngOrdGnrService")
private EgovIdGnrService veaCmmNotifyOrdGnrService;
@Override
public void mngInsert(NotifyManageVO notifyManageVO) { @Override
notifyManageDAO.mngInsert(notifyManageVO); public List<NotifyManageVO> selectMngPagingList(NotifyManageVO notifyManageVO) {
return notifyManageDAO.selectMngPagingList(notifyManageVO);
} }
@Override @Override
public NotifyManageVO findById(NotifyManageVO notifyManageVO) { public void mngInsert(NotifyManageVO notifyManageVO) {
return notifyManageDAO.findById(notifyManageVO); notifyManageDAO.mngInsert(notifyManageVO);
}
}
@Override
public void mngUpdate(NotifyManageVO notifyManageVO) { @Override
notifyManageDAO.mngUpdate(notifyManageVO); public NotifyManageVO findByMngId(NotifyManageVO notifyManageVO) {
} return notifyManageDAO.findByMngId(notifyManageVO);
}
@Override
public void mngDel(NotifyManageVO notifyManageVO) { @Override
notifyManageDAO.mngDel(notifyManageVO); public NotifyManageVO findById(NotifyManageVO notifyManageVO) {
} return notifyManageDAO.findById(notifyManageVO);
}
}
@Override
public void mngUpdate(NotifyManageVO notifyManageVO) {
notifyManageDAO.mngUpdate(notifyManageVO);
}
@Override
public void mngDel(NotifyManageVO notifyManageVO) {
notifyManageDAO.mngDel(notifyManageVO);
}
@Override
public void insertNotifyEduForAdmin(String userId, String eduAplctOrd, List<String> eduChasiOrdList, String lctrDivCd) throws FdlException {
// 담당자 ID 가져오기
NotifyManageVO p_VO = new NotifyManageVO();
p_VO.setLctrDivCd(lctrDivCd);
p_VO.setFirstIndex(0);
p_VO.setRecordCountPerPage(1000);
List<NotifyManageVO> notifyManageListVO = notifyManageDAO.selectMngPagingList(p_VO);
// for(String chasi : eduChasiOrdList) {
NotifyManageVO notifyManageVO = new NotifyManageVO();
notifyManageVO.setCmmNotifyOrd(veaCmmNotifyOrdGnrService.getNextStringId());
notifyManageVO.setLctrDivCd(lctrDivCd);
notifyManageVO.setNotifyCn("["+userId+"]["+eduChasiOrdList.size()+"차시] 교육신청을 하였습니다.");
String notifyPath = "";
if("10".equals(lctrDivCd))
notifyPath = "/kccadr/oprtn/tngrVisitEdu/eduAplctMngDetail.do";
if("20".equals(lctrDivCd))
notifyPath = "/kccadr/oprtn/adultVisitEdu/eduAplctMngDetail.do";
notifyManageVO.setNotifyPath(notifyPath);
notifyManageVO.setNotifyChk("N");
notifyManageVO.setEduAplctOrd(eduAplctOrd);
notifyManageVO.setEduChasiOrd(eduChasiOrdList.toString());
notifyManageVO.setFrstRegisterId(userId);
for(NotifyManageVO vo : notifyManageListVO) {
notifyManageVO.setToUserId(vo.getMngUserId());
notifyManageDAO.insertNotifyEduForAdmin(notifyManageVO);
}
// }
}
@Override
public List<NotifyManageVO> selectPagingList(NotifyManageVO notifyManageVO) {
return notifyManageDAO.selectPagingList(notifyManageVO);
}
@Override
public void updateNotifyChkWhereCmmNotifyOrd(String cmmNotifyOrd) {
notifyManageDAO.updateNotifyChkWhereCmmNotifyOrd(cmmNotifyOrd);
}
}

View File

@ -1,317 +1,317 @@
package kcc.let.uss.notify.web; package kcc.let.uss.notify.web;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultCodeVO; import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.LoginVO; import kcc.com.cmm.LoginVO;
import kcc.com.cmm.service.CmmnDetailCode; import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.util.StringUtil; import kcc.com.cmm.util.StringUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.sec.ram.service.AuthorManageVO; import kcc.let.sec.ram.service.AuthorManageVO;
import kcc.let.uat.uia.service.SsoLoginVO; import kcc.let.uat.uia.service.SsoLoginVO;
import kcc.let.uss.notify.service.NotifyManageService; import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.notify.service.NotifyManageVO; import kcc.let.uss.notify.service.NotifyManageVO;
import kcc.let.uss.umt.service.EgovUserManageService; import kcc.let.uss.umt.service.EgovUserManageService;
import kcc.let.uss.umt.service.UserDefaultVO; import kcc.let.uss.umt.service.UserDefaultVO;
import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO; import kcc.ve.instr.tngrVisitEdu.prcsInfo.service.VEPrcsDetailVO;
import kcc.ve.oprtn.fndtnEnhanceTrn.prcsInfoMng.web.FndthPrcsInfoMngController; import kcc.ve.oprtn.fndtnEnhanceTrn.prcsInfoMng.web.FndthPrcsInfoMngController;
/** /**
* *
* 알림 관리자 관리 * 알림 관리자 관리
* @author 이호영 * @author 이호영
* @since 2023.12.14 * @since 2023.12.14
* @version 1.0 * @version 1.0
* @see * @see
* *
* <pre> * <pre>
* << 개정이력(Modification Information) >> * << 개정이력(Modification Information) >>
* *
* 수정일 수정자 수정내용 * 수정일 수정자 수정내용
* ------- -------- --------------------------- * ------- -------- ---------------------------
* 2023.12.14 이호영 최초 생성 * 2023.12.14 이호영 최초 생성
* *
* *
* </pre> * </pre>
*/ */
@Controller @Controller
public class NotifyManageController { public class NotifyManageController {
private static final Logger LOGGER = LoggerFactory.getLogger(NotifyManageController.class); private static final Logger LOGGER = LoggerFactory.getLogger(NotifyManageController.class);
//로그인 체크 util //로그인 체크 util
@Resource(name = "checkLoginUtil") @Resource(name = "checkLoginUtil")
private CheckLoginUtil checkLoginUtil; private CheckLoginUtil checkLoginUtil;
@Resource(name = "NotifyManageService") @Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService; private NotifyManageService notifyManageService;
/** userManageService */ /** userManageService */
@Resource(name = "userManageService") @Resource(name = "userManageService")
private EgovUserManageService userManageService; private EgovUserManageService userManageService;
//교육과정순번 //교육과정순번
@Resource(name="veaCmmNotifyMngOrdGnrService") @Resource(name="veaCmmNotifyMngOrdGnrService")
private EgovIdGnrService veaCmmNotifyMngOrdGnrService; private EgovIdGnrService veaCmmNotifyMngOrdGnrService;
/** /**
* @methodName : selectCmmnDetailCodeDetail * @methodName : selectCmmnDetailCodeDetail
* @author : 이호영 * @author : 이호영
* @date : 2023.12.14 * @date : 2023.12.14
* @description : * @description :
* @param notifyManageVO * @param notifyManageVO
* @param model * @param model
* @return * @return
* @throws Exception * @throws Exception
*/ */
@RequestMapping(value="/uss/umt/notify/selectList.do") @RequestMapping(value="/uss/umt/notify/selectList.do")
public String selectList (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO public String selectList (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
if(notifyManageVO.getPageUnit() != 10) { if(notifyManageVO.getPageUnit() != 10) {
notifyManageVO.setPageUnit(notifyManageVO.getPageUnit()); notifyManageVO.setPageUnit(notifyManageVO.getPageUnit());
} }
try{ try{
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
/** pageing */ /** pageing */
PaginationInfo paginationInfo = new PaginationInfo(); PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex()); paginationInfo.setCurrentPageNo(notifyManageVO.getPageIndex());
paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit()); paginationInfo.setRecordCountPerPage(notifyManageVO.getPageUnit());
paginationInfo.setPageSize(notifyManageVO.getPageSize()); paginationInfo.setPageSize(notifyManageVO.getPageSize());
notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); notifyManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); notifyManageVO.setLastIndex(paginationInfo.getLastRecordIndex());
notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); notifyManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
//userSearchVO.setAdminYn("Y"); //userSearchVO.setAdminYn("Y");
List<NotifyManageVO> resultList = notifyManageService.selectMngPagingList(notifyManageVO) ; List<NotifyManageVO> resultList = notifyManageService.selectMngPagingList(notifyManageVO) ;
paginationInfo.setTotalRecordCount(resultList.size() > 0 ? resultList.get(0).getTotCnt() : 0); paginationInfo.setTotalRecordCount(resultList.size() > 0 ? resultList.get(0).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("paginationInfo", paginationInfo);
model.addAttribute("list", resultList); model.addAttribute("list", resultList);
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
return "cmm/uss/umt/notify/selectList"; return "cmm/uss/umt/notify/selectList";
} }
/** /**
* @methodName : notifyUserReg * @methodName : notifyUserReg
* @author : 이호영 * @author : 이호영
* @date : 2023.12.14 * @date : 2023.12.14
* @description : 수신자 등록 * @description : 수신자 등록
* @param notifyManageVO * @param notifyManageVO
* @param model * @param model
* @return * @return
* @throws Exception * @throws Exception
*/ */
@RequestMapping(value="/uss/umt/notify/notifyUserReg.do") @RequestMapping(value="/uss/umt/notify/notifyUserReg.do")
public String notifyUserReg (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO public String notifyUserReg (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO(); UserDefaultVO userSearchVO = new UserDefaultVO();
userSearchVO.setFirstIndex(0); userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000); userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ; List<?> adminList = userManageService.selectUserList(userSearchVO) ;
model.addAttribute("adminList", adminList); model.addAttribute("adminList", adminList);
return "cmm/uss/umt/notify/notifyUserReg"; return "cmm/uss/umt/notify/notifyUserReg";
} }
@RequestMapping(value="/uss/umt/notify/notifyUserModify.do") @RequestMapping(value="/uss/umt/notify/notifyUserModify.do")
public String notifyUserModify (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO public String notifyUserModify (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO(); UserDefaultVO userSearchVO = new UserDefaultVO();
userSearchVO.setFirstIndex(0); userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000); userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ; List<?> adminList = userManageService.selectUserList(userSearchVO) ;
model.addAttribute("adminList", adminList); model.addAttribute("adminList", adminList);
NotifyManageVO resultVO = notifyManageService.findById(notifyManageVO) ; NotifyManageVO resultVO = notifyManageService.findByMngId(notifyManageVO) ;
model.addAttribute("info", resultVO); model.addAttribute("info", resultVO);
return "cmm/uss/umt/notify/notifyUserModify"; return "cmm/uss/umt/notify/notifyUserModify";
} }
/** /**
* @methodName : notifyUserRegAjax * @methodName : notifyUserRegAjax
* @author : 이호영 * @author : 이호영
* @date : 2023.12.14 * @date : 2023.12.14
* @description : 수신자 등록 ajax * @description : 수신자 등록 ajax
* @param notifyManageVO * @param notifyManageVO
* @param model * @param model
* @param request * @param request
* @return * @return
* @throws Exception * @throws Exception
*/ */
@RequestMapping("/uss/umt/notify/notifyUserRegAjax.do") @RequestMapping("/uss/umt/notify/notifyUserRegAjax.do")
public ModelAndView notifyUserRegAjax( public ModelAndView notifyUserRegAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
//, RedirectAttributes redirectAttributes //, RedirectAttributes redirectAttributes
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView"); modelAndView.setViewName("jsonView");
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) { if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail"); modelAndView.addObject("result", "loginFail");
return modelAndView; return modelAndView;
} }
//로그인 처리==================================== //로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setCmmNotifyMngOrd(veaCmmNotifyMngOrdGnrService.getNextStringId()); // 고유ID); notifyManageVO.setCmmNotifyMngOrd(veaCmmNotifyMngOrdGnrService.getNextStringId()); // 고유ID);
notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id notifyManageVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngInsert(notifyManageVO); notifyManageService.mngInsert(notifyManageVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
} }
@RequestMapping("/uss/umt/notify/notifyUserModifyAjax.do") @RequestMapping("/uss/umt/notify/notifyUserModifyAjax.do")
public ModelAndView notifyUserModifyAjax( public ModelAndView notifyUserModifyAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView"); modelAndView.setViewName("jsonView");
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) { if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail"); modelAndView.addObject("result", "loginFail");
return modelAndView; return modelAndView;
} }
//로그인 처리==================================== //로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngUpdate(notifyManageVO); notifyManageService.mngUpdate(notifyManageVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
} }
@RequestMapping("/uss/umt/notify/notifyUserDelAjax.do") @RequestMapping("/uss/umt/notify/notifyUserDelAjax.do")
public ModelAndView notifyUserDelAjax( public ModelAndView notifyUserDelAjax(
@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO @ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
, HttpServletRequest request , HttpServletRequest request
) throws Exception { ) throws Exception {
ModelAndView modelAndView = new ModelAndView(); ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView"); modelAndView.setViewName("jsonView");
//로그인 처리==================================== //로그인 처리====================================
//로그인 정보 가져오기 //로그인 정보 가져오기
String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model); String s_oprtnLoginCheckNInfo = checkLoginUtil.oprtnCheckNInfo(model);
if (!"".equals(s_oprtnLoginCheckNInfo)) { if (!"".equals(s_oprtnLoginCheckNInfo)) {
modelAndView.addObject("result", "loginFail"); modelAndView.addObject("result", "loginFail");
return modelAndView; return modelAndView;
} }
//로그인 처리==================================== //로그인 처리====================================
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기 LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기 SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id notifyManageVO.setLastUpdusrId(loginVO.getUniqId()); //esntl_id
notifyManageService.mngDel(notifyManageVO); notifyManageService.mngDel(notifyManageVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");
return modelAndView; return modelAndView;
} }
@RequestMapping(value="/uss/umt/notify/notifyUserDetail.do") @RequestMapping(value="/uss/umt/notify/notifyUserDetail.do")
public String notifyUserDetail (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO public String notifyUserDetail (@ModelAttribute("notifyManageVO") NotifyManageVO notifyManageVO
, ModelMap model , ModelMap model
) throws Exception { ) throws Exception {
UserDefaultVO userSearchVO = new UserDefaultVO(); UserDefaultVO userSearchVO = new UserDefaultVO();
// //
// <isEqual prepend="AND" property="searchCondition" compareValue="0"> // <isEqual prepend="AND" property="searchCondition" compareValue="0">
// userId LIKE '%'||#searchKeyword#||'%' // userId LIKE '%'||#searchKeyword#||'%'
// </isEqual> // </isEqual>
// //
NotifyManageVO resultVO = notifyManageService.findById(notifyManageVO) ; NotifyManageVO resultVO = notifyManageService.findByMngId(notifyManageVO) ;
userSearchVO.setSearchKeyword(resultVO.getMngUserId()); userSearchVO.setSearchKeyword(resultVO.getMngUserId());
userSearchVO.setSearchCondition("0"); userSearchVO.setSearchCondition("0");
userSearchVO.setFirstIndex(0); userSearchVO.setFirstIndex(0);
userSearchVO.setRecordCountPerPage(500000); userSearchVO.setRecordCountPerPage(500000);
List<?> adminList = userManageService.selectUserList(userSearchVO) ; List<?> adminList = userManageService.selectUserList(userSearchVO) ;
List<Map<?, ?>> filteredList = adminList.stream() List<Map<?, ?>> filteredList = adminList.stream()
.filter(map -> map instanceof Map) .filter(map -> map instanceof Map)
.map(map -> (Map<?, ?>) map) .map(map -> (Map<?, ?>) map)
.filter(map -> resultVO.getMngUserId().equals(map.get("userId"))) .filter(map -> resultVO.getMngUserId().equals(map.get("userId")))
.collect(Collectors.toList()); .collect(Collectors.toList());
resultVO.setMngUserNm(filteredList.get(0).get("userNm").toString()); resultVO.setMngUserNm(filteredList.get(0).get("userNm").toString());
model.addAttribute("adminList", adminList); model.addAttribute("adminList", adminList);
model.addAttribute("info", resultVO); model.addAttribute("info", resultVO);
return "cmm/uss/umt/notify/notifyUserDetail"; return "cmm/uss/umt/notify/notifyUserDetail";
} }
} }

View File

@ -1,5 +1,6 @@
package kcc.ve.aplct.adultVisitEdu.eduAplct.service.impl; package kcc.ve.aplct.adultVisitEdu.eduAplct.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -15,6 +16,7 @@ import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO; import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService; import kcc.ve.aplct.adultVisitEdu.eduAplct.service.EduAplctAdultService;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
@ -46,6 +48,10 @@ public class EduAplctAdultServiceImpl implements EduAplctAdultService {
//파일정보의 관리 //파일정보의 관리
@Resource(name = "EgovFileMngService") @Resource(name = "EgovFileMngService")
private EgovFileMngService fileService; private EgovFileMngService fileService;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//과정 관리 //과정 관리
@ -139,6 +145,9 @@ public class EduAplctAdultServiceImpl implements EduAplctAdultService {
vEEduChasiVO.setEduAplctOrd(eduAplctOrd); //교육신청순번 vEEduChasiVO.setEduAplctOrd(eduAplctOrd); //교육신청순번
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
// 알림을 위한 LIST
List<String> eduChasiOrdList = new ArrayList<String>();
for (int i=0;i<s_eduHopeDt.length;i++) { for (int i=0;i<s_eduHopeDt.length;i++) {
String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번 String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
vEEduChasiVO.setEduChasiOrd(eduChasiOrd); vEEduChasiVO.setEduChasiOrd(eduChasiOrd);
@ -150,7 +159,15 @@ public class EduAplctAdultServiceImpl implements EduAplctAdultService {
vEEduChasiVO.setTrgt(s_trgt[i]); vEEduChasiVO.setTrgt(s_trgt[i]);
vEEduChasiVO.setPrsnl(s_prsnl[i]); vEEduChasiVO.setPrsnl(s_prsnl[i]);
vVEEduChasiService.insert(vEEduChasiVO); vVEEduChasiService.insert(vEEduChasiVO);
// 알림을 위한 LIST
eduChasiOrdList.add(eduChasiOrd);
} }
// 성인 교육 신청 성공시 노티 insert
notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
return true; return true;
} }

View File

@ -219,6 +219,7 @@ public class EduAplctAdultController {
modelAndView.addObject("result", "fail"); modelAndView.addObject("result", "fail");
return modelAndView; return modelAndView;
} }
modelAndView.addObject("VO", vEEduAplctVO); modelAndView.addObject("VO", vEEduAplctVO);
modelAndView.addObject("result", "success"); modelAndView.addObject("result", "success");

View File

@ -1,5 +1,6 @@
package kcc.ve.aplct.tngrVisitEdu.eduAplct.service.impl; package kcc.ve.aplct.tngrVisitEdu.eduAplct.service.impl;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -15,6 +16,7 @@ import kcc.com.cmm.service.EgovFileMngService;
import kcc.com.cmm.service.FileVO; import kcc.com.cmm.service.FileVO;
import kcc.com.utl.user.service.CheckFileUtil; import kcc.com.utl.user.service.CheckFileUtil;
import kcc.com.utl.user.service.CheckLoginUtil; import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO; import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.tngrVisitEdu.eduAplct.service.EduAplctTngrService; import kcc.ve.aplct.tngrVisitEdu.eduAplct.service.EduAplctTngrService;
@ -50,6 +52,9 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
@Resource(name = "EgovFileMngService") @Resource(name = "EgovFileMngService")
private EgovFileMngService fileService; private EgovFileMngService fileService;
//알림 서비스
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
//과정 관리 //과정 관리
@Resource(name = "vEPrcsService") @Resource(name = "vEPrcsService")
@ -245,6 +250,11 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
vEEduChasiVO.setEduAplctOrd(eduAplctOrd); //교육신청순번 vEEduChasiVO.setEduAplctOrd(eduAplctOrd); //교육신청순번
vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id vEEduChasiVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
System.out.println("============================================================");
// 알림을 위한 LIST
List<String> eduChasiOrdList = new ArrayList<String>();
String bb = null; String bb = null;
for (int i=0;i<s_eduHopeDt.length;i++) { for (int i=0;i<s_eduHopeDt.length;i++) {
String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번 String eduChasiOrd = eduChasiGnrService.getNextStringId(); // 교육차시 순번
@ -258,7 +268,14 @@ public class EduAplctTngrServiceImpl implements EduAplctTngrService {
vEEduChasiVO.setTrgt(s_trgt[i]); vEEduChasiVO.setTrgt(s_trgt[i]);
vEEduChasiVO.setPrsnl(s_prsnl[i]); vEEduChasiVO.setPrsnl(s_prsnl[i]);
vVEEduChasiDAO.insert(vEEduChasiVO); vVEEduChasiDAO.insert(vEEduChasiVO);
// 알림을 위한 LIST
eduChasiOrdList.add(eduChasiOrd);
} }
// 성인 교육 신청 성공시 노티 insert
notifyManageService.insertNotifyEduForAdmin(loginVO.getMembId(), eduAplctOrd, eduChasiOrdList, vEEduAplctVO.getLctrDivCd());
return true; return true;
} }

View File

@ -425,6 +425,9 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String prvsQs; // 교육관련 사전질의 private String prvsQs; // 교육관련 사전질의
private String cmmNotifyOrd; // 알림 PK
public String getSpecialWorkAllow() { public String getSpecialWorkAllow() {
return specialWorkAllow; return specialWorkAllow;
} }
@ -1848,6 +1851,12 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
public void setInstrPhone(String instrPhone) { public void setInstrPhone(String instrPhone) {
this.instrPhone = instrPhone; this.instrPhone = instrPhone;
} }
public String getCmmNotifyOrd() {
return cmmNotifyOrd;
}
public void setCmmNotifyOrd(String cmmNotifyOrd) {
this.cmmNotifyOrd = cmmNotifyOrd;
}
} }

View File

@ -34,6 +34,7 @@ import kcc.com.cmm.util.StringUtil;
import kcc.kccadr.cmm.CmmUtil; import kcc.kccadr.cmm.CmmUtil;
import kcc.kccadr.sch.service.SchduleManageService; import kcc.kccadr.sch.service.SchduleManageService;
import kcc.kccadr.sch.service.SchduleManageVO; import kcc.kccadr.sch.service.SchduleManageVO;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.cmm.VeConstants; import kcc.ve.cmm.VeConstants;
import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService; import kcc.ve.instr.tngrVisitEdu.eduInfo.service.VEEduAplctService;
@ -118,12 +119,15 @@ public class EduAplctMngAdultController {
@Resource(name = "schduleManageService") @Resource(name = "schduleManageService")
private SchduleManageService schduleManageService; private SchduleManageService schduleManageService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/** /**
* 교육신청관리 목록 화면 * 교육신청관리 목록 화면
*/ */
@RequestMapping("eduAplctMngList.do") @RequestMapping("eduAplctMngList.do")
public String eduAplctMngList( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , HttpSession session, ModelMap model ) throws Exception { public String eduAplctMngList( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , HttpSession session, ModelMap model ) throws Exception {
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
//년도 //년도
@ -145,8 +149,15 @@ public class EduAplctMngAdultController {
//2. pageing step2 //2. pageing step2
vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo); vEEduAplctVO = this.setPagingStep2(vEEduAplctVO, paginationInfo);
vEEduAplctVO.setNotiUserId(user.getUniqId()); vEEduAplctVO.setNotiUserId(user.getUniqId());
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString()); try {
vEEduAplctVO.setMenuNo(session.getAttribute("menuNo").toString());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
// OrderByQuery(교육희망일자) 값이 비여있으면 desc로 초기화 => hylee // OrderByQuery(교육희망일자) 값이 비여있으면 desc로 초기화 => hylee
if(StringUtils.isEmpty(vEEduAplctVO.getOrderByQuery())) { if(StringUtils.isEmpty(vEEduAplctVO.getOrderByQuery())) {
vEEduAplctVO.setOrderByQuery("CC.EDU_HOPE_DT desc"); vEEduAplctVO.setOrderByQuery("CC.EDU_HOPE_DT desc");
@ -205,7 +216,10 @@ public class EduAplctMngAdultController {
*/ */
@RequestMapping("eduAplctMngDetail.do") @RequestMapping("eduAplctMngDetail.do")
public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model ,HttpSession session, HttpServletRequest request ) throws Exception { public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model ,HttpSession session, HttpServletRequest request ) throws Exception {
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
//기본데이터 불러오기 //기본데이터 불러오기
@ -247,14 +261,18 @@ public class EduAplctMngAdultController {
}else { }else {
tblUnitOrd = vEEduAplctVO.getEduAplctOrd(); tblUnitOrd = vEEduAplctVO.getEduAplctOrd();
} }
vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd); try {
vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId()); vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd);
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString()); vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request)); vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
} catch (Exception e) {
// TODO: handle exception
}
return "oprtn/adultVisitEdu/eduAplctMngDetail"; return "oprtn/adultVisitEdu/eduAplctMngDetail";
} }

View File

@ -36,6 +36,7 @@ import kcc.kccadr.sch.service.SchduleManageService;
import kcc.kccadr.sch.service.SchduleManageVO; import kcc.kccadr.sch.service.SchduleManageVO;
import kcc.let.uss.ion.cnt.service.CntManageVO; import kcc.let.uss.ion.cnt.service.CntManageVO;
import kcc.let.uss.ion.cnt.service.EgovCntManageService; import kcc.let.uss.ion.cnt.service.EgovCntManageService;
import kcc.let.uss.notify.service.NotifyManageService;
import kcc.let.uss.umt.service.EgovMberManageService; import kcc.let.uss.umt.service.EgovMberManageService;
import kcc.let.uss.umt.service.UserManageVO; import kcc.let.uss.umt.service.UserManageVO;
import kcc.let.utl.fcc.service.EgovCryptoUtil; import kcc.let.utl.fcc.service.EgovCryptoUtil;
@ -135,7 +136,10 @@ public class EduAplctMngTngrController {
//강의설정 관리(MIX) //강의설정 관리(MIX)
@Resource(name = "vEAStngMixService") @Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService; private VEAStngMixService vEAStngMixService;
@Resource(name = "NotifyManageService")
private NotifyManageService notifyManageService;
/** /**
* 교육신청관리 목록 화면 * 교육신청관리 목록 화면
*/ */
@ -408,7 +412,12 @@ public class EduAplctMngTngrController {
public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request, HttpSession session ) throws Exception { public String eduAplctMngDetail( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request, HttpSession session ) throws Exception {
LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
notifyManageService.updateNotifyChkWhereCmmNotifyOrd(vEEduAplctVO.getCmmNotifyOrd());
System.out.println("vEEduAplctVO.getCmmNotifyOrd() : "+ vEEduAplctVO.getCmmNotifyOrd());
//기본데이터 불러오기 //기본데이터 불러오기
vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO); vEEduAplctVO = vEEduAplctService.selectDetail(vEEduAplctVO);
//데이터 복호화 - VO 단위로 만들어서 사용 //데이터 복호화 - VO 단위로 만들어서 사용
@ -452,16 +461,21 @@ public class EduAplctMngTngrController {
tblUnitOrd = vEEduAplctVO.getEduAplctOrd(); tblUnitOrd = vEEduAplctVO.getEduAplctOrd();
} }
vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd);
vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
try {
vEAsgnmNotiVO.setTblUniqOrd(tblUnitOrd);
vEAsgnmNotiVO.setFrstRegisterId(user.getUniqId());
vEAsgnmNotiVO.setMenuNo(session.getAttribute("menuNo").toString());
vEAsgnmNotiVO.setUrlPath(IpUtil.getRequestURI(request));
vEAsgnmNotiService.insertAsgnmNotiInfo(vEAsgnmNotiVO);
} catch (Exception e) {
// TODO: handle exception
}
System.out.println("session.getAttribute(menuNo).toString()-since20230424");
System.out.println(session.toString());
System.out.println(session.getAttribute("menuNo").toString());
//서류 요청 목록 //서류 요청 목록
VEEduAplctVO veEduDocReqVO = new VEEduAplctVO(); VEEduAplctVO veEduDocReqVO = new VEEduAplctVO();
@ -471,6 +485,9 @@ public class EduAplctMngTngrController {
vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList); vEEduDocReqList = egovCryptoUtil.decryptVEEduAplctVOList(vEEduDocReqList);
model.addAttribute("docReqList", vEEduDocReqList); model.addAttribute("docReqList", vEEduDocReqList);
return "oprtn/tngrVisitEdu/eduAplctMngDetail"; return "oprtn/tngrVisitEdu/eduAplctMngDetail";
} }

View File

@ -3044,5 +3044,20 @@
<property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) --> <property name="cipers" value="7" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" /> <property name="fillChar" value="0" />
</bean> </bean>
<!-- 알림 -->
<bean name="veaCmmNotifyOrdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="strategy" ref="veaCmmNotifyOrdStrategy" /><!-- strategy 값 수정 -->
<property name="blockSize" value="10"/>
<property name="table" value="IDS"/>
<property name="tableName" value="VEA_CMM_NOTIFY_MNG"/><!-- tableName 값 수정 -->
</bean>
<!-- 과정신청기간 ID Generation Strategy Config -->
<bean name="veaCmmNotifyOrdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"><!-- bean name 값에 strategy 값 입력 -->
<property name="prefix" value="cmmNotify_" /><!-- prefix 값 수정 -->
<property name="cipers" value="10" /><!-- 일련번호(순번) 전체 길이(prefix길이 미포함) -->
<property name="fillChar" value="0" />
</bean>
</beans> </beans>

View File

@ -47,11 +47,16 @@
<include refid="VEANotifyMngDAO.select_column_name"/> <include refid="VEANotifyMngDAO.select_column_name"/>
FROM FROM
<include refid="VEANotifyMngDAO.table_name"/> a <include refid="VEANotifyMngDAO.table_name"/> a
WHERE USE_YN = 'Y' WHERE
USE_YN = 'Y'
<isNotEmpty property="lctrDivCd">
AND a.LCTR_DIV_CD = #lctrDivCd#
</isNotEmpty>
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select> </select>
<select id="VEANotifyMngDAO.findById" parameterClass="notifyManageVO" resultClass="notifyManageVO"> <select id="VEANotifyMngDAO.findByMngId" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyMngDAO.findById */ /* VEANotifyMngDAO.findByMngId */
SELECT SELECT
<include refid="VEANotifyMngDAO.select_column_name"/> <include refid="VEANotifyMngDAO.select_column_name"/>
FROM FROM

View File

@ -10,23 +10,23 @@
<!-- 공통 테이블 명 --> <!-- 공통 테이블 명 -->
<sql id="VEANotifyDAO.table_name"> <sql id="VEANotifyDAO.table_name">
VEA_CMM_NOTIFY a VEA_CMM_NOTIFY
</sql> </sql>
<!-- 저장용 공통 컬럼 명 --> <!-- 저장용 공통 컬럼 명 -->
<sql id="VEANotifyDAO.column_name"> <sql id="VEANotifyDAO.column_name">
CMM_NOTIFY_ORD CMM_NOTIFY_ORD
TO_USER_ID , TO_USER_ID
NOTIFY_CN , NOTIFY_CN
NOTIFY_CHK , NOTIFY_CHK
LCTR_DIV_CD , LCTR_DIV_CD
NOTIFY_PATH , NOTIFY_PATH
EDU_APLCT_ORD , EDU_APLCT_ORD
EDU_CHASI_ORD , EDU_CHASI_ORD
FRST_REGIST_PNTTM , FRST_REGIST_PNTTM
FRST_REGISTER_ID , FRST_REGISTER_ID
LAST_UPDT_PNTTM , LAST_UPDT_PNTTM
LAST_UPDUSR_ID , LAST_UPDUSR_ID
</sql> </sql>
@ -47,5 +47,65 @@
</sql> </sql>
<select id="VEANotifyDAO.selectPagingList" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyMngDAO.selectPagingList */
SELECT
COUNT(1) OVER() AS totCnt ,
<include refid="VEANotifyDAO.select_column_name"/>
FROM
<include refid="VEANotifyDAO.table_name"/> a
WHERE
a.TO_USER_ID = #toUserId#
OFFSET #firstIndex# ROWS FETCH NEXT #recordCountPerPage# ROWS ONLY;
</select>
<insert id="VEANotifyDAO.insertNotifyEduForAdmin" parameterClass="notifyManageVO">
/* VEANotifyDAO.insertNotifyEduForAdmin */
INSERT INTO <include refid="VEANotifyDAO.table_name"/> (
<include refid="VEANotifyDAO.column_name"/>
)VALUES(
#cmmNotifyOrd#
, #toUserId#
, #notifyCn#
, #notifyChk#
, #lctrDivCd#
, #notifyPath#
, #eduAplctOrd#
, #eduChasiOrd#
, SYSDATE
, #frstRegisterId#
, ''
, ''
)
</insert>
<select id="VEANotifyDAO.findById" parameterClass="notifyManageVO" resultClass="notifyManageVO">
/* VEANotifyMngDAO.findById */
SELECT
<include refid="VEANotifyDAO.select_column_name"/>
FROM
<include refid="VEANotifyDAO.table_name"/> a
WHERE a.cmm_notify_ord = #cmmNotifyOrd#
</select>
<update id="VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd" parameterClass="String">
/* VEANotifyDAO.updateNotifyChkWhereCmmNotifyOrd */
UPDATE
<include refid="VEANotifyDAO.table_name"/>
SET
notify_chk = 'Y'
, last_updt_pnttm = SYSDATE
, last_updusr_id = #lastUpdusrId#
WHERE
cmm_notify_ord = #cmmNotifyOrd#
</update>
</sqlMap> </sqlMap>

View File

@ -1,168 +1,167 @@
<%-- <%--
Class Name : EgovUserManage.jsp Class Name : EgovUserManage.jsp
Description : 사용자관리(조회,삭제) JSP Description : 사용자관리(조회,삭제) JSP
Modification Information Modification Information
수정일 수정자 수정내용 수정일 수정자 수정내용
------- -------- --------------------------- ------- -------- ---------------------------
2009.03.03 JJY 최초 생성 2009.03.03 JJY 최초 생성
2011.08.31 JJY 경량환경 버전 생성 2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 JJY author : 공통서비스 개발팀 JJY
since : 2009.03.03 since : 2009.03.03
--%> --%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> <%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %> <%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%> <%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko"> <meta http-equiv="content-language" content="ko">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, width=device-width" /> <meta name="viewport" content="user-scalable=no, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, width=device-width" />
<title>사용자 목록</title> <title>사용자 목록</title>
<script type="text/javaScript" language="javascript" defer="defer"> <script type="text/javaScript" language="javascript" defer="defer">
function linkPage(pageNo){ function linkPage(pageNo){
var listForm = document.listForm ; var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ; listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/uss/umt/notify/selectList.do'/>"; listForm.action = "<c:url value='/uss/umt/notify/selectList.do'/>";
listForm.submit(); listForm.submit();
} }
function fn_regBtn(){ function fn_regBtn(){
var form = document.listForm ; var form = document.listForm ;
form.action = "<c:url value='/uss/umt/notify/notifyUserReg.do'/>"; form.action = "<c:url value='/uss/umt/notify/notifyUserReg.do'/>";
form.submit(); form.submit();
} }
function fn_goDetail(cmmNotifyMngOrd){ function fn_goDetail(cmmNotifyMngOrd){
var form = document.detailForm ; var form = document.detailForm ;
form.cmmNotifyMngOrd.value=cmmNotifyMngOrd; form.cmmNotifyMngOrd.value=cmmNotifyMngOrd;
form.action = "<c:url value='/uss/umt/notify/notifyUserDetail.do'/>"; form.action = "<c:url value='/uss/umt/notify/notifyUserDetail.do'/>";
form.submit(); form.submit();
} }
</script> </script>
</head> </head>
<body> <body>
<form name="detailForm" action="" method="post"> <form name="detailForm" action="" method="post">
<input type="hidden" name="cmmNotifyMngOrd" id="cmmNotifyMngOrd" /> <input type="hidden" name="cmmNotifyMngOrd" id="cmmNotifyMngOrd" />
</form> </form>
<form name="listForm" action="<c:url value='/uss/umt/user/EgovUserManage.do'/>" method="post"> <form name="listForm" action="<c:url value='/uss/umt/user/EgovUserManage.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${notifyManageVO.pageIndex}' default='1' /> "/> <input name="pageIndex" type="hidden" value="<c:out value='${notifyManageVO.pageIndex}' default='1' /> "/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${notifyManageVO.searchSortCnd}" />" /> <input type="hidden" name="searchSortCnd" value="<c:out value="${notifyManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${notifyManageVO.searchSortOrd}" />" /> <input type="hidden" name="searchSortOrd" value="<c:out value="${notifyManageVO.searchSortOrd}" />" />
<div class="cont_wrap"> <div class="cont_wrap">
<div class="box"> <div class="box">
<div class="cont_tit"> <div class="cont_tit">
<h2>알림수신자관리</h2> <h2>알림수신자관리</h2>
<ul class="cont_nav"> <ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li> <li class="home"><a href="/"><i></i></a></li>
<li> <li>
<p>관리자관리</p> <p>관리자관리</p>
</li> </li>
<li><span class="cur_nav">알림수신자관리</span></li> <li><span class="cur_nav">알림수신자관리</span></li>
</ul> </ul>
</div> </div>
<!-- cont --> <!-- cont -->
<div class="cont"> <div class="cont">
<!-- list_top --> <!-- list_top -->
<div class="list_top list_top_sub"> <div class="list_top list_top_sub">
<p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p> <p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div class="list_util"> <div class="list_util">
<%-- <c:if test="${siteId eq 'super'}"> <%-- <c:if test="${siteId eq 'super'}">
<select name="searchConditionSite" class="sel_type1" id="searchConditionSite" title="검색조건2-검색어구분"> <select name="searchConditionSite" class="sel_type1" id="searchConditionSite" title="검색조건2-검색어구분">
<c:forEach var="result" items="${siteManageList}" varStatus="status"> <c:forEach var="result" items="${siteManageList}" varStatus="status">
<option value="${result.siteId}" <c:if test="${result.siteId eq userSearchVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option> <option value="${result.siteId}" <c:if test="${result.siteId eq userSearchVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option>
</c:forEach> </c:forEach>
</select> </select>
</c:if> </c:if>
<select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건"> <select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건">
<option value="" <c:if test="${empty userSearchVO.searchCondition }">selected="selected"</c:if> >전체</option> <option value="" <c:if test="${empty userSearchVO.searchCondition }">selected="selected"</c:if> >전체</option>
<option value="0" <c:if test="${notifyManageVO.searchCondition == '0'}">selected="selected"</c:if> >아이디</option> <option value="0" <c:if test="${notifyManageVO.searchCondition == '0'}">selected="selected"</c:if> >아이디</option>
<option value="1" <c:if test="${notifyManageVO.searchCondition == '1'}">selected="selected"</c:if> >관리자명</option> <option value="1" <c:if test="${notifyManageVO.searchCondition == '1'}">selected="selected"</c:if> >관리자명</option>
</select> </select>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${notifyManageVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요"> <input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${notifyManageVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요">
<button class="btn_search" onclick="fnSearch(); return false;">검색</button> <button class="btn_search" onclick="fnSearch(); return false;">검색</button>
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px"> <select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${notifyManageVO.pageUnit == '10' or userSearchVO.pageUnit == ''}">selected</c:if>>10줄</option> <option value='10' <c:if test="${notifyManageVO.pageUnit == '10' or userSearchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${notifyManageVO.pageUnit == '20'}">selected</c:if>>20줄</option> <option value='20' <c:if test="${notifyManageVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${notifyManageVO.pageUnit == '30'}">selected</c:if>>30줄</option> <option value='30' <c:if test="${notifyManageVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select> --%> </select> --%>
</div> </div>
</div> </div>
<!-- //list_top --> <!-- //list_top -->
<!-- list --> <!-- list -->
<div class="list tbType01"> <div class="list tbType01">
<table> <table>
<colgroup> <colgroup>
<col style="width: 10%"> <col style="width: 10%">
<col style="width: 15%"> <col style="width: 15%">
<col style="width: 10%"> <col style="width: 10%">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th scope="col">담당자ID</th> <th scope="col">담당자ID</th>
<th scope="col">관련영역</th> <th scope="col">관련영역</th>
<th scope="col">등록일</th> <th scope="col">등록일</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<c:forEach var="list" items="${list}" varStatus="status"> <c:forEach var="list" items="${list}" varStatus="status">
<tr onclick="fn_goDetail('${list.cmmNotifyMngOrd}')" style="cursor: pointer;" > <tr onclick="fn_goDetail('${list.cmmNotifyMngOrd}')" style="cursor: pointer;" >
<td> <td>
<c:out value="${list.mngUserId}"/> <c:out value="${list.mngUserId}"/>
</td> </td>
<td> <td>
<ve:code codeId="VE0011" code="${list.lctrDivCd}"/> <ve:code codeId="VE0011" code="${list.lctrDivCd}"/>
</td> </td>
<td> <td>
<c:out value="${list.frstRegistPnttm}"/> <c:out value="${list.frstRegistPnttm}"/>
</td> </td>
</tr> </tr>
</c:forEach> </c:forEach>
<c:if test="${empty list}"> <c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr> <tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if> </c:if>
</tbody> </tbody>
</table> </table>
</div> </div>
<!-- //list --> <!-- //list -->
<!-- btn_wrap --> <!-- btn_wrap -->
<div class="btn_wrap btn_layout01"> <div class="btn_wrap btn_layout01">
<div class="area_left"> <div class="area_left">
</div> </div>
<div class="area_right"> <div class="area_right">
<button type="button" class="btnType02" onclick="fn_regBtn(); return false;">등록</button> <button type="button" class="btnType02" onclick="fn_regBtn(); return false;">등록</button>
</div> </div>
</div> </div>
<!-- //btn_wrap --> <!-- //btn_wrap -->
<!-- page --> <!-- page -->
<!-- page --> <div class="page">
<div class="page"> <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" /> </div>
</div>
</div>
</div> <!-- //cont -->
<!-- //cont --> </div>
</div> </div>
</div> </form>
</form> <form name="modiForm" id="modiForm" method="get">
<form name="modiForm" id="modiForm" method="get"> <input name="selectedId" type="hidden" />
<input name="selectedId" type="hidden" /> </form>
</form> </body>
</body> </html>
</html>

View File

@ -0,0 +1,128 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="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" %>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
* @Description : 기반강화연수 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function fncGoList(){
var form = document.modifyForm ;
form.action = "<c:url value='/cmm/main/mainPage.do'/>";
form.submit();
}
function fn_goDetail(url){
var form = document.goForm ;
form.action = url;
form.submit();
}
</script>
</head>
<body>
<form id="goForm" name="goForm" method="post">
<input type="hidden" name="cmmNotifyOrd" id="cmmNotifyOrd" value="${info.cmmNotifyOrd}">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}">
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>알림상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<!-- <li> -->
<!-- <p>관리자관리</p> -->
<!-- </li> -->
<li><span class="cur_nav">알림상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>알림 상세</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">분류</th>
<td>
<ve:code codeId="VE0011" code="${info.lctrDivCd}"/>
</td>
</tr>
<tr>
<th scope="row">알림 메세지</th>
<td>
${info.notifyCn }
</td>
</tr>
<tr>
<th scope="row">바로가기</th>
<td>
<button type="button" class="btn_type08" onclick="fn_goDetail('<c:url value="${info.notifyPath }" />'); return false;">바로가기</button>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,173 @@
<%--
Class Name : EgovUserManage.jsp
Description : 사용자관리(조회,삭제) JSP
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.03 JJY 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 JJY
since : 2009.03.03
--%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<meta http-equiv="content-language" content="ko">
<meta name="viewport" content="user-scalable=no, initial-scale=1.0,maximum-scale=1.0, minimum-scale=1.0, width=device-width" />
<title>관리자 목록</title>
<script type="text/javaScript" language="javascript" defer="defer">
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.action = "<c:url value='/cmm/main/mainPage.do'/>";
listForm.submit();
}
function fn_goDetail(cmmNotifyOrd){
var form = document.detailForm ;
form.cmmNotifyOrd.value=cmmNotifyOrd;
form.action = "<c:url value='/cmm/main/mainDetail.do'/>";
form.submit();
}
</script>
</head>
<body>
<form name="detailForm" action="" method="post">
<input type="hidden" name="cmmNotifyOrd" id="cmmNotifyOrd" />
</form>
<form name="listForm" action="<c:url value='/uss/umt/user/EgovUserManage.do'/>" method="post">
<input name="pageIndex" type="hidden" value="<c:out value='${notifyManageVO.pageIndex}' default='1' /> "/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${notifyManageVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${notifyManageVO.searchSortOrd}" />" />
<div class="cont_wrap">
<div class="box">
<div class="cont_tit">
<h2>알림목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<!-- <li> -->
<!-- <p>관리자관리</p> -->
<!-- </li> -->
<li><span class="cur_nav">알림목록</span></li>
</ul>
</div>
<!-- cont -->
<div class="cont">
<!-- list_top -->
<div class="list_top list_top_sub">
<p>총 건수 : <span><c:out value="${paginationInfo.totalRecordCount}" /></span>건</p>
<div class="list_util">
<%-- <c:if test="${siteId eq 'super'}">
<select name="searchConditionSite" class="sel_type1" id="searchConditionSite" title="검색조건2-검색어구분">
<c:forEach var="result" items="${siteManageList}" varStatus="status">
<option value="${result.siteId}" <c:if test="${result.siteId eq userSearchVO.searchConditionSite }">selected="selected"</c:if> >${result.siteNm}</option>
</c:forEach>
</select>
</c:if>
<select class="sel2 searchSel sel_type1" id="searchCondition" name="searchCondition" title="조회조건">
<option value="" <c:if test="${empty userSearchVO.searchCondition }">selected="selected"</c:if> >전체</option>
<option value="0" <c:if test="${notifyManageVO.searchCondition == '0'}">selected="selected"</c:if> >아이디</option>
<option value="1" <c:if test="${notifyManageVO.searchCondition == '1'}">selected="selected"</c:if> >관리자명</option>
</select>
<input type="text" id="searchKeyword" name="searchKeyword" value="<c:out value='${notifyManageVO.searchKeyword}'/>" class="search_input" placeholder="검색어를 입력하세요">
<button class="btn_search" onclick="fnSearch(); return false;">검색</button>
<select class="sel2 sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px">
<option value='10' <c:if test="${notifyManageVO.pageUnit == '10' or userSearchVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${notifyManageVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${notifyManageVO.pageUnit == '30'}">selected</c:if>>30줄</option>
</select> --%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="list tbType01">
<table>
<colgroup>
<col style="width: 3%">
<col style="width: 3%">
<col style="width: 15%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th scope="col">확인여부</th>
<th scope="col">분야</th>
<th scope="col">메세지</th>
<th scope="col">등록일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr onclick="fn_goDetail('${list.cmmNotifyOrd}')" style="cursor: pointer;" >
<td>
<c:choose>
<c:when test="${list.notifyChk ne 'Y'}">
new
</c:when>
<c:otherwise>
확인완료
</c:otherwise>
</c:choose>
</td>
<td>
<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>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
</div>
<div class="area_right">
<!-- <button type="button" class="btnType02" onclick="fn_regBtn(); return false;">등록</button> -->
</div>
</div>
<!-- //btn_wrap -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
</div>
<!-- //cont -->
</div>
</div>
</form>
<form name="modiForm" id="modiForm" method="get">
<input name="selectedId" type="hidden" />
</form>
</body>
</html>