Merge branch 'tolag3'

관리자 소스 분리 중
This commit is contained in:
leejunho 2025-05-07 14:44:13 +09:00
parent 4faef7625c
commit c616c1d808
38 changed files with 197 additions and 3370 deletions

View File

@ -11,7 +11,6 @@ import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
@ -22,26 +21,19 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
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.RestResponse;
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.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.pop.service.MainPopupLinkVO;
import itn.com.uss.ion.bnr.pop.service.MainPopupManageService;
import itn.com.uss.ion.bnr.pop.service.MainPopupVO;
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
import itn.let.sym.site.service.EgovSiteManagerService;
/**
* 개요
@ -68,52 +60,17 @@ public class MainPopupController {
private static final Logger LOGGER = LoggerFactory.getLogger(MainPopupController.class);
@Autowired
private DefaultBeanValidator beanValidator;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovPopupManageService */
@Resource(name = "subMainZoneManageService")
private SubMainZoneManageService subMainZoneManageService;
@Resource(name = "mainPopupManageService")
private MainPopupManageService mainPopupManageService;
/** cmmUseService */
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name = "egovPopupZoneIdGnrService")
private EgovIdGnrService idgenService;
// @Resource(name = "egovMainZoneIdGnrService")
// private EgovIdGnrService idgenServiceMain;
@Resource(name = "egovSubMainZoneIdGnrService")
private EgovIdGnrService idgenServiceSubMain;
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/*메인이미지 관리*/
// @RequestMapping(value="/uss/ion/bnr/subMainZoneList.do")
@RequestMapping(value="/uss/ion/bnr/pop/mainPopupList.do")
@ -337,7 +294,4 @@ public class MainPopupController {
}
return listMM;
}
}

View File

@ -11,30 +11,23 @@ import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
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.service.EgovCmmUseService;
import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO;
import itn.let.sym.site.service.EgovSiteManagerService;
/**
* 개요
@ -61,50 +54,18 @@ public class SubMainZoneManageController {
private static final Logger LOGGER = LoggerFactory.getLogger(SubMainZoneManageController.class);
@Autowired
private DefaultBeanValidator beanValidator;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovPopupManageService */
@Resource(name = "subMainZoneManageService")
private SubMainZoneManageService subMainZoneManageService;
/** cmmUseService */
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name = "egovPopupZoneIdGnrService")
private EgovIdGnrService idgenService;
// @Resource(name = "egovMainZoneIdGnrService")
// private EgovIdGnrService idgenServiceMain;
@Resource(name = "egovSubMainZoneIdGnrService")
private EgovIdGnrService idgenServiceSubMain;
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/*메인이미지 관리*/
@RequestMapping(value="/uss/ion/bnr/sub/subMainZoneList.do")
// @RequestMapping(value="/uss/ion/pwm/mainzoneList.do")

View File

@ -43,7 +43,6 @@ import itn.com.uss.ion.cnf.service.SpamKeywordVO;
import itn.com.uss.ion.cnf.service.WordFilterService;
import itn.com.uss.ion.cnf.service.WordFilterVO;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.sym.site.service.SiteManagerVO;
/**
* 개요
@ -863,29 +862,6 @@ public class HomePageConfigController {
return "uss/ion/cnf/getScript";
}
/* 환경설정 (매타테그, 방문자 스크립트, 웹아이콘, 웹타이틀 ) */
@RequestMapping(value="/web/com/setEnvi.do")
public String setEnvi(
MetaTagManageVO metaTagManageVO,
ScriptMngVO scriptMngVO,
SiteManagerVO siteManagerVO,
@RequestParam Map<?, ?> commandMap,
HttpServletRequest request,
Model model , HttpSession session) throws Exception {
//점검중 페이지 체크, 웹아이콘 , 웹타이틀 체크
siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO);
model.addAttribute("siteManagerVO", siteManagerVO);
//매타테그
/*metaTagManageVO = metaTagManageService.selectMetaTagVO(metaTagManageVO);
model.addAttribute("metaTagManageVO", metaTagManageVO);*/
//방문자 스크립트
scriptMngVO = scriptMngService.selectScriptMngVO(scriptMngVO);
model.addAttribute("scriptMngVO", scriptMngVO);
return "web/com/envi";
}
/**
* 금지어 목록을 조회한다.
* @param popupManageVO

View File

@ -1,28 +0,0 @@
package itn.com.uss.ion.cyb.service;
import java.util.List;
import org.springframework.stereotype.Repository;
import itn.com.cmm.service.impl.EgovComAbstractDAO;
/**
* 개요
* - 사이버 경고에 대한 DAO를 정의한다.
*/
@Repository("cyberAlertManageDAO")
public class CyberAlertManageDAO extends EgovComAbstractDAO {
public CyberAlertManageDAO(){}
public List<?> selectCyberAlert(CyberAlertManageVO vo) {
return (List<?>) list("CyberAlertManage.selectCyberAlertMap", vo);
}
public void updateCyberAlert(CyberAlertManageVO vo) {
update("CyberAlertManage.updateCyberAlert", vo);
}
public void deleteCyberAlert(CyberAlertManageVO vo) {
delete("CyberAlertManage.deleteCyberAlert", vo);
}
}

View File

@ -1,27 +0,0 @@
package itn.com.uss.ion.cyb.service;
import java.util.List;
import java.util.Map;
/**
* 개요
* - 팝업창에 대한 Service Interface를 정의한다.
*
* 상세내용
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 팝업창의 조회기능은 목록조회, 상세조회, 팝업사용자 보기로 구분된다.
* @author 이창원
* @version 1.0
* @created 05-8-2009 오후 2:19:58
*/
public interface CyberAlertManageService {
List<?> selectCyberAlert(CyberAlertManageVO cyberManageVO) throws Exception;
void updateCyberAlert(CyberAlertManageVO cyberManageVO) throws Exception;
void deleteCyberAlert(CyberAlertManageVO cyberManageVO) throws Exception;
}

View File

@ -1,86 +0,0 @@
package itn.com.uss.ion.cyb.service;
import java.io.Serializable;
/**
* 개요
* - 팝업창에 대한 Vo 클래스를 정의한다.
*
* 상세내용
* - 팝업창의 목록 항목을 관리한다.
* @author 이창원
* @version 1.0
* @created 05-8-2009 오후 2:21:04
*/
/**
* @author ITN
*
*/
public class CyberAlertManageVO implements Serializable {
private static final long serialVersionUID = -4822974866080666897L;
private String caId = "";
/** 사이버경고 level */
private String caLevel = "";
/** 사이버경고 등록자 id */
private String registerId = "";
private String registPnttm = "";
private String lastUpdusrId = "";
private String lastUpdtPnttm = "";
public String getCaId() {
return caId;
}
public void setCaId(String caId) {
this.caId = caId;
}
public String getCaLevel() {
return caLevel;
}
public void setCaLevel(String caLevel) {
this.caLevel = caLevel;
}
public String getRegisterId() {
return registerId;
}
public void setRegisterId(String registerId) {
this.registerId = registerId;
}
public String getRegistPnttm() {
return registPnttm;
}
public void setRegistPnttm(String registPnttm) {
this.registPnttm = registPnttm;
}
public String getLastUpdusrId() {
return lastUpdusrId;
}
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
public String getLastUpdtPnttm() {
return lastUpdtPnttm;
}
public void setLastUpdtPnttm(String lastUpdtPnttm) {
this.lastUpdtPnttm = lastUpdtPnttm;
}
}

View File

@ -1,44 +0,0 @@
package itn.com.uss.ion.cyb.service.impl;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.com.uss.ion.cyb.service.CyberAlertManageDAO;
import itn.com.uss.ion.cyb.service.CyberAlertManageService;
import itn.com.uss.ion.cyb.service.CyberAlertManageVO;
/**
* 개요
* - 사이버경고 ServiceImpl을 정의한다.
*/
@Service("cyberAlertManageService")
public class CyberAlertManageServiceImpl extends EgovAbstractServiceImpl implements CyberAlertManageService {
@Resource(name = "cyberAlertManageDAO")
public CyberAlertManageDAO dao;
public CyberAlertManageServiceImpl() {
}
@Override
public List<?> selectCyberAlert(CyberAlertManageVO vo) throws Exception {
return dao.selectCyberAlert(vo);
}
@Override
public void updateCyberAlert(CyberAlertManageVO vo) throws Exception {
dao.updateCyberAlert(vo);
}
@Override
public void deleteCyberAlert(CyberAlertManageVO vo) throws Exception {
dao.deleteCyberAlert(vo);
}
}

View File

@ -1,132 +0,0 @@
package itn.com.uss.ion.cyb.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.cmm.ComDefaultCodeVO;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.cyb.service.CyberAlertManageService;
import itn.com.uss.ion.cyb.service.CyberAlertManageVO;
/**
* 개요
* - 팝업창에 대한 Controller를 정의한다.
*
* 상세내용
* - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다.
* @author 이창원
* @version 1.0
* @created 05-8-2009 오후 2:19:57
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.8.05 이창원 최초 생성
* 2011.8.26 정진오 IncludedInfo annotation 추가
*
* </pre>
*/
@Controller
public class CyberAlertManageController {
private static final Logger LOGGER = LoggerFactory.getLogger(CyberAlertManageController.class);
@Autowired
private DefaultBeanValidator beanValidator;
/** cmmUseService */
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** cyberAlertManageService */
@Resource(name = "cyberAlertManageService")
private CyberAlertManageService cyberAlertManageService;
/**
* 사이버경고 목록을 조회한다.
* @param popupManageVO
* @param model
* @return "uss/ion/pwm/listPopupManage"
* @throws Exception
*/
@RequestMapping(value = "/uss/ion/cyb/cyberAlertView.do")
public String cyberAlertList(@RequestParam Map<?, ?> commandMap, CyberAlertManageVO cyberManageVO, RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
// 미인증 사용자에 대한 보안처리
/*Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if(!isAuthenticated) {
return "uat/uia/EgovLoginUsr";
}*/
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
cyberManageVO.setCaId("CYBER_0000000001"); //유니크 key insert for update 사용
if(null != commandMap.get("updateFlag")){
if(((String)commandMap.get("updateFlag")).equals("D")){
cyberAlertManageService.deleteCyberAlert(cyberManageVO);
}else{
cyberManageVO.setRegisterId(user.getId());
cyberManageVO.setLastUpdusrId(user.getId());
cyberAlertManageService.updateCyberAlert(cyberManageVO);
}
}
CyberAlertManageVO retrunCyberManageVO = new CyberAlertManageVO();
List<?> cyberAlerMap = cyberAlertManageService.selectCyberAlert(cyberManageVO);
if( cyberAlerMap.size() != 0 ){
EgovMap emp = (EgovMap)cyberAlerMap.get(0);
if(null != emp.get("caId")) retrunCyberManageVO.setCaId(emp.get("caId").toString());
if(null != emp.get("caLevel")) retrunCyberManageVO.setCaLevel(emp.get("caLevel").toString());
if(null != emp.get("registerId")) retrunCyberManageVO.setRegisterId(emp.get("registerId").toString());
if(null != emp.get("registPnttm")) retrunCyberManageVO.setRegistPnttm(emp.get("registPnttm").toString());
if(null != emp.get("lastUpdusrId")) retrunCyberManageVO.setLastUpdusrId(emp.get("lastUpdusrId").toString());
if(null != emp.get("lastUpdtPnttm")) retrunCyberManageVO.setLastUpdtPnttm(emp.get("lastUpdtPnttm").toString());
}
model.addAttribute("cyberManageVO", retrunCyberManageVO);
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM038"); //경고레벨 공통코드
List<?> cmmCaLevel = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("cmmCaLevel", cmmCaLevel);
if(null != commandMap.get("updateFlag")){ //수정/삭제후 redirct를 위해
if(((String)commandMap.get("updateFlag")).equals("D")){ //삭제
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
}else{ //수정및 저장
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
}
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/cyb/cyberAlertView.do");
return redirectUrlMaker.getRedirectUrl();
}
return "uss/ion/cyb/CyberAlertView";
}
}

View File

@ -13,7 +13,6 @@ import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
@ -24,16 +23,13 @@ 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.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.ComDefaultVO;
import itn.com.cmm.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
@ -79,24 +75,13 @@ public class FmsFileController {
private static final Logger LOGGER = LoggerFactory.getLogger(FmsFileController.class);
@Autowired
private DefaultBeanValidator beanValidator;
/** EgovMessageSource */
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Resource(name = "fmsFileService")
private FmsFileService fmsFileService;
/** cmmUseService */
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@ -137,44 +122,6 @@ public class FmsFileController {
/* 첨부파일 등록 */
@RequestMapping("/uss/ion/fms/fmsInsert_back.do")
public String insertFmsFile( @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO, final MultipartHttpServletRequest multiRequest,
HttpServletRequest request, HttpServletResponse response, RedirectAttributes redirectAttributes , Model model)
throws Exception {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
/*파일등록 */
List<FileVO> result = null;
String uploadFolder = "";
String orignlFileNm = "";
String atchFileId = "";
final Map<String, MultipartFile> files = multiRequest.getFileMap();
if (!files.isEmpty()){
result = fileUtil.parseFileInf(files, "FMS_", 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 {
//mainzoneVO.setMainzoneImage(orignlFileNm);
//mainzoneVO.setMainzoneImageFile(atchFileId);
}
}
fmsFileService.insertFmsFile(fmsFileVO);
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.insert"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/mainzoneList.do");
return redirectUrlMaker.getRedirectUrl();
}
/*첨부파일등록/수정 view*/
@RequestMapping(value="/uss/ion/fms/viewUpdateFmsFile.do")
public String viewUpdateFmsFile(@RequestParam Map<?, ?> commandMap, @ModelAttribute("fmsFileVO") FmsFileVO fmsFileVO,

View File

@ -1,14 +0,0 @@
/**
* 개요
* @author 이문준
* @version 1.0
* @created 03-8-2009 오후 2:07:12
*/
package itn.com.uss.ion.pub.service;
import java.util.List;
public interface EgovPublishService {
List<PublishVO> selectPublishList(PublishVO publishVo) throws Exception;
}

View File

@ -1,157 +0,0 @@
/**
* 개요
* - 배너에 대한 Vo 클래스를 정의한다.
*
* 상세내용
* - 배너의 목록 항목을 관리한다.
* @author 이문준
* @version 1.0
* @created 03-8-2009 오후 2:07:13
*/
package itn.com.uss.ion.pub.service;
import java.io.Serializable;
import itn.com.cmm.ComDefaultVO;
public class PublishVO extends ComDefaultVO implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
String no = "";
String title = "";
String author = "";
String relate_dpt = "";
String issue_year = "";
String type = "";
String pages = "";
String price = "";
String org_view = "";
String content = "";
String hit = "";
String yes_no = "";
String rdate = "";
String img_file = "";
String pcode = "";
String org_view_path = "";
String img_file_path = "";
String allow_view = "";
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getRelate_dpt() {
return relate_dpt;
}
public void setRelate_dpt(String relate_dpt) {
this.relate_dpt = relate_dpt;
}
public String getIssue_year() {
return issue_year;
}
public void setIssue_year(String issue_year) {
this.issue_year = issue_year;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getPages() {
return pages;
}
public void setPages(String pages) {
this.pages = pages;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getOrg_view() {
return org_view;
}
public void setOrg_view(String org_view) {
this.org_view = org_view;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getHit() {
return hit;
}
public void setHit(String hit) {
this.hit = hit;
}
public String getYes_no() {
return yes_no;
}
public void setYes_no(String yes_no) {
this.yes_no = yes_no;
}
public String getRdate() {
return rdate;
}
public void setRdate(String rdate) {
this.rdate = rdate;
}
public String getImg_file() {
return img_file;
}
public void setImg_file(String img_file) {
this.img_file = img_file;
}
public String getPcode() {
return pcode;
}
public void setPcode(String pcode) {
this.pcode = pcode;
}
public String getOrg_view_path() {
return org_view_path;
}
public void setOrg_view_path(String org_view_path) {
this.org_view_path = org_view_path;
}
public String getImg_file_path() {
return img_file_path;
}
public void setImg_file_path(String img_file_path) {
this.img_file_path = img_file_path;
}
public String getAllow_view() {
return allow_view;
}
public void setAllow_view(String allow_view) {
this.allow_view = allow_view;
}
}

View File

@ -1,50 +0,0 @@
/**
* 개요
* - 배너에 대한 ServiceImpl 클래스를 정의한다.
*
* 상세내용
* - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 배너의 조회기능은 목록조회, 상세조회로 구분된다.
* @author 이문준
* @version 1.0
* @created 03-8-2009 오후 2:07:12
*/
package itn.com.uss.ion.pub.service.impl;
import java.io.File;
import java.math.BigDecimal;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import itn.com.cmm.service.FileVO;
import itn.com.uss.ion.bnr.service.Banner;
import itn.com.uss.ion.bnr.service.BannerVO;
import itn.com.uss.ion.bnr.service.EgovBannerService;
import itn.com.uss.ion.pub.service.EgovPublishService;
import itn.com.uss.ion.pub.service.PublishVO;
import itn.com.uss.ion.pwm.service.SortVO;
import javax.annotation.Resource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
@Service("egovPublishService")
public class EgovPublishServiceImpl extends EgovAbstractServiceImpl implements EgovPublishService {
/** logger */
private static final Logger LOGGER = LoggerFactory.getLogger(EgovPublishServiceImpl.class);
@Resource(name="publishDAO")
private PublishDAO publishDAO;
@Override
public List<PublishVO> selectPublishList(PublishVO publishVo) throws Exception {
return publishDAO.selectPublishList(publishVo);
}
}

View File

@ -1,31 +0,0 @@
/**
* 개요
* - 배너에 대한 DAO 클래스를 정의한다.
*
* 상세내용
* - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 배너의 조회기능은 목록조회, 상세조회로 구분된다.
* @author 이문준
* @version 1.0
* @created 03-8-2009 오후 2:07:11
*/
package itn.com.uss.ion.pub.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import itn.com.cmm.service.impl.EgovComAbstractDAO;
import itn.com.uss.ion.pub.service.PublishVO;
@Repository("publishDAO")
public class PublishDAO extends EgovComAbstractDAO {
@SuppressWarnings("unchecked")
public List<PublishVO> selectPublishList(PublishVO publishVo) throws Exception{
return (List<PublishVO>) list("publishDAO.selectPublishList", publishVo);
}
}

View File

@ -1,112 +0,0 @@
/**
* 개요
* - 배너에 대한 controller 클래스를 정의한다.
*
* 상세내용
* - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다.
* - 배너의 조회기능은 목록조회, 상세조회로 구분된다.
* @author lee.m.j
* @version 1.0
* @created 03-8-2009 오후 2:07:11
* * <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.8.3 lee.m.j 최초 생성
* 2011.8.26 정진오 IncludedInfo annotation 추가
*
* </pre>
*/
package itn.com.uss.ion.pub.web;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
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.EgovMessageSource;
import itn.com.cmm.LoginVO;
import itn.com.cmm.service.EgovFileMngService;
import itn.com.cmm.service.EgovFileMngUtil;
import itn.com.cmm.service.FileVO;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.service.Banner;
import itn.com.uss.ion.bnr.service.BannerVO;
import itn.com.uss.ion.bnr.service.EgovBannerService;
import itn.com.uss.ion.pub.service.EgovPublishService;
import itn.com.uss.ion.pub.service.PublishVO;
import itn.com.uss.ion.pwm.service.PopupzoneVO;
import itn.com.uss.ion.pwm.service.SortVO;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
@Controller
public class EgovPubController {
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
@Resource(name="EgovFileMngService")
private EgovFileMngService fileMngService;
@Resource(name="EgovFileMngUtil")
private EgovFileMngUtil fileUtil;
@Resource(name = "egovPublishService")
private EgovPublishService egovPublishService;
/** Message ID Generation */
@Resource(name="egovBannerIdGnrService")
private EgovIdGnrService egovBannerIdGnrService;
@Autowired
private DefaultBeanValidator beanValidator;
/**
* MyPage에 배너정보를 제공하기 위해 목록을 조회한다.
* @param bannerVO - 배너 VO
* @return String - 리턴 URL
* @throws Exception
*/
@RequestMapping(value="/uss/ion/pub/publishList.do")
public String selectPublishList(@ModelAttribute("publishVo") PublishVO publishVo,
ModelMap model) throws Exception{
/** paging */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(publishVo.getPageIndex());
paginationInfo.setRecordCountPerPage(5);
paginationInfo.setPageSize(publishVo.getPageSize());
publishVo.setFirstIndex(paginationInfo.getFirstRecordIndex());
publishVo.setLastIndex(paginationInfo.getLastRecordIndex());
publishVo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
List<PublishVO> publishList = egovPublishService.selectPublishList(publishVo) ;
model.addAttribute("publishList", publishList);
return "egovframework/com/uss/ion/pub/PublishList";
}
}

View File

@ -1,7 +1,5 @@
package itn.com.uss.ion.pwm.web;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@ -30,7 +28,6 @@ import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.ComDefaultCodeVO;
@ -45,8 +42,6 @@ import itn.com.uss.ion.pwm.service.EgovPopupManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO;
import itn.com.uss.ion.pwm.service.PopupManageVO;
import itn.com.uss.ion.pwm.service.PopupzoneVO;
import itn.com.uss.ion.pwm.service.SocialVO;
import itn.let.sym.site.service.EgovSiteManagerService;
/**
* 개요
@ -81,10 +76,6 @@ public class EgovPopupManageController {
@Resource(name = "egovMessageSource")
EgovMessageSource egovMessageSource;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/** EgovPopupManageService */
@Resource(name = "egovPopupManageService")
private EgovPopupManageService egovPopupManageService;
@ -105,11 +96,11 @@ public class EgovPopupManageController {
@Resource(name = "egovMainZoneIdGnrService")
private EgovIdGnrService idgenServiceMain;
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "EgovFileMngService")
private EgovFileMngService fileService;
/**
* 팝업창관리 목록을 조회한다.
* @param popupManageVO
@ -331,38 +322,6 @@ public class EgovPopupManageController {
return sLocationUrl;
}
/**
* 팝업창정보를 조회한다.
* @param commandMap
* @param popupManageVO
* @return
* @throws Exception
*/
@RequestMapping(value = "/uss/ion/pwm/ajaxPopupManageInfoBack.do")
public void egovPopupManageInfoAjaxBack(@RequestParam Map<?, ?> commandMap, HttpServletResponse response, PopupManageVO popupManageVO) throws Exception {
response.setHeader("Content-Type", "text/html;charset=utf-8");
PrintWriter out = new PrintWriter(new OutputStreamWriter(response.getOutputStream(), "UTF-8"));
LOGGER.debug("commandMap : {}", commandMap);
LOGGER.debug("popupManageVO : {}", popupManageVO);
PopupManageVO popupManageVOs = egovPopupManageService.selectPopup(popupManageVO);
String sPrint = "";
sPrint = popupManageVOs.getFileUrl();
sPrint = sPrint + "||" + popupManageVOs.getPopupWSize();
sPrint = sPrint + "||" + popupManageVOs.getPopupHSize();
sPrint = sPrint + "||" + popupManageVOs.getPopupHlc();
sPrint = sPrint + "||" + popupManageVOs.getPopupWlc();
sPrint = sPrint + "||" + popupManageVOs.getStopVewAt();
sPrint = sPrint + "||" + popupManageVOs.getPopupType();
out.print(sPrint);
out.flush();
}
@RequestMapping(value = "/uss/ion/pwm/ajaxPopupManageInfo.do")
public ModelAndView ajaxPopupManageInfo(@RequestParam Map<String, Object> commandMap) throws Exception {
ModelAndView modelAndView = new ModelAndView();
@ -399,124 +358,6 @@ public class EgovPopupManageController {
return fileUrl;
}
/**
* 팝업창관리 메인 테스트 목록을 조회한다.
* @param popupManageVO
* @param model
* @return "uss/ion/pwm/listMainPopup"
* @throws Exception
*/
@RequestMapping(value = "/uss/ion/pwm/listMainPopup.do")
public String egovPopupManageMainList(PopupManageVO popupManageVO, ModelMap model) throws Exception {
List<?> reusltList = egovPopupManageService.selectPopupMainList(popupManageVO);
model.addAttribute("resultList", reusltList);
return "uss/ion/pwm/EgovPopupMainList";
}
/**
* 시간을 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;
}
/**
* XSS 방지 처리.
*
* @param data
* @return
*/
protected String unscript(String data) {
if (data == null || data.trim().equals("")) {
return "";
}
String ret = data;
ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;script");
ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;/script");
ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;object");
ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;/object");
ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;applet");
ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;/applet");
ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed");
ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed");
ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "&lt;form");
ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "&lt;form");
return ret;
}
/*알림창괸리*/
@RequestMapping(value="/uss/ion/pwm/popupzoneList.do")
@ -1011,109 +852,109 @@ public class EgovPopupManageController {
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);
/*소셜허브괸리*/
@RequestMapping(value="/uss/ion/pwm/socialList.do")
public String selectSocialList(ModelMap model , @ModelAttribute("searchVO") SocialVO socialVO, HttpSession session)
throws Exception {
/** paging */
if(socialVO.getPageUnit()% 8 != 0) {//9 배수로 넘어오지 않으면 초기세팅
socialVO.setPageUnit(8);
}else {
socialVO.setPageUnit(socialVO.getPageUnit());
listHH.add(codeVO);
}
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(socialVO.getPageIndex());
paginationInfo.setRecordCountPerPage(socialVO.getPageUnit());
paginationInfo.setPageSize(socialVO.getPageSize());
socialVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
socialVO.setLastIndex(paginationInfo.getLastRecordIndex());
socialVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
/** 소설괸리 */
if("".equals(socialVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
socialVO.setSearchSortCnd("SORT");
socialVO.setSearchSortOrd("asc");
}
List<SocialVO> socialList = egovPopupManageService.selectSocialList(socialVO);
model.addAttribute("socialList", socialList);
/* 타겟 코드 */
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM037");
List<?> targetList = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("targetList", targetList);
/*메인이미지 코드*/
vo.setCodeId("ITN016");
List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("imgCodeList", imgCode);
paginationInfo.setTotalRecordCount(socialList.size()> 0 ? ((SocialVO)socialList.get(0)).getTotCnt() : 0);
model.addAttribute("paginationInfo", paginationInfo);
return "uss/ion/pwm/SocialList";
}
/*소셜창수정 view*/
@RequestMapping(value="/uss/ion/pwm/socialModify.do")
public String updateSocialModifyView(@RequestParam Map<?, ?> commandMap,
HttpServletRequest request, Model model , HttpSession session)
throws Exception {
SocialVO socialVO = new SocialVO();
if("Modify".equals((String)commandMap.get("pageType"))){ //수정
String socialId = (String)commandMap.get("selectedId");
//socialVO = egovPopupManageService.selectPopupzoneVO(pozId);
socialVO = egovPopupManageService.selectSocialVO(socialId);
if(socialVO != null){
socialVO.setBeSort(socialVO.getSort());
FileVO fileVO = new FileVO();
String atchFileId = socialVO.getSocialImageFile();
fileVO.setAtchFileId(atchFileId);
List<FileVO> fileList = fileService.selectFileInfs(fileVO);
model.addAttribute("fileList", fileList);
}
}else{ //등록
}
model.addAttribute("socialVO", socialVO);
/* 타겟 코드 */
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM037");
List<?> targetList = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("targetList", targetList);
/*소셜허브종류 코드*/
vo.setCodeId("ITN016");
List<?> imgCode= cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("imgCodeList", imgCode);
//return "uss/ion/pwm/PopupZoneModify";
return "uss/ion/pwm/SocialModify";
}
@RequestMapping(value = "/uss/ion/pwm/socialDelete.do")
public String deleteSocial(@RequestParam Map<?, ?> commandMap, @RequestParam("del") String[] del , RedirectAttributes redirectAttributes, ModelMap model) throws Exception {
try{
for(String id:del) {
egovPopupManageService.deleteSocial(id);
}
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.delete"));
}catch (Exception e) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.delete"));
}
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/pwm/socialList.do");
return redirectUrlMaker.getRedirectUrl();
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;
}
/**
* XSS 방지 처리.
*
* @param data
* @return
*/
protected String unscript(String data) {
if (data == null || data.trim().equals("")) {
return "";
}
String ret = data;
ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;script");
ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;/script");
ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;object");
ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;/object");
ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;applet");
ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;/applet");
ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed");
ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed");
ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "&lt;form");
ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "&lt;form");
return ret;
}
}

View File

@ -16,7 +16,6 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang3.StringUtils;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
@ -25,11 +24,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.springmodules.validation.commons.DefaultBeanValidator;
import com.ibm.icu.text.SimpleDateFormat;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.ComDefaultCodeVO;
@ -73,10 +70,6 @@ public class EgovHpcmController {
@Resource(name = "hackIpService")
private HackIpService hackIpService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Resource(name="EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@ -84,10 +77,6 @@ public class EgovHpcmController {
@Resource(name="egovMessageSource")
EgovMessageSource egovMessageSource;
// Validation 관련
@Autowired
private DefaultBeanValidator beanValidator;
/**
* 도움말내용 목록을 조회한다. (pageing)
* @param searchVO

View File

@ -1,146 +0,0 @@
package itn.com.utl.fcc.service;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
/**
* 날짜 시간에 대한 변환을 수행하는 클래스
*/
public class EgovDateFormat {
/**
* 기본 Locale에 해당하는 형식으로 날짜를 변환한다.
*
* @param date 날짜
* @return 날짜 문자열
*/
public static String formatDate(Date date) {
return DateFormat.getDateInstance().format(date);
}
/**
* Locale에 해당하는 형식으로 날짜를 변환한다.
*
* @param locale 로케일
* @param date 날짜
* @return 날짜 문자열
*/
public static String formatDate(Locale locale, Date date) {
return DateFormat.getDateInstance(DateFormat.DEFAULT, locale).format(date);
}
/**
* 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 날짜를 변환한다.
*
* @param style 날짜 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date 날짜
* @return 날짜 문자열
*/
public static String formatDate(int style, Date date) {
return DateFormat.getDateInstance(style).format(date);
}
/**
* 주어진 스타일에 따라, Locale에 해당하는 형식으로 날짜를 변환한다.
*
* @param style 날짜 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale 로케일
* @param date 날짜
* @return 날짜 문자열
*/
public static String formatDate(int style, Locale locale, Date date) {
return DateFormat.getDateInstance(style, locale).format(date);
}
/**
* 기본 Locale에 해당하는 형식으로 날짜 시간을 변환한다.
*
* @param date 날짜 시간
* @return 날짜 시간 문자열
*/
public static String formatDateTime(Date date) {
return DateFormat.getDateTimeInstance().format(date);
}
/**
* Locale에 해당하는 형식으로 날짜 시간을 변환한다.
*
* @param locale 로케일
* @param date 날짜 시간
* @return 날짜 시간 문자열
*/
public static String formatDateTime(Locale locale, Date date) {
return DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, locale).format(date);
}
/**
* 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 날짜 시간을 변환한다.
*
* @param dateStyle 날짜 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param timeStyle 시간 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date 날짜 시간
* @return 날짜 시간 문자열
*/
public static String formatDateTime(int dateStyle, int timeStyle, Date date) {
return DateFormat.getDateTimeInstance(dateStyle, timeStyle).format(date);
}
/**
* 주어진 스타일에 따라, Locale에 해당하는 형식으로 날짜 시간을 변환한다.
*
* @param dateStyle 날짜 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param timeStyle 시간 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale 로케일
* @param date 날짜 시간
* @return 날짜 시간 문자열
*/
public static String formatDateTime(int dateStyle, int timeStyle, Locale locale, Date date) {
return DateFormat.getDateTimeInstance(dateStyle, timeStyle, locale).format(date);
}
/**
* 기본 Locale에 해당하는 형식으로 시간을 변환한다.
*
* @param date 시간
* @return 시간 문자열
*/
public static String formatTime(Date date) {
return DateFormat.getTimeInstance().format(date);
}
/**
* Locale에 해당하는 형식으로 시간을 변환한다.
*
* @param locale 로케일
* @param date 시간
* @return 시간 문자열
*/
public static String formatTime(Locale locale, Date date) {
return DateFormat.getTimeInstance(DateFormat.DEFAULT, locale).format(date);
}
/**
* 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 시간을 변환한다.
*
* @param style 시간 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date 시간
* @return 시간 문자열
*/
public static String formatTime(int style, Date date) {
return DateFormat.getTimeInstance(style).format(date);
}
/**
* 주어진 스타일에 따라, Locale에 해당하는 형식으로 시간을 변환한다.
*
* @param style 시간 스타일 (사용 가능한 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale 로케일
* @param date 시간
* @return 시간 문자열
*/
public static String formatTime(int style, Locale locale, Date date) {
return DateFormat.getTimeInstance(style, locale).format(date);
}
}

View File

@ -1,207 +0,0 @@
package itn.com.utl.fcc.service;
/**
*
* 포맷유효성체크 대한 Util 클래스
* @author 공통컴포넌트 개발팀 윤성록
* @since 2009.06.23
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.06.23 윤성록 최초 생성
*
* </pre>
*/
public class EgovFormatCheckUtil {
/**
* <pxxx - xxx- xxxx 형식의 전화번호 , 중간, 문자열 3개 입력 받아 유요한 전화번호형식인지 검사.</p>
*
*
* @param 전화번호 문자열( 3개 )
* @return 유효한 전화번호 형식인지 여부 (True/False)
*/
public static boolean checkFormatTell(String tell1, String tell2, String tell3) {
String[] check = {"02", "031", "032", "033", "041", "042", "043", "051", "052", "053", "054", "055", "061",
"062", "063", "070", "080", "0505"}; //존재하는 국번 데이터
String temp = tell1 + tell2 + tell3;
for(int i=0; i < temp.length(); i++){
if (temp.charAt(i) < '0' || temp.charAt(i) > '9')
return false;
} //숫자가 아닌 값이 들어왔는지를 확인
for(int i = 0; i < check.length; i++){
if(tell1.equals(check[i])) break;
if(i == check.length - 1) return false;
} //국번입력이 제대로 되었는지를 확인
if(tell2.charAt(0) == '0') return false;
if(tell1.equals("02")){
if(tell2.length() != 3 && tell2.length() !=4) return false;
if(tell3.length() != 4) return false; //서울지역(02)국번 입력때의 전화 번호 형식유효성 체크
}else{
if(tell2.length() != 3) return false;
if(tell3.length() != 4) return false;
} //서울을 제외한 지역(국번 입력때의 전화 번호 형식유효성 체크
return true;
}
/**
* <p>xxx - xxx- xxxx 형식의 전화번호 하나를 입력 받아 유요한 전화번호형식인지 검사.</p>
*
*
* @param 전화번호 문자열 (1개)
* @return 유효한 전화번호 형식인지 여부 (True/False)
*/
public static boolean checkFormatTell(String tellNumber) {
String temp1;
String temp2;
String temp3;
String tell = tellNumber;
tell = tell.replace("-", "");
if(tell.length() < 9 || tell.length() > 11 || tell.charAt(0) != '0') return false; //전화번호 길이에 대한 체크
if(tell.charAt(1) =='2'){ //서울지역 (02)국번의 경우일때
temp1 = tell.substring(0,2);
if(tell.length() == 9){
temp2 = tell.substring(2,5);
temp3 = tell.substring(5,9);
}else if(tell.length() == 10){
temp2 = tell.substring(2,6);
temp3 = tell.substring(6,10);
}else
return false;
} else if(tell.substring(0,4).equals("0505")){ //평생번호(0505)국번의 경우일때
if(tell.length() != 11) return false;
temp1 = tell.substring(0,4);
temp2 = tell.substring(4,7);
temp3 = tell.substring(7,11);
} else { // 서울지역 "0505" 제외한 일반적인 경우일때
if(tell.length() != 10) return false;
temp1 = tell.substring(0,3);
temp2 = tell.substring(3,6);
temp3 = tell.substring(6,10);
}
return checkFormatTell(temp1, temp2, temp3);
}
/**
* <p>xxx - xxx- xxxx 형식의 휴대폰번호 , 중간, 문자열 3개 입력 받아 유요한 휴대폰번호형식인지 검사.</p>
*
*
* @param 휴대폰번호 문자열,(3개)
* @return 유효한 휴대폰번호 형식인지 여부 (True/False)
*/
public static boolean checkFormatCell(String cell1, String cell2, String cell3) {
String[] check = {"010", "011", "016", "017", "018", "019"}; //유효한 휴대폰 첫자리 번호 데이터
String temp = cell1 + cell2 + cell3;
for(int i=0; i < temp.length(); i++){
if (temp.charAt(i) < '0' || temp.charAt(i) > '9')
return false;
} //숫자가 아닌 값이 들어왔는지를 확인
for(int i = 0; i < check.length; i++){
if(cell1.equals(check[i])) break;
if(i == check.length - 1) return false;
} // 휴대폰 첫자리 번호입력의 유효성 체크
if(cell2.charAt(0) == '0') return false;
if(cell2.length() != 3 && cell2.length() !=4) return false;
if(cell3.length() != 4) return false;
return true;
}
/**
* <p>XXXXXXXXXX 형식의 휴대폰번호 문자열 3개 입력 받아 유요한 휴대폰번호형식인지 검사.</p>
*
*
* @param 휴대폰번호 문자열(1개)
* @return 유효한 휴대폰번호 형식인지 여부 (True/False)
*/
public static boolean checkFormatCell(String cellNumber) {
String temp1;
String temp2;
String temp3;
String cell = cellNumber;
cell = cell.replace("-", "");
if(cell.length() < 10 || cell.length() > 11 || cell.charAt(0) != '0') return false;
if(cell.length() == 10){ //전체 10자리 휴대폰 번호일 경우
temp1 = cell.substring(0,3);
temp2 = cell.substring(3,6);
temp3 = cell.substring(6,10);
}else{ //전체 11자리 휴대폰 번호일 경우
temp1 = cell.substring(0,3);
temp2 = cell.substring(3,7);
temp3 = cell.substring(7,11);
}
return checkFormatCell(temp1, temp2, temp3);
}
/**
* <p> 이메일의 , 문자열 2개 입력 받아 유요한 이메일형식인지 검사.</p>
*
*
* @param 이메일 문자열 (2개)
* @return 유효한 이메일 형식인지 여부 (True/False)
*/
public static boolean checkFormatMail(String mail1, String mail2) {
int count = 0;
for(int i = 0; i < mail1.length(); i++){
if(mail1.charAt(i) <= 'z' && mail1.charAt(i) >= 'a') continue;
else if(mail1.charAt(i) <= 'Z' && mail1.charAt(i) >= 'A') continue;
else if(mail1.charAt(i) <= '9' && mail1.charAt(i) >= '0') continue;
else if(mail1.charAt(i) == '-' && mail1.charAt(i) == '_') continue;
else return false;
} // 유효한 문자, 숫자인지 체크
for(int i = 0; i < mail2.length(); i++){
if(mail2.charAt(i) <= 'z' && mail2.charAt(i) >= 'a') continue;
else if(mail2.charAt(i) == '.'){ count++; continue;}
else return false;
} // 메일 주소의 형식 체크(xxx.xxx 형태)
if(count == 1) return true;
else return false;
}
/**
* <p> 이메일의 전체문자열 1개 입력 받아 유요한 이메일형식인지 검사.</p>
*
*
* @param 이메일 문자열 (1개)
* @return 유효한 이메일 형식인지 여부 (True/False)
*/
public static boolean checkFormatMail(String mail) {
String[] temp = mail.split("@"); // '@' 기점으로 , 문자열 구분
if(temp.length == 2) return checkFormatMail(temp[0], temp[1]);
else return false;
}
}

View File

@ -1,246 +0,0 @@
package itn.com.utl.fcc.service;
/**
*
* 번호유효성체크 대한 Util 클래스
* @author 공통컴포넌트 개발팀 윤성록
* @since 2009.06.10
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.06.10 윤성록 최초 생성
* 2012.02.27 이기하 법인번호 체크로직 수정
*
* </pre>
*/
public class EgovNumberCheckUtil {
/**
* <p>XXXXXX - XXXXXXX 형식의 주민번호 , 문자열 2개 입력 받아 유효한 주민번호인지 검사.</p>
*
*
* @param 6자리 주민앞번호 문자열 , 7자리 주민뒷번호 문자열
* @return 유효한 주민번호인지 여부 (True/False)
*/
@SuppressWarnings("static-access")
public static boolean checkJuminNumber(String jumin1, String jumin2) {
EgovDateUtil egovDateUtil = new EgovDateUtil();
String juminNumber = jumin1 + jumin2;
String IDAdd = "234567892345"; // 주민등록번호에 가산할
int count_num = 0;
int add_num = 0;
int total_id = 0; //검증을 위한 변수선언
if (juminNumber.length() != 13) return false; // 주민등록번호 자리수가 맞는가를 확인
for (int i = 0; i <12 ; i++){
if(juminNumber.charAt(i)< '0' || juminNumber.charAt(i) > '9') return false; //숫자가 아닌 값이 들어왔는지를 확인
count_num = Character.getNumericValue(juminNumber.charAt(i));
add_num = Character.getNumericValue(IDAdd.charAt(i));
total_id += count_num * add_num; //유효자리 검증식을 적용
}
if(Character.getNumericValue(juminNumber.charAt(0)) == 0 || Character.getNumericValue(juminNumber.charAt(0)) == 1){
if(Character.getNumericValue(juminNumber.charAt(6)) > 4) return false;
String temp = "20" + juminNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
}else{
if(Character.getNumericValue(juminNumber.charAt(6)) > 2) return false;
String temp = "19" + juminNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
} //주민번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크
if(Character.getNumericValue(juminNumber.charAt(12)) == (11 - (total_id % 11)) % 10) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 형식의 13자리 주민번호 1개를 입력 받아 유효한 주민번호인지 검사.</p>
*
*
* @param 13자리 주민번호 문자열
* @return 유효한 주민번호인지 여부 (True/False)
*/
public static boolean checkJuminNumber(String jumin) {
if(jumin.length() != 13) return false;
return checkJuminNumber(jumin.substring(0,6), jumin.substring(6,13)); //주민번호
}
/**
* <p>XXXXXX - XXXXXXX 형식의 법인번호 , 문자열 2개 입력 받아 유효한 법인번호인지 검사.</p>
*
*
* @param 6자리 법인앞번호 문자열 , 7자리 법인뒷번호 문자열
* @return 유효한 법인번호인지 여부 (True/False)
*/
public static boolean checkBubinNumber(String bubin1, String bubin2) {
String bubinNumber = bubin1 + bubin2;
int hap = 0;
int temp = 1; //유효검증식에 사용하기 위한 변수
if(bubinNumber.length() != 13) return false; //법인번호의 자리수가 맞는 지를 확인
for(int i=0; i < 13; i++){
if (bubinNumber.charAt(i) < '0' || bubinNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인
return false;
}
// 2012.02.27 법인번호 체크로직 수정( i<13 -> i<12 )
// 맨끝 자리 수는 전산시스템으로 오류를 검증하기 위해 부여되는 검증번호임
for ( int i=0; i<12; i++){
if(temp ==3) temp = 1;
hap = hap + (Character.getNumericValue(bubinNumber.charAt(i)) * temp);
temp++;
} //검증을 위한 식의 계산
if ((10 - (hap%10))%10 == Character.getNumericValue(bubinNumber.charAt(12))) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 형식의 13자리 법인번호 1개를 입력 받아 유효한 법인번호인지 검사.</p>
*
*
* @param 13자리 법인번호 문자열
* @return 유효한 법인번호인지 여부 (True/False)
*/
public static boolean checkBubinNumber(String bubin) {
if(bubin.length() != 13) return false;
return checkBubinNumber(bubin.substring(0,6), bubin.substring(6,13));
}
/**
* <p>xxx - xx - xxxx 형식의 사업자번호 ,중간, 문자열 3개 입력 받아 유효한 사업자번호인지 검사.</p>
*
*
* @param 3자리 사업자앞번호 문자열 , 2자리 사업자중간번호 문자열, 5자리 사업자뒷번호 문자열
* @return 유효한 사업자번호인지 여부 (True/False)
*/
public static boolean checkCompNumber(String comp1, String comp2, String comp3) {
String compNumber = comp1 + comp2 + comp3;
int hap = 0;
int temp = 0;
int check[] = {1,3,7,1,3,7,1,3,5}; //사업자번호 유효성 체크 필요한
if(compNumber.length() != 10) //사업자번호의 길이가 맞는지를 확인한다.
return false;
for(int i=0; i < 9; i++){
if(compNumber.charAt(i) < '0' || compNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다.
return false;
hap = hap + (Character.getNumericValue(compNumber.charAt(i)) * check[temp]); //검증식 적용
temp++;
}
hap += (Character.getNumericValue(compNumber.charAt(8))*5)/10;
if ((10 - (hap%10))%10 == Character.getNumericValue(compNumber.charAt(9))) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXX 형식의 10자리 사업자번호 3개를 입력 받아 유효한 사업자번호인지 검사.</p>
*
*
* @param 10자리 사업자번호 문자열
* @return 유효한 사업자번호인지 여부 (True/False)
*/
public static boolean checkCompNumber(String comp) {
if(comp.length() != 10) return false;
return checkCompNumber(comp.substring(0,3), comp.substring(3,5), comp.substring(5,10));
}
/**
* <p>XXXXXX - XXXXXXX 형식의 외국인등록번호 , 문자열 2개 입력 받아 유효한 외국인등록번호인지 검사.</p>
*
*
* @param 6자리 외국인등록앞번호 문자열 , 7자리 외국인등록뒷번호 문자열
* @return 유효한 외국인등록번호인지 여부 (True/False)
*/
@SuppressWarnings("static-access")
public static boolean checkforeignNumber( String foreign1, String foreign2 ) {
EgovDateUtil egovDateUtil = new EgovDateUtil();
String foreignNumber = foreign1 + foreign2;
int check = 0;
if( foreignNumber.length() != 13 ) //외국인등록번호의 길이가 맞는지 확인한다.
return false;
for(int i=0; i < 13; i++){
if (foreignNumber.charAt(i) < '0' || foreignNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다.
return false;
}
if(Character.getNumericValue(foreignNumber.charAt(0)) == 0 || Character.getNumericValue(foreignNumber.charAt(0)) == 1){
if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false;
String temp = "20" + foreignNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
}else{
if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false;
String temp = "19" + foreignNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
} //외국인등록번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크
for( int i = 0 ; i < 12 ; i++ ) {
check += ( ( 9 - i % 8 ) * Character.getNumericValue( foreignNumber.charAt( i ) ) );
}
if ( check % 11 == 0 ){
check = 1;
}else if ( check % 11==10 ){
check = 0;
}else
check = check % 11;
if ( check + 2 > 9 ){
check = check + 2- 10;
}else check = check+2; //검증식을 통합 값의 도출
if( check == Character.getNumericValue( foreignNumber.charAt( 12 ) ) ) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 형식의 13자리 외국인등록번호 1개를 입력 받아 유효한 외국인등록번호인지 검사.</p>
*
*
* @param 13자리 외국인등록번호 문자열
* @return 유효한 외국인등록번호인지 여부 (True/False)
*/
public static boolean checkforeignNumber( String foreign ) {
if(foreign.length() != 13) return false;
return checkforeignNumber(foreign.substring(0,6), foreign.substring(6,13));
}
}

View File

@ -1,258 +0,0 @@
package itn.com.utl.fcc.service;
import java.text.NumberFormat;
import java.util.Locale;
/**
* 숫자, 통화, 퍼센트에 대한 형식 변환을 수행하는 클래스
*/
public class EgovNumberFormat {
private static final int MAX_FRACTION_DIGIT = 3;
private static final boolean GROUPING_USED = true;
/**
* 기본 Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param number 숫자
* @return 숫자 문자열
*/
public static String formatNumber(Number number) {
return formatNumber(number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @return 숫자 문자열
*/
public static String formatNumber(Locale locale, Number number) {
return formatNumber(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* 기본 Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 숫자 문자열
*/
public static String formatNumber(Number number, boolean groupingUsed) {
return formatNumber(number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 숫자 문자열
*/
public static String formatNumber(Locale locale, Number number, boolean groupingUsed) {
return formatNumber(locale, number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* 기본 Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param number 숫자
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 숫자 문자열
*/
public static String formatNumber(Number number, int maxFactionDigits) {
return formatNumber(number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 숫자 문자열
*/
public static String formatNumber(Locale locale, Number number, int maxFactionDigits) {
return formatNumber(locale, number, GROUPING_USED, maxFactionDigits);
}
/**
* 기본 Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 숫자 문자열
*/
public static String formatNumber(Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getNumberInstance();
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* Locale에 해당하는 형식으로 숫자를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 숫자 문자열
*/
public static String formatNumber(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getNumberInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* 기본 Locale에 해당하는 형식으로 통화를 변환한다.
*
* @param number 숫자
* @return 통화 문자열
*/
public static String formatCurrency(Number number) {
return formatCurrency(number, GROUPING_USED);
}
/**
* Locale에 해당하는 형식으로 통화를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @return 통화 문자열
*/
public static String formatCurrency(Locale locale, Number number) {
return formatCurrency(locale, number, GROUPING_USED);
}
/**
* 기본 Locale에 해당하는 형식으로 통화를 변환한다.
*
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 통화 문자열
*/
public static String formatCurrency(Number number, boolean groupingUsed) {
NumberFormat numberberFormat = NumberFormat.getCurrencyInstance();
numberberFormat.setGroupingUsed(groupingUsed);
return numberberFormat.format(number);
}
/**
* Locale에 해당하는 형식으로 통화를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 통화 문자열
*/
public static String formatCurrency(Locale locale, Number number, boolean groupingUsed) {
NumberFormat numberberFormat = NumberFormat.getCurrencyInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
return numberberFormat.format(number);
}
/**
* 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param number 숫자
* @return 퍼센트 문자열
*/
public static String formatPercent(Number number) {
return formatPercent(number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @return 퍼센트 문자열
*/
public static String formatPercent(Locale locale, Number number) {
return formatPercent(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 퍼센트 문자열
*/
public static String formatPercent(Number number, boolean groupingUsed) {
return formatPercent(number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @return 퍼센트 문자열
*/
public static String formatPercent(Locale locale, Number number, boolean groupingUsed) {
return formatPercent(locale, number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param number 숫자
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 퍼센트 문자열
*/
public static String formatPercent(Number number, int maxFactionDigits) {
return formatPercent(number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 퍼센트 문자열
*/
public static String formatPercent(Locale locale, Number number, int maxFactionDigits) {
return formatPercent(locale, number, GROUPING_USED, maxFactionDigits);
}
/**
* 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 퍼센트 문자열
*/
public static String formatPercent(Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getPercentInstance();
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* Locale에 해당하는 형식으로 퍼센트를 변환한다.
*
* @param locale 로케일
* @param number 숫자
* @param groupingUsed 그룹 분리기호 포함 여부
* @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수
* @return 퍼센트 문자열
*/
public static String formatPercent(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getPercentInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
}

View File

@ -1,102 +0,0 @@
package itn.let.cert.ip.web;
import java.time.LocalDateTime;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import itn.com.cmm.LoginVO;
import itn.com.utl.fcc.service.EgovStringUtil;
import itn.let.cert.ip.service.CertLoginLogService;
import itn.let.cert.ip.service.MberCertIpVO;
import itn.let.mail.service.StatusResponse;
/**
*
* @author : 이호영
* @fileName : CertIpController.java
* @date : 2024.11.19
* @description : 허용 IP 관련 컨트롤러
* ===========================================================
* DATE AUTHOR NOTE
* ----------------------------------------------------------- *
* 2024.11.19 이호영 최초 생성
*
*
*
*/
@Controller
public class CertLoginLogController {
/* CertLoginLogService */
@Resource(name = "CertLoginLogService")
private CertLoginLogService certLoginLogService;
/*
@RequestMapping(value = {"/cert/ip/selectMberCertIpList.do"})
public ResponseEntity<StatusResponse> selectMberCertIpList(MberCertIpVO mberCertPhoneVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(userId == null) {
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
}
mberCertPhoneVO.setMberId(userId);
return ResponseEntity.ok().body(certLoginLogService.selectMberCertIpList(mberCertPhoneVO));
}
@RequestMapping(value = {"/cert/ip/insertCertIp.do"})
public ResponseEntity<StatusResponse> insertCertIp(MberCertIpVO mberCertIpVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(userId == null) {
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
}
mberCertIpVO.setFrstRegisterId(userId);
mberCertIpVO.setMberId(userId);
return ResponseEntity.ok().body(certLoginLogService.insertCertIp(mberCertIpVO));
}
@RequestMapping(value = {"/cert/ip/deleteCertIp.do"})
public ResponseEntity<StatusResponse> deleteCertIp(MberCertIpVO mberCertIpVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
//로그인 권한정보 불러오기
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(userId == null) {
if(StringUtils.isEmpty(userId)) return ResponseEntity.ok().body(new StatusResponse(HttpStatus.BAD_REQUEST, "로그인 후 이용해 주세요", LocalDateTime.now()));
}
mberCertIpVO.setLastUpdusrId(userId);
mberCertIpVO.setMberId(userId);
return ResponseEntity.ok().body(certLoginLogService.deleteCertIp(mberCertIpVO));
}
*/
}

View File

@ -1,74 +0,0 @@
package itn.let.cop.bbs.service;
import java.util.Map;
/**
* 게시판 속성관리를 위한 서비스 인터페이스 클래스
* @author 공통 서비스 개발팀 한성곤
* @since 2009.08.25
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.08.25 한성곤 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
public interface EgovBBSLoneMasterService {
/**
* 등록된 게시판 속성정보를 삭제한다.
* @param BoardMaster
*
* @param boardMaster
* @exception Exception Exception
*/
public void deleteMaster(BoardMaster boardMaster)
throws Exception;
/**
* 신규 게시판 속성정보를 생성한다.
* @param BoardMaster
*
* @param boardMaster
* @exception Exception Exception
*/
public String insertMaster(BoardMaster boardMaster)
throws Exception;
/**
* 게시판 속성정보 건을 상세조회한다.
* @param BoardMasterVO
*
* @param searchVO
* @exception Exception Exception
*/
public BoardMasterVO selectMaster(BoardMaster searchVO)
throws Exception;
/**
* 게시판 속성 정보의 목록을 조회 한다.
* @param BoardMasterVO
*
* @param searchVO
* @exception Exception Exception
*/
public Map<String, Object> selectMasterList(BoardMasterVO searchVO)
throws Exception;
/**
* 게시판 속성정보를 수정한다.
* @param BoardMaster
*
* @param boardMaster
* @exception Exception Exception
*/
public void updateMaster(BoardMaster boardMaster)
throws Exception;
}

View File

@ -1,86 +0,0 @@
package itn.let.cop.bbs.service.impl;
import java.util.List;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import itn.let.cop.bbs.service.BoardMaster;
import itn.let.cop.bbs.service.BoardMasterVO;
import org.springframework.stereotype.Repository;
/**
* 게시판 속성정보 관리를 위한 데이터 접근 클래스
* @author 공통 서비스 개발팀 한성곤
* @since 2009.08.25
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.08.25 한성곤 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Repository("BBSLoneMasterDAO")
public class BBSLoneMasterDAO extends EgovAbstractDAO {
/**
* 등록된 게시판 속성정보를 삭제한다.
*
* @param BoardMaster
*/
public void deleteMaster(BoardMaster boardMaster) throws Exception {
update("BBSLoneMasterDAO.deleteMaster", boardMaster);
}
/**
* 신규 게시판 속성정보를 등록한다.
*
* @param BoardMaster
*/
public String insertMaster(BoardMaster boardMaster) throws Exception {
return (String)insert("BBSLoneMasterDAO.insertMaster", boardMaster);
}
/**
* 게시판 속성정보 건을 상세조회 한다.
*
* @param BoardMasterVO
*/
public BoardMasterVO selectMaster(BoardMaster vo) throws Exception {
return (BoardMasterVO)select("BBSLoneMasterDAO.selectMaster", vo);
}
/**
* 게시판 속성정보 목록을 조회한다.
*
* @param BoardMasterVO
*/
@SuppressWarnings("unchecked")
public List<BoardMasterVO> selectMasterList(BoardMasterVO vo) throws Exception {
return (List<BoardMasterVO>) list("BBSLoneMasterDAO.selectMasterList", vo);
}
/**
* 게시판 속성정보 목록 숫자를 조회한다
*
* @param vo
* @return
* @throws Exception
*/
public int selectMasterListCnt(BoardMasterVO vo) throws Exception {
return (Integer)select("BBSLoneMasterDAO.selectMasterListCnt", vo);
}
/**
* 게시판 속성정보를 수정한다.
*
* @param BoardMaster
*/
public void updateMaster(BoardMaster boardMaster) throws Exception {
update("BBSLoneMasterDAO.updateMaster", boardMaster);
}
}

View File

@ -1,115 +0,0 @@
package itn.let.cop.bbs.service.impl;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import itn.let.cop.bbs.service.BoardMaster;
import itn.let.cop.bbs.service.BoardMasterVO;
import itn.let.cop.bbs.service.EgovBBSLoneMasterService;
import itn.let.cop.com.service.BoardUseInf;
import itn.let.cop.com.service.impl.BBSUseInfoManageDAO;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* 게시판 속성관리를 위한 서비스 구현 클래스
* @author 공통 서비스 개발팀 한성곤
* @since 2009.08.25
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.08.25 한성곤 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Service("EgovBBSLoneMasterService")
public class EgovBBSLoneMasterServiceImpl extends EgovAbstractServiceImpl implements EgovBBSLoneMasterService {
@Resource(name = "BBSLoneMasterDAO")
private BBSLoneMasterDAO masterDAO;
@Resource(name = "BBSUseInfoManageDAO")
private BBSUseInfoManageDAO bbsUseDAO;
@Resource(name = "egovBBSMstrIdGnrService")
private EgovIdGnrService idgenService;
/**
* 등록된 게시판 속성정보를 삭제한다.
*/
public void deleteMaster(BoardMaster boardMaster) throws Exception {
masterDAO.deleteMaster(boardMaster);
BoardUseInf bdUseInf = new BoardUseInf();
bdUseInf.setBbsId(boardMaster.getBbsId());
bdUseInf.setLastUpdusrId(boardMaster.getLastUpdusrId());
bbsUseDAO.deleteBBSUseInfByBoardId(bdUseInf);
}
/**
* 신규 게시판 속성정보를 생성한다.
*/
public String insertMaster(BoardMaster boardMaster) throws Exception {
String bbsId = idgenService.getNextStringId();
boardMaster.setBbsId(bbsId);
masterDAO.insertMaster(boardMaster);
//----------------------------------------------
// 게시판 사용 등록 (시스템)
//----------------------------------------------
BoardUseInf bdUseInf = new BoardUseInf();
bdUseInf.setBbsId(bbsId);
bdUseInf.setTrgetId("SYSTEM_DEFAULT_BOARD");
bdUseInf.setRegistSeCode("REGC01");
bdUseInf.setFrstRegisterId(boardMaster.getFrstRegisterId());
bdUseInf.setUseAt("Y");
bbsUseDAO.insertBBSUseInf(bdUseInf);
return bbsId;
}
/**
* 게시판 속성정보 건을 상세조회한다.
*/
public BoardMasterVO selectMaster(BoardMaster searchVO) throws Exception {
return masterDAO.selectMaster(searchVO);
}
/**
* 게시판 속성 정보의 목록을 조회 한다.
*/
public Map<String, Object> selectMasterList(BoardMasterVO searchVO) throws Exception {
List<BoardMasterVO> result = masterDAO.selectMasterList(searchVO);
int cnt = masterDAO.selectMasterListCnt(searchVO);
Map<String, Object> map = new HashMap<String, Object>();
map.put("resultList", result);
map.put("resultCnt", Integer.toString(cnt));
return map;
}
/**
* 게시판 속성정보를 수정한다.
*/
public void updateMaster(BoardMaster boardMaster) throws Exception {
masterDAO.updateMaster(boardMaster);
}
}

View File

@ -49,7 +49,6 @@ import itn.let.cop.cmt.service.CommentVO;
import itn.let.cop.cmt.service.EgovArticleCommentService;
import itn.let.sec.ram.service.AuthorManageVO;
import itn.let.sec.ram.service.EgovAuthorManageService;
import itn.let.sym.site.service.EgovSiteManagerService;
import itn.let.uss.umt.service.EgovUserManageService;
import itn.let.uss.umt.service.UserDefaultVO;
@ -99,9 +98,6 @@ public class EgovBBSAttributeManageController {
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Resource(name = "egovSiteManagerService")
EgovSiteManagerService egovSiteManagerService;
@Resource(name = "EgovBBSManageService")
private EgovBBSManageService bbsMngService;
@ -250,7 +246,7 @@ public class EgovBBSAttributeManageController {
List<EgovMap> mngIdList = new ArrayList<>();
mngIdList = bbsAttrbService.selectBBSMngIdList(tempVO);
tempVO.setMngIdList(mngIdList);
tempVO.setBbsHomeUrl(getBbsUrl(tempVO.getBbsId(), bbsHomeUrl));
tempVO.setBbsHomeUrl(bbsHomeUrl);
}
paginationInfo.setTotalRecordCount(totCnt);
@ -579,51 +575,6 @@ public class EgovBBSAttributeManageController {
return modelAndView;
}
/**
* 게시판 관리 권한 여부 체크
* @param manageAuth 게시판 관리권한
* @param mngIdList 게시판 관리자 목록 (없을 null)
* @param bbsId 게시판Id (게시판 관리자ID 목록 없을 조회하기 위한 게시판ID. 게시판 관리자 목록 있을 null)
* @return boolean
* @throws Exception
*/
private boolean isBBSManageAuthFlag(String manageAuth, List<EgovMap> mngIdList, String bbsId) throws Exception {
boolean authFlag = false;
List<String> authorities = EgovUserDetailsHelper.getAuthorities();
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
if (manageAuth == null) {
BoardMasterVO vo = new BoardMasterVO();
vo.setBbsId(bbsId);
vo = bbsAttrbService.selectBBSMasterInf(vo);
manageAuth = vo.getManageAuth();
}
// 게시판 관리권한 체크
for (String authority : authorities) {
if (authority.equals(manageAuth)) authFlag = true;
}
// 게시판 관리자 체크
if (!authFlag) {
if (mngIdList == null) {
BoardMaster vo = new BoardMaster();
vo.setBbsId(bbsId);
mngIdList = (List<EgovMap>)bbsAttrbService.selectBBSMngIdList(vo);
}
int mngYn = 0;
for(int i = 0; i < mngIdList.size(); i++) {
String emplyrId = (String) mngIdList.get(i).get("emplyrId");
if (emplyrId.equals(user.getId())) mngYn++;
}
if (mngYn != 0) authFlag = true;
}
return authFlag;
}
/**
* 게시판 공통코드 권한목록 Set
* @param model
@ -764,122 +715,6 @@ public class EgovBBSAttributeManageController {
return "redirect:/cop/bbs/SelectBBSMasterInfs.do";
}
public String getBbsUrl(String bbsId , String bbsHomeUrl){
//원자력소식
if("BBSMSTR_000000000411".equals(bbsId)
||"BBSMSTR_000000000412".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/NewsList.do"; return bbsHomeUrl ;}
//자료실
if("BBSMSTR_000000000493".equals(bbsId)
||"BBSMSTR_000000000477".equals(bbsId)
||"BBSMSTR_000000000476".equals(bbsId)
||"BBSMSTR_000000000475".equals(bbsId)
||"BBSMSTR_000000000474".equals(bbsId)
||"BBSMSTR_000000000473".equals(bbsId)
||"BBSMSTR_000000000472".equals(bbsId)
||"BBSMSTR_000000000471".equals(bbsId)
||"BBSMSTR_000000000461".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/LibList.do?bbsId="+bbsId; return bbsHomeUrl ;}
//자주하는질문
if("BBSMSTR_000000000429".equals(bbsId)
||"BBSMSTR_000000000428".equals(bbsId)
||"BBSMSTR_000000000427".equals(bbsId)
||"BBSMSTR_000000000426".equals(bbsId)
||"BBSMSTR_000000000425".equals(bbsId)
||"BBSMSTR_000000000424".equals(bbsId)
||"BBSMSTR_000000000423".equals(bbsId)
||"BBSMSTR_000000000422".equals(bbsId)
||"BBSMSTR_000000000421".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/FaqList.do"; return bbsHomeUrl ;}
//묻고답하기
if("BBSMSTR_000000000528".equals(bbsId)
||"BBSMSTR_000000000527".equals(bbsId)
||"BBSMSTR_000000000526".equals(bbsId)
||"BBSMSTR_000000000525".equals(bbsId)
||"BBSMSTR_000000000524".equals(bbsId)
||"BBSMSTR_000000000523".equals(bbsId)
||"BBSMSTR_000000000522".equals(bbsId)
||"BBSMSTR_000000000521".equals(bbsId)
||"BBSMSTR_000000000490".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/QnaList.do"; return bbsHomeUrl ;}
//사전정보공표
if("BBSMSTR_000000000541".equals(bbsId)
||"BBSMSTR_000000000456".equals(bbsId)
||"BBSMSTR_000000000455".equals(bbsId)
||"BBSMSTR_000000000454".equals(bbsId)
||"BBSMSTR_000000000453".equals(bbsId)
||"BBSMSTR_000000000452".equals(bbsId)
||"BBSMSTR_000000000451".equals(bbsId)
||"BBSMSTR_000000000445".equals(bbsId)
||"BBSMSTR_000000000444".equals(bbsId)
||"BBSMSTR_000000000443".equals(bbsId)
||"BBSMSTR_000000000442".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?bbsId="+bbsId; return bbsHomeUrl ;}
//통합경영공시
if("BBSMSTR_000000000581".equals(bbsId)
||"BBSMSTR_000000000582".equals(bbsId)
||"BBSMSTR_000000000583".equals(bbsId)
||"BBSMSTR_000000000584".equals(bbsId)
){bbsHomeUrl = "/web/content.do?proFn=9640000"; return bbsHomeUrl ;}
//사전정보공표(하단 리스트 게시판 ) BBSMSTR_000000000442 ~
if("BBSMSTR_000000000599".equals(bbsId)
||"BBSMSTR_000000000551".equals(bbsId)
||"BBSMSTR_000000000598".equals(bbsId)
||"BBSMSTR_000000000597".equals(bbsId)
||"BBSMSTR_000000000596".equals(bbsId)
||"BBSMSTR_000000000595".equals(bbsId)
||"BBSMSTR_000000000594".equals(bbsId)
||"BBSMSTR_000000000593".equals(bbsId)
||"BBSMSTR_000000000571".equals(bbsId)
||"BBSMSTR_000000000602".equals(bbsId)
||"BBSMSTR_000000000601".equals(bbsId)
||"BBSMSTR_000000000600".equals(bbsId)
||"BBSMSTR_000000000592".equals(bbsId)
||"BBSMSTR_000000000591".equals(bbsId)
||"BBSMSTR_000000000608".equals(bbsId)
||"BBSMSTR_000000000607".equals(bbsId)
||"BBSMSTR_000000000606".equals(bbsId)
||"BBSMSTR_000000000605".equals(bbsId)
||"BBSMSTR_000000000604".equals(bbsId)
||"BBSMSTR_000000000603".equals(bbsId)
||"BBSMSTR_000000000614".equals(bbsId)
||"BBSMSTR_000000000613".equals(bbsId)
||"BBSMSTR_000000000612".equals(bbsId)
||"BBSMSTR_000000000611".equals(bbsId)
||"BBSMSTR_000000000610".equals(bbsId)
||"BBSMSTR_000000000609".equals(bbsId)
||"BBSMSTR_000000000632".equals(bbsId)
||"BBSMSTR_000000000631".equals(bbsId)
||"BBSMSTR_000000000630".equals(bbsId)
||"BBSMSTR_000000000616".equals(bbsId)
||"BBSMSTR_000000000615".equals(bbsId)
||"BBSMSTR_000000000618".equals(bbsId)
||"BBSMSTR_000000000617".equals(bbsId)
||"BBSMSTR_000000000621".equals(bbsId)
||"BBSMSTR_000000000620".equals(bbsId)
||"BBSMSTR_000000000619".equals(bbsId)
||"BBSMSTR_000000000625".equals(bbsId)
||"BBSMSTR_000000000622".equals(bbsId)
||"BBSMSTR_000000000629".equals(bbsId)
){bbsHomeUrl = "/web/cop/bbs/PubOperList.do?pubDetail=Y&bbsId="+bbsId; return bbsHomeUrl ;}
return bbsHomeUrl+bbsId;
}
//게시판 마스터 리스트 엑셀 다운로드
@RequestMapping(value="/cop/bbs/bbsMasterExcelDownload.do")

View File

@ -1,243 +0,0 @@
package itn.let.cop.bbs.web;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.support.SessionStatus;
import org.springmodules.validation.commons.DefaultBeanValidator;
import egovframework.rte.fdl.property.EgovPropertyService;
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.LoginVO;
import itn.com.cmm.service.EgovCmmUseService;
import itn.let.cop.bbs.service.BoardMaster;
import itn.let.cop.bbs.service.BoardMasterVO;
import itn.let.cop.bbs.service.EgovBBSLoneMasterService;
/**
* 게시판 속성관리를 위한 컨트롤러 클래스
* @author 공통 서비스 개발팀 한성곤
* @since 2009.08.25
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.08.25 한성곤 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* </pre>
*/
@Controller
public class EgovBBSLoneMasterController {
@Resource(name = "EgovBBSLoneMasterService")
private EgovBBSLoneMasterService bbsLoneService;
@Resource(name = "EgovCmmUseService")
private EgovCmmUseService cmmUseService;
@Resource(name = "propertiesService")
protected EgovPropertyService propertyService;
@Autowired
private DefaultBeanValidator beanValidator;
/**
* 신규 게시판 마스터 등록을 위한 등록페이지로 이동한다.
*
* @param boardMasterVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/addBoardMaster.do")
public String addBoardMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception {
BoardMaster boardMaster = new BoardMaster();
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM004");
List<?> codeResult = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("typeList", codeResult);
vo.setCodeId("COM009");
codeResult = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("attrbList", codeResult);
model.addAttribute("boardMaster", boardMaster);
return "cop/bbs/EgovBBSLoneMstrRegist";
}
/**
* 신규 게시판 마스터 정보를 등록한다.
*
* @param boardMasterVO
* @param boardMaster
* @param status
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/insertBoardMaster.do")
public String insertBoardMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster,
BindingResult bindingResult, SessionStatus status, ModelMap model) throws Exception {
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
beanValidator.validate(boardMaster, bindingResult);
if (bindingResult.hasErrors()) {
ComDefaultCodeVO vo = new ComDefaultCodeVO();
vo.setCodeId("COM004");
List<?> codeResult = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("typeList", codeResult);
vo.setCodeId("COM009");
codeResult = cmmUseService.selectCmmCodeDetail(vo);
model.addAttribute("attrbList", codeResult);
return "cop/bbs/EgovBBSLoneMstrRegist";
}
if (isAuthenticated) {
boardMaster.setFrstRegisterId(user.getUniqId());
boardMaster.setUseAt("Y");
boardMaster.setTrgetId("SYSTEMDEFAULT_REGIST");
bbsLoneService.insertMaster(boardMaster);
}
return "forward:/cop/bbs/selectBoardMasterList.do";
}
/**
* 게시판 마스터 목록을 조회한다.
*
* @param boardMasterVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/selectBoardMasterList.do")
public String selectBoardMasterList(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception {
boardMasterVO.setPageUnit(propertyService.getInt("pageUnit"));
boardMasterVO.setPageSize(propertyService.getInt("pageSize"));
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex());
paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit());
paginationInfo.setPageSize(boardMasterVO.getPageSize());
boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex());
boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
Map<String, Object> map = bbsLoneService.selectMasterList(boardMasterVO);
int totCnt = Integer.parseInt((String)map.get("resultCnt"));
paginationInfo.setTotalRecordCount(totCnt);
model.addAttribute("resultList", map.get("resultList"));
model.addAttribute("resultCnt", map.get("resultCnt"));
model.addAttribute("paginationInfo", paginationInfo);
return "cop/bbs/EgovBBSLoneMstrList";
}
/**
* 게시판 마스터 상세내용을 조회한다.
*
* @param boardMasterVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/selectBoardMaster.do")
public String selectBoardMaster(@ModelAttribute("searchVO") BoardMasterVO searchVO, ModelMap model) throws Exception {
BoardMasterVO vo = bbsLoneService.selectMaster(searchVO);
model.addAttribute("result", vo);
model.addAttribute("provdUrl", "/cop/bbs/selectBoardList.do?bbsId=" + vo.getBbsId());
return "cop/bbs/EgovBBSLoneMstrUpdt";
}
/**
* 게시판 마스터 정보를 수정한다.
*
* @param boardMasterVO
* @param boardMaster
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/updateBoardMaster.do")
public String updateBoardMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster,
BindingResult bindingResult, ModelMap model) throws Exception {
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
beanValidator.validate(boardMaster, bindingResult);
if (bindingResult.hasErrors()) {
BoardMasterVO vo = bbsLoneService.selectMaster(boardMasterVO);
model.addAttribute("result", vo);
return "cop/bbs/EgovBBSLoneMstrUpdt";
}
if (isAuthenticated) {
boardMaster.setLastUpdusrId(user.getUniqId());
bbsLoneService.updateMaster(boardMaster);
}
return "forward:/cop/bbs/selectBoardMasterList.do";
}
/**
* 게시판 마스터 정보를 삭제한다.
*
* @param boardMasterVO
* @param boardMaster
* @param status
* @return
* @throws Exception
*/
@RequestMapping("/cop/bbs/deleteBoardMaster.do")
public String deleteBoardMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster,
SessionStatus status) throws Exception {
LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
if (isAuthenticated) {
boardMaster.setLastUpdusrId(user.getUniqId());
bbsLoneService.deleteMaster(boardMaster);
}
// status.setComplete();
return "forward:/cop/bbs/selectBoardMasterList.do";
}
}

View File

@ -282,13 +282,8 @@ public class EgovBBSManageController {
boardVO.setLoginId(user.getId());
if("".equals(master.getSearchSortCnd())){ //최초조회시 최신것 조회List
if("BBSMSTR_000000000528".equals(master.getBbsId())) { //묻고답하기 제외
}else {
boardVO.setSearchSortCnd("FRST_REGIST_PNTTM desc, NTT_ID");
boardVO.setSearchSortOrd("desc");
}
boardVO.setSearchSortCnd("FRST_REGIST_PNTTM desc, NTT_ID");
boardVO.setSearchSortOrd("desc");
}
// 공지사항
@ -314,15 +309,6 @@ public class EgovBBSManageController {
model.addAttribute("brdMstrVO", master);
model.addAttribute("paginationInfo", paginationInfo);
//임시 데이터 이관용
/*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
if (ip == null) ip = request.getRemoteAddr();
String ddd = "";
if("219.240.88.15".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
model.addAttribute("Transfer", true );
}
System.out.println("---ip----"+ip);*/
return "cop/bbs/EgovNoticeList";
}
@ -356,13 +342,6 @@ public class EgovBBSManageController {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
// 관리권한, 사용여부
/*if (bmvo == null || !isBBSAuthFlag(bmvo.getManageAuth(), bmvo.getBbsId(), null)) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
modelAndView.addObject("result", "no_auth");
return modelAndView;
}*/
beanValidator.validate(board, bindingResult);
if (bindingResult.hasErrors()) {
model.addAttribute("bdMstr", bmvo);
@ -446,126 +425,6 @@ public class EgovBBSManageController {
return "cop/bbs/bbsPreview";
}
/**
* 공지사항, 채용공고 데이터 과기부 연동
*
* @param boardVO
* @return
* @throws Exception
*/
public String msitShareIn(Board board, String workType) throws Exception {
if (1 == 1 ) return "asdf";
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
String userId = user.getId();
// yu3145 test s
if (userId.equals("yu3145")) {
// if (1 == 1 ) return "asdf";
URL url;
HttpURLConnection conn = null;
Date today = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dTime = dateFormat.format(today); // ex)"2014-11-19 17:01:05"; // 요청 시간 (서버의 현재 시간을 입력 주세요.)
String sPassword = "2fd1cf70fca385b36c6e4296a1afcd2b"; // 암호키 ( 미래창조과학부에서 제공 하는 기관의 암호키로 변경 하세요) : 10자이상
String organCd = "POLAORKR"; // 기관코드 ( 미래창조과학부에서 제공 하는 기관코드 )
String timeKey =""; // 시간키(요청시간)
String certKey =""; // 인증키 = MD5(기관코드 + timeKey + 암호키)
String bbsId = board.getBbsId();
long nttId = board.getNttId();
String linkUrl = SITE_URL+"/web/cop/bbsWeb/selectBoardArticle.do?bbsId="+bbsId+"&nttId="+nttId;
String contentType;
timeKey = dTime.replace("-","");
timeKey = timeKey.replace(":","");
timeKey = timeKey.replace(" ",""); // 현재 시간에서 숫자를 제외한 모든 문자를 제거함 (14자리 문자열)
long timeKeyInt = ( Long.parseLong(timeKey) + 222222 ) * 2 ; // 제거된 시간을 숫자로 치환수 더하고 곱함
timeKey = Long.toString(timeKeyInt); // 다시 문자열로 치환 : param_01
// MD5 인증키 생성
WebUtil webutil = new WebUtil();
certKey = webutil.MD5(organCd + timeKey + sPassword); // 인증키 ( 기관코드 + 변형된시간 + 암호키) : param_02
// 과기부 컨텐츠 타입
if (("BBSMSTR_000000000018").equals(bbsId)) { // 공지사항
contentType = "NT";
} else if (("BBSMSTR_000000000029").equals(bbsId)) { // 채용공고
contentType = "RE";
} else {
contentType = "";
linkUrl = "";
}
System.out.println("### msit shareIn: param_01: " + timeKey);
System.out.println("### msit shareIn: param_02: " + certKey);
System.out.println("### msit shareIn: organCd: " + organCd);
System.out.println("### msit shareIn: workType: " + workType);
System.out.println("### msit shareIn: contentType: " + contentType);
System.out.println("### msit shareIn: board_type: " + bbsId);
System.out.println("### msit shareIn: board_cd: " + nttId);
System.out.println("### msit shareIn: board_subject: " + board.getNttSj());
System.out.println("### msit shareIn: board_reg_date: " + dTime);
System.out.println("### msit shareIn: board_link_url: " + linkUrl);
if (1 == 1 ) return "asdf";
try {
Map<String,Object> params = new LinkedHashMap<>(); // 파라미터 세팅
params.put("param_01", timeKey);
params.put("param_02", certKey);
params.put("organ_cd", organCd);
params.put("work_type", workType); // I, U, D
params.put("content_type", contentType);
params.put("board_type", bbsId);
params.put("board_cd", nttId);
params.put("board_subject", board.getNttSj());
params.put("board_reg_date", dTime);
params.put("board_link_url", linkUrl);
StringBuilder postData = new StringBuilder();
for(Map.Entry<String,Object> param : params.entrySet()) {
if(postData.length() != 0) postData.append('&');
postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
postData.append('=');
postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
}
byte[] postDataBytes = postData.toString().getBytes("UTF-8");
url = new URL("https://www.msit.go.kr/web/shareData/shareIn.do");
conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
conn.setDoOutput(true);
conn.getOutputStream().write(postDataBytes);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
String inputLine;
while((inputLine = in.readLine()) != null) { // response 출력
System.out.println("### msit shareIn: " + inputLine);
}
// 처리결과 Y : 처리완료 , E : 에러 , M : 데이터 누락, O : 시간초과 ,A : 인증실패
in.close();
} catch (Exception e) {
System.out.println("과기부연동에러. msit shareIn error");
} finally {
if (conn != null) conn.disconnect();
}
} // yu3145 test e
return "";
}
/**
* 게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
*
@ -582,14 +441,6 @@ public class EgovBBSManageController {
bdMstr.setBbsId(boardVO.getBbsId());
bdMstr = bbsAttrbService.selectBBSMasterInf(bdMstr);
// 관리권한, 사용여부
/*if (bdMstr == null || ("N").equals(bdMstr.getUseAt())
|| !isBBSAuthFlag(bdMstr.getManageAuth(), bdMstr.getBbsId(), null)) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
return "redirect:/cop/bbs/SelectBBSMasterInfs.do";
}*/
//boardVO.setNttSj("[답변]" + boardVO.getNttSj());
boardVO.setNttSj(boardVO.getNttSj());
model.addAttribute("board", boardVO);
model.addAttribute("bdMstr", bdMstr);
@ -619,11 +470,6 @@ public class EgovBBSManageController {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
// 관리권한, 사용여부
/*if (bmvo == null || !isBBSAuthFlag(bmvo.getManageAuth(), bmvo.getBbsId(), null)) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
return "redirect:/cop/bbs/SelectBBSMasterInfs.do";
}*/
beanValidator.validate(board, bindingResult);
if (bindingResult.hasErrors()) {
@ -809,14 +655,6 @@ public class EgovBBSManageController {
ComDefaultCodeVO vo = new ComDefaultCodeVO(); //모집상태
vo.setCodeId("ITN015");
model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
//임시 데이터 이관용
/*String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
if (ip == null) ip = request.getRemoteAddr();
String ddd = "";
if("219.240.88.15".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
model.addAttribute("Transfer", true );
}*/
return "cop/bbs/EgovNoticeRegist";
}
@ -911,12 +749,6 @@ public class EgovBBSManageController {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
// 관리권한, 사용여부
/*if (bmvo == null || !isBBSAuthFlag(bmvo.getManageAuth(), bmvo.getBbsId(), null)) {
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
modelAndView.addObject("result", "no_auth");
return modelAndView;
}*/
String atchFileId = boardVO.getAtchFileId();
@ -948,18 +780,6 @@ public class EgovBBSManageController {
int cnt = fileMngService.getMaxFileSN(fvo);
List<FileVO> result = fileUtil.parseFileInf(files, "BBS_", cnt, atchFileId, "", isThumbFile);
/*if(!isPosblAtchFile(result, bmvo, model, board.getAtchFileCnt())) {
if(multiRequest.getServletPath().equals("/cop/bbs/updateBoardArticleAjax.do")) {
modelAndView.addObject("result", "fail");
modelAndView.addObject("failMessage", model.get("message"));
return modelAndView;
}
model.addAttribute("bdMstr", bmvo);
modelAndView.addObject("result", "no_atchFile");
return modelAndView;
}*/
fileMngService.updateFileInfs(result);
}
}
@ -978,11 +798,6 @@ public class EgovBBSManageController {
bbsMngService.updateBoardArticle(board);
// 공지사항, 채용공고 과기부 연동
if (("BBSMSTR_000000000018").equals(board.getBbsId()) || ("BBSMSTR_000000000029").equals(board.getBbsId())) {
msitShareIn(board, "U"); // 실서버에서만 테스트
}
redirectAttributes.addAttribute("pageIndex", boardVO.getPageIndex());
redirectAttributes.addAttribute("searchCnd", boardVO.getSearchCnd());
redirectAttributes.addAttribute("searchWrd", boardVO.getSearchWrd());
@ -1038,107 +853,9 @@ public class EgovBBSManageController {
vo.setCodeId("ITN015");
model.addAttribute("codeList", cmmUseService.selectCmmCodeDetail(vo));
//임시 데이터 이관용
String ip = request.getHeader("X-Forwarded-For") == null ? request.getHeader("X-Forwarded-For") : request.getHeader("X-Forwarded-For").replaceAll("10.12.107.11", "").replaceAll(",", "").trim();
if (ip == null) ip = request.getRemoteAddr();
if("219.240.88.15".equals(ip) || "0:0:0:0:0:0:0:1".equals(ip)) {
model.addAttribute("Transfer", true );
}
return "cop/bbs/EgovNoticeUpdt";
}
/**
* 게시판 관리 권한 여부 체크
* @param manageAuth 게시판 관리권한
* @param bbsId 게시판ID
* @return boolean
* @throws Exception
*/
private boolean isBBSAuthFlag(String manageAuth, String bbsId, List<EgovMap> mngIdList) throws Exception {
boolean authFlag = false;
List<String> authorities = EgovUserDetailsHelper.getAuthorities();
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
// 게시판 관리권한 체크
for (String authority : authorities) {
if (authority.equals(manageAuth)) authFlag = true;
}
// 게시판 관리자 체크
if (!authFlag) {
BoardMaster vo = new BoardMaster();
vo.setBbsId(bbsId);
if (mngIdList == null) mngIdList = (List<EgovMap>)bbsAttrbService.selectBBSMngIdList(vo);
int mngYn = 0;
for(int i = 0; i < mngIdList.size(); i++) {
String emplyrId = (String) mngIdList.get(i).get("emplyrId");
if (emplyrId.equals(user.getId())) mngYn++;
}
if (mngYn != 0) authFlag = true;
if(mngIdList.size() == 0 ) { //관리자 등록 되어 있으면 모두 사용가능
authFlag = true;
}
}
return authFlag;
}
/**
* 첨부파일 개수, 사이즈, 확장자 체크
* @param fileList 파일리스트
* @param boardMasterVO 게시판마스터
* @param atchFileCnt 업로드된 파일
* @return boolean
* @return 체크 오류 메세지 model 'flashMessage' set
* @throws Exception
*/
private boolean isPosblAtchFile(List<FileVO> fileList, BoardMaster boardMaster, ModelMap model, int atchFileCnt) throws Exception {
int fileCnt = 0;
long posblAtchFileSize = Long.parseLong(boardMaster.getPosblAtchFileSize()) * 1024 * 1024 ;
int posblAtchFileNumber = Integer.parseInt(boardMaster.getPosblAtchFileNumber());
String bbsTyCode = boardMaster.getBbsTyCode();
String flashMessage = "";
boolean posblAtchFileFlag = true;
boolean posblAtchFileSizeFlag = true;
boolean posblAtchFileExtFlag = true;
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
FileVO vo = (FileVO) iter.next();
long fileMg = Long.parseLong(vo.getFileMg());
String fileExt = vo.getFileExtsn();
if (fileMg > posblAtchFileSize) posblAtchFileSizeFlag = false;
if (("BBST05").equals(bbsTyCode) || ("BBST06").equals(bbsTyCode)) {
String[] imgExts = {"gif", "jpg", "bmp", "jpeg", "png"};
if (ArrayUtils.indexOf(imgExts, fileExt.toLowerCase()) == -1) posblAtchFileExtFlag = false;
}
fileCnt++;
}
if (!posblAtchFileExtFlag) {
flashMessage += "이미지 형식의 확장자만 업로드 가능합니다." + "\\n";
posblAtchFileFlag = false;
}
if(!posblAtchFileSizeFlag) {
flashMessage += "파일사이즈가 초과되었습니다. 최대크기 " + posblAtchFileSize + "mb" + "\\n";
posblAtchFileFlag = false;
}
if ((fileCnt+atchFileCnt) > posblAtchFileNumber) {
flashMessage += "파일 개수가 초과되었습니다. 최대개수 " + posblAtchFileNumber + "" + "\\n";
posblAtchFileFlag = false;
}
if (!posblAtchFileFlag) model.addAttribute("message", flashMessage);
return posblAtchFileFlag;
}
/**
* 게시물 변경 이력에 대한 목록을 조회한다.
*
@ -1182,7 +899,7 @@ public class EgovBBSManageController {
}
/**
* 게시물 변경이력에 대한 상세 정보를 조회한다.
* 게시물 변경이력에 대한 상세 정보를 조회한다.w
*
* @param boardChgHst
* @param model
@ -1223,11 +940,6 @@ public class EgovBBSManageController {
bbsMngService.deleteBoardArticle(boardVO);
}
// 공지사항, 채용공고 과기부 연동
if (("BBSMSTR_000000000018").equals(boardVO.getBbsId()) || ("BBSMSTR_000000000029").equals(boardVO.getBbsId())) {
msitShareIn(boardVO, "D"); // 실서버에서만 테스트
}
boardVO.setPageIndex(1); //삭제후 첫페이지로 로딩
redirectAttributes.addAttribute("pageIndex", boardVO.getPageIndex());
redirectAttributes.addAttribute("searchCnd", boardVO.getSearchCnd());
@ -1261,80 +973,12 @@ public class EgovBBSManageController {
return "redirect:/cop/bbs/selectBoardList.do";
}
/**
* 사용자 게시글 등록 해당 게시판 관리자에게 메일 전송
* @param mailAddres 메일 주소
* @param bbsId 게시판ID
* @param nttId 게시글ID
* @param bbsNm 게시판
* @return boolean
* @throws Exception
*/
private void sendBBSInsertMail(String mailAddres, String bbsId, long nttId, String bbsNm, String nttSj) throws Exception {
try {
String mailSj = "우체국물류지원단 홈페이지 \'" + bbsNm + "\' 게시판에 사용자 게시글이 등록되었습니다.";
String htmlMsg = "<html>";
htmlMsg += "\'" + bbsNm + "\' 게시판에 사용자 게시글이 등록되었습니다.";
htmlMsg += "<br/><br/>제목: " + nttSj;
htmlMsg += "<br/>링크: <a href='"+SITE_URL+"/cop/bbs/selectBoardArticle.do?bbsId="+bbsId+"&nttId="+nttId+"' target='_blank'>게시물</a>";
htmlMsg += "<br/><br/>우체국물류지원단 시스템관리자";
htmlMsg += "</html>";
// test
/*mailAddres = "yu3145@iten.co.kr";
mailAddres = "kerinet@iten.co.kr" ;
mailAddres = "fruit@pola.or.kr" ;*/
egovMultiPartEmail.send(mailAddres, mailSj, "", htmlMsg);
// egovMultiPartEmail.send(mailAddres, mailSj", mgs); // Simple Text Mail method
} catch (Exception ex) {
LOGGER.error("Sending Mail Exception : {} [unknown Exception]", ex.getCause());
LOGGER.debug(ex.getMessage());
}
}
/**
* @@@@@@@@@@@@@@@@@@@@@@@@@@@@사용자
*/
/**
* (사용자)본인 인증 처리 Test
*
* @param boardVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/web/cop/bbs/authenticationResult.do")
public String authenticationResult(HttpServletRequest request, @ModelAttribute("searchVO") BoardVO boardVO, ModelMap model
,RedirectAttributes redirectAttributes) throws Exception {
UserVO userVO = new UserVO();
String nameEn = (String)request.getParameter("nameEn");
switch (nameEn) {
case "yu1" :
userVO.setName("홍현준"); userVO.setMblDn("1111"); break;
case "yu2" :
userVO.setName("김현준"); userVO.setMblDn("2222"); break;
case "yu3" :
userVO.setName("박현준"); userVO.setMblDn("3333"); break;
}
request.getSession().setAttribute("userVO", userVO);
String url = (String)request.getSession().getAttribute("url");
BoardVO searchVO = (BoardVO)request.getSession().getAttribute("searchVO");
redirectAttributes.addAttribute("pageIndex", searchVO.getPageIndex());
redirectAttributes.addAttribute("searchCnd", searchVO.getSearchCnd());
redirectAttributes.addAttribute("searchWrd", searchVO.getSearchWrd());
redirectAttributes.addAttribute("bbsId", searchVO.getBbsId());
redirectAttributes.addAttribute("nttId", searchVO.getNttId());
return "redirect:" + url;
}
/**
* (사용자)게시물에 대한 목록을 조회한다.
@ -5413,4 +5057,95 @@ public class EgovBBSManageController {
return strEnc ;
}
/**
* 게시판 관리 권한 여부 체크
* @param manageAuth 게시판 관리권한
* @param bbsId 게시판ID
* @return boolean
* @throws Exception
*/
private boolean isBBSAuthFlag(String manageAuth, String bbsId, List<EgovMap> mngIdList) throws Exception {
boolean authFlag = false;
List<String> authorities = EgovUserDetailsHelper.getAuthorities();
LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
// 게시판 관리권한 체크
for (String authority : authorities) {
if (authority.equals(manageAuth)) authFlag = true;
}
// 게시판 관리자 체크
if (!authFlag) {
BoardMaster vo = new BoardMaster();
vo.setBbsId(bbsId);
if (mngIdList == null) mngIdList = (List<EgovMap>)bbsAttrbService.selectBBSMngIdList(vo);
int mngYn = 0;
for(int i = 0; i < mngIdList.size(); i++) {
String emplyrId = (String) mngIdList.get(i).get("emplyrId");
if (emplyrId.equals(user.getId())) mngYn++;
}
if (mngYn != 0) authFlag = true;
if(mngIdList.size() == 0 ) { //관리자 등록 되어 있으면 모두 사용가능
authFlag = true;
}
}
return authFlag;
}
/**
* 첨부파일 개수, 사이즈, 확장자 체크
* @param fileList 파일리스트
* @param boardMasterVO 게시판마스터
* @param atchFileCnt 업로드된 파일
* @return boolean
* @return 체크 오류 메세지 model 'flashMessage' set
* @throws Exception
*/
private boolean isPosblAtchFile(List<FileVO> fileList, BoardMaster boardMaster, ModelMap model, int atchFileCnt) throws Exception {
int fileCnt = 0;
long posblAtchFileSize = Long.parseLong(boardMaster.getPosblAtchFileSize()) * 1024 * 1024 ;
int posblAtchFileNumber = Integer.parseInt(boardMaster.getPosblAtchFileNumber());
String bbsTyCode = boardMaster.getBbsTyCode();
String flashMessage = "";
boolean posblAtchFileFlag = true;
boolean posblAtchFileSizeFlag = true;
boolean posblAtchFileExtFlag = true;
Iterator<?> iter = fileList.iterator();
while (iter.hasNext()) {
FileVO vo = (FileVO) iter.next();
long fileMg = Long.parseLong(vo.getFileMg());
String fileExt = vo.getFileExtsn();
if (fileMg > posblAtchFileSize) posblAtchFileSizeFlag = false;
if (("BBST05").equals(bbsTyCode) || ("BBST06").equals(bbsTyCode)) {
String[] imgExts = {"gif", "jpg", "bmp", "jpeg", "png"};
if (ArrayUtils.indexOf(imgExts, fileExt.toLowerCase()) == -1) posblAtchFileExtFlag = false;
}
fileCnt++;
}
if (!posblAtchFileExtFlag) {
flashMessage += "이미지 형식의 확장자만 업로드 가능합니다." + "\\n";
posblAtchFileFlag = false;
}
if(!posblAtchFileSizeFlag) {
flashMessage += "파일사이즈가 초과되었습니다. 최대크기 " + posblAtchFileSize + "mb" + "\\n";
posblAtchFileFlag = false;
}
if ((fileCnt+atchFileCnt) > posblAtchFileNumber) {
flashMessage += "파일 개수가 초과되었습니다. 최대개수 " + posblAtchFileNumber + "" + "\\n";
posblAtchFileFlag = false;
}
if (!posblAtchFileFlag) model.addAttribute("message", flashMessage);
return posblAtchFileFlag;
}
}

View File

@ -36,15 +36,12 @@ import com.sun.management.OperatingSystemMXBean;
import egovframework.rte.fdl.security.intercept.EgovReloadableFilterInvocationSecurityMetadataSource;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import itn.com.cmm.ComDefaultVO;
import itn.com.cmm.LoginVO;
import itn.com.cmm.util.RedirectUrlMaker;
import itn.com.uss.ion.bnr.service.BannerVO;
import itn.com.uss.ion.bnr.service.EgovBannerService;
import itn.com.uss.ion.cyb.service.CyberAlertManageService;
import itn.com.uss.ion.cyb.service.CyberAlertManageVO;
import itn.com.uss.ion.pwm.service.EgovPopupManageService;
import itn.com.uss.ion.pwm.service.PopupManageVO;
import itn.com.uss.ion.pwm.service.PopupzoneVO;
@ -116,10 +113,6 @@ public class EgovMainController {
@Resource(name = "egovPopupManageService")
private EgovPopupManageService egovPopupManageService;
/** cyberAlertManageService */
@Resource(name = "cyberAlertManageService")
private CyberAlertManageService cyberAlertManageService;
@Resource(name="EgovLoginLogService")
private EgovLoginLogService loginLogService;
@ -1132,16 +1125,6 @@ public class EgovMainController {
List<?> popupzoneList = egovPopupManageService.selectPopupzoneList(popupzoneVo);
model.addAttribute("popupzoneList", popupzoneList);
/** 사이버경고관리 */
CyberAlertManageVO cyberManageVO = new CyberAlertManageVO();
cyberManageVO.setCaId("CYBER_0000000001");
List<?> cyberAlerMap = cyberAlertManageService.selectCyberAlert(cyberManageVO);
EgovMap emp = new EgovMap();
if( cyberAlerMap.size() != 0 ){
emp = (EgovMap)cyberAlerMap.get(0);
}
model.addAttribute("cyberAlerMap", emp);
//model.addAttribute("qriList", egovQustnrRespondInfoService.selectQustnrRespondInfoManageList(qVO));
// 설문참여 메인 컨텐츠 조회 -----------------------------------

View File

@ -84,8 +84,6 @@ import itn.com.uss.ion.bnr.service.BannerVO;
import itn.com.uss.ion.bnr.service.EgovBannerService;
import itn.com.uss.ion.bnr.sub.service.SubMainZoneManageService;
import itn.com.uss.ion.cnf.service.MetaTagManageService;
import itn.com.uss.ion.cyb.service.CyberAlertManageService;
import itn.com.uss.ion.cyb.service.CyberAlertManageVO;
import itn.com.uss.ion.fms.service.FmsFileVO;
import itn.com.uss.ion.pwm.service.EgovPopupManageService;
import itn.com.uss.ion.pwm.service.MainzoneVO;
@ -192,10 +190,6 @@ public class MainController {
@Resource(name = "egovPopupManageService")
private EgovPopupManageService egovPopupManageService;
/** cyberAlertManageService */
@Resource(name = "cyberAlertManageService")
private CyberAlertManageService cyberAlertManageService;
@Resource(name="EgovLoginLogService")
private EgovLoginLogService loginLogService;
@ -431,17 +425,6 @@ public class MainController {
model.addAttribute("popupzoneList", popupzoneList);*/
/** 사이버경고관리 */
CyberAlertManageVO cyberManageVO = new CyberAlertManageVO();
cyberManageVO.setCaId("CYBER_0000000001");
List<?> cyberAlerMap = cyberAlertManageService.selectCyberAlert(cyberManageVO);
EgovMap emp = new EgovMap();
if( cyberAlerMap.size() != 0 ){
emp = (EgovMap)cyberAlerMap.get(0);
}
model.addAttribute("cyberAlerMap", emp);
model.addAttribute("siteId", siteId);
String siteFolder = "site/"+siteId ;
return "web/"+siteFolder+"/main/mainPage";

View File

@ -1,16 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Publish">
<typeAlias alias="publishVO" type="itn.com.uss.ion.pub.service.PublishVO"/>
<select id="publishDAO.selectPublishList" parameterClass="publishVO" resultClass="publishVO">
SELECT no , content FROM PUBLISH A
WHERE 1=1
AND YES_NO != 'D'
AND YES_NO = 'Y'
AND PCODE = 1
LIMIT #recordCountPerPage# OFFSET #firstIndex#
</select>
</sqlMap>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/let/uss/ion/cyb/CyberAlertManage_SQL_Mysql.xml"/>
</sqlMapConfig>

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="egovframework/sqlmap/com/uss/ion/pub/EgovPublish_SQL_Mysql.xml"/>
</sqlMapConfig>

View File

@ -1,46 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<!--
수정일 수정자 수정내용
=========== ======== =================================================
2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경
-->
<sqlMap namespace="UnityLink">
<typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="comDefaultVO" type="itn.com.cmm.ComDefaultVO"/>
<typeAlias alias="cyberAlertManageVO" type="itn.com.uss.ion.cyb.service.CyberAlertManageVO" />
<select id="CyberAlertManage.selectCyberAlertMap" parameterClass="cyberAlertManageVO" resultClass="egovMap">
SELECT A.CA_ID,
A.CA_LEVEL,
A.REGISTER_ID,
DATE_FORMAT(A.REGIST_PNTTM, '%Y-%m-%d') REGIST_PNTTM,
A.LAST_UPDUSR_ID,
DATE_FORMAT(A.LAST_UPDT_PNTTM, '%Y-%m-%d') LAST_UPDT_PNTTM
FROM CYBER_ALERT A
</select>
<update id="CyberAlertManage.updateCyberAlert" parameterClass="cyberAlertManageVO" >
<![CDATA[
INSERT INTO CYBER_ALERT(
CA_ID, CA_LEVEL, REGISTER_ID)
VALUES(
#caId#, #caLevel#, #registerId# )
ON DUPLICATE KEY UPDATE
CA_ID = #caId#,
CA_LEVEL = #caLevel#,
LAST_UPDUSR_ID = #lastUpdusrId#,
LAST_UPDT_PNTTM = now()
]]>
</update>
<delete id="CyberAlertManage.deleteCyberAlert" parameterClass="cyberAlertManageVO">
<![CDATA[
DELETE FROM CYBER_ALERT
WHERE
CA_ID = #caId#
]]>
</delete>
</sqlMap>

View File

@ -1,111 +0,0 @@
<%--
Class Name : CyberAlertView.jsp
Description : 사이버경고
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.03 JJY 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 JJY
since : 2009.03.03
--%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko" >
<title>사용자 상세 및 수정</title>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="cyberManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script type="text/javascript" src="<c:url value='/js/EgovCmmUtl.js'/>" ></script>
<script src="<c:url value='/js/jquery.js' />"></script>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<script type="text/javaScript" language="javascript" defer="defer">
function fnUpdate(form){
if(!confirm("저장 하시겠습니까?")){}
if(validateCyberManageVO(form)){
form.submit();
return true;
}
}
function fnDelete(form){
if(!confirm("삭제 하시겠습니까?")){}
form.updateFlag.value="D" ;
form.submit();
return true;
}
</script>
</head>
<body>
<form:form commandName="cyberManageVO" name="cyberManageVO" action="${pageContext.request.contextPath}/uss/ion/cyb/cyberAlertView.do" method="post" >
<input type="hidden" name="updateFlag" value="Y"/>
<div class="ad_content">
<div class="ad_con_head">
<div class="ad_head_text">
<p class="today_txt">사이버경고 등록/수정</p>
<div class="ad_head_ment">
<p class="today_last_txt"><span id="cnt_cate_list"></span></p>
</div>
</div>
</div>
<div class="ad_subcon">
<div class="main1_div2">
<table class="main1_table">
<tr>
<th class="td_title1"><span class="star_t">*</span>경고레벨</th>
<td colspan="3">
<form:select path="caLevel" id="caLevel" >
<form:options items="${cmmCaLevel}" itemValue="code" itemLabel="codeNm"/>
</form:select>
</td>
</tr>
<tr>
<th class="td_title1"><span class="star_t">*</span>등록자 ID</th>
<td colspan="3" class="td_txt_exist">
${cyberManageVO.registerId}
</td>
</tr>
<tr>
<th class="td_title1"><span class="star_t"></span>최초등록 일자</th>
<td colspan="3" class="td_txt_exist">
${cyberManageVO.registPnttm}
</td>
</tr>
<tr>
<th class="td_title1"><span class="star_t"></span>수정자 ID</th>
<td colspan="3" class="td_txt_exist">
${cyberManageVO.lastUpdusrId}
</td>
</tr>
<tr>
<th class="td_title1"><span class="star_t"></span>수정 일자</th>
<td colspan="3" class="td_txt_exist">
${cyberManageVO.lastUpdtPnttm}
</td>
</tr>
</table>
</div>
<div class="main1_btn_div">
<button class="main1_btn main1_save_btn" id="main1_save_btn" onclick="fnUpdate(document.forms.cyberManageVO); return false;">저 장</button>
<button class="main1_btn main1_delete_btn" id="main1_auth_delete_btn" onclick="fnDelete(document.forms.cyberManageVO); return false;" >삭 제 </button>
</div>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -38,28 +38,6 @@
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<!-- 템플릿 소스에서는 아래의 필터사용 대신 JSP 출력시 <c:out> 태그를 사용하는 것을 기본정책으로 한다 -->
<!-- egovframework.rte.ptl.mvc.filter.HTMLTagFilter itn.com.cmm.filter.HTMLTagFilter-->
<!--
<filter>
<filter-name>HTMLTagFilter</filter-name>
<filter-class>egovframework.rte.ptl.mvc.filter.HTMLTagFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HTMLTagFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
-->
<!-- <filter> -->
<!-- <filter-name>CORSFilter</filter-name> -->
<!-- <filter-class>itn.com.cmm.filter.CORSFilter</filter-class> -->
<!-- </filter> -->
<!-- <filter-mapping> -->
<!-- <filter-name>CORSFilter</filter-name> -->
<!-- <url-pattern>/*</url-pattern> -->
<!-- </filter-mapping> -->
<filter>
<filter-name>CORS</filter-name>
<filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class>
@ -69,8 +47,6 @@
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- security start -->
<filter>
<filter-name>springSecurityFilterChain</filter-name>
@ -91,17 +67,12 @@
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
<!-- <dispatcher>INCLUDE</dispatcher>
<dispatcher>REQUEST</dispatcher> jsp에 대한 요청이 REQUEST,FORWARD 일때 sitemesh 필터를 실행한다.
<dispatcher>FORWARD</dispatcher> -->
</filter-mapping>
<!--// site mesh -->
<listener>
<listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</listener-class>
</listener>
<!-- security end -->
<context-param>

View File

@ -1 +0,0 @@
google-site-verification: google53cfb10eb3856530.html

View File

@ -1 +0,0 @@
google-site-verification: googlefa7d697b23d4a34a.html

View File

@ -1 +0,0 @@
naver-site-verification: naver94c82af5badbae52b1e46e77b88410c9.html