package itn.let.sym.site.web; import java.io.File; import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.Random; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; import org.apache.poi.ss.usermodel.Font; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; 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.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import org.springframework.web.servlet.support.RequestContextUtils; import egovframework.rte.fdl.idgnr.EgovIdGnrService; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.ComDefaultCodeVO; import itn.com.cmm.EgovMessageSource; import itn.com.cmm.LoginVO; import itn.com.cmm.ReadVO; import itn.com.cmm.service.CmmnDetailCode; import itn.com.cmm.service.EgovCmmUseService; import itn.com.cmm.service.EgovFileMngService; import itn.com.cmm.service.EgovFileMngUtil; import itn.com.cmm.service.FileVO; import itn.com.cmm.service.ReadService; import itn.com.cmm.util.RedirectUrlMaker; import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.sym.ccm.cca.service.CmmnCodeVO; import itn.let.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; import itn.let.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; import itn.let.sym.mnu.mpm.service.MenuManageVO; import itn.let.sym.site.service.BiddingVO; import itn.let.sym.site.service.EgovSiteIpService; import itn.let.sym.site.service.EgovSiteManagerService; import itn.let.sym.site.service.JoinSettingVO; import itn.let.sym.site.service.MetaTagVO; import itn.let.sym.site.service.SiteIpManagerVO; import itn.let.sym.site.service.SiteManagerVO; import itn.let.sym.site.service.TermsVO; import itn.let.uss.umt.service.EgovUserManageService; import itn.let.uss.umt.service.UserManageVO; import itn.let.utl.user.service.MjonNoticeSendUtil; /** * 로그인정책에 대한 controller 클래스를 정의한다. * 로그인정책에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. * 로그인정책의 조회기능은 목록조회, 상세조회로 구분된다. * @author 공통서비스개발팀 lee.m.j * @since 2009.08.03 * @version 1.0 * @see * *
 * << 개정이력(Modification Information) >>
 *
 *   수정일      수정자           수정내용
 *  -------    --------    ---------------------------
 *   2009.08.03  lee.m.j        최초 생성
 *   2011.08.31  JJY            경량환경 템플릿 커스터마이징버전 생성
 *
 * 
*/ @Controller public class EgovSiteManagerController { @Resource(name = "egovMessageSource") EgovMessageSource egovMessageSource; @Resource(name = "egovSiteManagerService") EgovSiteManagerService egovSiteManagerService; @Resource(name = "egovSiteIpService") EgovSiteIpService egovSiteIpService; /** cmmUseService */ @Resource(name = "EgovCmmUseService") private EgovCmmUseService cmmUseService; @Resource(name = "CmmnCodeManageService") private EgovCcmCmmnCodeManageService cmmnCodeManageService; @Resource(name = "CmmnDetailCodeManageService") private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; @Resource(name="EgovFileMngUtil") private EgovFileMngUtil fileUtil; @Resource(name="EgovFileMngService") private EgovFileMngService fileMngService; @Resource(name = "egovFileIdGnrService") private EgovIdGnrService idgenService; @Resource(name = "egovTermsIdGnrService") private EgovIdGnrService idgenTermsService; @Resource(name = "EgovFileMngService") private EgovFileMngService fileService; @Resource(name = "readService") private ReadService readService; @Resource(name = "userManageService") private EgovUserManageService userManageService; /** 알림전송 Util */ @Resource(name = "mjonNoticeSendUtil") private MjonNoticeSendUtil mjonNoticeSendUtil; //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} private String[][] siteMngExcelValue ={ {"0" ,"번호" , "1" , "" }, {"1", "사이트 아이디" , "ITN" , "[코드]"}, {"2", "사이트 이름" , "아이티앤" , "[코드]"}, {"3", "테마" , "1", ""}, {"4", "샘플사용" , "Y", ""}, {"5", "등록자" , "일반관리자", "[코드]"}, {"6", "등록일" , "2019-10-31", "(날자형식)"}, {"7", "수정일" , "2019-10-31", "(날자형식)"} } ; //배열 정의{"컬럼순차번호, 컬럼이름, 컬럼내용, 컬럼이름에 붙여야할 내용(엑셀코드양식다운로드시 필요)"} private String[][] ipExcelValue ={ {"0" ,"번호" , "1" , "" }, {"1", "사이트" , "ITN" , "[코드]"}, {"2", "컴퓨터IP" , "192.168.0.21" , "[코드]"}, {"3", "소속" , "개발부서", ""}, {"4", "직위" , "사원", ""}, {"5", "성명" , "홍길동", "[코드]"}, {"6", "기간" , "2019-06-06 02:02~2019-06-27 04:04", "(날자형식)"}, {"7", "위치" , "2층 301호", "(날자형식)"}, {"8", "랜선번호" , "1", "(날자형식)"}, {"9", "등록자" , "admin", "(날자형식)"}, {"10", "등록일" , "2019-05-21 06:05:08", "(날자형식)"}, {"11", "사용여부" , "사용", "(날자형식)"} } ; /** * 사이트을 가져온다.. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/getSiteManager.do") public String getLoginGroupPolicy(@ModelAttribute("SiteManagerVo") SiteManagerVO siteManagerVO, ModelMap model) throws Exception { siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; return "/sym/site/addSiteManagerView"; } /** * 사이트 정보 등록화면으로 이동한다. * @param loginPolicy - 로그인정책 model * @return String - 리턴 Url */ @RequestMapping("/sym/site/addSiteManagerView.do") public String addSiteManagerView(@ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, ModelMap model) throws Exception { siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; model.addAttribute("siteManagerVO", siteManagerVO); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //테마사용 vo.setCodeId("UNI002"); model.addAttribute("themeList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/addSiteManagerView"; } /** * 사이트 정보 등록한다. * @param loginPolicy - 로그인정책 model * @return String - 리턴 Url */ @RequestMapping("/sym/site/addSiteManager.do") public String insertSiteManagerView(@ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, RedirectAttributes redirectAttributes , ModelMap model) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); siteManagerVO.setFrstRegisterId(user.getId()); try{ egovSiteManagerService.insertSiteManager(siteManagerVO); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", "중복된 사이트 아이디가 있습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteManagerList.do"); return redirectUrlMaker.getRedirectUrl(); } model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteManagerList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 사이트 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/selectSiteManagerList.do") public String selectSiteManagerList( @RequestParam Map commandMap , String[] adminAccessIp , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //테마사용 vo.setCodeId("UNI002"); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("sortTempNo"); siteManagerVO.setSearchSortOrd("desc"); } List siteConfigList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("siteConfigList", siteConfigList); model.addAttribute("themeList", cmmUseService.selectCmmCodeDetail(vo)); int totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/selectSiteManagerList"; } @RequestMapping("/sym/site/deleteSiteManagerList.do") public String deleteSiteManagerList( @RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception { for(String id:del) { try{ egovSiteManagerService.deleteSiteManager(id); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", "사이트 삭제에 실패하였습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteManagerList"); return redirectUrlMaker.getRedirectUrl(); } } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteManagerList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 사이트 정보 수정한다. * @param loginPolicy - 로그인정책 model * @return String - 리턴 Url */ @RequestMapping("/sym/site/siteManagerUpdate.do") public String updateSiteManager(@ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, ModelMap model, RedirectAttributes redirectAttributes ) throws Exception { try{ egovSiteManagerService.siteManagerUpdate(siteManagerVO) ; redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.update")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/addSiteManagerView.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 사이트 IP 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/selectSiteIpList.do") public String selectSiteIpList( @RequestParam Map commandMap , HttpSession session , @ModelAttribute("siteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model, MenuManageVO menuManageVO) throws Exception { if(siteIpManagerVO.getPageUnit() != 10) { siteIpManagerVO.setPageUnit(siteIpManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteIpManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteIpManagerVO.getPageUnit()); paginationInfo.setPageSize(siteIpManagerVO.getPageSize()); siteIpManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteIpManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteIpManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List siteIpList = new ArrayList(); siteIpManagerVO.setChgFlag("N"); //히스토리 제외 if("".equals(siteIpManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteIpManagerVO.setSearchSortCnd("comId"); siteIpManagerVO.setSearchSortOrd("desc"); } siteIpList = egovSiteIpService.selectSiteIpList(siteIpManagerVO); model.addAttribute("siteIpList", siteIpList); int totCnt = egovSiteIpService.selectSiteIpListTotCnt(siteIpManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); CmmnCodeVO searchVO = new CmmnCodeVO(); searchVO.setFirstIndex(0); searchVO.setRecordCountPerPage(100); //부서100개 까지 searchVO.setSearchCondition("clCode"); searchVO.setSearchKeyword("CMS"); model.addAttribute("teamList", cmmnCodeManageService.selectCmmnCodeList(searchVO)); ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN009"); //직위 model.addAttribute("gradeList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/selectSiteIpList"; } /** * 사이트 IP 대시보드 화면. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/siteIpInfo.do") public String selectSiteIpInfo( @RequestParam Map commandMap , HttpSession session , @ModelAttribute("siteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model) throws Exception { CmmnDetailCode cmmnDetailCode = new CmmnDetailCode();//소속 cmmnDetailCode.setClCode("CMS"); //모든 부서 이름조회 List teamList = cmmnDetailCodeManageService.selectCmmnCodeAllList(cmmnDetailCode); model.addAttribute("teamList", teamList); //사용량 현황 List basicUseSumCnt = new ArrayList(); // 모든부서에 useYn : Y,N / useSumCnt : 0 for(CmmnDetailCode cmmnDetailCode_Y: teamList) { SiteIpManagerVO siteIpManagerVO_Y = new SiteIpManagerVO(); siteIpManagerVO_Y.setTeam(cmmnDetailCode_Y.getCodeId()); siteIpManagerVO_Y.setDepartment(cmmnDetailCode_Y.getCode()); siteIpManagerVO_Y.setUseYn("Y"); siteIpManagerVO_Y.setUseSumCnt(0); basicUseSumCnt.add(siteIpManagerVO_Y); } for(CmmnDetailCode cmmnDetailCode_N: teamList) { SiteIpManagerVO siteIpManagerVO_N = new SiteIpManagerVO(); siteIpManagerVO_N.setTeam(cmmnDetailCode_N.getCodeId()); siteIpManagerVO_N.setDepartment(cmmnDetailCode_N.getCode()); siteIpManagerVO_N.setUseYn("N"); siteIpManagerVO_N.setUseSumCnt(0); basicUseSumCnt.add(siteIpManagerVO_N); } List useSumCnt = new ArrayList(); useSumCnt = egovSiteIpService.selectSiteUseSumCnt(siteIpManagerVO); for(SiteIpManagerVO basicUseSumCntVO: basicUseSumCnt){ for(SiteIpManagerVO useSumCntVO : useSumCnt ) { if(basicUseSumCntVO.getTeam().equals(useSumCntVO.getTeam()) && basicUseSumCntVO.getDepartment().equals(useSumCntVO.getDepartment()) && basicUseSumCntVO.getUseYn().equals(useSumCntVO.getUseYn()) ){ basicUseSumCntVO.setUseSumCnt( basicUseSumCntVO.getUseSumCnt() + useSumCntVO.getUseSumCnt()); } } } model.addAttribute("basicUseSumCnt", basicUseSumCnt); siteIpManagerVO.setTotalUseSumFlag("Y");//총카운트 다시조회(Y,N만) List totalUseSumCnt = new ArrayList(); useSumCnt = egovSiteIpService.selectSiteUseSumCnt(siteIpManagerVO); model.addAttribute("useSumCnt", useSumCnt); return "/sym/site/siteIpInfo"; } @RequestMapping("/sym/site/siteIpModifyView.do") public String siteIpModifyView( @RequestParam Map commandMap , HttpSession session , @ModelAttribute("SiteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); //팝업창시작일자(시) model.addAttribute("ntceBgndeHH", getTimeHH()); //팝업창시작일자(분) model.addAttribute("ntceBgndeMM", getTimeMM()); //팝업창종료일자(시) model.addAttribute("ntceEnddeHH", getTimeHH()); //팝업창정료일자(분) model.addAttribute("ntceEnddeMM", getTimeMM()); if("Modify".equals((String)commandMap.get("pageType"))){ //수정 siteIpManagerVO = egovSiteIpService.selectSiteIpVO(siteIpManagerVO); String sNtceBgnde = siteIpManagerVO.getNtceBgnde(); String sNtceEndde = siteIpManagerVO.getNtceEndde(); //읽음처리 Insert ReadVO readVO = new ReadVO(); readVO.setReadId(siteIpManagerVO.getComId()); readVO.setLoginId(loginVO.getId()); readVO.setMenuNo("4200000"); ReadVO readYn = readService.selectReadYn(readVO); if(readYn == null) { readService.insertReadYn(readVO); } if(null != sNtceBgnde && !sNtceBgnde.equals("")) { siteIpManagerVO.setNtceBgndeHH(sNtceBgnde.substring(8, 10)); siteIpManagerVO.setNtceBgndeMM(sNtceBgnde.substring(10, 12)); } if(null != sNtceEndde && !sNtceEndde.equals("") ) { siteIpManagerVO.setNtceEnddeHH(sNtceEndde.substring(8, 10)); siteIpManagerVO.setNtceEnddeMM(sNtceEndde.substring(10, 12)); } siteIpManagerVO.setTeam_dept(siteIpManagerVO.getTeam()+"_"+siteIpManagerVO.getDepartment()); model.addAttribute("siteIpManagerVO", siteIpManagerVO); } model.addAttribute("siteIpManagerVO", siteIpManagerVO); CmmnCodeVO searchVO = new CmmnCodeVO(); searchVO.setFirstIndex(0); searchVO.setRecordCountPerPage(100); //부서100개 까지 searchVO.setSearchCondition("clCode"); searchVO.setSearchKeyword("CMS"); model.addAttribute("teamList", cmmnCodeManageService.selectCmmnCodeList(searchVO)); CmmnDetailCode cmmnDetailCode = new CmmnDetailCode();//하위 부서 리스트 모두 가져옴. cmmnDetailCode.setClCode("CMS"); List allTeamList = cmmnDetailCodeManageService.selectCmmnCodeAllList(cmmnDetailCode); model.addAttribute("allTeamList", allTeamList); ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN009"); //직위 model.addAttribute("gradeList", cmmUseService.selectCmmCodeDetail(vo)); model.addAttribute("pageType", (String)commandMap.get("pageType")); return "/sym/site/siteIpModifyView"; } /** * 사이트 정보 수정한다. * @param loginPolicy - 로그인정책 model * @return String - 리턴 Url */ @RequestMapping("/sym/site/insertSiteIp.do") public String insertSiteIp(@ModelAttribute("siteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model, RedirectAttributes redirectAttributes ) throws Exception { try{ egovSiteIpService.insertSiteIp(siteIpManagerVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.insert")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteIpList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 사이트 정보 수정한다. * @param loginPolicy - 로그인정책 model * @return String - 리턴 Url */ @RequestMapping("/sym/site/updateSiteIp.do") public String updateSiteId(@ModelAttribute("SiteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model, RedirectAttributes redirectAttributes ) throws Exception { try{ LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); egovSiteIpService.updateSiteIp(siteIpManagerVO) ; redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.update")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteIpList.do"); return redirectUrlMaker.getRedirectUrl(); } @RequestMapping("/sym/site/deleteSiteIp.do") public String deleteSiteIp( @RequestParam("del") String[] del, RedirectAttributes redirectAttributes , Model model) throws Exception { for(String id:del) { try{ egovSiteIpService.deleteSiteIp(id); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", "삭제에 실패하였습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteManagerList"); return redirectUrlMaker.getRedirectUrl(); } } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectSiteIpList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 시간을 LIST를 반환한다. * @return List * @throws */ @SuppressWarnings("unused") private List getTimeHH() { ArrayList listHH = new ArrayList(); HashMap hmHHMM; for (int i = 0; i <= 24; i++) { String sHH = ""; String strI = String.valueOf(i); if (i < 10) { sHH = "0" + strI; } else { sHH = strI; } ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); codeVO.setCode(sHH); codeVO.setCodeNm(sHH); listHH.add(codeVO); } return listHH; } /** * 분을 LIST를 반환한다. * @return List * @throws */ @SuppressWarnings("unused") private List getTimeMM() { ArrayList listMM = new ArrayList(); HashMap hmHHMM; for (int i = 0; i <= 60; i++) { String sMM = ""; String strI = String.valueOf(i); if (i < 10) { sMM = "0" + strI; } else { sMM = strI; } ComDefaultCodeVO codeVO = new ComDefaultCodeVO(); codeVO.setCode(sMM); codeVO.setCodeNm(sMM); listMM.add(codeVO); } return listMM; } /** * 0을 붙여 반환 * @return String * @throws */ public String dateTypeIntForString(int iInput) { String sOutput = ""; if (Integer.toString(iInput).length() == 1) { sOutput = "0" + Integer.toString(iInput); } else { sOutput = Integer.toString(iInput); } return sOutput; } @RequestMapping(value = "/sym/site/siteIpChgView.do") public String siteIpChgView(@ModelAttribute("siteIpManagerVO") SiteIpManagerVO siteIpManagerVO, ModelMap model) throws Exception { /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteIpManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteIpManagerVO.getPageUnit()); paginationInfo.setPageSize(siteIpManagerVO.getPageSize()); siteIpManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteIpManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteIpManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); siteIpManagerVO.setChgFlag("Y"); //수정정보만 조회 List siteIpList = new ArrayList(); siteIpList = egovSiteIpService.selectSiteIpList(siteIpManagerVO); model.addAttribute("siteIpList", siteIpList); int totCnt = egovSiteIpService.selectSiteIpListTotCnt(siteIpManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); CmmnCodeVO searchVO = new CmmnCodeVO(); searchVO.setFirstIndex(0); searchVO.setRecordCountPerPage(100); //부서100개 까지 searchVO.setSearchCondition("clCode"); searchVO.setSearchKeyword("CMS"); model.addAttribute("teamList", cmmnCodeManageService.selectCmmnCodeList(searchVO)); CmmnDetailCode cmmnDetailCode = new CmmnDetailCode();//하위 부서 리스트 모두 가져옴. cmmnDetailCode.setClCode("CMS"); List allTeamList = cmmnDetailCodeManageService.selectCmmnCodeAllList(cmmnDetailCode); model.addAttribute("allTeamList", allTeamList); ComDefaultCodeVO vo = new ComDefaultCodeVO(); vo.setCodeId("ITN009"); //직위 model.addAttribute("gradeList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/selectSiteIpChgList"; } //리스트 엑셀 다운로드 @RequestMapping(value="/sym/site/siteMngExcelDownload.do") public void siteMngExcelDownload(SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response , ModelMap model) throws Exception { siteManagerVO.setRecordCountPerPage(100000); siteManagerVO.setFirstIndex(0); LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); if(null != loginVO && !"super".equals(loginVO.getSiteId())){ siteManagerVO.setSiteId(loginVO.getSiteId()); } // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. SXSSFWorkbook wb = new SXSSFWorkbook(100); CellStyle style = wb.createCellStyle(); style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_THIN); Font font = wb.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold Cell cell = null; Row row = null; String fileName ="사이트아이디 리스트"; String sheetTitle = ""; try{ List siteManagerList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); { //화면 리스트 sheetTitle = "사이트아이디 리스트(화면)" ; //제목 Sheet sheet = wb.createSheet(sheetTitle); row = sheet.createRow(0); for(int i=0 ; i < siteMngExcelValue.length ; i++) { cell = row.createCell(i); cell.setCellStyle(style); cell.setCellValue(siteMngExcelValue[i][1]); } for(int i=0; i < siteManagerList.size(); i++){ row = sheet.createRow(i+1); for(int j=0 ; j < siteMngExcelValue.length ; j++) { cell = row.createCell(j); cell.setCellStyle(style); if(j==0) cell.setCellValue(i+1); //번호 if(j==1) cell.setCellValue(siteManagerList.get(i).getSiteId()); //사이트 아이디 if(j==2) cell.setCellValue(siteManagerList.get(i).getSiteNm()); //사이트 이름 if(j==3) cell.setCellValue(siteManagerList.get(i).getThemeTxt()); //테마 if(j==4) cell.setCellValue(siteManagerList.get(i).getThemeSmplUseTxt()); //샘플사용 if(j==5) cell.setCellValue(siteManagerList.get(i).getFrstRegisterId()); //등록자 if(j==6) cell.setCellValue(siteManagerList.get(i).getFrstRegistPnttm()); //등록일 if(j==7) cell.setCellValue(siteManagerList.get(i).getLastUpdtPnttm()); //수정일 } } } response.setHeader("Set-Cookie", "fileDownload=true; path=/"); SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); fileName = fileName+"("+mTime+")"; response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); wb.write(response.getOutputStream()); }catch(Exception e) { response.setHeader("Set-Cookie", "fileDownload=false; path=/"); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.setHeader("Content-Type","text/html; charset=utf-8"); OutputStream out = null; try { out = response.getOutputStream(); byte[] data = new String("fail..").getBytes(); out.write(data, 0, data.length); } catch(Exception ignore) { ignore.printStackTrace(); } finally { if(out != null) try { out.close(); } catch(Exception ignore) {} } }finally { // 디스크 적었던 임시파일을 제거합니다. wb.dispose(); try { wb.close(); } catch(Exception ignore) {} } } /** * 점검 중 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping(value="/sym/site/inspList.do") public String selectIinspList( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List inspList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } inspList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("inspList", inspList); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //테마사용 vo.setCodeId("UNI002"); model.addAttribute("themeList", cmmUseService.selectCmmCodeDetail(vo)); int totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/inspList"; } /** * 점검 중 페이지 업데이트. * @param mberManageVO 일반회원가입신청정보 * @return forward:/uat/uia/egovLoginUsr.do * @throws Exception */ @RequestMapping("/sym/site/inspUpdateAjax.do") public ModelAndView updateUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateInsp(siteManagerVO); return modelAndView; } /** * 웹 아이콘 관리 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/faviconList.do") public String selectFaviconList( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List faviconList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } faviconList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("faviconList", faviconList); int totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/faviconList"; } /* favicon 첨부파일등록/수정 view*/ @RequestMapping(value="/sym/site/faviconFileView.do") public String viewUpdateFaviconFile(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { SiteManagerVO faviconFileVO = new SiteManagerVO(); /*if("U".equals((String)commandMap.get("pageType"))){ //수정 //faviconFileVO = egovSiteManagerService.selectFaviconFileVO(siteManagerVO) ; faviconFileVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; if(faviconFileVO ==null){ redirectAttributes.addFlashAttribute("message", "수정하려는 첨부파일 목록이 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/fms/fmsFileList.do"); return redirectUrlMaker.getRedirectUrl(); } }else{//등록 faviconFileVO.setSiteId(siteManagerVO.getSiteId()); }*/ faviconFileVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; if(null != faviconFileVO.getFaviconFileId() && !"".equals( faviconFileVO.getFaviconFileId())) { String atchFileId = faviconFileVO.getFaviconFileId() ; FileVO fileVO = new FileVO(); fileVO.setAtchFileId(atchFileId); List fileList = fileService.selectFileInfs(fileVO); model.addAttribute("fileList", fileList); } model.addAttribute("faviconFileVO", faviconFileVO); return "sym/site/faviconFileView"; } /* 웹 아이콘 파일등록/수정 process */ @RequestMapping(value="/sym/site/faviconFileInsert.do") public String insertfaviconFile(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, final MultipartHttpServletRequest multiRequest, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { /*파일등록 */ List result = null; String uploadFolder = ""; String orignlFileNm = ""; String atchFileId = ""; final Map files = multiRequest.getFileMap(); if (!files.isEmpty()){ result = fileUtil.parseFileInf(files, "FAV_", 0, "", uploadFolder, ""); atchFileId = fileMngService.insertFileInfs(result); FileVO vo = null; Iterator iter = result.iterator(); while (iter.hasNext()) { vo = iter.next(); orignlFileNm = vo.getOrignlFileNm(); atchFileId = vo.getAtchFileId(); } if (vo == null) { } else { siteManagerVO.setFaviconFileId(atchFileId); siteManagerVO.setFaviconYn("Y"); egovSiteManagerService.updateFaviconFile(siteManagerVO); } } LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/faviconList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 웹아이콘 페이지 업데이트. */ @RequestMapping("/sym/site/faviconYnUpdateAjax.do") public ModelAndView faviconYnUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateFaviconYnAjax(siteManagerVO); return modelAndView; } /*웹 아이콘 삭제 */ @RequestMapping("/sym/site/faviconFileDelete.do") public String deleteFaviconFile(@RequestParam("del") String[] del, SiteManagerVO siteManagerVO, RedirectAttributes redirectAttributes , Model model) throws Exception { boolean delete = false; String whFile = ""; for(String id:del) { siteManagerVO.setFaviconFileId(id); SiteManagerVO faviconFileVO = egovSiteManagerService.selectFaviconFileVO(siteManagerVO) ; if(null !=faviconFileVO) { if(null !=faviconFileVO.getWhFile()){ //실제파일 삭제 File delFile = new File(whFile); delete = delFile.delete(); } FileVO fileVO = new FileVO(); //DB삭제 fileVO.setAtchFileId(faviconFileVO.getFaviconFileId()); fileVO.setFileSn(""); fileService.deleteFileInf(fileVO); } siteManagerVO.setFaviconFileId(""); siteManagerVO.setFaviconYn("N"); egovSiteManagerService.updateFaviconFile(siteManagerVO); //사이트 테이블 업데이트 } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/faviconList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 웹 타이틀 관리 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/tabTitleList.do") public String selectwebTitleList( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List tabTitleList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } tabTitleList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("tabTitleList", tabTitleList); int totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/tabTitleList"; } /* 웹 타이틀 등록/수정 view*/ @RequestMapping(value="/sym/site/tabTitleView.do") public String viewUpdateTabTitle(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { SiteManagerVO tabTitleVO = new SiteManagerVO(); if("U".equals((String)commandMap.get("pageType"))){ //수정 tabTitleVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; if(tabTitleVO ==null){ redirectAttributes.addFlashAttribute("message", "수정하려는 사이트 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/tabTitleList.do"); return redirectUrlMaker.getRedirectUrl(); } }else{//등록 tabTitleVO.setSiteId(siteManagerVO.getSiteId()); } model.addAttribute("tabTitleVO", tabTitleVO); return "sym/site/tabTitleView"; } /* 웹 타이틀등록/수정 process */ @RequestMapping(value="/sym/site/tabTitleInsert.do") public String insertTabTitle(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { egovSiteManagerService.updateTabTitle(siteManagerVO); LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/tabTitleList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 웹 타이틀 사용여부 업데이트. */ @RequestMapping("/sym/site/tabTitleYnUpdateAjax.do") public ModelAndView tabTitleYnUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateTabTitleYnAjax(siteManagerVO); return modelAndView; } /*웹 아이콘 삭제 */ @RequestMapping("/sym/site/tabTitleDelete.do") public String deleteTabTitle(SiteManagerVO siteManagerVO, RedirectAttributes redirectAttributes , Model model) throws Exception { siteManagerVO.setTabTitle(""); siteManagerVO.setTabTitleYn("N"); egovSiteManagerService.updateTabTitleYn(siteManagerVO); //사이트 테이블 업데이트 redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/tabTitleList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 개인정보 설정관리 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/infoProtect.do") public String selectInfoProtectList( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List infoProtect = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } infoProtect = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("infoProtect", infoProtect); if(infoProtect.size() > 0 ) { paginationInfo.setTotalRecordCount( Integer.parseInt( ((SiteManagerVO)infoProtect.get(0)).getsTotCnt() ) ); }else { paginationInfo.setTotalRecordCount(0) ; } model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/infoProtect"; } /** * 개인정보보호 조회시 패스워드 입력업데이트. */ @RequestMapping("/sym/site/infoProtectPassUpdateAjax.do") public ModelAndView updateInfoProtectPassAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateInfoProtectPassAjax(siteManagerVO); return modelAndView; } /** * 개인정보보호 조회시 패스워드 입력업데이트. */ @RequestMapping("/sym/site/infoProtectMarkUpdateAjax.do") public ModelAndView updateInfoProtectMarkAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateInfoProtectMark(siteManagerVO); return modelAndView; } //IP 리스트 엑셀 다운로드 @RequestMapping(value="/sym/site/ipListExcelDownload.do") public void ipListExcelDownload( SiteIpManagerVO siteIpManagerVO, HttpServletRequest request, HttpServletResponse response , ModelMap model) throws Exception { siteIpManagerVO.setRecordCountPerPage(100000); siteIpManagerVO.setFirstIndex(0); LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); if(null != loginVO && !"super".equals(loginVO.getSiteId())){ //리스트, 수정, 입력 siteIpManagerVO.setSiteId(loginVO.getSiteId()); } // 메모리에 100개의 행을 유지합니다. 행의 수가 넘으면 디스크에 적습니다. SXSSFWorkbook wb = new SXSSFWorkbook(100); CellStyle style = wb.createCellStyle(); style.setBorderBottom(CellStyle.BORDER_THIN); //테두리 두껍게 style.setBorderLeft(CellStyle.BORDER_THIN); style.setBorderRight(CellStyle.BORDER_THIN); style.setBorderTop(CellStyle.BORDER_THIN); Font font = wb.createFont(); font.setBoldweight(Font.BOLDWEIGHT_BOLD); //글씨 bold Cell cell = null; Row row = null; String fileName ="IP 리스트"; String sheetTitle = ""; try{ { //화면 리스트 sheetTitle = "IP 리스트(화면)" ; //제목 Sheet sheet = wb.createSheet(sheetTitle); row = sheet.createRow(0); for(int i=0 ; i < ipExcelValue.length ; i++) { cell = row.createCell(i); cell.setCellStyle(style); cell.setCellValue(ipExcelValue[i][1]); } siteIpManagerVO.setChgFlag("N"); //히스토리 제외 List siteIpList = egovSiteIpService.selectSiteIpList(siteIpManagerVO); for(int i=0; i < siteIpList.size(); i++){ row = sheet.createRow(i+1); for(int j=0 ; j < ipExcelValue.length ; j++) { cell = row.createCell(j); cell.setCellStyle(style); if(j==0) cell.setCellValue(i+1); //번호 if(j==1) cell.setCellValue( siteIpList.get(i).getSiteNm()); //사이트 if(j==2) cell.setCellValue( siteIpList.get(i).getComIp()); //컴퓨터IP if(j==3) cell.setCellValue( siteIpList.get(i).getTeamTxt()); //소속 if(j==4) cell.setCellValue( siteIpList.get(i).getDepartmentTxt()); //직위 if(j==5) cell.setCellValue( siteIpList.get(i).getComName()); //성명 if(j==6) cell.setCellValue( siteIpList.get(i).getNtceBgndeTxt()+"~"+siteIpList.get(i).getNtceEnddeTxt()); //기간 if(j==7) cell.setCellValue( siteIpList.get(i).getComDesc()); //위치 if(j==8) cell.setCellValue( siteIpList.get(i).getLanNum()); //랜선번호 if(j==9) cell.setCellValue( siteIpList.get(i).getFrstRegisterId()); //등록자 if(j==10) cell.setCellValue( siteIpList.get(i).getFrstRegistPnttm()); //등록일 if(j==11) cell.setCellValue( "Y".equals(siteIpList.get(i).getUseYn()) ? "사용" : "미사용" ); //사용여부 } } } response.setHeader("Set-Cookie", "fileDownload=true; path=/"); SimpleDateFormat mSimpleDateFormat = new SimpleDateFormat ( "yyyy_MM_dd_HH_mm_ss", Locale.KOREA ); Date currentTime = new Date (); String mTime = mSimpleDateFormat.format ( currentTime ); fileName = fileName+"("+mTime+")"; response.setHeader("Content-Disposition", String.format("attachment; filename=\""+new String((fileName).getBytes("KSC5601"),"8859_1")+".xlsx")); wb.write(response.getOutputStream()); }catch(Exception e) { response.setHeader("Set-Cookie", "fileDownload=false; path=/"); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); response.setHeader("Content-Type","text/html; charset=utf-8"); OutputStream out = null; try { out = response.getOutputStream(); byte[] data = new String("fail..").getBytes(); out.write(data, 0, data.length); } catch(Exception ignore) { ignore.printStackTrace(); } finally { if(out != null) try { out.close(); } catch(Exception ignore) {} } }finally { // 디스크 적었던 임시파일을 제거합니다. wb.dispose(); try { wb.close(); } catch(Exception ignore) {} } } //읽음 처리 (버튼 클릭) @RequestMapping("/sym/site/insertReadYn.do") public ModelAndView insertReadYn(@RequestParam("del") String[] del, @ModelAttribute("siteIpManagerVO") SiteIpManagerVO siteIpManagerVO, RedirectAttributes redirectAttributes , ReadVO readVO, Model model) throws Exception { LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); for(String id:del) { try{ readVO.setMenuNo("4200000"); readVO.setReadId(id); readVO.setLoginId(user.getId()); ReadVO readYn = readService.selectReadYn(readVO); if(readYn == null) { readService.insertReadYn(readVO); } modelAndView.addObject("result", "success"); }catch(Exception e){ modelAndView.addObject("result", "fail"); } } return modelAndView; } /** * 회원탈퇴설정관리 * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/WithdrawConfig.do") public String selectWithdrawConfig( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); List siteWithdrawList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } siteWithdrawList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("siteWithdrawList", siteWithdrawList); if(siteWithdrawList.size() > 0 ) { paginationInfo.setTotalRecordCount( Integer.parseInt( ((SiteManagerVO)siteWithdrawList.get(0)).getsTotCnt() ) ); }else { paginationInfo.setTotalRecordCount(0) ; } model.addAttribute("paginationInfo", paginationInfo); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //탈퇴코드 vo.setCodeId("ITN011"); model.addAttribute("withdrawList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/withdrawConfig"; } /** * 점검 중 페이지 업데이트. * @param mberManageVO 일반회원가입신청정보 * @return forward:/uat/uia/egovLoginUsr.do * @throws Exception */ @RequestMapping("/sym/site/withdrawUpdateAjax.do") public ModelAndView updateWithdrawAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateWithdrawCd(siteManagerVO); modelAndView.addObject("siteManagerVO", siteManagerVO); return modelAndView; } /** * 관리자 로그관리 * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/AdminLogMng.do") public String selectAdminLogMng( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List adminlogMngList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } adminlogMngList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("adminlogMngList", adminlogMngList); if(adminlogMngList.size() > 0 ) { paginationInfo.setTotalRecordCount( Integer.parseInt( ((SiteManagerVO)adminlogMngList.get(0)).getsTotCnt() ) ); }else { paginationInfo.setTotalRecordCount(0) ; } model.addAttribute("paginationInfo", paginationInfo); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //관리자로그기간설정 vo.setCodeId("ITN012"); model.addAttribute("adminlogKpCdList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/adminLogMng"; } /** * 관리자로그설정 업데이트. * @param mberManageVO 일반회원가입신청정보 * @return forward:/uat/uia/egovLoginUsr.do * @throws Exception */ @RequestMapping("/sym/site/adminLogKpCdUpdateAjax.do") public ModelAndView updateAdminLogKpCdAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateAdminLogKpCd(siteManagerVO); modelAndView.addObject("siteManagerVO", siteManagerVO); return modelAndView; } /** * 최근검색어 관리 * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/RecentSearchMng.do") public String RecentSearchMng( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List recentSearchList = new ArrayList(); recentSearchList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("recentSearchList", recentSearchList); if(recentSearchList.size() > 0 ) { paginationInfo.setTotalRecordCount( Integer.parseInt( ((SiteManagerVO)recentSearchList.get(0)).getsTotCnt() ) ); }else { paginationInfo.setTotalRecordCount(0) ; } model.addAttribute("paginationInfo", paginationInfo); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //관리자로그기간설정 vo.setCodeId("ITN013"); model.addAttribute("recentSearchCdList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/recentSearchMng"; } /** * 최근검색어 설정 업데이트. * @param mberManageVO 일반회원가입신청정보 * @return forward:/uat/uia/egovLoginUsr.do * @throws Exception */ @RequestMapping("/sym/site/recentSearchCdUpdateAjax.do") public ModelAndView recentSearchCdUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateRecentSearchCd(siteManagerVO); modelAndView.addObject("siteManagerVO", siteManagerVO); return modelAndView; } /** * 약관관리 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/termsList.do") public String selectTermsList( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List termsList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } termsList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("termsList", termsList); int totCnt = egovSiteManagerService.selectSiteManagerListTotCnt(siteManagerVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/termsList"; } /** * 약관관리 사용여부 업데이트. */ @RequestMapping("/sym/site/termsYnUpdateAjax.do") public ModelAndView termsYnUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //egovSiteManagerService.updateTabTitleYnAjax(siteManagerVO); egovSiteManagerService.updateTermsYnAjax(siteManagerVO); return modelAndView; } /* 약관 등록/수정 view*/ @RequestMapping(value="/sym/site/termsView.do") public String viewUpdateTerms(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { SiteManagerVO termsVO = new SiteManagerVO(); if("U".equals((String)commandMap.get("pageType"))){ //수정 termsVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO) ; if(termsVO ==null){ redirectAttributes.addFlashAttribute("message", "수정하려는 사이트 정보가 없습니다."); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsList.do"); return redirectUrlMaker.getRedirectUrl(); } }else{//등록 termsVO.setSiteId(siteManagerVO.getSiteId()); } model.addAttribute("termsVO", termsVO); return "sym/site/termsView"; } /* 약관관리 등록/수정 process */ @RequestMapping(value="/sym/site/termsInsert.do") public String insertTerms(@RequestParam Map commandMap, @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { //egovSiteManagerService.updateTabTitle(siteManagerVO); egovSiteManagerService.updateTerms(siteManagerVO); LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsList.do"); return redirectUrlMaker.getRedirectUrl(); } @RequestMapping(value = "/{siteId}/web/user/bidding.do") public String bidding(@PathVariable("siteId") String siteId, HttpServletRequest request, HttpServletResponse response, BiddingVO biddingVO, ModelMap model) throws Exception { return "web/site/itn/login/bidding"; } @RequestMapping(value = "/{siteId}/web/user/biddSetButtonAjax.do") public ModelAndView biddSetButtonAjax(@PathVariable("siteId") String siteId, HttpServletRequest request, HttpServletResponse response, BiddingVO biddingVO, ModelMap model) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //int biddNum = 50000000 ; //5천만 int biddNum = Integer.parseInt(biddingVO.getBiddNum().replaceAll("," , "")) ; //5천만 int biddNumPer = (int)(biddNum * 0.03) ; int biddNumUp = biddNum + biddNumPer ; int biddNumDown = biddNum - biddNumPer ; Random random = new Random(); //biddNum = random.nextInt((max - min) + 1) + min ; List biddList = new ArrayList(); for(int i=0 ; i < 15; i++ ) { BiddingVO tempBidd = new BiddingVO(); biddNum = random.nextInt((biddNumUp - biddNumDown) + 1) + biddNumDown ; tempBidd.setBiddNum(biddNum+""); biddList.add(tempBidd); } modelAndView.addObject("biddList", biddList); return modelAndView; } @RequestMapping(value = "/{siteId}/web/user/biddSetResultAjax.do") public ModelAndView biddSetResultAjax(@PathVariable("siteId") String siteId, HttpServletRequest request, HttpServletResponse response, @ModelAttribute("biddingVO") BiddingVO biddingVO, ModelMap model) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); int biddNum = Integer.parseInt(biddingVO.getBiddNum().replaceAll("," , "")) ; //기초금액 List biddList = new ArrayList(); //예비가격전체 int biddListCnt = biddingVO.getBiddCheckList().split(",").length; for(int i=0 ; i < biddListCnt; i++ ) { BiddingVO tempBidd = new BiddingVO(); tempBidd.setBiddNum(biddingVO.getBiddCheckList().split(",")[i]); biddList.add(tempBidd); } int comNum = Integer.parseInt(biddingVO.getComNum()); //경쟁업체수 //int biddPer = Integer.parseInt(biddingVO.getBiddPer()); //낙찰하한율 double biddPer = Double.parseDouble(biddingVO.getBiddPer()); //낙찰하한율 List comAllCompany = new ArrayList(); //모든 업체(경쟁업체 포함) for(BiddingVO tempBiddingVO : biddList) { //내가 선택한것 추가하기 if(tempBiddingVO.getBiddNum().equals(biddingVO.getBiddCheckBox().split(",")[0])) { tempBiddingVO.setBiddChoice(tempBiddingVO.getBiddChoice()+1) ; } if(tempBiddingVO.getBiddNum().equals(biddingVO.getBiddCheckBox().split(",")[1])) { tempBiddingVO.setBiddChoice(tempBiddingVO.getBiddChoice()+1) ; } } biddingVO.setComName("업체:ITN"); comAllCompany.add(biddingVO) ; //내것 추가 for(int i=0; i < comNum; i++ ) { //경쟁업체수가 예비가격 두개 선택함. Collections.shuffle(biddList); //랜덤셔플 첫번째 두번째 가져옴. BiddingVO tempComNumCompany = new BiddingVO(); tempComNumCompany.setComName("업체:경쟁업체_"+(i+1)); ((BiddingVO)biddList.get(0)).setBiddChoice(((BiddingVO)biddList.get(0)).getBiddChoice()+1); //선택 +1 ((BiddingVO)biddList.get(1)).setBiddChoice(((BiddingVO)biddList.get(1)).getBiddChoice()+1); //선택 +2 tempComNumCompany.setBiddCheckBox(((BiddingVO)biddList.get(0)).getBiddNum()+","+((BiddingVO)biddList.get(1)).getBiddNum()); comAllCompany.add(tempComNumCompany); } Collections.sort(biddList, new ListComparator()); //많이 선택한 순서대로 정렬 int sum = 0; int divideNum = 4 ; //4번째와 5이후 건수가 같으면 이후것도 가져옴. String fourChoiceNum = ((BiddingVO)biddList.get(3)).getBiddChoice()+""; for(int i=0 ; i < biddList.size() ;i++) { //5번째 부터 15개까지 if(i < 4) { //선택되었다는 flag 넣어줌. ((BiddingVO)biddList.get(i)).setChoiced("Y"); }else { if(fourChoiceNum.equals(((BiddingVO)biddList.get(i)).getBiddChoice()+"")) { ((BiddingVO)biddList.get(i)).setChoiced("Y"); divideNum++; } } } for(int i=0 ; i < divideNum ;i++ ) { sum+= Integer.parseInt(biddList.get(i).getBiddNum()); } int avg = sum/divideNum; long lgAvg= avg ; modelAndView.addObject("avg", avg); //4개 평균가 modelAndView.addObject("divideNum", divideNum); //선택된 결과 갯수 //modelAndView.addObject("lgAvg", (lgAvg * Integer.parseInt(biddingVO.getBiddPer())) /100); //4개 평균 하한가 //modelAndView.addObject("lgAvg", (lgAvg * Double.parseDouble(biddingVO.getBiddPer())) /100 ); //4개 평균 하한가 modelAndView.addObject("lgAvg", Math.round( (lgAvg * Double.parseDouble(biddingVO.getBiddPer())) /100 )); //4개 평균 하한가 modelAndView.addObject("biddList", biddList); modelAndView.addObject("comAllCompany", comAllCompany); return modelAndView; } //로그인 세션 연장 @RequestMapping("/sym/site/sessionExpendAjax.do") public ModelAndView sessionExpendAjax(SiteManagerVO siteManagerVO, HttpSession session ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); return modelAndView; } /** * 세션타임관리 * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/SessionTimeMng.do") public String selectSessionTimeMng( @RequestParam Map commandMap , @ModelAttribute("siteManagerVO") SiteManagerVO siteManagerVO , ModelMap model) throws Exception { if(siteManagerVO.getPageUnit() != 10) { siteManagerVO.setPageUnit(siteManagerVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(siteManagerVO.getPageIndex()); paginationInfo.setRecordCountPerPage(siteManagerVO.getPageUnit()); paginationInfo.setPageSize(siteManagerVO.getPageSize()); siteManagerVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); siteManagerVO.setLastIndex(paginationInfo.getLastRecordIndex()); siteManagerVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List sessionTimeList = new ArrayList(); if("".equals(siteManagerVO.getSearchSortCnd())){ //최초조회시 최신것 조회List siteManagerVO.setSearchSortCnd("frstRegistPnttm"); siteManagerVO.setSearchSortOrd("desc"); } sessionTimeList = egovSiteManagerService.selectSiteManagerList(siteManagerVO); model.addAttribute("sessionTimeList", sessionTimeList); if(sessionTimeList.size() > 0 ) { paginationInfo.setTotalRecordCount( Integer.parseInt( ((SiteManagerVO)sessionTimeList.get(0)).getsTotCnt() ) ); }else { paginationInfo.setTotalRecordCount(0) ; } model.addAttribute("paginationInfo", paginationInfo); ComDefaultCodeVO vo = new ComDefaultCodeVO(); //관리자로그기간설정 vo.setCodeId("ITN014"); model.addAttribute("sessionTimeCdList", cmmUseService.selectCmmCodeDetail(vo)); return "/sym/site/sessionTimeMng"; } /** * 세션타임 설정 업데이트. * @param mberManageVO 일반회원가입신청정보 * @return forward:/uat/uia/egovLoginUsr.do * @throws Exception */ @RequestMapping("/sym/site/sessionTimeUpdateAjax.do") public ModelAndView updateSessionTimeUpdateAjax(SiteManagerVO siteManagerVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateSessionTimeCd(siteManagerVO); modelAndView.addObject("siteManagerVO", siteManagerVO); return modelAndView; } /** * 문자온 약관관리 목록을 조회한다. * @param loginPolicyVO - 로그인정책 VO * @return String - 리턴 Url */ //이용약관 메뉴 시작 - 기본 terms뒤 mng추가 @RequestMapping("/sym/site/termsMngList.do") public String selectTermsMngList( @RequestParam Map commandMap , @ModelAttribute("searchVO") TermsVO termsVO , ModelMap model , HttpServletRequest request) throws Exception { Map flashMap =RequestContextUtils.getInputFlashMap(request); if(flashMap!=null && flashMap.get("searchVO") != null) { termsVO = (TermsVO)flashMap.get("searchVO"); model.addAttribute("searchVO", termsVO); } if(termsVO.getPageUnit() != 10) { termsVO.setPageUnit(termsVO.getPageUnit()); } //사용메뉴 조회 코드 조회 ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); comDefaultCodeVO.setCodeId("ITN039"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(termsVO.getPageIndex()); paginationInfo.setRecordCountPerPage(termsVO.getPageUnit()); paginationInfo.setPageSize(termsVO.getPageSize()); termsVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); termsVO.setLastIndex(paginationInfo.getLastRecordIndex()); termsVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); List termsList = new ArrayList(); if("".equals(termsVO.getSearchSortCnd())){ //최초조회시 최신것 조회List termsVO.setSearchSortCnd("termsId"); termsVO.setSearchSortOrd("desc"); } termsList = egovSiteManagerService.selectTermsMngList(termsVO); model.addAttribute("termsList", termsList); int totCnt = egovSiteManagerService.selectTermsMngListTotCnt(termsVO); paginationInfo.setTotalRecordCount(totCnt); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/termsMngList"; } /** * 문자온 약관관리 필수여부 업데이트. */ @RequestMapping("/sym/site/termsNecYnUpdateAjax.do") public ModelAndView termsNecYnUpdateAjax(TermsVO termsVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //egovSiteManagerService.updateTabTitleYnAjax(siteManagerVO); egovSiteManagerService.updateTermsNecYnAjax(termsVO); return modelAndView; } /** * 문자온 약관관리 사용여부 업데이트. */ @RequestMapping("/sym/site/termsUseYnUpdateAjax.do") public ModelAndView termsUseYnUpdateAjax(TermsVO termsVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); //egovSiteManagerService.updateTabTitleYnAjax(siteManagerVO); egovSiteManagerService.updateTermsUseYnAjax(termsVO); return modelAndView; } /* 문자온 약관 등록/수정 view*/ @RequestMapping(value="/sym/site/termsMngView.do") public String viewUpdateTermsMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { TermsVO termsDetail= new TermsVO(); if("U".equals((String)commandMap.get("pageType"))){ //수정 termsDetail = egovSiteManagerService.selectTermsVO(termsVO) ; model.addAttribute("termsVO", termsDetail); } model.addAttribute("searchVO", termsVO); //사용메뉴 조회 코드 조회 ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); comDefaultCodeVO.setCodeId("ITN039"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); return "sym/site/termsView"; } /* 문자온 약관관리 등록 */ @RequestMapping(value="/sym/site/termsMngInsert.do") public String insertTermsMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); termsVO.setFrstRegisterId(loginVO.getId()); termsVO.setTermsId(idgenTermsService.getNextStringId()); egovSiteManagerService.insertTermsMng(termsVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /* 문자온 약관관리 수정 */ @RequestMapping(value="/sym/site/termsMngUpdate.do") public String updateTermsMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); termsVO.setLasUpdusrId(loginVO.getId()); egovSiteManagerService.updateTermsMng(termsVO); redirectAttributes.addFlashAttribute("searchVO", termsVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /* 문자온 약관관리 삭제 */ @RequestMapping(value="/sym/site/termsMngDelete.do") public String deleteTermsMng(TermsVO termsVO, String[] checkDel, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); // ProhibitVO tempProhibitVO = new ProhibitVO(); try{ for(String id: checkDel) { termsVO.setTermsId(id); egovSiteManagerService.deleteTermsMng(termsVO); } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 사용자 공통 문자 단가 화면 * * @param joinSettingVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/selectBaseUnitPrice.do") public String selectJoinSetting(JoinSettingVO joinSettingVO, ModelMap model) throws Exception { joinSettingVO = egovSiteManagerService.selectJoinSetting(); model.addAttribute("joinSettingVO", joinSettingVO); return "/sym/site/baseUnitPrice"; } /** * 사용자 공통 문자 단가 수정 * * @param joinSettingVO * @param redirectAttributes * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/updateBaseUnitPrice.do") public String updateBaseUnitPrice(@ModelAttribute("joinSettingVO") JoinSettingVO joinSettingVO ,RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); joinSettingVO.setLasUpdusrId(loginVO.getId()); egovSiteManagerService.updateJoinSetting(joinSettingVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectBaseUnitPrice.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 회원가입 본인인증 관리 화면 * * @param joinSettingVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/selectJoinCertTypeDetail.do") public String selectJoinCertTypeDetail(JoinSettingVO joinSettingVO, ModelMap model) throws Exception { joinSettingVO = egovSiteManagerService.selectJoinCertTypeDetail(); model.addAttribute("joinSettingVO", joinSettingVO); return "/sym/site/joinCertDetail"; } /** * 회원가입 본인인증 관리 수정 * * @param joinSettingVO * @param redirectAttributes * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/updateJoinCertType.do") public String updateJoinCertType(@ModelAttribute("joinSettingVO") JoinSettingVO joinSettingVO ,RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); joinSettingVO.setLasUpdusrId(loginVO.getId()); egovSiteManagerService.updateJoinCertType(joinSettingVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectJoinCertTypeDetail.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 메타태그 등록 화면 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/metaTagInsertView.do") public String insertMetaTagView(@ModelAttribute("metaTagVO") MetaTagVO metaTagVO,ModelMap model) throws Exception{ return "/sym/site/metaTagInsertView"; } /** * 메타태그 수정 화면 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/metaTagModifyView.do") public String metaTagModifyView(@ModelAttribute("metaTagVO") MetaTagVO metaTagVO,ModelMap model) throws Exception{ metaTagVO = egovSiteManagerService.selectMetaTagDetail(metaTagVO); model.addAttribute("metaTagVO", metaTagVO); return "/sym/site/metaTagModifyView"; } /** * 메타태그 등록 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/insertMetaTag.do") public String insertMetaTag(@ModelAttribute("metaTagVO") MetaTagVO metaTagVO) throws Exception{ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); metaTagVO.setFrstRegisterId(loginVO.getId()); egovSiteManagerService.insertMetaTag(metaTagVO); return "redirect:/sym/site/selectMetaTagList.do"; } /** * 메타태그 목록 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/selectMetaTagList.do") public String selectMetaTagList(@ModelAttribute("searchVO") MetaTagVO metaTagVO, ModelMap model) throws Exception{ /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(metaTagVO.getPageIndex()); paginationInfo.setRecordCountPerPage(metaTagVO.getPageUnit()); paginationInfo.setPageSize(metaTagVO.getPageSize()); metaTagVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); metaTagVO.setLastIndex(paginationInfo.getLastRecordIndex()); metaTagVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(metaTagVO.getSearchSortCnd())){ //최초조회시 최신것 조회List metaTagVO.setSearchSortCnd("frstRegistPnttm"); metaTagVO.setSearchSortOrd("desc"); } List metaTagList = egovSiteManagerService.selectMetaTagList(metaTagVO); model.addAttribute("metaTagList", metaTagList); paginationInfo.setTotalRecordCount( metaTagList.size()> 0 ? metaTagList.get(0).getTotCnt() : 0); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/metaTagList"; } /** * 메타태그 일괄삭제 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping(value="/sym/site/deleteMetaTags.do") public String deleteMetaTags(MetaTagVO metaTagVO, String[] checkDel, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); try{ for(String id: checkDel) { metaTagVO.setMetaTagNo(id); egovSiteManagerService.deleteMetaTag(metaTagVO); } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectMetaTagList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 메타태그 삭제 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping(value="/sym/site/deleteMetaTag.do") public String deleteMetaTag(MetaTagVO metaTagVO, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); egovSiteManagerService.deleteMetaTag(metaTagVO); return "redirect:/sym/site/selectMetaTagList.do"; } /** * 메타태그 수정 * * @param metaTagVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/updateMetaTag.do") public String updateMetaTag(@ModelAttribute("metaTagVO") MetaTagVO metaTagVO) throws Exception{ LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); metaTagVO.setLastUpdusrId(loginVO.getId()); egovSiteManagerService.updateMetaTag(metaTagVO); return "redirect:/sym/site/selectMetaTagList.do"; } /** * 관리자 알림 여부 * * @param joinSettingVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/selectAdminNotiDetail.do") public String selectAdminNotiDetail(JoinSettingVO joinSettingVO, ModelMap model) throws Exception { joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); model.addAttribute("joinSettingVO", joinSettingVO); return "/sym/site/adminNotiDetail"; } /** * 관리자 알림 여부 수정 * * @param joinSettingVO * @param redirectAttributes * @param model * @return * @throws Exception */ @RequestMapping("/sym/site/updateAdminNoti.do") public String updateAdminNoti(@ModelAttribute("joinSettingVO") JoinSettingVO joinSettingVO ,RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); joinSettingVO.setLasUpdusrId(loginVO.getId()); egovSiteManagerService.updateAdminNoti(joinSettingVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/selectAdminNotiDetail.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 문자온 약관관리 목록을 조회한다. 히스토리 기능 추가(마스터) * @param termsVO - 약관VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/termsMastMngList.do") public String selectTermsMastMngList( @RequestParam Map commandMap , @ModelAttribute("searchVO") TermsVO termsVO , ModelMap model , HttpServletRequest request) throws Exception { Map flashMap =RequestContextUtils.getInputFlashMap(request); if(flashMap!=null && flashMap.get("searchVO") != null) { termsVO = (TermsVO)flashMap.get("searchVO"); model.addAttribute("searchVO", termsVO); } if(termsVO.getPageUnit() != 10) { termsVO.setPageUnit(termsVO.getPageUnit()); } //사용메뉴 조회 코드 조회 ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); comDefaultCodeVO.setCodeId("ITN039"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(termsVO.getPageIndex()); paginationInfo.setRecordCountPerPage(termsVO.getPageUnit()); paginationInfo.setPageSize(termsVO.getPageSize()); termsVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); termsVO.setLastIndex(paginationInfo.getLastRecordIndex()); termsVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(termsVO.getSearchSortCnd())){ //최초조회시 최신것 조회List termsVO.setSearchSortCnd("frstRegistPnttm"); termsVO.setSearchSortOrd("desc"); } List termsMastList = egovSiteManagerService.selectTermsMastMngList(termsVO); model.addAttribute("termsMastList", termsMastList); paginationInfo.setTotalRecordCount( termsMastList.size() > 0 ? termsMastList.get(0).getTotCnt() : 0 ); model.addAttribute("paginationInfo", paginationInfo); return "/sym/site/termsMastMngList"; } /** * 문자온 약관관리 목록을 조회한다. 히스토리 기능 추가(서브) * @param termsVO - 약관VO * @return String - 리턴 Url */ @RequestMapping("/sym/site/termsSubMngList.do") public String selectTermsSubMngList( @RequestParam Map commandMap , @ModelAttribute("searchVO") TermsVO termsVO , ModelMap model , HttpServletRequest request) throws Exception { Map flashMap =RequestContextUtils.getInputFlashMap(request); //사용메뉴 조회 코드 조회 ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO(); comDefaultCodeVO.setCodeId("ITN039"); List codeResult = cmmUseService.selectCmmCodeDetail(comDefaultCodeVO); model.addAttribute("codeResult", codeResult); if(flashMap!=null && flashMap.get("searchVO") != null) { termsVO = (TermsVO)flashMap.get("searchVO"); model.addAttribute("searchVO", termsVO); } if(termsVO.getPageUnit() != 10) { termsVO.setPageUnit(termsVO.getPageUnit()); } /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(termsVO.getPageIndex()); paginationInfo.setRecordCountPerPage(termsVO.getPageUnit()); paginationInfo.setPageSize(termsVO.getPageSize()); termsVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); termsVO.setLastIndex(paginationInfo.getLastRecordIndex()); termsVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(termsVO.getSearchSortCnd())){ //최초조회시 최신것 조회List termsVO.setSearchSortCnd("sort"); termsVO.setSearchSortOrd("asc"); } List termsSubList = egovSiteManagerService.selectTermsSubMngList(termsVO); model.addAttribute("termsSubList", termsSubList); paginationInfo.setTotalRecordCount( termsSubList.size() > 0 ? termsSubList.get(0).getTotCnt() : 0 ); model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("termsMastVO", egovSiteManagerService.selectTermsMastVO(termsVO)); return "/sym/site/termsSubMngList"; } /* 약관관리master 등록/ 기존 sub도 등록 */ @RequestMapping(value="/sym/site/insertTermsMastMng.do") public String insertTermsMast(TermsVO termsVO, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); termsVO.setFrstRegisterId(loginVO.getId()); //가장 최근 약관 조회 termsVO.setTermsMastLastNo(egovSiteManagerService.selectTermsLastMastNo(termsVO.getTermsDivCode())); //마스터, 서브 약관 등록 termsVO.setUseYn("N"); termsVO.setEmailInfoYn("N"); egovSiteManagerService.insertTermsMastMng(termsVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); redirectAttributes.addAttribute("termsMastNo", termsVO.getTermsMastNo()); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsSubMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /* 문자온 약관 sub 등록/수정 view*/ @RequestMapping(value="/sym/site/termsSubMngView.do") public String viewUpdateTermsSubMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model) throws Exception { if("U".equals((String)commandMap.get("pageType"))){ //수정 TermsVO termsSubDetail = egovSiteManagerService.selectTermsSubVO(termsVO) ; model.addAttribute("termsSubVO", termsSubDetail); } model.addAttribute("searchVO", termsVO); return "sym/site/termsSubView"; } /* 문자온 약관관리 sub 등록 */ @RequestMapping(value="/sym/site/termsSubMngInsert.do") public String insertTermsSubMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); termsVO.setFrstRegisterId(loginVO.getId()); termsVO.setLastUpdusrId(loginVO.getId()); egovSiteManagerService.insertTermsSubMng(termsVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert")); redirectAttributes.addAttribute("termsMastNo", termsVO.getTermsMastNo()); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsSubMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /* 문자온 약관 마스터 삭제, 서브도 삭제 */ @RequestMapping(value="/sym/site/termsMastMngDelete.do") public String deleteTermsMastMng(TermsVO termsVO, String[] checkDel, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); try{ for(String id: checkDel) { termsVO.setTermsMastNo(id); egovSiteManagerService.deleteTermsMastMng(termsVO); } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); } RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsMastMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /* 문자온 약관 서브 삭제*/ @RequestMapping(value="/sym/site/termsSubMngDelete.do") public String deleteTermsSubMng(TermsVO termsVO, String[] checkDel, ModelMap model, RedirectAttributes redirectAttributes) throws Exception { LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); try{ for(String id: checkDel) { termsVO.setTermsSubNo(id); egovSiteManagerService.deleteTermsSubMng(termsVO); } redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete")); }catch(Exception e){ redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete")); } redirectAttributes.addAttribute("termsMastNo", termsVO.getTermsMastNo()); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsSubMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /** * 문자온 약관관리 서브 사용여부 업데이트. */ @RequestMapping("/sym/site/termsSubUseYnUpdateAjax.do") public ModelAndView termsSubUseYnUpdateAjax(TermsVO termsVO ) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); egovSiteManagerService.updateTermsSubUseYnAjax(termsVO); return modelAndView; } /* 문자온 약관관리 서브 수정 */ @RequestMapping(value="/sym/site/termsSubMngUpdate.do") public String updateTermsSubMng(@RequestParam Map commandMap, @ModelAttribute("termsVO") TermsVO termsVO, RedirectAttributes redirectAttributes , Model model) throws Exception { LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); termsVO.setLasUpdusrId(loginVO.getId()); egovSiteManagerService.updateTermsSubMng(termsVO); redirectAttributes.addFlashAttribute("searchVO", termsVO); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/sym/site/termsSubMngList.do"); return redirectUrlMaker.getRedirectUrl(); } /*문자온 약관 시행 팝업*/ @RequestMapping("/sym/site/termsMastEffectPopup.do") public String termsMastEffectPopup(TermsVO termsVO, Model model) throws Exception { // mberCmpHstVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); // model.addAttribute("mberCmpHstVO", mberCmpHstVO); model.addAttribute("termsMastVO", egovSiteManagerService.selectTermsMastVO(termsVO)); return "sym/site/termsEffectPopup"; } @RequestMapping("/sym/site/termsMastEffectUpdateAjax.do") public ModelAndView termsMastEffectUpdateAjax(TermsVO termsVO, ModelMap model) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String sttusMsg = ""; String msg = "저장되었습니다."; try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } termsVO.setLasUpdusrId(userId); // 나머지 약관 미시행 처리 egovSiteManagerService.updateTermsMastUseYnAjax(termsVO); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } /*문자온 약관 이메일 안내 팝업*/ @RequestMapping("/sym/site/termsMastEmailPopup.do") public String termsMastEmailPopup(TermsVO termsVO, Model model) throws Exception { // mberCmpHstVO = egovMberCmpHstService.selectMberCmpHstDetail(mberCmpHstVO); // model.addAttribute("mberCmpHstVO", mberCmpHstVO); model.addAttribute("termsMastVO", egovSiteManagerService.selectTermsMastVO(termsVO)); return "sym/site/termsEmailPopup"; } /*문자온 약관 이메일 안내 발송하기*/ @RequestMapping("/sym/site/termsMastEmainInfoYUpdateAjax.do") public ModelAndView termsMastEmainInfoYUpdateAjax(TermsVO termsVO, ModelMap model) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String sttusMsg = ""; String msg = "발송되었습니다."; try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } termsVO.setLasUpdusrId(userId); egovSiteManagerService.updateTermsMastEmainInfoYUpdateAjax(termsVO); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } /*문자온 약관 이메일 안내 테스트 발송하기*/ @RequestMapping("/sym/site/termsMastEmainInfoTestSendAjax.do") public ModelAndView termsMastEmainInfoTestSendAjax(TermsVO termsVO, ModelMap model) throws Exception{ ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String sttusMsg = ""; String msg = "발송되었습니다."; try { LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); //로그인한 관리자 계정 이메일 조회 UserManageVO userManageVO = userManageService.selectUser(loginVO.getUniqId()); String email = userManageVO == null ? "" : EgovStringUtil.isNullToString(userManageVO.getEmailAdres()); if(userId.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "로그인 후 이용이 가능합니다."); return modelAndView; } if(email.equals("")) { isSuccess = false; modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", "관리자 계정의 이메일을 등록해주세요."); return modelAndView; } String terms = "개인정보처리방침"; if("02".equals(termsVO.getTermsDivCode())) { terms = "이용약관"; } mjonNoticeSendUtil.userTermsTestEmailSend("[문자온] " + terms + " 개정안내", termsVO.getEmailInfoCn(), email); } catch(Exception e) { isSuccess = false; msg = "오류 : " + e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } }