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;
}
}