File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.08.03 lee.m.j 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@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<SiteManagerVO> 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<SiteIpManagerVO> siteIpList = new ArrayList<SiteIpManagerVO>();
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<CmmnDetailCode> teamList = cmmnDetailCodeManageService.selectCmmnCodeAllList(cmmnDetailCode);
model.addAttribute("teamList", teamList);
//사용량 현황
List<SiteIpManagerVO> basicUseSumCnt = new ArrayList<SiteIpManagerVO>(); // 모든부서에 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<SiteIpManagerVO> useSumCnt = new ArrayList<SiteIpManagerVO>();
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<SiteIpManagerVO> totalUseSumCnt = new ArrayList<SiteIpManagerVO>();
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<CmmnDetailCode> 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<ComDefaultCodeVO> getTimeHH() {
ArrayList<ComDefaultCodeVO> listHH = new ArrayList<ComDefaultCodeVO>();
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<ComDefaultCodeVO> getTimeMM() {
ArrayList<ComDefaultCodeVO> listMM = new ArrayList<ComDefaultCodeVO>();
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<SiteIpManagerVO> siteIpList = new ArrayList<SiteIpManagerVO>();
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<CmmnDetailCode> 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<SiteManagerVO> 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<SiteManagerVO> inspList = new ArrayList<SiteManagerVO>();
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<SiteManagerVO> faviconList = new ArrayList<SiteManagerVO>();
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<FileVO> 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<FileVO> result = null;
String uploadFolder = "";
String orignlFileNm = "";
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()){
result = fileUtil.parseFileInf(files, "FAV_", 0, "", uploadFolder, "");
atchFileId = fileMngService.insertFileInfs(result);
FileVO vo = null;
Iterator<FileVO> 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<SiteManagerVO> tabTitleList = new ArrayList<SiteManagerVO>();
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<SiteManagerVO> infoProtect = new ArrayList<SiteManagerVO>();
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<SiteIpManagerVO> 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<SiteManagerVO> siteWithdrawList = new ArrayList<SiteManagerVO>();
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<SiteManagerVO> adminlogMngList = new ArrayList<SiteManagerVO>();
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<SiteManagerVO> recentSearchList = new ArrayList<SiteManagerVO>();
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<SiteManagerVO> termsList = new ArrayList<SiteManagerVO>();
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<BiddingVO> biddList = new ArrayList<BiddingVO>();
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<BiddingVO> biddList = new ArrayList<BiddingVO>(); //예비가격전체
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<BiddingVO> comAllCompany = new ArrayList<BiddingVO>(); //모든 업체(경쟁업체 포함)
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<SiteManagerVO> sessionTimeList = new ArrayList<SiteManagerVO>();
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<String, ?> 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<TermsVO> termsList = new ArrayList<TermsVO>();
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<MetaTagVO> 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<String, ?> 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<TermsVO> 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<String, ?> 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<TermsVO> 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;
}
}