From 4d464e592519ee8fdd2444140270ce8ca919a557 Mon Sep 17 00:00:00 2001 From: tolag3 Date: Tue, 24 Sep 2024 20:59:39 +0900 Subject: [PATCH] Merge branch 'tolag3' --- .../service/EgovMenuCreateManageService.java | 3 + .../impl/EgovMenuCreateManageServiceImpl.java | 9 + .../mcm/service/impl/MenuCreateManageDAO.java | 9 + src/main/java/kcc/web/MainController.java | 2070 ++++++++--------- .../sym/mnu/mcm/EgovMenuCreat_SQL_Oracle.xml | 259 ++- .../WEB-INF/jsp/web/com/webCommonHeader.jsp | 2 +- .../WEB-INF/jsp/web/com/webCommonLeftMenu.jsp | 100 +- .../jsp/web/com/webCommonSubVisual.jsp | 2 +- .../webapp/WEB-INF/jsp/web/com/webLayout.jsp | 6 +- .../webapp/WEB-INF/jsp/web/xxx/xxxList.jsp | 84 - 10 files changed, 1255 insertions(+), 1289 deletions(-) diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java b/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java index 44b54684..22ce142a 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java @@ -106,4 +106,7 @@ public interface EgovMenuCreateManageService { void insertMenu(MenuManageVO menuManageVO) throws Exception; + List selectMenuListCurrentJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception; + + List selectMenuListJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception; } diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java index 81282e36..1791fa4e 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java @@ -226,4 +226,13 @@ public class EgovMenuCreateManageServiceImpl extends EgovAbstractServiceImpl imp menuCreateManageDAO.updateQuickList(menuManageVO); } + @Override + public List selectMenuListCurrentJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception { + return menuCreateManageDAO.selectMenuListCurrentJtreeWebCustom(menuManageVO); + } + + @Override + public List selectMenuListJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception { + return menuCreateManageDAO.selectMenuListJtreeWebCustom(menuManageVO); + } } diff --git a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java index a808ddd8..819a62d4 100644 --- a/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java +++ b/src/main/java/kcc/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java @@ -180,5 +180,14 @@ public class MenuCreateManageDAO extends EgovAbstractDAO{ insert("menuManageDAO.insertQuickList", menuManageVO); } + @SuppressWarnings("unchecked") + public List selectMenuListCurrentJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception{ + return (List) list("menuManageDAO.selectMenuListCurrentJtreeWebCustom", menuManageVO); + } + @SuppressWarnings("unchecked") + public List selectMenuListJtreeWebCustom(MenuManageJTreeVO menuManageVO) throws Exception{ + return (List) list("menuManageDAO.selectMenuListJtreeWebCustom", menuManageVO); + } + } diff --git a/src/main/java/kcc/web/MainController.java b/src/main/java/kcc/web/MainController.java index e3e0d7e2..f877c0bf 100644 --- a/src/main/java/kcc/web/MainController.java +++ b/src/main/java/kcc/web/MainController.java @@ -6,12 +6,15 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Properties; +import java.util.stream.Collector; +import java.util.stream.Collectors; import javax.activation.DataHandler; import javax.activation.DataSource; @@ -93,23 +96,22 @@ import kcc.let.sym.site.service.EgovSiteManagerService; import kcc.let.sym.site.service.SiteManagerVO; import kcc.let.uat.uia.service.SsoLoginVO; - - /** * 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스) + * * @author 실행환경 개발팀 JJY * @since 2011.08.31 * @version 1.0 * @see * - *
+ *      
  * << 개정이력(Modification Information) >>
  *
  *   수정일      수정자           수정내용
  *  -------    --------    ---------------------------
  *   2011.08.31  JJY            최초 생성
  *
- * 
+ *
*/ @Controller @SessionAttributes(types = ComDefaultVO.class) @@ -118,65 +120,64 @@ public class MainController { /** EgovProgrmManageService */ @Resource(name = "progrmManageService") private EgovProgrmManageService progrmManageService; - + /** EgovPropertyService */ @Resource(name = "propertiesService") protected EgovPropertyService propertiesService; - + /** * EgovBBSManageService */ @Resource(name = "EgovBBSManageService") - private EgovBBSManageService bbsMngService; + private EgovBBSManageService bbsMngService; /** EgovMenuManageService */ @Resource(name = "meunManageService") - private EgovMenuManageService menuManageService; + private EgovMenuManageService menuManageService; @Resource(name = "egovBannerService") - private EgovBannerService egovBannerService; - + private EgovBannerService egovBannerService; + /** EgovPopupManageService */ @Resource(name = "egovPopupManageService") private EgovPopupManageService egovPopupManageService; - + /** cyberAlertManageService */ @Resource(name = "cyberAlertManageService") private CyberAlertManageService cyberAlertManageService; - - @Resource(name="EgovLoginLogService") + + @Resource(name = "EgovLoginLogService") private EgovLoginLogService loginLogService; - + @Resource(name = "conectStatsService") - private EgovConectStatsService conectStatsService; - - @Resource(name="databaseSecurityMetadataSource") - EgovReloadableFilterInvocationSecurityMetadataSource databaseSecurityMetadataSource; - + private EgovConectStatsService conectStatsService; + + @Resource(name = "databaseSecurityMetadataSource") + EgovReloadableFilterInvocationSecurityMetadataSource databaseSecurityMetadataSource; + /** cmmUseService */ @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; - + /** EgovMenuManageService */ @Resource(name = "meunCreateManageService") private EgovMenuCreateManageService menuCreateManageService; @Resource(name = "egovSiteManagerService") EgovSiteManagerService egovSiteManagerService; - + @Resource(name = "EgovBBSAttributeManageService") private EgovBBSAttributeManageService bbsAttrbService; - + /** metaTagManageService 메타태그 */ @Resource(name = "metaTagManageService") private MetaTagManageService metaTagManageService; - - @Resource(name="EgovFileMngUtil") + + @Resource(name = "EgovFileMngUtil") private EgovFileMngUtil fileUtil; - - + @Value("#{globalSettings['Globals.email.host']}") - private String Globals_email_host; + private String Globals_email_host; @Value("#{globalSettings['Globals.email.port']}") private String Globals_email_port; @Value("#{globalSettings['Globals.email.fromUser']}") @@ -189,420 +190,409 @@ public class MainController { private String Globals_email_toEmail; @Value("#{globalSettings['Globals.email.toEmail.BCC']}") private String Globals_email_toEmail_BCC; - + @Resource(name = "CmmnDetailCodeManageService") - private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; - + private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; + @RequestMapping(value = "/web/main/mainPage.do") - public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception{ - //메인이미지 + public String siteMainPage(HttpServletRequest request, ModelMap model, HttpSession session) throws Exception { + // 메인이미지 // String referer = (String)request.getHeader("REFERER"); - + /** EgovPropertyService.sample */ MainzoneVO mainzoneVO = new MainzoneVO(); - mainzoneVO.setPageUnit(propertiesService.getInt("pageUnit")); - mainzoneVO.setPageSize(propertiesService.getInt("pageSize")); + mainzoneVO.setPageUnit(propertiesService.getInt("pageUnit")); + mainzoneVO.setPageSize(propertiesService.getInt("pageSize")); /** pageing */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(mainzoneVO.getPageIndex()); paginationInfo.setRecordCountPerPage(mainzoneVO.getPageUnit()); paginationInfo.setPageSize(mainzoneVO.getPageSize()); - + mainzoneVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); mainzoneVO.setLastIndex(paginationInfo.getLastRecordIndex()); mainzoneVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); - mainzoneVO.setUseYn("Y"); //사용하는것만 - mainzoneVO.setDeviceType("P"); //PC - List mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지 + mainzoneVO.setUseYn("Y"); // 사용하는것만 + mainzoneVO.setDeviceType("P"); // PC + List mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); // 상단메인 이미지 // mainzoneVO.setDeviceType("M"); //모바일 // List mainzoneListM = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지 - - model.addAttribute("mainzoneList", mainzoneList); //PC + + model.addAttribute("mainzoneList", mainzoneList); // PC // model.addAttribute("mainzoneListM", mainzoneListM); //모바일 - - /* - * 반응형으로 사용을 해야해서 모바일에서도 팝업 존 영역의 데이터를 불러와야해서 주석처리했음 - * 우영두 - * 2021.10.29 - * */ - - /** 팝업 알림창괸리 */ - //if(!isMobile(request)){ //PC인경우만 - PopupManageVO popupManageVO = new PopupManageVO(); - popupManageVO.setRecordCountPerPage(10); //10개만 - popupManageVO.setNtceAt("Y"); //사용만 - popupManageVO.setMainPageFlag("Y") ; //메인화면의 용도(시작일 종료일 사이 조회) - List popupList = egovPopupManageService.selectPopupMainList(popupManageVO); - model.addAttribute("popupList", popupList); - //} - - /** 팝업존 알림창괸리 */ - //if(!isMobile(request)){ - PopupzoneVO popupzoneVo = new PopupzoneVO(); - popupzoneVo.setFirstIndex(0); - popupzoneVo.setSeCd("02"); //좌측팝업 - popupzoneVo.setUseYn("Y"); - popupzoneVo.setSearchSortCnd("MB.sort"); - popupzoneVo.setSearchSortOrd("ASC"); - - List popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo); - model.addAttribute("popupzoneList", popupzoneList); - //popupzoneVo.setSeCd("03"); - //List popupzoneTopList = egovPopupManageService.selectPopupzoneList(popupzoneVo); - //model.addAttribute("popupzoneTopList", popupzoneTopList); - - //} - - /** 게시판 조회 - 조정사례 */ + + /* + * 반응형으로 사용을 해야해서 모바일에서도 팝업 존 영역의 데이터를 불러와야해서 주석처리했음 우영두 2021.10.29 + */ + + /** 팝업 알림창괸리 */ + // if(!isMobile(request)){ //PC인경우만 + PopupManageVO popupManageVO = new PopupManageVO(); + popupManageVO.setRecordCountPerPage(10); // 10개만 + popupManageVO.setNtceAt("Y"); // 사용만 + popupManageVO.setMainPageFlag("Y"); // 메인화면의 용도(시작일 종료일 사이 조회) + List popupList = egovPopupManageService.selectPopupMainList(popupManageVO); + model.addAttribute("popupList", popupList); + // } + + /** 팝업존 알림창괸리 */ + // if(!isMobile(request)){ + PopupzoneVO popupzoneVo = new PopupzoneVO(); + popupzoneVo.setFirstIndex(0); + popupzoneVo.setSeCd("02"); // 좌측팝업 + popupzoneVo.setUseYn("Y"); + popupzoneVo.setSearchSortCnd("MB.sort"); + popupzoneVo.setSearchSortOrd("ASC"); + + List popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo); + model.addAttribute("popupzoneList", popupzoneList); + // popupzoneVo.setSeCd("03"); + // List popupzoneTopList = + // egovPopupManageService.selectPopupzoneList(popupzoneVo); + // model.addAttribute("popupzoneTopList", popupzoneTopList); + + // } + + /** 게시판 조회 - 조정사례 */ // BoardVO boardVO = new BoardVO(); // boardVO.setRecordCountPerPage(5); //게시글 수 // boardVO.setFirstIndex(0); // // boardVO.setBbsId("BBSMSTR_000000000651"); // List vo = bbsMngService.selectMainBoardRecent(boardVO); - + // model.addAttribute("bbsList", vo); - + return "web/main/mainPage"; } - - /** - * 사용자 상단 매뉴 - */ - @RequestMapping(value="/web/com/webCommonHeader.do") - public String siteWebCommonHeader( - @RequestParam Map commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model, HttpServletRequest request, HttpSession session) - throws Exception { - - //로그인 권한정보 불러오기 - LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); - - //권한별 메뉴표시 - if(!userAuthority.equals("ROLE_ADMIN") - && !userAuthority.equals("ROLE_ADR_ADMIN") - && userAuthority != "") { - menuManageVO.setAuthorCode(userAuthority); - }else if(userAuthority.equals("ROLE_ADMIN") || userAuthority.equals("ROLE_ADR_ADMIN")) { - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - } - else { - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - } - //대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌 - model.addAttribute("auth", menuManageVO.getAuthorCode()); - - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; + /** + * 사용자 상단 매뉴 + */ + @RequestMapping(value = "/web/com/webCommonHeader.do") + public String siteWebCommonHeader(@RequestParam Map commandMap, + @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model, HttpServletRequest request, + HttpSession session) throws Exception { + + // 로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() + ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() + : null; + String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + + // 권한별 메뉴표시 + if (!userAuthority.equals("ROLE_ADMIN") && userAuthority != "") { + menuManageVO.setAuthorCode(userAuthority); + } else if (userAuthority.equals("ROLE_ADMIN")) { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } else { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); model.addAttribute("menuResultList", menuResultList); - - SsoLoginVO ssoLoginVO = (SsoLoginVO)session.getAttribute("SSOLoginVO"); - if(ssoLoginVO != null) { - model.addAttribute("ssoLoginVO", ssoLoginVO); - } - + return "web/com/webCommonHeader"; - } - - /** - * 사용자 footer - */ - @RequestMapping(value="/web/com/webCommonFooter.do") - public String siteWebCommonFooter( - @RequestParam Map commandMap, HttpServletRequest request, ModelMap model) - throws Exception { - - LoginLog loginLog = new LoginLog(); - if(request.getRequestURI().contains("/web/main/mainPage.do")){ //사용자 메인 - loginLog.setProgrmFileNm("mainPage"); - loginLog.setMenuNm("사용자메인"); - }else if(request.getRequestURI().contains("/web/survey/surveyList")){ //설문조사 - loginLog.setProgrmFileNm("surveyList"); - loginLog.setMenuNm("설문조사"); - }else if(request.getRequestURI().contains("/web/content.do")){ //컨텐츠 - if(commandMap.get("proFn")!=null){ - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("proFn"); - tempMenuManageVO.setAuthorCode((String)commandMap.get("proFn")); - MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO) ; - loginLog.setProgrmFileNm((String)commandMap.get("proFn")); - if(resultVO!=null){ - loginLog.setMenuNm(resultVO.getMenuNm()); - } - } - }else if(commandMap.get("bbsId") != null){ //나머지 모든 게시판 - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchKeyword((String)commandMap.get("bbsId")); - tempMenuManageVO.setSearchCondition("bbsId"); - MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO) ; - loginLog.setProgrmFileNm((String)commandMap.get("bbsId")); - if(resultVO!=null){ + } + + /** + * 사용자 footer + */ + @RequestMapping(value = "/web/com/webCommonFooter.do") + public String siteWebCommonFooter(@RequestParam Map commandMap, HttpServletRequest request, + ModelMap model) throws Exception { + + LoginLog loginLog = new LoginLog(); + if (request.getRequestURI().contains("/web/main/mainPage.do")) { // 사용자 메인 + loginLog.setProgrmFileNm("mainPage"); + loginLog.setMenuNm("사용자메인"); + } else if (request.getRequestURI().contains("/web/survey/surveyList")) { // 설문조사 + loginLog.setProgrmFileNm("surveyList"); + loginLog.setMenuNm("설문조사"); + } else if (request.getRequestURI().contains("/web/content.do")) { // 컨텐츠 + if (commandMap.get("proFn") != null) { + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("proFn"); + tempMenuManageVO.setAuthorCode((String) commandMap.get("proFn")); + MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + loginLog.setProgrmFileNm((String) commandMap.get("proFn")); + if (resultVO != null) { + loginLog.setMenuNm(resultVO.getMenuNm()); + } + } + } else if (commandMap.get("bbsId") != null) { // 나머지 모든 게시판 + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchKeyword((String) commandMap.get("bbsId")); + tempMenuManageVO.setSearchCondition("bbsId"); + MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + loginLog.setProgrmFileNm((String) commandMap.get("bbsId")); + if (resultVO != null) { loginLog.setMenuNm(resultVO.getMenuNm()); } - }else{ - loginLog.setProgrmFileNm(null); - } + } else { + loginLog.setProgrmFileNm(null); + } - //사용자 방문수 insert - { + // 사용자 방문수 insert + { // if(null == loginLogService.selectLoginUserLog(loginLog)){ //오늘날짜의 IP조회 - SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyyMMdd", Locale.KOREA ); - Date currentTime = new Date (); - String mTime = mSimpleDateFormat.format ( currentTime ); - HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); - if (ip == null){ ip = req.getRemoteAddr();} - - loginLog.setLoginIp(ip); - loginLog.setCreatDt(mTime); - loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O - loginLog.setErrOccrrAt("N"); - loginLog.setErrorCode(""); - loginLog.setUserAt("U"); - - Object obj = EgovUserDetailsHelper.getAuthenticatedUser(); - - if( - obj != null && - !"anonymousUser".equals(obj) - ) { - LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); - loginLog.setLoginId(loginVO.getId()); - }else { - loginLog.setLoginId(""); - } - - if(isMobile(request)){ - loginLog.setDeviceType("M"); - }else{ - loginLog.setDeviceType("P"); - } - - if(null != request.getQueryString() && !"".equals(request.getQueryString())){ - loginLog.setUrl(request.getRequestURI()+"?"+request.getQueryString()); - }else { - loginLog.setUrl(request.getRequestURI()); - } - //loginLogService.logInsertLoginLog(loginLog); - + SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("yyyyMMdd", Locale.KOREA); + Date currentTime = new Date(); + String mTime = mSimpleDateFormat.format(currentTime); + HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()) + .getRequest(); + String ip = req.getHeader("X-FORWARDED-FOR"); + if (ip == null) { + ip = req.getRemoteAddr(); + } + + loginLog.setLoginIp(ip); + loginLog.setCreatDt(mTime); + loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O + loginLog.setErrOccrrAt("N"); + loginLog.setErrorCode(""); + loginLog.setUserAt("U"); + + Object obj = EgovUserDetailsHelper.getAuthenticatedUser(); + + if (obj != null && !"anonymousUser".equals(obj)) { + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + loginLog.setLoginId(loginVO.getId()); + } else { + loginLog.setLoginId(""); + } + + if (isMobile(request)) { + loginLog.setDeviceType("M"); + } else { + loginLog.setDeviceType("P"); + } + + if (null != request.getQueryString() && !"".equals(request.getQueryString())) { + loginLog.setUrl(request.getRequestURI() + "?" + request.getQueryString()); + } else { + loginLog.setUrl(request.getRequestURI()); + } + // loginLogService.logInsertLoginLog(loginLog); + // loginLogService.logInsertLoginLogNewStep1(loginLog); // } - - //오늘 접속 / 최종접속 + + // 오늘 접속 / 최종접속 // LoginLog footerLog = new LoginLog(); // footerLog = loginLogService.selectLogCnt(footerLog); // model.addAttribute("footerLog", footerLog); - - } + + } // model.addAttribute("loginLog", loginLog); - return "web/com/webCommonFooter"; - } - - /** - * 사용자 만족도 관리/매뉴 담당자 가져오기 - */ - @RequestMapping(value="/web/com/webSatisCommonFooter.do") - public String siteWebSatisCommonFooter(@RequestParam Map commandMap, HttpServletRequest request, ModelMap model, Model model2) - throws Exception { - - MenuManageVO tempMenuManageVO = new MenuManageVO(); - - String url = request.getRequestURI(); - String AuthorCode = "ROLE_ANONYMOUS"; //해당 푸터는 데코레이트에서 */web/*만 타므로 무조건 사용자 메뉴이다. - if(request.getRequestURI().contains("/web/content.do")) { - tempMenuManageVO.setSearchCondition("proFn"); - tempMenuManageVO.setAuthorCode(AuthorCode); - tempMenuManageVO.setSearchKeyword((String)commandMap.get("proFn")); - url += "?proFn=" + commandMap.get("proFn"); - }else if(commandMap.get("bbsId") != null) { - tempMenuManageVO.setSearchKeyword((String)commandMap.get("bbsId")); - tempMenuManageVO.setSearchCondition("bbsId"); - tempMenuManageVO.setAuthorCode(AuthorCode); - url += "?" + commandMap.get("bbsId"); - }else { - String tempUrl = request.getRequestURI() ; + return "web/com/webCommonFooter"; + } + + /** + * 사용자 만족도 관리/매뉴 담당자 가져오기 + */ + @RequestMapping(value = "/web/com/webSatisCommonFooter.do") + public String siteWebSatisCommonFooter(@RequestParam Map commandMap, HttpServletRequest request, + ModelMap model, Model model2) throws Exception { + + MenuManageVO tempMenuManageVO = new MenuManageVO(); + + String url = request.getRequestURI(); + String AuthorCode = "ROLE_ANONYMOUS"; // 해당 푸터는 데코레이트에서 */web/*만 타므로 무조건 사용자 메뉴이다. + if (request.getRequestURI().contains("/web/content.do")) { + tempMenuManageVO.setSearchCondition("proFn"); + tempMenuManageVO.setAuthorCode(AuthorCode); + tempMenuManageVO.setSearchKeyword((String) commandMap.get("proFn")); + url += "?proFn=" + commandMap.get("proFn"); + } else if (commandMap.get("bbsId") != null) { + tempMenuManageVO.setSearchKeyword((String) commandMap.get("bbsId")); + tempMenuManageVO.setSearchCondition("bbsId"); + tempMenuManageVO.setAuthorCode(AuthorCode); + url += "?" + commandMap.get("bbsId"); + } else { + String tempUrl = request.getRequestURI(); ComDefaultVO searchVO = new ComDefaultVO(); searchVO.setSearchKeyword(tempUrl); ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if(null != progrmManageVO){ - tempMenuManageVO.setSearchCondition("Y"); - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchCondition("Y"); + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); } - } - MenuManageVO resultVO = menuManageService.selectMenuManage_Satis(tempMenuManageVO) ; - model.addAttribute("resultVO", resultVO); - model.addAttribute("url", url); - return "web/com/webSatisCommonFooter"; - } - - - /** - * 사용자 footer - */ - @RequestMapping(value="/{siteId}/web/com/webThemeCommonFooter.do") - public String webThemeCommonFooter(@PathVariable("siteId") String siteId , - @RequestParam Map commandMap, HttpServletRequest request, ModelMap model) - throws Exception { - - LoginLog loginLog = new LoginLog(); - if(request.getRequestURI().contains("/web/main/mainPage.do")){ //사용자 메인 - loginLog.setProgrmFileNm("mainPage"); - loginLog.setMenuNm("사용자메인"); - }else if(request.getRequestURI().contains("/web/survey/surveyList")){ //설문조사 - loginLog.setProgrmFileNm("surveyList"); - loginLog.setMenuNm("설문조사"); - }else if(request.getRequestURI().contains("/web/content.do")){ //컨텐츠 - if(commandMap.get("proFn")!=null){ - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("proFn"); - tempMenuManageVO.setAuthorCode((String)commandMap.get("proFn")); - MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO) ; - loginLog.setProgrmFileNm((String)commandMap.get("proFn")); - if(resultVO!=null){ - loginLog.setMenuNm(resultVO.getMenuNm()); - } - } - }else if(commandMap.get("bbsId") != null){ //나머지 모든 게시판 - - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchKeyword((String)commandMap.get("bbsId")); - tempMenuManageVO.setSearchCondition("bbsId"); -/* ComDefaultVO searchVO = new ComDefaultVO(); - searchVO.setSearchCondition("bbsId"); - searchVO.setSearchKeyword((String)commandMap.get("bbsId")); -*/ MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO) ; - loginLog.setProgrmFileNm((String)commandMap.get("bbsId")); - if(resultVO!=null){ + } + MenuManageVO resultVO = menuManageService.selectMenuManage_Satis(tempMenuManageVO); + model.addAttribute("resultVO", resultVO); + model.addAttribute("url", url); + return "web/com/webSatisCommonFooter"; + } + + /** + * 사용자 footer + */ + @RequestMapping(value = "/{siteId}/web/com/webThemeCommonFooter.do") + public String webThemeCommonFooter(@PathVariable("siteId") String siteId, + @RequestParam Map commandMap, HttpServletRequest request, ModelMap model) throws Exception { + + LoginLog loginLog = new LoginLog(); + if (request.getRequestURI().contains("/web/main/mainPage.do")) { // 사용자 메인 + loginLog.setProgrmFileNm("mainPage"); + loginLog.setMenuNm("사용자메인"); + } else if (request.getRequestURI().contains("/web/survey/surveyList")) { // 설문조사 + loginLog.setProgrmFileNm("surveyList"); + loginLog.setMenuNm("설문조사"); + } else if (request.getRequestURI().contains("/web/content.do")) { // 컨텐츠 + if (commandMap.get("proFn") != null) { + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("proFn"); + tempMenuManageVO.setAuthorCode((String) commandMap.get("proFn")); + MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + loginLog.setProgrmFileNm((String) commandMap.get("proFn")); + if (resultVO != null) { + loginLog.setMenuNm(resultVO.getMenuNm()); + } + } + } else if (commandMap.get("bbsId") != null) { // 나머지 모든 게시판 + + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchKeyword((String) commandMap.get("bbsId")); + tempMenuManageVO.setSearchCondition("bbsId"); + /* + * ComDefaultVO searchVO = new ComDefaultVO(); + * searchVO.setSearchCondition("bbsId"); + * searchVO.setSearchKeyword((String)commandMap.get("bbsId")); + */ MenuManageVO resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + loginLog.setProgrmFileNm((String) commandMap.get("bbsId")); + if (resultVO != null) { loginLog.setMenuNm(resultVO.getMenuNm()); } - }else{ - loginLog.setProgrmFileNm(null); - } + } else { + loginLog.setProgrmFileNm(null); + } - //사용자 방문수 insert - { - if(loginLog.getProgrmFileNm()!= null){ //미리보기 경우가 아닌경우 - SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyyMMdd", Locale.KOREA ); - Date currentTime = new Date (); - String mTime = mSimpleDateFormat.format ( currentTime ); - HttpServletRequest req = ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes()).getRequest(); - String ip = req.getHeader("X-FORWARDED-FOR"); - if (ip == null){ ip = req.getRemoteAddr();} - - loginLog.setLoginIp(ip); - loginLog.setCreatDt(mTime); - loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O - loginLog.setErrOccrrAt("N"); - loginLog.setErrorCode(""); - loginLog.setUserAt("U"); - loginLog.setLoginId(""); //connnect_id - if(isMobile(request)){ - loginLog.setDeviceType("M"); - }else{ - loginLog.setDeviceType("P"); - } - loginLogService.logInsertLoginLog(loginLog); - } - - } - model.addAttribute("loginLog", loginLog); - model.addAttribute("siteId", siteId); - String siteFolder = "site/"+siteId ; - - if(siteId.equals("linc") || siteId.equals("klc")){ - return "web/"+siteFolder+"/com/webCommonFooter"; - }else{ + // 사용자 방문수 insert + { + if (loginLog.getProgrmFileNm() != null) { // 미리보기 경우가 아닌경우 + SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat("yyyyMMdd", Locale.KOREA); + Date currentTime = new Date(); + String mTime = mSimpleDateFormat.format(currentTime); + HttpServletRequest req = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()) + .getRequest(); + String ip = req.getHeader("X-FORWARDED-FOR"); + if (ip == null) { + ip = req.getRemoteAddr(); + } + + loginLog.setLoginIp(ip); + loginLog.setCreatDt(mTime); + loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O + loginLog.setErrOccrrAt("N"); + loginLog.setErrorCode(""); + loginLog.setUserAt("U"); + loginLog.setLoginId(""); // connnect_id + if (isMobile(request)) { + loginLog.setDeviceType("M"); + } else { + loginLog.setDeviceType("P"); + } + loginLogService.logInsertLoginLog(loginLog); + } + + } + model.addAttribute("loginLog", loginLog); + model.addAttribute("siteId", siteId); + String siteFolder = "site/" + siteId; + + if (siteId.equals("linc") || siteId.equals("klc")) { + return "web/" + siteFolder + "/com/webCommonFooter"; + } else { SiteManagerVO siteManagerVO = new SiteManagerVO(); siteManagerVO.setSiteId(siteId); - setSiteinfo(siteManagerVO, model , request ); - //return "web/site/theme_"+siteManagerVO.getTheme()+"/"+siteManagerVO.getIsMobile()+"/com/webCommonFooter"; - return "web/site/"+siteId+"/"+siteManagerVO.getIsMobile()+"/com/webCommonFooter"; + setSiteinfo(siteManagerVO, model, request); + // return + // "web/site/theme_"+siteManagerVO.getTheme()+"/"+siteManagerVO.getIsMobile()+"/com/webCommonFooter"; + return "web/site/" + siteId + "/" + siteManagerVO.getIsMobile() + "/com/webCommonFooter"; } - } - - - - /*모바일접속 유무*/ - private boolean isMobile(HttpServletRequest request) { - String userAgent = request.getHeader("user-agent"); - boolean mobile1 = userAgent.matches(".*(iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson).*"); - boolean mobile2 = userAgent.matches(".*(LG|SAMSUNG|Samsung).*"); - if(mobile1 || mobile2) { - return true; - } - return false; - } + } - /*최초 사이트 체크와 동시에 session 설정, 점검중 페이지 적용 */ - @RequestMapping(value="/com/firstSiteCheck.do") - public String firstSiteCheck(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, HttpServletRequest request, @RequestParam Map commandMap, - ModelMap model) - throws Exception { - - //로그인 권한정보 불러오기 - LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); - - //권한별 메뉴표시 - if(!userAuthority.equals("ROLE_ADMIN") + /* 모바일접속 유무 */ + private boolean isMobile(HttpServletRequest request) { + String userAgent = request.getHeader("user-agent"); + boolean mobile1 = userAgent.matches( + ".*(iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson).*"); + boolean mobile2 = userAgent.matches(".*(LG|SAMSUNG|Samsung).*"); + if (mobile1 || mobile2) { + return true; + } + return false; + } + + /* 최초 사이트 체크와 동시에 session 설정, 점검중 페이지 적용 */ + @RequestMapping(value = "/com/firstSiteCheck.do") + public String firstSiteCheck(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, + HttpServletRequest request, @RequestParam Map commandMap, ModelMap model) throws Exception { + + // 로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() + ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() + : null; + String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + + // 권한별 메뉴표시 + if (!userAuthority.equals("ROLE_ADMIN") /* && !userAuthority.equals("ROLE_ADR_ADMIN") */ - && userAuthority != "") { - menuManageVO.setAuthorCode(userAuthority); - }else if(userAuthority.equals("ROLE_ADMIN") || userAuthority.equals("ROLE_ADR_ADMIN")) { - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - } - else { - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - } - //대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌 - model.addAttribute("auth", menuManageVO.getAuthorCode()); - - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - - List menuTwoExist = new ArrayList<>(); //2뎁스의 하위 매뉴가 있는것 조회 - HashSet underMenuEmpty = new HashSet(); //2뎁스의 하위매뉴 없는것 조회 - for(MenuManageJTreeVO menuManage : menuResultList){ - if(menuManage.getDepths().equals("3")){ - menuTwoExist.add(menuManage.getUpperMenuId()) ; + && userAuthority != "") { + menuManageVO.setAuthorCode(userAuthority); + } else if (userAuthority.equals("ROLE_ADMIN") || userAuthority.equals("ROLE_ADR_ADMIN")) { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } else { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + // 대국민, 조정위원일 경우 원뎁스 메뉴에 대시보드 링크를 걸기위해 권한 넘겨줌 + model.addAttribute("auth", menuManageVO.getAuthorCode()); + + menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); + + List menuTwoExist = new ArrayList<>(); // 2뎁스의 하위 매뉴가 있는것 조회 + HashSet underMenuEmpty = new HashSet(); // 2뎁스의 하위매뉴 없는것 조회 + for (MenuManageJTreeVO menuManage : menuResultList) { + if (menuManage.getDepths().equals("3")) { + menuTwoExist.add(menuManage.getUpperMenuId()); } - - if(menuManage.getDepths().equals("2")){ + + if (menuManage.getDepths().equals("2")) { underMenuEmpty.add(menuManage.getMenuNo()); } } - - HashSet underMenuExist = new HashSet(menuTwoExist); //하위매뉴가 있는것 - underMenuEmpty.removeAll(underMenuExist); //하위매뉴가 없는것 - + + HashSet underMenuExist = new HashSet(menuTwoExist); // 하위매뉴가 있는것 + underMenuEmpty.removeAll(underMenuExist); // 하위매뉴가 없는것 + MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO(); menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setMenuNo("0"); - + model.addAttribute("menuResultList", menuResultList); model.addAttribute("underMenuExist", underMenuExist); model.addAttribute("underMenuEmpty", underMenuEmpty); - - //자신의 위치 정보 - List menuCurrentResultList = new ArrayList(); //자신의 위치 - MenuManageVO resultVO = new MenuManageVO(); - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("Y"); - setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); - menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; - Collections.reverse(menuCurrentResultList); //타이틀 역순을 위해 - model.addAttribute("menuCurrentResultList", menuCurrentResultList); - + + // 자신의 위치 정보 + List menuCurrentResultList = new ArrayList(); // 자신의 위치 + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO); + menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO); + Collections.reverse(menuCurrentResultList); // 타이틀 역순을 위해 + model.addAttribute("menuCurrentResultList", menuCurrentResultList); + // SiteManagerVO siteManagerVO = new SiteManagerVO(); - //점검중 페이지 체크 + // 점검중 페이지 체크 // siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO); // if("Y".equals(siteManagerVO.getInspFlag() )){ //점검중 // return "web/com/insp"; // } - //SSO 토큰 유효시간 timeout 시 메인페이지로 이동 + // SSO 토큰 유효시간 timeout 시 메인페이지로 이동 // if(!"".equals(request.getSession().getAttribute("SsoLogout"))) { // if(request.getSession().getAttribute("SsoLogout") != null) { // request.removeAttribute("SsoLogout"); @@ -611,854 +601,610 @@ public class MainController { // } // model.addAttribute("siteManagerVO", siteManagerVO); return "web/com/webLayout"; - } - - /*사이트 체크 유무*/ - @RequestMapping(value="/{siteId}/web/siteCheck.do") - private String siteCheck(@PathVariable("siteId") String siteId , SiteManagerVO siteManagerVO , - HttpServletRequest request , RedirectAttributes redirectAttributes) { - - int totCnt = 0 ; + } + + /* 사이트 체크 유무 */ + @RequestMapping(value = "/{siteId}/web/siteCheck.do") + private String siteCheck(@PathVariable("siteId") String siteId, SiteManagerVO siteManagerVO, + HttpServletRequest request, RedirectAttributes redirectAttributes) { + + int totCnt = 0; siteManagerVO.setSiteId(siteId); try { totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); } catch (Exception e) { System.out.println("Exception Occured!!!"); } - - if(totCnt == 0){ - return "web/com/alert_site"; - - /*redirectAttributes.addFlashAttribute("message", "등록된 사이트가 없습니다."); - RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/blank"); - return redirectUrlMaker.getRedirectUrl();*/ - }else{ - return "blank"; - } - //return "web/main/mainPage"; - } - - /** - * 사용자 페이지의 테마 네비 상단 매뉴 - */ - @RequestMapping(value="/web/com/themeNaviWrap.do") - public String themeWebCommonNaviWrap( - @RequestParam Map commandMap, HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - //자신의 위치 정보 - List menuCurrentResultList = new ArrayList(); //자신의 위치 - List menuLeftResultList = new ArrayList(); //자신이 속한 위치 - List menuUnderResultList = new ArrayList(); //한단계 하위 위치 - MenuManageVO resultVO = new MenuManageVO(); - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("Y"); - - setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); - - menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; - //최상단 매뉴 가져오기 : 상단 그림 변화 - - //관리자에서 파일가져오기 - PopupzoneVO popupzoneVo = new PopupzoneVO(); - popupzoneVo.setFirstIndex(0); - popupzoneVo.setRecordCountPerPage(10); //10개까지 - popupzoneVo.setSeCd("06"); //뉴스레터 - popupzoneVo.setUseYn("Y"); - - List popupzoneList_06 = egovPopupManageService.selectPopupzoneList(popupzoneVo); - String topMenuId = "01" ; - String subMenuFile = "" ; - - int subMenuFileSize = popupzoneList_06.size() ; - - if(menuCurrentResultList.size()!=0){ - topMenuId = ((MenuManageJTreeVO)menuCurrentResultList.get(0)).getMenuNo() ; - if("9100000".equals(topMenuId)){ - topMenuId = "01" ; - if(subMenuFileSize > 0 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(0)).get("popupzoneImageFile") ; - } - }else if("9200000".equals(topMenuId)){ - topMenuId = "02" ; - if(subMenuFileSize > 1 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(1)).get("popupzoneImageFile") ; - } - }else if("9300000".equals(topMenuId)){ - topMenuId = "03" ; - if(subMenuFileSize > 2 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(2)).get("popupzoneImageFile") ; - } - }else if("9400000".equals(topMenuId)){ - topMenuId = "04" ; - if(subMenuFileSize > 3 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(3)).get("popupzoneImageFile") ; - } - }else if("9500000".equals(topMenuId)){ - topMenuId = "05" ; - if(subMenuFileSize > 4 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(4)).get("popupzoneImageFile") ; - } - }else{ - topMenuId = "01" ; - if(subMenuFileSize > 0 ){ - subMenuFile = (String)((EgovMap)popupzoneList_06.get(0)).get("popupzoneImageFile") ; - } - } - } - model.addAttribute("topMenuId", topMenuId); - model.addAttribute("subMenuFile", subMenuFile); - menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; - menuUnderResultList = menuCreateManageService.selectMenuUnderListJtreeWeb(menuManageVO) ; - - - List showOneDepthMenu = new ArrayList(); - List showTwoDepthMenu = new ArrayList(); - List showThreeDepthMenu = new ArrayList(); - List showFourDepthMenu = new ArrayList(); - - for(MenuManageJTreeVO tempLeftMenu : menuLeftResultList){ - if(tempLeftMenu.getDepths().equals("2")){ - for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ - showTwoDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("3")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showThreeDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("4")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showFourDepthMenu.add(tempLeftMenu); - } - } - } - - } - - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스 - if(tempResultVo.getDepths().equals("1")){ - showOneDepthMenu.add(tempResultVo); - } + + if (totCnt == 0) { + return "web/com/alert_site"; + + /* + * redirectAttributes.addFlashAttribute("message", "등록된 사이트가 없습니다."); + * RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/blank"); return + * redirectUrlMaker.getRedirectUrl(); + */ + } else { + return "blank"; } - - //매뉴구조도 텍스트 - String menuText = ""; - menuText += "
  •  
  • " ; - if(request.getRequestURI().contains("/eng")){ //영문사이트 - int i = 0; - for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){ - if(i !=0){ - menuText += "
  •  > "+menuTextVo.getMenuNm()+"
  • " ; + // return "web/main/mainPage"; + } + + private void setViewMenu(HttpServletRequest request, Map commandMap, MenuManageVO tempMenuManageVO, + MenuManageVO resultVO, MenuManageJTreeVO menuManageVO) throws Exception { + if (request.getRequestURI().contains("/web/survey_back")) {// 설문조사(각 사이트 마다 이름이 달라) survey > survey_back 으로 사용한 + tempMenuManageVO.setSearchKeyword("surveyList"); + } else if (request.getRequestURI().contains("schdlr")) { // 스케줄러 경우(일,월,년 url이 달라 + tempMenuManageVO.setSearchKeyword("schdlrManage"); + } else if (null != (String) commandMap.get("proFn") || null != (String) commandMap.get("bbsId") + || null != (String) commandMap.get("nttId")) { // 컨텐츠 타입, 게시판 타입의 경우 + if (null != (String) commandMap.get("proFn")) { // 컨텐츠 + tempMenuManageVO.setSearchKeyword((String) commandMap.get("proFn")); + } else if (null != (String) commandMap.get("bbsId")) { // 게시판 + ComDefaultVO searchVO = new ComDefaultVO(); + String url = progrmManageService.getBbsUrlByNttId((String) commandMap.get("bbsId")); + + searchVO.setSearchKeyword(url); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); } - i= i+1; + } else { // nttId 통합검색시 + + BoardVO tempBoardVO = new BoardVO(); + tempBoardVO.setNttId(Integer.parseInt((String) commandMap.get("nttId"))); + BoardMasterVO bmVO = bbsAttrbService.selectBbsIdByNttId(tempBoardVO); + ComDefaultVO searchVO = new ComDefaultVO(); + String url = progrmManageService.getBbsUrlByNttId(bmVO == null ? "" : bmVO.getBbsId()); + + searchVO.setSearchKeyword(url); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } - }else{ - for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){ - menuText += "
  •  > "+menuTextVo.getMenuNm()+"
  • " ; - } - } - - model.addAttribute("menuText", menuText); - - model.addAttribute("showOneDepthMenu", showOneDepthMenu); - model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); - model.addAttribute("showThreeDepthMenu", showThreeDepthMenu); - model.addAttribute("showFourDepthMenu", showFourDepthMenu); - model.addAttribute("menuUnderResultList", menuUnderResultList); //하단매뉴 - - model.addAttribute("menuCurrentResultList", menuCurrentResultList); - model.addAttribute("menuLeftResultList", menuLeftResultList); - model.addAttribute("menuResultList", menuResultList); - - - if(request.getRequestURI().contains("/eng/")){ - return "web/com/engWebCommonNaviWrap"; - } - return "web/com/webCommonNaviWrap"; - } - - - /** - * 사용자 페이지의 네비 상단 매뉴 - */ - @RequestMapping(value="/web/com/naviWrapAjax.do") - public String webCommonNaviWrapAjax( - @RequestParam Map commandMap, HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - //자신의 위치 정보 - List menuCurrentResultList = new ArrayList(); //자신의 위치 - List menuLeftResultList = new ArrayList(); //자신이 속한 위치 - MenuManageVO resultVO = new MenuManageVO(); - if(null!=(String)commandMap.get("proFn")){ //컨텐츠 타입이면 매뉴아이디 조회 - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("proFn"); - tempMenuManageVO.setSearchKeyword((String)commandMap.get("proFn")); - resultVO = menuManageService.selectMenuManage(tempMenuManageVO); - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - menuManageVO.setMenuNo(resultVO.getMenuNo()+""); - menuManageVO.setMenuNo("9151200"); //테스트 - menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; - menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; - } - - List showOneDepthMenu = new ArrayList(); - List showTwoDepthMenu = new ArrayList(); - List showThreeDepthMenu = new ArrayList(); - List showFourDepthMenu = new ArrayList(); - - for(MenuManageJTreeVO tempLeftMenu : menuLeftResultList){ - if(tempLeftMenu.getDepths().equals("2")){ - for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ - showTwoDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("3")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showThreeDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("4")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showFourDepthMenu.add(tempLeftMenu); - } - } - } - - } - - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스 - if(tempResultVo.getDepths().equals("1")){ - showOneDepthMenu.add(tempResultVo); - } - } - - //매뉴구조도 텍스트 - String menuText = ""; - menuText += "
  •  
  • " ; - for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){ - menuText += "
  •  > "+menuTextVo.getMenuNm()+"
  • " ; - - } - model.addAttribute("menuText", menuText); - - model.addAttribute("showOneDepthMenu", showOneDepthMenu); - model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); - model.addAttribute("showThreeDepthMenu", showThreeDepthMenu); - model.addAttribute("showFourDepthMenu", showFourDepthMenu); - - model.addAttribute("menuCurrentResultList", menuCurrentResultList); - model.addAttribute("menuLeftResultList", menuLeftResultList); - model.addAttribute("menuResultList", menuResultList); - return "web/com/webCommonNaviWrap"; - } - - private void setViewMenu(HttpServletRequest request, - Map commandMap , - MenuManageVO tempMenuManageVO, - MenuManageVO resultVO, - MenuManageJTreeVO menuManageVO) throws Exception { - if(request.getRequestURI().contains("/web/survey_back")){//설문조사(각 사이트 마다 이름이 달라) survey > survey_back 으로 사용한 - tempMenuManageVO.setSearchKeyword("surveyList"); - }else if(request.getRequestURI().contains("schdlr")){ //스케줄러 경우(일,월,년 url이 달라 - tempMenuManageVO.setSearchKeyword("schdlrManage"); - }else if(null!=(String)commandMap.get("proFn") || null!=(String)commandMap.get("bbsId") || null!=(String)commandMap.get("nttId")){ //컨텐츠 타입, 게시판 타입의 경우 - if(null!=(String)commandMap.get("proFn")){ //컨텐츠 - tempMenuManageVO.setSearchKeyword((String)commandMap.get("proFn")); - }else if(null!=(String)commandMap.get("bbsId")) { //게시판 - ComDefaultVO searchVO = new ComDefaultVO(); - String url = progrmManageService.getBbsUrlByNttId((String)commandMap.get("bbsId")); - //String url = "/web/cop/bbsWeb/selectBoardList.do?bbsId="+ (String)commandMap.get("bbsId"); - - if(null == url) { //사전정보공표 - if(null != (String)commandMap.get("pubDetail")) { - url = "/web/cop/bbs/PubOperList.do"; - } - - if(null != (String)commandMap.get("tabBbsId")) { - url = "/web/cop/bbs/PubOperList.do"; - } - - } - - searchVO.setSearchKeyword(url); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if(null != progrmManageVO){ - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - }else { // nttId 통합검색시 - - BoardVO tempBoardVO = new BoardVO(); - tempBoardVO.setNttId(Integer.parseInt((String)commandMap.get("nttId"))); - BoardMasterVO bmVO = bbsAttrbService.selectBbsIdByNttId(tempBoardVO); - ComDefaultVO searchVO = new ComDefaultVO(); - String url = progrmManageService.getBbsUrlByNttId( bmVO== null ? "" : bmVO.getBbsId()); - - searchVO.setSearchKeyword(url); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if(null != progrmManageVO){ - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - - } - }else{ //ajax 로 검색시 - //일반 프로그램시 - if(commandMap.get("url") != null){ - String menuUrl = request.getRequestURI() ; - if(menuUrl.equals("/web/cop/org/selectOrgDetail.do")){ - menuUrl = "/web/cop/org/selectOrgList.do" ; - }else if(menuUrl.equals("/web/kccadr/accdnt/ars/adjstReqStatusDetail.do") -// || menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do") - || menuUrl.equals("/web/kccadr/accdnt/acd/adjstChangeDateList.do") - || menuUrl.equals("/web/kccadr/accdnt/acd/adjstChangeDateCreate.do") - || menuUrl.equals("/web/kccadr/accdnt/arc/corReqList.do") - || menuUrl.equals("/web/kccadr/accdnt/arc/corReqCreate.do") - || menuUrl.equals("/web/kccadr/accdnt/adr/adjstDeputyReqList.do") - || menuUrl.equals("/web/kccadr/accdnt/adr/adjstDeputyReqDetail.do") - || menuUrl.equals("/web/kccadr/accdnt/adr/adjstDeputyReqCreate.do") - || menuUrl.equals("/web/kccadr/accdnt/ans/ansSubmit.do") - || menuUrl.equals("/web/kccadr/ojct/ojctList.do") - || menuUrl.equals("/web/kccadr/ojct/ojctRegist.do") - || menuUrl.equals("/web/kccadr/ojct/ojctDetail.do") - || menuUrl.equals("/web/kccadr/ojct/ojctModify.do") - || menuUrl.equals("/web/kccadr/accdnt/awd/adjstWithDrawCreate.do")){ - - - menuUrl = "/web/kccadr/accdnt/ai/adjstIncidentList.do"; - - }else if(menuUrl.equals("/web/kccadr/adjst/adjstReqRegistStep1.do") - || menuUrl.equals("/web/kccadr/adjst/adjstReqRegistStep2.do") - || menuUrl.equals("/web/kccadr/adjst/adjstReqRegistStep3.do") - || menuUrl.equals("/web/kccadr/adjst/adjstReqRegistStep4.do")){ - - menuUrl = "/web/kccadr/adjst/adjstReqRegistInformation.do"; - - }else if(menuUrl.equals("/web/kccadr/adjcclt/adjstConciliatorDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstProtocolDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstNoEstablishmentDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstCancleDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstDrtDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstRecommendationDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstMediationDecisionDetail.do") - || menuUrl.equals("/web/kccadr/adjcclt/adjstOjctList.do")){ - - menuUrl = "/web/kccadr/adjcclt/ai/adjstConciliatorList.do"; - - }else if(menuUrl.equals("/web/kccadr/accdnt/chg/selectSchChgInfo.do")){ - - menuUrl = "/web/kccadr/accdnt/chg/adjChg.do"; - - }else if(menuUrl.equals("/web/kccadr/accdnt/ai/adjstIncidentDashList.do")) { //나의사건관리 대시보드 - menuUrl = "/web/kccadr/accdnt/ai/adjstIncidentList.do"; - }else if(menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do") // 체험하기 - ||menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentList.do") - ||menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentDetail.do") - ||menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistInformation.do") - ||menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep1.do") - ||menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep2.do") - ||menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep3.do") - ||menuUrl.equals("/web/kccadr/adjstExp/SsoLoginUsr.do") - ||menuUrl.equals("/web/kccadr/adjstExp/docIssReqList.do") - ||menuUrl.equals("/web/kccadr/adjstExp/docIssReqRegist.do") - ||menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentEndList.do") - ||menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentEndDetail.do") - ) { //체험하기 + } else { // ajax 로 검색시 + // 일반 프로그램시 + if (commandMap.get("url") != null) { + String menuUrl = request.getRequestURI(); + if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { + menuUrl = "/web/cop/org/selectOrgList.do"; + } else if (menuUrl.equals("/web/kccadr/adjstExpDetail/adjstReqStatusDetail.do") // 체험하기 + || menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentList.do") + || menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentDetail.do") + || menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistInformation.do") + || menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep1.do") + || menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep2.do") + || menuUrl.equals("/web/kccadr/adjstExp/adjstReqRegistStep3.do") + || menuUrl.equals("/web/kccadr/adjstExp/SsoLoginUsr.do") + || menuUrl.equals("/web/kccadr/adjstExp/docIssReqList.do") + || menuUrl.equals("/web/kccadr/adjstExp/docIssReqRegist.do") + || menuUrl.equals("/web/kccadr/adjstExp/adjstIncidentEndList.do") + || menuUrl.equals("/web/kccadr/adjstExpDetail/adjstIncidentEndDetail.do")) { // 체험하기 menuUrl = "/web/kccadr/adjstExp/adjstExpMainPage.do"; } - - - - - // 상세화면 URL로 메뉴화면 매핑이 안되어, 문자열 치환으로 매핑... - String strUrl = menuUrl/*.replace("Info", "List")*/ + + // 상세화면 URL로 메뉴화면 매핑이 안되어, 문자열 치환으로 매핑... + String strUrl = menuUrl/* .replace("Info", "List") */ .replace("Detail", "List") - /*.replace("Regist", "List")*/ - .replace("Article", "List") - .replace("Inqire", "List") - .replace("addFcltMgr", "fcltMgrList") + /* .replace("Regist", "List") */ + .replace("Article", "List").replace("Inqire", "List").replace("addFcltMgr", "fcltMgrList") .replace("mainzoneModify", "mainzoneList"); - menuUrl = strUrl; - - ComDefaultVO searchVO = new ComDefaultVO(); - searchVO.setSearchKeyword(menuUrl); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if(null != progrmManageVO){ - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - }else { //조직도 상세 - String menuUrl = request.getRequestURI() ; - if(menuUrl.equals("/web/cop/org/selectOrgDetail.do")){ - menuUrl = "/web/cop/org/selectOrgList.do" ; - ComDefaultVO searchVO = new ComDefaultVO(); - searchVO.setSearchKeyword(menuUrl); - ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); - if(null != progrmManageVO){ - tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); - } - } - } - } - - if(!"dir".equals(tempMenuManageVO.getSearchKeyword())){ - resultVO = menuManageService.selectMenuManage(tempMenuManageVO); - } - - //menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - if(resultVO != null){ - menuManageVO.setMenuNo(resultVO.getMenuNo()+""); - } - } - - /** - * 사용자 페이지의 네비 상단 매뉴 - */ - @RequestMapping(value="/web/com/naviWrap.do") - public String siteWebCommonNaviWrap(@RequestParam Map commandMap, - HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - //전자조정 시작 - // 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요 - - //로그인 권한 정보 불러오기 - LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; - String auth = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); - - if(auth.equals("")) { - - auth = "ROLE_ANONYMOUS"; - - } - - //현재 로그인한 권한으로 셋팅해준다. - menuManageVO.setAuthorCode(auth); - - //자신의 위치 정보 - List menuCurrentResultList = new ArrayList(); //자신의 위치 - List menuLeftResultList = new ArrayList(); //자신이 속한 위치 - MenuManageVO resultVO = new MenuManageVO(); - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("Y"); - setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); - - menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; - //최상단 매뉴 가져오기 : 상단 그림 변화 - menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; - - - List showOneDepthMenu = new ArrayList(); - List showTwoDepthMenu = new ArrayList(); - - for(MenuManageJTreeVO tempLeftMenu : menuLeftResultList){ - if(tempLeftMenu.getDepths().equals("2")){ - for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ - showTwoDepthMenu.add(tempLeftMenu); - } - } - } - - } - - menuManageVO.setAuthorCode(auth); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스 - if(tempResultVo.getDepths().equals("1")){ + menuUrl = strUrl; + + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuUrl); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } else { // 조직도 상세 + String menuUrl = request.getRequestURI(); + if (menuUrl.equals("/web/cop/org/selectOrgDetail.do")) { + menuUrl = "/web/cop/org/selectOrgList.do"; + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuUrl); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); + if (null != progrmManageVO) { + tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); + } + } + } + } + + if (!"dir".equals(tempMenuManageVO.getSearchKeyword())) { + resultVO = menuManageService.selectMenuManage(tempMenuManageVO); + } + + // menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + if (resultVO != null) { + menuManageVO.setMenuNo(resultVO.getMenuNo() + ""); + } + } + + /** + * 사용자 페이지의 네비 상단 매뉴 + */ + @RequestMapping(value = "/web/com/naviWrap.do") + public String siteWebCommonNaviWrap(@RequestParam Map commandMap, HttpServletRequest request, + @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { + + // 전자조정 시작 + // 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요 + + // 로그인 권한 정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() + ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() + : null; + String auth = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + + if (auth.equals("")) { + + auth = "ROLE_ANONYMOUS"; + + } + + // 현재 로그인한 권한으로 셋팅해준다. + menuManageVO.setAuthorCode(auth); + + // 자신의 위치 정보 + List menuCurrentResultList = new ArrayList(); // 자신의 위치 + List menuLeftResultList = new ArrayList(); // 자신이 속한 위치 + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO); + + menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO); + // 최상단 매뉴 가져오기 : 상단 그림 변화 + menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO); + + List showOneDepthMenu = new ArrayList(); + List showTwoDepthMenu = new ArrayList(); + + for (MenuManageJTreeVO tempLeftMenu : menuLeftResultList) { + if (tempLeftMenu.getDepths().equals("2")) { + for (MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList) { + if (tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())) { + showTwoDepthMenu.add(tempLeftMenu); + } + } + } + + } + + menuManageVO.setAuthorCode(auth); + menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); + for (MenuManageJTreeVO tempResultVo : menuResultList) { // 1 뎁스 + if (tempResultVo.getDepths().equals("1")) { showOneDepthMenu.add(tempResultVo); } } - + // model.addAttribute("topMenuId", topMenuId); // model.addAttribute("subMenuFile", subMenuFile); // model.addAttribute("pozNmText", pozNmText); // // model.addAttribute("menuText", menuText); - - - model.addAttribute("showOneDepthMenu", showOneDepthMenu); - model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); - - + + model.addAttribute("showOneDepthMenu", showOneDepthMenu); + model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); + // model.addAttribute("showThreeDepthMenu", showThreeDepthMenu); // model.addAttribute("showFourDepthMenu", showFourDepthMenu); // model.addAttribute("menuUnderResultList", menuUnderResultList); //하단매뉴 - - - - model.addAttribute("menuCurrentResultList", menuCurrentResultList); - model.addAttribute("menuLeftResultList", menuLeftResultList); - - -// model.addAttribute("menuResultList", menuResultList); - - // 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요 - // 전자조정 종료 - return "web/com/webCommonNaviWrap"; - - } - - /** - * 사용자 좌측 매뉴 - */ - @RequestMapping(value="/web/com/leftMenu.do") - public String webCommonLeftMenu( - HttpServletRequest request - , @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { + model.addAttribute("menuCurrentResultList", menuCurrentResultList); + model.addAttribute("menuLeftResultList", menuLeftResultList); + +// model.addAttribute("menuResultList", menuResultList); + + // 아래 처리중 중간네비 메뉴 조회를 위해 with recurseive 중첩절을 쓰는 쿼리가 있음으로, 큐브리드 쿼리화 필요 + // 전자조정 종료 + + return "web/com/webCommonNaviWrap"; + + } + + /** + * 사용자 좌측 매뉴 + */ + @RequestMapping(value = "/web/com/leftMenu.do") + public String webCommonLeftMenu(HttpServletRequest request, + @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model, + @RequestParam Map commandMap) throws Exception { + + // 로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() + ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() + : null; + String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + + // 권한별 메뉴표시 + if (!userAuthority.equals("ROLE_ADMIN") && userAuthority != "") { + menuManageVO.setAuthorCode(userAuthority); + } else if (userAuthority.equals("ROLE_ADMIN")) { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } else { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + + // 자신의 위치 정보 + List menuCurrentResultList = new ArrayList(); + List whereAmIList = new ArrayList(); + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO); + menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWebCustom(menuManageVO); + MenuManageJTreeVO whereAmIVO = new MenuManageJTreeVO(); + if (menuCurrentResultList != null && menuCurrentResultList.size() > 0) { + whereAmIVO = menuCurrentResultList.get(0); + whereAmIVO.setAuthorCode(menuManageVO.getAuthorCode()); + whereAmIList = menuCreateManageService.selectMenuListJtreeWebCustom(whereAmIVO); + } -// MenuManageVO resultVO = new MenuManageVO(); -// MenuManageVO tempMenuManageVO = new MenuManageVO(); -// tempMenuManageVO.setSearchCondition("Y"); -// setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); -// List menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; -// model.addAttribute("menuLeftResultList", menuLeftResultList); -// if(request.getRequestURI().contains("/eng/")){ -// model.addAttribute("eng", "eng"); -// } - return "web/com/webCommonLeftMenu"; - } - - private void setSiteinfo(SiteManagerVO siteManagerVO , ModelMap model , HttpServletRequest request) throws Exception{ - SiteManagerVO tempSiteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; - if(tempSiteManagerVO !=null){ - siteManagerVO.setIsMobile("pc") ; + List> depth2CntList = new ArrayList>(); + for(MenuManageJTreeVO tmpVO : whereAmIList.stream().filter(t -> "2".equals(t.getDepth())).collect(Collectors.toList())) { + Map depth2Cnt = new HashMap(); + Integer tmpInt = 0; + tmpInt = (int) whereAmIList.stream().filter(t -> + t.getDepth().equals("3") + && tmpVO.getMenuNo().equals(t.getUpperMenuId()) + ).count(); + depth2Cnt.put("menuNo", tmpVO.getMenuNo()); + depth2Cnt.put("cnt", tmpInt); + + depth2CntList.add(depth2Cnt); + } + + model.addAttribute("depth2CntList", depth2CntList); + + model.addAttribute("whereAmIVO", whereAmIVO); + model.addAttribute("whereAmIList", whereAmIList); + + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); + + model.addAttribute("menuResultList", menuResultList); + + return "web/com/webCommonLeftMenu"; + } + + private void setSiteinfo(SiteManagerVO siteManagerVO, ModelMap model, HttpServletRequest request) throws Exception { + SiteManagerVO tempSiteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO); + if (tempSiteManagerVO != null) { + siteManagerVO.setIsMobile("pc"); siteManagerVO.setTheme(tempSiteManagerVO.getTheme()); siteManagerVO.setSiteNm(tempSiteManagerVO.getSiteNm()); - }else{ + } else { siteManagerVO.setTheme("01"); siteManagerVO.setSiteNm("타이틀"); } - WebUtil util = new WebUtil(); - if(util.isMobile(request)){ + WebUtil util = new WebUtil(); + if (util.isMobile(request)) { siteManagerVO.setIsMobile("mobile"); } model.addAttribute("siteId", siteManagerVO.getSiteId()); model.addAttribute("siteNm", siteManagerVO.getSiteNm()); - //model.addAttribute("site_path" , "/site/theme_"+siteManagerVO.getTheme()+"/"+siteManagerVO.getIsMobile()); - model.addAttribute("site_path" , "/site/"+siteManagerVO.getSiteId()+"/"+siteManagerVO.getIsMobile()); + // model.addAttribute("site_path" , + // "/site/theme_"+siteManagerVO.getTheme()+"/"+siteManagerVO.getIsMobile()); + model.addAttribute("site_path", "/site/" + siteManagerVO.getSiteId() + "/" + siteManagerVO.getIsMobile()); } - - /* @RequestMapping(value="/{siteId}/web/siteMap.do") - public String siteMap(@PathVariable("siteId") String siteId, @RequestParam Map commandMap, - HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - model.addAttribute("siteId", siteId); - String siteFolder = "site/"+siteId ; - - model.addAttribute("site_path", "/"+siteFolder); - return "web/"+siteFolder+"/member/sitemap"; - - }*/ - - // 사이트맵 개발 - @RequestMapping(value="/{siteId}/web/siteMap.do") - public String siteMap(@PathVariable("siteId") String siteId, @RequestParam Map commandMap, - HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - //List menuResultList = menuCreateManageService.selectMenuListJtree(menuManageVO) ; - menuManageVO.setSiteId(siteId); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - - List menuTwoExist = new ArrayList<>(); //2뎁스의 하위 매뉴가 있는것 조회 - HashSet underMenuEmpty = new HashSet(); //2뎁스의 하위매뉴 없는것 조회 - for(MenuManageJTreeVO menuManage : menuResultList){ - if(menuManage.getDepths().equals("3")){ - menuTwoExist.add(menuManage.getUpperMenuId()) ; + + /* + * @RequestMapping(value="/{siteId}/web/siteMap.do") public String + * siteMap(@PathVariable("siteId") String siteId, @RequestParam Map commandMap, HttpServletRequest + * request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, + * ModelMap model) throws Exception { + * + * model.addAttribute("siteId", siteId); String siteFolder = "site/"+siteId ; + * + * model.addAttribute("site_path", "/"+siteFolder); return + * "web/"+siteFolder+"/member/sitemap"; + * + * } + */ + + // 사이트맵 개발 + @RequestMapping(value = "/{siteId}/web/siteMap.do") + public String siteMap(@PathVariable("siteId") String siteId, @RequestParam Map commandMap, + HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) + throws Exception { + + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); + // List menuResultList = + // menuCreateManageService.selectMenuListJtree(menuManageVO) ; + menuManageVO.setSiteId(siteId); + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); + + List menuTwoExist = new ArrayList<>(); // 2뎁스의 하위 매뉴가 있는것 조회 + HashSet underMenuEmpty = new HashSet(); // 2뎁스의 하위매뉴 없는것 조회 + for (MenuManageJTreeVO menuManage : menuResultList) { + if (menuManage.getDepths().equals("3")) { + menuTwoExist.add(menuManage.getUpperMenuId()); } - - if(menuManage.getDepths().equals("2")){ + + if (menuManage.getDepths().equals("2")) { underMenuEmpty.add(menuManage.getMenuNo()); } } - - HashSet underMenuExist = new HashSet(menuTwoExist); //하위매뉴가 있는것 - underMenuEmpty.removeAll(underMenuExist); //하위매뉴가 없는것 - + + HashSet underMenuExist = new HashSet(menuTwoExist); // 하위매뉴가 있는것 + underMenuEmpty.removeAll(underMenuExist); // 하위매뉴가 없는것 + MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO(); menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setMenuNo("0"); - + model.addAttribute("menuResultList", menuResultList); model.addAttribute("underMenuExist", underMenuExist); model.addAttribute("underMenuEmpty", underMenuEmpty); model.addAttribute("siteId", siteId); - String siteFolder = "site/"+siteId ; - model.addAttribute("site_path", "/"+siteFolder); - - //샘플테마사용시 고정 이미지 가져오기 + String siteFolder = "site/" + siteId; + model.addAttribute("site_path", "/" + siteFolder); + + // 샘플테마사용시 고정 이미지 가져오기 SiteManagerVO siteManagerVO = new SiteManagerVO(); siteManagerVO.setSiteId(siteId); - siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; - if( !"".equals(siteManagerVO.getTheme()) && null != siteManagerVO.getTheme()){ + siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO); + if (!"".equals(siteManagerVO.getTheme()) && null != siteManagerVO.getTheme()) { model.addAttribute("siteManagerVO", siteManagerVO); } - return "web/"+siteFolder+"/member/sitemap"; - } - - - /** - * 사용자 페이지의 네비 상단 매뉴 - */ - @RequestMapping(value="/{siteId}/web/com/naviWrapAjax.do") - public String ajaxSiteWebCommonNaviWrap(@PathVariable("siteId") String siteId , @RequestParam Map commandMap, - HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - //자신의 위치 정보 - List menuCurrentResultList = new ArrayList(); //자신의 위치 - List menuLeftResultList = new ArrayList(); //자신이 속한 위치 - List menuUnderResultList = new ArrayList(); //한단계 하위 위치 - MenuManageVO resultVO = new MenuManageVO(); - MenuManageVO tempMenuManageVO = new MenuManageVO(); - tempMenuManageVO.setSearchCondition("Y"); - - setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); - - menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; - //최상단 매뉴 가져오기 : 상단 그림 변화 - menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; - menuUnderResultList = menuCreateManageService.selectMenuUnderListJtreeWeb(menuManageVO) ; - - - List showOneDepthMenu = new ArrayList(); - List showTwoDepthMenu = new ArrayList(); - List showThreeDepthMenu = new ArrayList(); - List showFourDepthMenu = new ArrayList(); - - for(MenuManageJTreeVO tempLeftMenu : menuLeftResultList){ - if(tempLeftMenu.getDepths().equals("2")){ - for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ - showTwoDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("3")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showThreeDepthMenu.add(tempLeftMenu); - } - } - } - - if(tempLeftMenu.getDepths().equals("4")){ - for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ - if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ - showFourDepthMenu.add(tempLeftMenu); - } - } - } - - } - - menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); - menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); - List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; - for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스 - if(tempResultVo.getDepths().equals("1")){ + return "web/" + siteFolder + "/member/sitemap"; + } + + /** + * 사용자 페이지의 네비 상단 매뉴 + */ + @RequestMapping(value = "/{siteId}/web/com/naviWrapAjax.do") + public String ajaxSiteWebCommonNaviWrap(@PathVariable("siteId") String siteId, + @RequestParam Map commandMap, HttpServletRequest request, + @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { + + // 자신의 위치 정보 + List menuCurrentResultList = new ArrayList(); // 자신의 위치 + List menuLeftResultList = new ArrayList(); // 자신이 속한 위치 + List menuUnderResultList = new ArrayList(); // 한단계 하위 위치 + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + + setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO); + + menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO); + // 최상단 매뉴 가져오기 : 상단 그림 변화 + menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO); + menuUnderResultList = menuCreateManageService.selectMenuUnderListJtreeWeb(menuManageVO); + + List showOneDepthMenu = new ArrayList(); + List showTwoDepthMenu = new ArrayList(); + List showThreeDepthMenu = new ArrayList(); + List showFourDepthMenu = new ArrayList(); + + for (MenuManageJTreeVO tempLeftMenu : menuLeftResultList) { + if (tempLeftMenu.getDepths().equals("2")) { + for (MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList) { + if (tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())) { + showTwoDepthMenu.add(tempLeftMenu); + } + } + } + + if (tempLeftMenu.getDepths().equals("3")) { + for (MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList) { + if (tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())) { + showThreeDepthMenu.add(tempLeftMenu); + } + } + } + + if (tempLeftMenu.getDepths().equals("4")) { + for (MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList) { + if (tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())) { + showFourDepthMenu.add(tempLeftMenu); + } + } + } + + } + + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); + List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO); + for (MenuManageJTreeVO tempResultVo : menuResultList) { // 1 뎁스 + if (tempResultVo.getDepths().equals("1")) { showOneDepthMenu.add(tempResultVo); } } - - model.addAttribute("showOneDepthMenu", showOneDepthMenu); - model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); - model.addAttribute("showThreeDepthMenu", showThreeDepthMenu); - model.addAttribute("showFourDepthMenu", showFourDepthMenu); - model.addAttribute("menuUnderResultList", menuUnderResultList); //하단매뉴 - - model.addAttribute("menuCurrentResultList", menuCurrentResultList); - model.addAttribute("menuLeftResultList", menuLeftResultList); - model.addAttribute("menuResultList", menuResultList); - - model.addAttribute("siteId", siteId); - String siteFolder = "site/"+siteId ; - model.addAttribute("site_path", "/"+siteFolder); - - return "web/"+siteFolder+"/com/webCommonNaviWrapAjax"; - } - - - - /* 메일전송 첨부파일등록/수정 view*/ - @RequestMapping(value="/kcc/mail/itnSendMailForm.do") - public String intSendMailForm(@RequestParam Map commandMap, @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, - HttpServletRequest request, HttpServletResponse response, - RedirectAttributes redirectAttributes , Model model , HttpSession session) - throws Exception { - - List fmsFileList = new ArrayList(); - model.addAttribute("fmsFileList", fmsFileList); //fms파일정보 - List fileList = new ArrayList<>(); - model.addAttribute("fileList", fileList); - return "uss/ion/fms/ItnSendMailForm"; - } - - /* 메일전송 process */ - @RequestMapping(value="/kcc/mail/itnSendMailPro.do") - public ModelAndView insertFmsFileOrg(@RequestParam Map commandMap, @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, final MultipartHttpServletRequest multiRequest, - HttpServletRequest request, HttpServletResponse response, Model model) throws Exception { - - ModelAndView modelAndView = new ModelAndView(); - modelAndView.setViewName("jsonView"); - - String recipient = Globals_email_toEmail; //받는 사람의 메일주소를 입력해주세요. - Properties props = System.getProperties(); // SMTP 서버 정보 설정 - props.put("mail.smtp.host", Globals_email_host); - props.put("mail.smtp.port", Globals_email_port); - props.put("mail.smtp.auth", "true"); - props.put("mail.smtp.ssl.enable", "true"); - props.put("mail.smtp.ssl.trust", Globals_email_host); - Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { //Session 생성 - protected javax.mail.PasswordAuthentication getPasswordAuthentication() { - return new javax.mail.PasswordAuthentication(Globals_email_fromUser, Globals_email_fromEmail_password); - } - }); - - //테스트용 - String revRecipient = (String)commandMap.get("emailAddrRev") ; - - try { - Message message = new MimeMessage(session); //MimeMessage 생성 - message.setFrom(new InternetAddress(Globals_email_fromEmail)); //발신자 셋팅 , 보내는 사람의 이메일주소를 한번 더 입력합니다. 이때는 이메일 풀 주소를 다 작성해주세요. - message.setRecipient(Message.RecipientType.TO, new InternetAddress(revRecipient)); //수신자셋팅 - message.addRecipient(Message.RecipientType.BCC, new InternetAddress(Globals_email_toEmail_BCC)); //숨은참조자 - message.setSubject((String)commandMap.get("subject")); //제목셋팅 - - // 메일 내용을 설정을 위한 클래스를 설정합니다. - message.setContent(new MimeMultipart()); - // 메일 내용을 위한 Multipart클래스를 받아온다. (위 new MimeMultipart()로 넣은 클래스입니다.) - Multipart multipart = (Multipart) message.getContent(); - // html 형식으로 본문을 작성해서 바운더리에 넣습니다. - - - StringBuffer contentBf = new StringBuffer(); - contentBf.append("<작성자 메일주소 >: " + (String)commandMap.get("emailAddr")) ; - contentBf.append("\r\n") ; - contentBf.append("\r\n") ; - contentBf.append("\r\n") ; - contentBf.append("<내용> ") ; - contentBf.append("\r\n") ; - contentBf.append((String)commandMap.get("content")) ; - multipart.addBodyPart(getContents(contentBf.toString())); - - /*파일등록 */ - List result = null; - String uploadFolder = ""; - final Map files = multiRequest.getFileMap(); - FileVO vo = null; - String realFileLoc = "" ; - if (!files.isEmpty()){ - result = fileUtil.parseFileInf(files, "MAIL_", 0, "", uploadFolder, ""); - + model.addAttribute("showOneDepthMenu", showOneDepthMenu); + model.addAttribute("showTwoDepthMenu", showTwoDepthMenu); + model.addAttribute("showThreeDepthMenu", showThreeDepthMenu); + model.addAttribute("showFourDepthMenu", showFourDepthMenu); + model.addAttribute("menuUnderResultList", menuUnderResultList); // 하단매뉴 + + model.addAttribute("menuCurrentResultList", menuCurrentResultList); + model.addAttribute("menuLeftResultList", menuLeftResultList); + model.addAttribute("menuResultList", menuResultList); + + model.addAttribute("siteId", siteId); + String siteFolder = "site/" + siteId; + model.addAttribute("site_path", "/" + siteFolder); + + return "web/" + siteFolder + "/com/webCommonNaviWrapAjax"; + } + + /* 메일전송 첨부파일등록/수정 view */ + @RequestMapping(value = "/kcc/mail/itnSendMailForm.do") + public String intSendMailForm(@RequestParam Map commandMap, @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, + HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes, + Model model, HttpSession session) throws Exception { + + List fmsFileList = new ArrayList(); + model.addAttribute("fmsFileList", fmsFileList); // fms파일정보 + List fileList = new ArrayList<>(); + model.addAttribute("fileList", fileList); + return "uss/ion/fms/ItnSendMailForm"; + } + + /* 메일전송 process */ + @RequestMapping(value = "/kcc/mail/itnSendMailPro.do") + public ModelAndView insertFmsFileOrg(@RequestParam Map commandMap, + @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, final MultipartHttpServletRequest multiRequest, + HttpServletRequest request, HttpServletResponse response, Model model) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String recipient = Globals_email_toEmail; // 받는 사람의 메일주소를 입력해주세요. + Properties props = System.getProperties(); // SMTP 서버 정보 설정 + props.put("mail.smtp.host", Globals_email_host); + props.put("mail.smtp.port", Globals_email_port); + props.put("mail.smtp.auth", "true"); + props.put("mail.smtp.ssl.enable", "true"); + props.put("mail.smtp.ssl.trust", Globals_email_host); + + Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { // Session 생성 + protected javax.mail.PasswordAuthentication getPasswordAuthentication() { + return new javax.mail.PasswordAuthentication(Globals_email_fromUser, Globals_email_fromEmail_password); + } + }); + + // 테스트용 + String revRecipient = (String) commandMap.get("emailAddrRev"); + + try { + Message message = new MimeMessage(session); // MimeMessage 생성 + message.setFrom(new InternetAddress(Globals_email_fromEmail)); // 발신자 셋팅 , 보내는 사람의 이메일주소를 한번 더 입력합니다. 이때는 + // 이메일 풀 주소를 다 작성해주세요. + message.setRecipient(Message.RecipientType.TO, new InternetAddress(revRecipient)); // 수신자셋팅 + message.addRecipient(Message.RecipientType.BCC, new InternetAddress(Globals_email_toEmail_BCC)); // 숨은참조자 + message.setSubject((String) commandMap.get("subject")); // 제목셋팅 + + // 메일 내용을 설정을 위한 클래스를 설정합니다. + message.setContent(new MimeMultipart()); + // 메일 내용을 위한 Multipart클래스를 받아온다. (위 new MimeMultipart()로 넣은 클래스입니다.) + Multipart multipart = (Multipart) message.getContent(); + // html 형식으로 본문을 작성해서 바운더리에 넣습니다. + + StringBuffer contentBf = new StringBuffer(); + contentBf.append("<작성자 메일주소 >: " + (String) commandMap.get("emailAddr")); + contentBf.append("\r\n"); + contentBf.append("\r\n"); + contentBf.append("\r\n"); + contentBf.append("<내용> "); + contentBf.append("\r\n"); + contentBf.append((String) commandMap.get("content")); + multipart.addBodyPart(getContents(contentBf.toString())); + + /* 파일등록 */ + List result = null; + String uploadFolder = ""; + final Map files = multiRequest.getFileMap(); + FileVO vo = null; + String realFileLoc = ""; + if (!files.isEmpty()) { + result = fileUtil.parseFileInf(files, "MAIL_", 0, "", uploadFolder, ""); + Iterator iter = result.iterator(); while (iter.hasNext()) { vo = iter.next(); - realFileLoc = vo.getFileStreCours()+vo.getStreFileNm() ; - //addMulitAttachment(multipart , "C:"+realFileLoc , vo.getOrignlFileNm()); - addMulitAttachment(multipart , realFileLoc , vo.getOrignlFileNm()); + realFileLoc = vo.getFileStreCours() + vo.getStreFileNm(); + // addMulitAttachment(multipart , "C:"+realFileLoc , vo.getOrignlFileNm()); + addMulitAttachment(multipart, realFileLoc, vo.getOrignlFileNm()); } if (vo == null) { } else { } - } - Transport.send(message); - }catch(Exception e) { - System.out.println("file Exception Error"); - } - return modelAndView; - } - - @RequestMapping(value="/web/kccadr/kccadrCom/kccadrConstantsJsp.do") - public String kccadrConstantsJsp() - throws Exception { - - return "web/kccadr/kccadrCom/kccadrConstantsJsp"; - } - - /** - * 사용자 퀵 매뉴 - */ - @RequestMapping(value="/web/com/quickWrap.do") - public String webCommonQuickMenu(ModelMap model) - throws Exception { - - return "web/com/webCommonQuickMenu"; - } - - /** - * 사용자 좌측 매뉴 - */ - @RequestMapping(value="/web/com/subVisual.do") - public String webCommonSubVisual( - HttpServletRequest request - , @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, - ModelMap model) - throws Exception { - - return "web/com/webCommonSubVisual"; - } - + } + Transport.send(message); + } catch (Exception e) { + System.out.println("file Exception Error"); + } + return modelAndView; + } - - - // 다수의 파일 첨부 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환) - private void addMulitAttachment(Multipart multipart, String realFileLoc, String filename) throws MessagingException { - try { - DataSource source = new FileDataSource(realFileLoc); - BodyPart messageBodyPart = new MimeBodyPart(); - messageBodyPart.setDataHandler(new DataHandler(source)); - messageBodyPart.setFileName(MimeUtility.encodeText(filename) ); //한글깨짐방지 - multipart.addBodyPart(messageBodyPart); - }catch (UnsupportedEncodingException e) { - System.out.println("UnsupportedEncodingException Occured!!!"); - } - } - - // 메일의 본문 내용 설정 - private BodyPart getContents(String html) throws MessagingException { - BodyPart mbp = new MimeBodyPart(); - mbp.setText(html); // setText를 이용할 경우 일반 텍스트 내용으로 설정된다. - // html 형식으로 설정(줄개행 > br로) - //mbp.setContent(html.replaceAll("(\r\n|\n)", "
    "), "text/html; charset=utf-8"); //줄바꿈이 필요해서 - return mbp; - } + @RequestMapping(value = "/web/kccadr/kccadrCom/kccadrConstantsJsp.do") + public String kccadrConstantsJsp() throws Exception { + + return "web/kccadr/kccadrCom/kccadrConstantsJsp"; + } + + /** + * 사용자 퀵 매뉴 + */ + @RequestMapping(value = "/web/com/quickWrap.do") + public String webCommonQuickMenu(ModelMap model) throws Exception { + + return "web/com/webCommonQuickMenu"; + } + + /** + * 사용자 좌측 매뉴 + */ + @RequestMapping(value = "/web/com/subVisual.do") + public String webCommonSubVisual(HttpServletRequest request, + @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model, + @RequestParam Map commandMap) throws Exception { + + // 로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated() + ? (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser() + : null; + String userAuthority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); + + if (!userAuthority.equals("ROLE_ADMIN") && userAuthority != "") { + menuManageVO.setAuthorCode(userAuthority); + } else if (userAuthority.equals("ROLE_ADMIN")) { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } else { + menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); + } + + // 자신의 위치 정보 + List menuCurrentResultList = new ArrayList(); + List whereAmIList = new ArrayList(); + MenuManageVO resultVO = new MenuManageVO(); + MenuManageVO tempMenuManageVO = new MenuManageVO(); + tempMenuManageVO.setSearchCondition("Y"); + setViewMenu(request, commandMap, tempMenuManageVO, resultVO, menuManageVO); + menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWebCustom(menuManageVO); + MenuManageJTreeVO whereAmIVO = new MenuManageJTreeVO(); + if (menuCurrentResultList != null && menuCurrentResultList.size() > 0) { + whereAmIVO = menuCurrentResultList.get(0); + whereAmIVO.setAuthorCode(menuManageVO.getAuthorCode()); + whereAmIList = menuCreateManageService.selectMenuListJtreeWebCustom(whereAmIVO); + } + model.addAttribute("whereAmIVO", whereAmIVO); + + return "web/com/webCommonSubVisual"; + } + + // 다수의 파일 첨부 파일을 로컬로 부터 읽어와서 BodyPart 클래스로 만든다. (바운더리 변환) + private void addMulitAttachment(Multipart multipart, String realFileLoc, String filename) + throws MessagingException { + try { + DataSource source = new FileDataSource(realFileLoc); + BodyPart messageBodyPart = new MimeBodyPart(); + messageBodyPart.setDataHandler(new DataHandler(source)); + messageBodyPart.setFileName(MimeUtility.encodeText(filename)); // 한글깨짐방지 + multipart.addBodyPart(messageBodyPart); + } catch (UnsupportedEncodingException e) { + System.out.println("UnsupportedEncodingException Occured!!!"); + } + } + + // 메일의 본문 내용 설정 + private BodyPart getContents(String html) throws MessagingException { + BodyPart mbp = new MimeBodyPart(); + mbp.setText(html); // setText를 이용할 경우 일반 텍스트 내용으로 설정된다. + // html 형식으로 설정(줄개행 > br로) + // mbp.setContent(html.replaceAll("(\r\n|\n)", "
    "), "text/html; + // charset=utf-8"); //줄바꿈이 필요해서 + return mbp; + } } - \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Oracle.xml b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Oracle.xml index d21fb609..4ca8b4de 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Oracle.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Oracle.xml @@ -257,7 +257,7 @@ SELECT A .MENU_NM AS MENUNM, A .PROGRM_FILE_NM AS PROGRMFILENM, - A .MENU_NO AS MENUNO, + A .MENU_NO AS menuNo, A .UPPER_MENU_NO AS UPPERMENUID, A .MENU_ORDR AS MENUORDR, A .MENU_DC AS MENUDC, @@ -291,7 +291,7 @@ SELECT BB.MENU_NM AS MENUNM, BB.PROGRM_FILE_NM AS PROGRMFILENM, - BB.MENU_NO AS MENUNO, + BB.MENU_NO AS menuNo, BB.UPPER_MENU_NO AS UPPERMENUID, BB.MENU_ORDR AS MENUORDR, BB.MENU_DC AS MENUDC, @@ -351,7 +351,7 @@ SELECT BBB.MENU_NM AS MENUNM, BBB.PROGRM_FILE_NM AS PROGRMFILENM, - BBB.MENU_NO AS MENUNO, + BBB.MENU_NO AS menuNo, BBB.UPPER_MENU_NO AS UPPERMENUID, BBB.MENU_ORDR AS MENUORDR, BBB.MENU_DC AS MENUDC, @@ -435,7 +435,7 @@ ORDER BY AAAA.DEPTHS, AAAA.MENUORDR, - AAAA.MENUNO * 1 + AAAA.menuNo * 1 ]]> @@ -991,4 +991,255 @@ FROM lettnmenucreatdtls a WHERE a.MENU_NO = #menuNo# + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp index 5c590c03..5c185a70 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp @@ -58,7 +58,7 @@
    - + diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonLeftMenu.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonLeftMenu.jsp index 2827b2ef..9fa30322 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonLeftMenu.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonLeftMenu.jsp @@ -4,40 +4,74 @@ \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webCommonSubVisual.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webCommonSubVisual.jsp index 8e21ee7d..627520ac 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webCommonSubVisual.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webCommonSubVisual.jsp @@ -3,5 +3,5 @@ <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    -

    분쟁조정 안내

    +

    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp index 95b48660..eedbeb22 100644 --- a/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/com/webLayout.jsp @@ -34,11 +34,9 @@ content="default-src * self blob: data: gap:; style-src * self 'unsafe-inline' b - + - - - + diff --git a/src/main/webapp/WEB-INF/jsp/web/xxx/xxxList.jsp b/src/main/webapp/WEB-INF/jsp/web/xxx/xxxList.jsp index 6549cdf7..e16c80e0 100644 --- a/src/main/webapp/WEB-INF/jsp/web/xxx/xxxList.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/xxx/xxxList.jsp @@ -132,87 +132,3 @@
    - - - - - - - - - - - - - - - - - - - - - - - - -<%-- - - -xxx 리스트 - - - - -
    -
    -
    - 제목 : - - - -
    -
    -

    게시판 수 :

    -
    - - - -
    -
    -
    - - - - - - - - - - - - - - - - - - - - -
    컬럼1컬럼2컬럼3컬럼4
    -
    -
    - - -
    -
    -
    - - - --%> \ No newline at end of file