File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.08.31 JJY 최초 생성
*
* </pre>
*/
@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<String, Object> 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<String, Object> map = bbsMngService.selectBoardArticles(boardVO, "BBSA02");
model.addAttribute("notiList", map.get("resultList"));
// 게시판
boardVO.setAtchFileCnt(0);
boardVO.setRecordCountPerPage(5);
boardVO.setBbsId("BBSMSTR_000000000122"); // 공지
Map<String, Object> noticeMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02");
model.addAttribute("noticeMap", noticeMap.get("resultList"));
boardVO.setBbsId("BBSMSTR_000000000119"); // 사업공모 seCd사용
Map<String, Object> bizMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02");
model.addAttribute("bizMap", bizMap.get("resultList"));
boardVO.setBbsId("BBSMSTR_000000000124"); // 채용공모 seCd사용
Map<String, Object> 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<BizIntroVO> bizIntroList = new ArrayList<BizIntroVO>();
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<BannerVO> bannerVOList= (ArrayList<BannerVO>) 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<String, Object> commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO,
ModelMap model)
throws Exception {
menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
menuManageVO.setMenuUserType(menuManageVO.getMenuUserType());
List<MenuManageJTreeVO> 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<String, Object> commandMap, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO,
ModelMap model)
throws Exception {
/*menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
menuManageVO.setMenuUserType(menuManageVO.getMenuUserType());
List<MenuManageJTreeVO> 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<String, Object> 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<String, Object> commandMap,
ModelMap model)
throws Exception {
return "web/com/webCommonHeader";
}
/**
* 사용자 footer
*/
@RequestMapping(value="/web_ex/com/webCommonFooter.do")
public String webCommonFooter(
@RequestParam Map<String, Object> 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<String, Object> 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<String, Object> 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<String, Object> 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<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtree(menuManageVO) ;
//List<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
List<MenuManageJTreeVO> 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<String, Object> commandMap, HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO,
ModelMap model)
throws Exception {
//자신의 위치 정보
List<MenuManageJTreeVO> menuCurrentResultList = new ArrayList<MenuManageJTreeVO>(); //자신의 위치
List<MenuManageJTreeVO> menuLeftResultList = new ArrayList<MenuManageJTreeVO>(); //자신이 속한 위치
List<MenuManageJTreeVO> menuUnderResultList = new ArrayList<MenuManageJTreeVO>(); //한단계 하위 위치
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<MenuManageJTreeVO> showOneDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showTwoDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showThreeDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showFourDepthMenu = new ArrayList<MenuManageJTreeVO>();
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<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스
if(tempResultVo.getDepth().equals("1")){
showOneDepthMenu.add(tempResultVo);
}
}
//매뉴구조도 텍스트
String menuText = "";
menuText += "<li class='home' alt='home' > </li>" ;
if(request.getRequestURI().contains("/eng")){ //영문사이트
int i = 0;
for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){
if(i !=0){
menuText += "<li> > "+menuTextVo.getMenuNm()+"</li>" ;
}
i= i+1;
}
}else{
for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){
menuText += "<li> > "+menuTextVo.getMenuNm()+"</li>" ;
}
}
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<String, Object> commandMap, HttpServletRequest request, @ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO,
ModelMap model)
throws Exception {
//자신의 위치 정보
List<MenuManageJTreeVO> menuCurrentResultList = new ArrayList<MenuManageJTreeVO>(); //자신의 위치
List<MenuManageJTreeVO> menuLeftResultList = new ArrayList<MenuManageJTreeVO>(); //자신이 속한 위치
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<MenuManageJTreeVO> showOneDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showTwoDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showThreeDepthMenu = new ArrayList<MenuManageJTreeVO>();
List<MenuManageJTreeVO> showFourDepthMenu = new ArrayList<MenuManageJTreeVO>();
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<MenuManageJTreeVO> menuResultList = menuCreateManageService.selectMenuListJtreeWeb(menuManageVO) ;
for(MenuManageJTreeVO tempResultVo : menuResultList){ //1 뎁스
if(tempResultVo.getDepth().equals("1")){
showOneDepthMenu.add(tempResultVo);
}
}
//매뉴구조도 텍스트
String menuText = "";
menuText += "<li class='home'> </li>" ;
for(MenuManageJTreeVO menuTextVo : menuCurrentResultList){
menuText += "<li> > "+menuTextVo.getMenuNm()+"</li>" ;
}
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<String, Object> 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<String, Object> 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";
}
}