package egovframework.web;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
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.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.mpm.service.EgovMenuManageService;
import egovframework.let.sym.mnu.mpm.service.MenuManageVO;
import egovframework.let.uss.ion.cnt.service.CntManageVO;
import egovframework.let.utl.sim.service.EgovXSSUtil;
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 {

	/** 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;
	
	
	@RequestMapping(value = "/web/main/mainPage.do")
	public String mainPage(HttpServletRequest request, ModelMap model) throws Exception{
		System.out.println("@@@@@메인페이지시작@@@@@");
		//메인이미지
		/** 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());
		
//        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.setAtchFileCnt(0);
		boardVO.setRecordCountPerPage(5);
		boardVO.setBbsId("BBSMSTR_000000000201");  // News & Issues
		Map<String, Object> newsIssuesMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); 
		model.addAttribute("newsIssuesMap", newsIssuesMap.get("resultList"));
		
		
//		boardVO.setBbsId("BBSMSTR_000000000221");  // 다언다청
//		Map<String, Object> daunMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); 
//		model.addAttribute("daunMap", daunMap.get("resultList"));
		
		boardVO.setBbsId("BBSMSTR_000000000029");  // 채용공고
		Map<String, Object> hireMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); 
		model.addAttribute("hireMap", hireMap.get("resultList"));
		
		boardVO.setBbsId("BBSMSTR_000000000018");  // 공지사항
		Map<String, Object> noticeMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); 
		model.addAttribute("noticeMap", noticeMap.get("resultList"));
		
		
		boardVO.setBbsId("BBSMSTR_000000000019");  // 입찰공고
		Map<String, Object> bidMap = bbsMngService.selectBoardArticles(boardVO, "BBSA02"); 
		//model.addAttribute("notiList", map.get("resultList"));
		model.addAttribute("bidMap", bidMap.get("resultList"));
		
		
		/*boardVO.setBbsId("BBSMSTR_000000000101");  //입찰공고
		Map<String, Object> map1 = bbsMngService.selectBoardArticles(boardVO, "BBSA02");
		model.addAttribute("biddingList", map1.get("resultList"));*/
		// 공지사항 메인컨텐츠 조회 끝 -----------------------------------
		
		/*FacebookAPI facebookAPI = FacebookAPI.getInstance();  //페이스북
		String posts = facebookAPI.getPosts() ;
		String photo = facebookAPI.getPhoto() ;
		model.addAttribute("posts", posts);	
		model.addAttribute("photo", photo);
		
		List facebookList = new ArrayList();
		JSONParser parser = new JSONParser();
		JSONObject photoJObj = (JSONObject)parser.parse(photo);
		String profileImgUrl = "";
		if(photoJObj.get("data") != null && ((JSONObject)photoJObj.get("data")).get("url") !=null){
			profileImgUrl = ((JSONObject)photoJObj.get("data")).get("url").toString() ;
		}
		model.addAttribute("facebookImg", profileImgUrl);
		
		JSONObject postJObj = (JSONObject)parser.parse(posts);
		JSONArray  postJArr = (JSONArray)postJObj.get("data") ;
		for(int i=0;i<3;i++){
			JSONObject tempObjcet = (JSONObject)postJArr.get(i);
			if(!"status".equals(tempObjcet.get("type"))){
				if(tempObjcet.get("picture") !=null){
					tempObjcet.put("imgUrl", tempObjcet.get("picture"));
				}else{
					tempObjcet.put("imgUrl", profileImgUrl);
				}
			}
			String line2 = "";
			if(tempObjcet.get("caption") !=null)
				line2 = tempObjcet.get("caption").toString() ;	
			else if(tempObjcet.get("message") !=null)
				line2 = tempObjcet.get("message").toString();
			else if(tempObjcet.get("description")!=null)
				line2 = tempObjcet.get("description").toString();
			else if(tempObjcet.get("story")!=null)
				line2 = tempObjcet.get("story").toString();
			else
				line2 = tempObjcet.get("name").toString();
			tempObjcet.put("line2", line2);
			facebookList.add(tempObjcet);
		}
		model.addAttribute("facebookList", facebookList);*/
		/* 페이스북 */
		
		// 자유게시판 메인 컨텐츠 조회 시작 ---------------------------------
		boardVO.setPageUnit(9);
		boardVO.setPageSize(10);
		boardVO.setBbsId("BBSMSTR_BBBBBBBBBBBB");

		paginationInfo.setCurrentPageNo(boardVO.getPageIndex());
		paginationInfo.setRecordCountPerPage(boardVO.getPageUnit());
		paginationInfo.setPageSize(boardVO.getPageSize());

		boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
		boardVO.setLastIndex(paginationInfo.getLastRecordIndex());
		boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

		model.addAttribute("bbsList", bbsMngService.selectBoardArticles(boardVO, "BBSA02").get("resultList"));

        // 설문참여 메인 컨텐츠 조회 시작 -----------------------------------
        ComDefaultVO qVO = new ComDefaultVO();
    	qVO.setPageUnit(1);
    	qVO.setPageSize(10);

    	/** pageing */
		paginationInfo.setCurrentPageNo(qVO.getPageIndex());
		paginationInfo.setRecordCountPerPage(qVO.getPageUnit());
		paginationInfo.setPageSize(qVO.getPageSize());

		qVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
		qVO.setLastIndex(paginationInfo.getLastRecordIndex());
		qVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());

        //배너 리스트 조회
		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);
		}
		//알림판
		/** 알림창괸리  */
		PopupzoneVO  popupzoneVo = new PopupzoneVO();
		popupzoneVo.setFirstIndex(0);
		popupzoneVo.setRecordCountPerPage(1000);
		popupzoneVo.setMainPage("Y");
        List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);      
        model.addAttribute("popupzoneList", popupzoneList);
        
		/** 팝업존관리  */
       /* popupManageVO.setRecordCountPerPage(10);  //10개만
		popupManageVO.setNtceAt("Y");  //사용만
		popupManageVO.setMainPageFlag("Y") ; //메인화면의 용도(시작일 종료일 사이 조회)
		popupManageVO.setPopupType("Z"); //팝업존만 조회
		List<?> popupzoneList = egovPopupManageService.selectPopupMainList(popupManageVO);
		model.addAttribute("popupzoneList", popupzoneList);*/
        
        
        /** 사이버경고관리  */
        CyberAlertManageVO cyberManageVO = new CyberAlertManageVO();
        cyberManageVO.setCaId("CYBER_0000000001");
        List<?> cyberAlerMap = cyberAlertManageService.selectCyberAlert(cyberManageVO);
        EgovMap emp = new EgovMap();
        if( cyberAlerMap.size() != 0 ){
			emp = (EgovMap)cyberAlerMap.get(0);
        }	
        model.addAttribute("cyberAlerMap", emp);
        
		//model.addAttribute("qriList", egovQustnrRespondInfoService.selectQustnrRespondInfoManageList(qVO));

     // 설문참여 메인 컨텐츠 조회 끝 -----------------------------------

        //사용자 방문수 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
                if(isMobile(request)){
                	loginLog.setDeviceType("M");
                }else{
                	loginLog.setDeviceType("P");
                }
                loginLogService.logInsertLoginLog(loginLog);
        	}
        }*/
        
		//웹 레이아웃 title 조회 용 메뉴명 조회
		ComDefaultVO searchVO1 = new ComDefaultVO();
    	searchVO1.setSearchKeyword1(request.getRequestURI());
    	MenuManageVO resultMenuVO = menuManageService.selectMenuManage(searchVO1) ;
    	model.addAttribute("resultMenuVO", resultMenuVO);
        
    	System.out.println("@@@@@메인페이지종료@@@@@");
		return "web/main/mainPage";
	}
	
	
	/**
     * 사용자 상단 매뉴
     */
    @RequestMapping(value="/web/com/webCommonHeader.do")
    public String webCommonHeader(
    		@RequestParam Map<String, Object> commandMap,
    		ModelMap model, HttpServletRequest request)
            throws Exception {
    	
    	//화면 메뉴정보
    	ComDefaultVO searchVO1 = new ComDefaultVO();
    	searchVO1.setSearchKeyword1(request.getRequestURI());
    	MenuManageVO resultMenuVO = menuManageService.selectMenuManage(searchVO1) ;
    	model.addAttribute("resultMenuVO", resultMenuVO);
    	
  
      	return "web/com/webCommonHeader";
    }
    
    /**
     * 사용자 footer
     */
    @RequestMapping(value="/web/com/webCommonFooter.do")
    public String webCommonFooter(
    		@RequestParam Map<String, Object> commandMap, HttpServletRequest request, ModelMap model)
            throws Exception {
    	//화면 메뉴정보
//    	ComDefaultVO searchVO1 = new ComDefaultVO();
//    	searchVO1.setSearchKeyword1(request.getRequestURI());
//    	MenuManageVO resultMenuVO = menuManageService.selectMenuManage(searchVO1) ;
//    	model.addAttribute("resultMenuVO", resultMenuVO);
    	
    	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){
    			ComDefaultVO searchVO = new ComDefaultVO();
    			searchVO.setSearchCondition("proFn");
    			searchVO.setSearchKeyword((String)commandMap.get("proFn"));
//    			MenuManageVO resultVO = menuManageService.selectMenuManage(searchVO) ;
    			loginLog.setProgrmFileNm((String)commandMap.get("proFn"));
    			String menuNm = (String)commandMap.get("menuNm");
    			if(menuNm != null && !("").equals(menuNm)){
//    				loginLog.setMenuNm(resultMenuVO.getMenuNm());
    				loginLog.setMenuNm((String)commandMap.get("menuNm"));
    			}
    		}
    	}else if(commandMap.get("bbsId") != null){  //나머지 모든 게시판
    		ComDefaultVO searchVO = new ComDefaultVO();
    		searchVO.setSearchCondition("bbsId");
    		searchVO.setSearchKeyword((String)commandMap.get("bbsId"));
			MenuManageVO resultVO = menuManageService.selectMenuManage(searchVO) ;
			loginLog.setProgrmFileNm((String)commandMap.get("bbsId"));
			if(resultVO!=null && !("").equals(resultVO.getMenuNm())){
				loginLog.setMenuNm(resultVO.getMenuNm());
			}else {
				loginLog.setMenuNm((String)commandMap.get("menuNm"));
			}
    	}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";
    }
    
    /**
     * 만족도 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 {  
		
		// XSS 방지
		EgovXSSUtil  egovXSSUtil = new EgovXSSUtil();
		researchVO.setMcUrl(egovXSSUtil.unscript(researchVO.getMcUrl()));
		researchVO.setMcTitle(egovXSSUtil.unscript(researchVO.getMcTitle()));
		
		
		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;
    }
}