package egovframework.web; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Locale; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.json.simple.JSONArray; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.SessionAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import egovframework.com.cmm.ComDefaultCodeVO; import egovframework.com.cmm.ComDefaultVO; import egovframework.com.cmm.FacebookAPI; import egovframework.com.cmm.LoginVO; import egovframework.com.cmm.service.CmmnDetailCode; import egovframework.com.cmm.service.EgovCmmUseService; import egovframework.com.uss.ion.bnr.service.BannerVO; import egovframework.com.uss.ion.bnr.service.EgovBannerService; import egovframework.com.uss.ion.cyb.service.CyberAlertManageService; import egovframework.com.uss.ion.cyb.service.CyberAlertManageVO; import egovframework.com.uss.ion.pwm.service.EgovPopupManageService; import egovframework.com.uss.ion.pwm.service.MainzoneVO; import egovframework.com.uss.ion.pwm.service.PopupManageVO; import egovframework.com.uss.ion.pwm.service.PopupzoneVO; import egovframework.let.cop.bbs.service.BoardVO; import egovframework.let.cop.bbs.service.EgovBBSManageService; import egovframework.let.cop.bizIntro.service.BizIntroService; import egovframework.let.cop.bizIntro.service.BizIntroVO; import egovframework.let.kopost.sys.service.ResearchService; import egovframework.let.kopost.sys.service.ResearchVO; import egovframework.let.sts.com.StatsVO; import egovframework.let.sts.cst.service.EgovConectStatsService; import egovframework.let.sym.log.clg.service.EgovLoginLogService; import egovframework.let.sym.log.clg.service.LoginLog; import egovframework.let.sym.mnu.mcm.service.EgovMenuCreateManageService; import egovframework.let.sym.mnu.mpm.service.EgovMenuManageService; import egovframework.let.sym.mnu.mpm.service.MenuManageJTreeVO; import egovframework.let.sym.mnu.mpm.service.MenuManageVO; import egovframework.let.sym.prm.service.EgovProgrmManageService; import egovframework.let.sym.prm.service.ProgrmManageVO; import egovframework.let.uss.ion.cnt.service.CntManageVO; import egovframework.rte.fdl.property.EgovPropertyService; import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; /** * 템플릿 메인 페이지 컨트롤러 클래스(Sample 소스) * @author 실행환경 개발팀 JJY * @since 2011.08.31 * @version 1.0 * @see * *
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자           수정내용
 *  -------    --------    ---------------------------
 *   2011.08.31  JJY            최초 생성
 *
 * 
*/ @Controller @SessionAttributes(types = ComDefaultVO.class) public class MainController { /** EgovProgrmManageService */ @Resource(name = "progrmManageService") private EgovProgrmManageService progrmManageService; /** EgovPropertyService */ @Resource(name = "propertiesService") protected EgovPropertyService propertiesService; /** * EgovBBSManageService */ @Resource(name = "EgovBBSManageService") private EgovBBSManageService bbsMngService; /** EgovMenuManageService */ @Resource(name = "meunManageService") private EgovMenuManageService menuManageService; @Resource(name = "egovBannerService") private EgovBannerService egovBannerService; /** EgovPopupManageService */ @Resource(name = "egovPopupManageService") private EgovPopupManageService egovPopupManageService; /** cyberAlertManageService */ @Resource(name = "cyberAlertManageService") private CyberAlertManageService cyberAlertManageService; @Resource(name="EgovLoginLogService") private EgovLoginLogService loginLogService; @Resource(name = "conectStatsService") private EgovConectStatsService conectStatsService; @Resource(name="databaseSecurityMetadataSource") EgovReloadableFilterInvocationSecurityMetadataSource databaseSecurityMetadataSource; @Resource(name = "researchService") protected ResearchService researchService; /** cmmUseService */ @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; /** EgovMenuManageService */ @Resource(name = "meunCreateManageService") private EgovMenuCreateManageService menuCreateManageService; @Resource(name = "BizIntroService") private BizIntroService bizIntroService; @RequestMapping(value = "/web/main/mainPage.do") public String mainPage(HttpServletRequest request, ModelMap model) throws Exception{ //메인이미지 /** EgovPropertyService.sample */ MainzoneVO mainzoneVO = new MainzoneVO(); 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"); //사용하는것만 List mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지 model.addAttribute("mainzoneList", mainzoneList); BoardVO boardVO = new BoardVO(); boardVO.setPageUnit(7); boardVO.setPageSize(10); paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); paginationInfo.setPageSize(boardVO.getPageSize()); boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); boardVO.setBbsId("BBSMSTR_000000000153"); //라이브폴라스토리 boardVO.setSecretAt("N"); //비밀글제외 boardVO.setAtchFileCnt(1); //파일이 있는경우만(임의의 숫자 1) //대표이미지 가져오기 ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN005"); List cmmCaLevel = cmmUseService.selectCmmCodeDetail(vo); BoardVO mainPolaVo = new BoardVO(); if(cmmCaLevel != null){ String bbsId = ((CmmnDetailCode)cmmCaLevel.get(0)).getCodeNm() ; boardVO.setNttId(Integer.parseInt(bbsId)); boardVO.setMainPolaNttId(bbsId); mainPolaVo = bbsMngService.selectBoardArticle(boardVO); if(mainPolaVo !=null){ boardVO.setRecordCountPerPage(5); model.addAttribute("livePolaStoryListOne", mainPolaVo); //첫번째 사진 } } Map livePolaStoryList = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); List livePolaArrayList = (List) livePolaStoryList.get("resultList") ; model.addAttribute("livePolaStoryListOther", livePolaArrayList); //나머지 사진 /*if(livePolaArrayList.size()!=0){ livePolaArrayList.remove(0) ; model.addAttribute("livePolaStoryList", livePolaStoryList.get("resultList")); }*/ boardVO.setBbsId("BBSMSTR_000000000018"); // 공지사항 메인 컨텐츠 Map map = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); model.addAttribute("notiList", map.get("resultList")); // 게시판 boardVO.setAtchFileCnt(0); boardVO.setRecordCountPerPage(5); boardVO.setBbsId("BBSMSTR_000000000122"); // 공지 Map noticeMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); model.addAttribute("noticeMap", noticeMap.get("resultList")); boardVO.setBbsId("BBSMSTR_000000000119"); // 사업공모 seCd사용 Map bizMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); model.addAttribute("bizMap", bizMap.get("resultList")); boardVO.setBbsId("BBSMSTR_000000000124"); // 채용공모 seCd사용 Map hireMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); model.addAttribute("hireMap", hireMap.get("resultList")); BizIntroVO bizIntroVO = new BizIntroVO(); // 입찰(ext테이블) seCd사용 bizIntroVO.setAtchFileCnt(0); bizIntroVO.setFirstIndex(0); bizIntroVO.setSecretAt("N"); bizIntroVO.setRecordCountPerPage(5); bizIntroVO.setBbsId("EXTBBSM_000000000002"); List bizIntroList = new ArrayList(); bizIntroList = bizIntroService.selectExtBbsList(bizIntroVO); model.addAttribute("bidMap", bizIntroList); /** 중앙이미지(문화진흥읜) */ PopupzoneVO popupzoneVo = new PopupzoneVO(); //10개만 popupzoneVo.setFirstIndex(0); popupzoneVo.setRecordCountPerPage(10); popupzoneVo.setSeCd("01"); //문화진흥원소식 관리(중앙) popupzoneVo.setUseYn("Y"); List popupzoneList_01 = egovPopupManageService.selectPopupzoneList(popupzoneVo); model.addAttribute("popupzoneList_01", popupzoneList_01); popupzoneVo.setSeCd("02"); //전시안내(중앙 하단 우측) List popupzoneList_02 = egovPopupManageService.selectPopupzoneList(popupzoneVo); model.addAttribute("popupzoneList_02", popupzoneList_02); popupzoneVo.setSeCd("03"); //블로그(하단 좌측) popupzoneVo.setRecordCountPerPage(2); //두개만 List popupzoneList_03 = egovPopupManageService.selectPopupzoneList(popupzoneVo); model.addAttribute("popupzoneList_03", popupzoneList_03); popupzoneVo.setSeCd("04"); //우수문화지정제 popupzoneVo.setRecordCountPerPage(1); //한개만 List popupzoneList_04 = egovPopupManageService.selectPopupzoneList(popupzoneVo); model.addAttribute("popupzoneList_04", popupzoneList_04); popupzoneVo.setSeCd("05"); //정기구독신청 popupzoneVo.setRecordCountPerPage(1); //한개만 List popupzoneList_05 = egovPopupManageService.selectPopupzoneList(popupzoneVo); model.addAttribute("popupzoneList_05", popupzoneList_05); //배너 리스트 조회 BannerVO bannerVO = new BannerVO(); bannerVO.setRecordCountPerPage(50); //50개까지 bannerVO.setFirstIndex(0); bannerVO.setReflctAt("Y"); //반영이 Y 만 ArrayList bannerVOList= (ArrayList) egovBannerService.selectBannerList(bannerVO) ;//배너6개 안되면 좌측 버튼이 안보임 /*if(null != bannerVOList){ for(int i=0; i<4; i++){ if(bannerVOList.size()<6){ bannerVOList.addAll(bannerVOList); } } }*/ //bannerVO.setBannerList(egovBannerService.selectBannerList(bannerVO)); bannerVO.setBannerList(bannerVOList); model.addAttribute("bannerList", bannerVO.getBannerList()); //팝업리스트 조회 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); } //사용자 방문수 insert { 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 loginLog = new LoginLog(); loginLog.setLoginIp(ip); loginLog.setCreatDt(mTime); if(null == loginLogService.selectLoginUserLog(loginLog)){ //오늘날짜의 IP조회 loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O loginLog.setErrOccrrAt("N"); loginLog.setErrorCode(""); loginLog.setUserAt("U"); loginLog.setLoginId(""); //connnect_id loginLog.setProgrmFileNm("mainPage"); if(isMobile(request)){ loginLog.setDeviceType("M"); }else{ loginLog.setDeviceType("P"); } loginLogService.logInsertLoginLog(loginLog); } } return "web/main/mainPage"; } /** * 사용자 상단 매뉴 */ @RequestMapping(value="/web_ex/com/webCommonHeader.do") public String webCommonHeader( @RequestParam Map commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO(); menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setMenuNo("0"); model.addAttribute("menuResultList", menuResultList); return "web/com/webCommonHeader"; } /** * 사용자 상단 매뉴 */ @RequestMapping(value="/eng/web/com/webCommonHeader.do") public String engWebCommonHeader( @RequestParam Map commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { /*menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); List menuResultList = menuCreateManageService.selectEngMenuListJtreeWeb(menuManageVO) ; MenuManageJTreeVO menuManageTopVO = new MenuManageJTreeVO(); menuManageTopVO.setUpperMenuId("#"); menuManageTopVO.setMenuNo("0"); model.addAttribute("menuResultList", menuResultList);*/ return "web/com/engWebCommonHeader"; } @RequestMapping(value="/web_ex/com/webCommonSmsMenu.do") public String webCommonSmsMenu( @RequestParam Map commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { return "web/com/webCommonSmsMenu"; } /** * SMS 네비게이션 매뉴 */ @RequestMapping(value="/web/com/webCommonHeader_back.do") public String webCommonHeader_back( @RequestParam Map commandMap, ModelMap model) throws Exception { return "web/com/webCommonHeader"; } /** * 사용자 footer */ @RequestMapping(value="/web_ex/com/webCommonFooter.do") public String webCommonFooter( @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); } //사용자 방문수 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); return "web/com/webCommonFooter"; } /** * 사용자 footer */ @RequestMapping(value="/eng/web/com/webCommonFooter.do") public String engWebCommonFooter( @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); } //사용자 방문수 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);*/ return "web/com/engWebCommonFooter"; } /** * 만족도 import */ @RequestMapping(value="/web/com/webContentResearch.do") public String webContentResearch(@RequestParam Map commandMap, CntManageVO cntManageVO , ResearchVO researchVO , HttpServletRequest request, Model model) throws Exception { if(request.getRequestURI().contains("/web/main/mainPage.do")){//만족도 필요없는화면 return "blank"; } if(request.getRequestURI().contains("/web/content.do")){ //컨텐츠 화면(관리자미리보기/사용자) if(cntManageVO.getCntDtId() != null){ //관리자 미리보기 researchVO = researchService.selectMcUrlByCntDtId(cntManageVO); //CntDtId 으로 이전 MENU_CODE 테이블의 url 조회 if(researchVO ==null){ return "blank"; } model.addAttribute("mcUrl", researchVO.getMcUrl()); model.addAttribute("mcIdx", researchVO.getMcIdx()); model.addAttribute("mcTitle", researchVO.getMcTitle()); model.addAttribute("mcManager", researchVO.getMcManager()); return "web/com/webContentResearch"; }else if(commandMap.get("proFn")==null){ //사용자 화면 return "blank"; } researchVO = researchService.selectMcUrlByProFn(researchVO); //사용자 화면 ProFn 으로 이전 MENU_CODE 테이블의 url 조회 if(researchVO ==null){ return "blank"; } }else if(request.getRequestURI().contains("/web/survey/surveyList")){ //설문조사 화면(사용자) researchVO.setProFn("surveyList"); researchVO = researchService.selectMcUrlByProFn(researchVO); if(researchVO ==null){ return "blank"; } } if(commandMap.get("bbsId") != null){ //나머지 모든 게시판화면(사용자) researchVO.setProFn((String)commandMap.get("bbsId")); researchVO = researchService.selectMcUrlByProFn(researchVO); //게시판 bbsId 로 MENU_CODE 테이블의 url 조회 if(researchVO ==null){ return "blank"; } } if(researchVO==null){ //만족도 컬럼이 등록 안되면 안보이게.... return "blank"; } model.addAttribute("mcUrl", researchVO.getMcUrl()); model.addAttribute("mcIdx", researchVO.getMcIdx()); model.addAttribute("mcTitle", researchVO.getMcTitle()); model.addAttribute("mcManager", researchVO.getMcManager()); return "web/com/webContentResearch"; } /*모바일접속 유무*/ 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; } /** * 사용자 좌측 매뉴 */ @RequestMapping(value="/web/com/leftMenu.do") public String webCommonLeftMenu( @RequestParam Map commandMap, HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model) throws Exception { MenuManageVO resultVO = new MenuManageVO(); MenuManageVO tempMenuManageVO = new MenuManageVO(); tempMenuManageVO.setSearchCondition("Y"); setViewMenu(request , commandMap , tempMenuManageVO , resultVO , menuManageVO ); //menuManageVO.setMenuNo("9151200"); //테스트 //List menuResultList = menuCreateManageService.selectMenuListJtree(menuManageVO) ; //List menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ; List menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; model.addAttribute("menuLeftResultList", menuLeftResultList); if(request.getRequestURI().contains("/eng/")){ model.addAttribute("eng", "eng"); } return "web/com/webCommonLeftMenu"; } /** * 사용자 페이지의 네비 상단 매뉴 */ @RequestMapping(value="/web/com/naviWrap.do") public String webCommonNaviWrap( @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.getDepth().equals("2")){ for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ showTwoDepthMenu.add(tempLeftMenu); } } } if(tempLeftMenu.getDepth().equals("3")){ for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ showThreeDepthMenu.add(tempLeftMenu); } } } if(tempLeftMenu.getDepth().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.getDepth().equals("1")){ showOneDepthMenu.add(tempResultVo); } } //매뉴구조도 텍스트 String menuText = ""; menuText += "
  •  
  • " ; if(request.getRequestURI().contains("/eng")){ //영문사이트 int i = 0; for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){ if(i !=0){ menuText += "
  •  > "+menuTextVo.getMenuNm()+"
  • " ; } i= i+1; } }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.getDepth().equals("2")){ for(MenuManageJTreeVO tempCurrentTwoMenu : menuCurrentResultList){ if(tempLeftMenu.getUpperMenuId().equals(tempCurrentTwoMenu.getMenuNo())){ showTwoDepthMenu.add(tempLeftMenu); } } } if(tempLeftMenu.getDepth().equals("3")){ for(MenuManageJTreeVO tempCurrentThreeMenu : menuCurrentResultList){ if(tempLeftMenu.getUpperMenuId().equals(tempCurrentThreeMenu.getMenuNo())){ showThreeDepthMenu.add(tempLeftMenu); } } } if(tempLeftMenu.getDepth().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.getDepth().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")){//설문조사 tempMenuManageVO.setSearchKeyword("surveyList"); }else if(request.getRequestURI().contains("/web/cop/bisIntro/")){//사업소개 String url = "/web/cop/bbs/selectBizIntroList.do?bizCode="+(String)commandMap.get("bizCode") ; ComDefaultVO searchVO = new ComDefaultVO(); searchVO.setSearchKeyword(url); ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); }else if(request.getRequestURI().contains("/web/cop/resve/")){//갤러리대관 String url = "/web/cop/resve/selectResveList.do" ; ComDefaultVO searchVO = new ComDefaultVO(); searchVO.setSearchKeyword(url); ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); }else if(request.getRequestURI().contains("/web/cop/extbbs/")){//입찰결과 tempMenuManageVO.setSearchKeyword("EXTBBSM_000000000002"); /*if(request.getRequestURI().contains("selectExtBbsList.jsp") || request.getRequestURI().contains("webViewExtBoard.jsp")){ tempMenuManageVO.setSearchKeyword("EXTBBSM_000000000002"); }else{ if(request.getRequestURI().contains("web/cop/disclosure")){ //정보공개 자료 tempMenuManageVO.setSearchKeyword("EXTBBSM_000000000004"); } }*/ }else if(request.getRequestURI().contains("/web/cop/press/")){//보도자료 tempMenuManageVO.setSearchKeyword("EXTBBSM_000000000003"); }else if(request.getRequestURI().contains("/web/cop/exhibit/")){//문화진흥원소식 tempMenuManageVO.setSearchKeyword("selectExhibitCaList"); //첫번째 매뉴만 넣음 }else if(request.getRequestURI().contains("/web/cop/qna/")){//이용문의 tempMenuManageVO.setSearchKeyword("webViewQna"); }else if(request.getRequestURI().contains("/web/cop/disclosure/")){//정보공개자료 tempMenuManageVO.setSearchKeyword("EXTBBSM_000000000004"); } else if(null!=(String)commandMap.get("proFn") || null!=(String)commandMap.get("bbsId")){ //컨텐츠 타입, 게시판 타입의 경우 if(null!=(String)commandMap.get("proFn")){ // tempMenuManageVO.setSearchCondition("proFn"); tempMenuManageVO.setSearchKeyword((String)commandMap.get("proFn")); }else{ // tempMenuManageVO.setSearchCondition("bbsId"); if(null != (String)commandMap.get("seCd")){ ComDefaultVO searchVO = new ComDefaultVO(); String url = "/web/cop/bbs/selectBoardList.do?bbsId="+ (String)commandMap.get("bbsId") + "&seCd="+(String)commandMap.get("seCd") ; searchVO.setSearchKeyword(url); ProgrmManageVO progrmManageVO = progrmManageService.selectProgrmUrl(searchVO); tempMenuManageVO.setSearchKeyword(progrmManageVO.getProgrmFileNm()); }else{ tempMenuManageVO.setSearchKeyword((String)commandMap.get("bbsId")); } } }else if(request.getRequestURI().contains("/eng/bisIntro/")){ //영문 tempMenuManageVO.setSearchKeyword("subBusiness"); } /*else{ //ajax 로 검색시 //menuCurrentResultList = menuCreateManageService.selectMenuListCurrentJtreeWeb(menuManageVO) ; //menuLeftResultList = menuCreateManageService.selectMenuLeftListJtreeWeb(menuManageVO) ; //한단계 하위 매뉴 //menuUnderResultList = menuCreateManageService.selectMenuUnderListJtreeWeb(menuManageVO) ; }*/ resultVO = menuManageService.selectMenuManage(tempMenuManageVO); menuManageVO.setAuthorCode("ROLE_ANONYMOUS"); //menuManageVO.setMenuUserType(menuManageVO.getMenuUserType()); if(resultVO != null){ menuManageVO.setMenuNo(resultVO.getMenuNo()+""); } } @RequestMapping(value = "/eng/main.do") public String engMainPage(HttpServletRequest request, ModelMap model) throws Exception{ //메인이미지 /** EgovPropertyService.sample */ MainzoneVO mainzoneVO = new MainzoneVO(); 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"); //사용하는것만 List mainzoneList = egovPopupManageService.selectMainzoneList(mainzoneVO); //상단메인 이미지 model.addAttribute("mainzoneList", mainzoneList); /*BoardVO boardVO = new BoardVO(); boardVO.setPageUnit(7); boardVO.setPageSize(10); paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); paginationInfo.setPageSize(boardVO.getPageSize()); boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); boardVO.setBbsId("BBSMSTR_000000000153"); //라이브폴라스토리 boardVO.setSecretAt("N"); //비밀글제외 boardVO.setAtchFileCnt(1); //파일이 있는경우만(임의의 숫자 1) */ //대표이미지 가져오기 /*ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN005"); List cmmCaLevel = cmmUseService.selectCmmCodeDetail(vo);*/ /*BoardVO mainPolaVo = new BoardVO(); if(cmmCaLevel != null){ String bbsId = ((CmmnDetailCode)cmmCaLevel.get(0)).getCodeNm() ; boardVO.setNttId(Integer.parseInt(bbsId)); boardVO.setMainPolaNttId(bbsId); mainPolaVo = bbsMngService.selectBoardArticle(boardVO); if(mainPolaVo !=null){ boardVO.setRecordCountPerPage(5); model.addAttribute("livePolaStoryListOne", mainPolaVo); //첫번째 사진 } }*/ //Map livePolaStoryList = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); //List livePolaArrayList = (List) livePolaStoryList.get("resultList") ; //model.addAttribute("livePolaStoryListOther", livePolaArrayList); //나머지 사진 /*if(livePolaArrayList.size()!=0){ livePolaArrayList.remove(0) ; model.addAttribute("livePolaStoryList", livePolaStoryList.get("resultList")); }*/ /** 중앙이미지(문화진흥읜) */ return "web/main/engMainPage"; } @RequestMapping(value = "/blank.do") public String blank(HttpServletRequest request, ModelMap model) throws Exception{ return "web/blank"; } }