nbs0105 / BOOT_CMS star
문성진 문성진 2023-02-13
카테고리 작업
@38f45a36b52f9add0b0ae8d6cde8f1a5f3236818
base/src/main/java/egovframework/com/cop/bbs/service/BBSAttributeManageService.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSAttributeManageService.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSAttributeManageService.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/BBSAttributeManageService.java
@@ -1,37 +1,37 @@
-package egovframework.com.cop.bbs.service;
-
-import java.util.List;
-import java.util.Map;
-
-
-//게시판 속성관리를 위한 서비스 인터페이스 클래스
-public interface EgovBBSAttributeManageService {
-
-    //등록된 게시판 속성정보를 삭제한다.
-    public void deleteBBSMasterInf(BoardMasterVO boardMaster) throws Exception;
-
-    //신규 게시판 속성정보를 생성한다.
-    public String insertBBSMastetInf(BoardMasterVO boardMaster) throws Exception;
-
-    //게시판 속성정보 한 건을 상세조회한다.
-    public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception;
-
-   
-    //게시판 속성 정보의 목록을 조회 한다.
-    public Map<String, Object> selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception;
-
-    //게시판 속성 정보의 전체 목록을 조회 한다.
-    public List<BoardMasterVO> selectBBSMasterList(BoardMasterVO searchVO) throws Exception;
-
-    //게시판 속성정보를 수정한다.
-    public void updateBBSMasterInf(BoardMasterVO boardMaster) throws Exception;
-
-    //유효한 게시판 마스터 정보를 호출한다.
-    public List<BoardMasterVO> selectAllBBSMasteInf(BoardMasterVO vo) throws Exception;
-
-    //사용등록이 된 게시판 목록 전체를 불러온다.
-    public List<BoardMasterVO> selectAllBBSMasterManageInfs(BoardMasterVO vo) throws Exception ;
-    
-    //사용등록이 된 게시판 목록 숫자를 조회한다
-    public int selectAllBBSMasterManageInfsCnt(BoardMasterVO vo) throws Exception;
-}
+package egovframework.com.cop.bbs.service;
+
+import java.util.List;
+import java.util.Map;
+
+
+//게시판 속성관리를 위한 서비스 인터페이스 클래스
+public interface BBSAttributeManageService {
+
+    //등록된 게시판 속성정보를 삭제한다.
+    public void deleteBBSMasterInf(BoardMasterVO boardMaster) throws Exception;
+
+    //신규 게시판 속성정보를 생성한다.
+    public String insertBBSMastetInf(BoardMasterVO boardMaster) throws Exception;
+
+    //게시판 속성정보 한 건을 상세조회한다.
+    public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception;
+
+   
+    //게시판 속성 정보의 목록을 조회 한다.
+    public Map<String, Object> selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception;
+
+    //게시판 속성 정보의 전체 목록을 조회 한다.
+    public List<BoardMasterVO> selectBBSMasterList(BoardMasterVO searchVO) throws Exception;
+
+    //게시판 속성정보를 수정한다.
+    public void updateBBSMasterInf(BoardMasterVO boardMaster) throws Exception;
+
+    //유효한 게시판 마스터 정보를 호출한다.
+    public List<BoardMasterVO> selectAllBBSMasteInf(BoardMasterVO vo) throws Exception;
+
+    //사용등록이 된 게시판 목록 전체를 불러온다.
+    public List<BoardMasterVO> selectAllBBSMasterManageInfs(BoardMasterVO vo) throws Exception ;
+    
+    //사용등록이 된 게시판 목록 숫자를 조회한다
+    public int selectAllBBSMasterManageInfsCnt(BoardMasterVO vo) throws Exception;
+}
base/src/main/java/egovframework/com/cop/bbs/service/BBSCommentService.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCommentService.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCommentService.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/BBSCommentService.java
@@ -1,107 +1,107 @@
-package egovframework.com.cop.bbs.service;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 댓글관리를 위한 서비스 인터페이스 클래스
- * @author 공통컴포넌트개발팀 한성곤
- * @since 2009.06.29
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.06.29  한성곤          최초 생성
- *
- * </pre>
- */
-public interface EgovBBSCommentService {
-   
-    
-    /**
-     * 댓글에 대한 목록을 조회 한다.
-     * 
-     * @param commentVO
-     * @return
-     * @throws Exception
-     */
-    public Map<String, Object> selectCommentList(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 댓글을 등록한다.
-     * 
-     * @param comment
-     * @throws Exception
-     */
-    public void insertComment(Comment comment) throws Exception;
-    
-    /**
-     * 댓글의 댓글을 등록한다
-     * @param comment
-     * @throws Exception
-     */
-    public void insertReplyComment(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 댓글을 삭제한다.
-     * 
-     * @param commentVO
-     * @throws Exception
-     */
-    public void deleteComment(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 모든 댓글을 삭제한다.
-     * 
-     * @param commentVO
-     * @throws Exception
-     */
-    public void deleteAllComment(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 댓글에 대한 내용을 조회한다.
-     *      
-     * @param commentVO
-     * @return
-     * @throws Exception
-     */
-    public Comment selectComment(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 댓글에 대한 내용을 수정한다.
-     * 
-     * @param comment
-     * @throws Exception
-     */
-    public void updateComment(Comment comment) throws Exception;
-   
-    /**
-     * 댓글 패스워드를 가져온다.
-     * 
-     * @param comment
-     * @return
-     * @throws Exception
-     */
-    public String getCommentPassword(Comment comment) throws Exception;
-    
-    /**
-     * 내가 작성한 댓글에 대한 목록 건수를 조회 한다.
-     * 
-     * @param commentVO
-     * @return
-     * @throws Exception
-     */
-    public int selectMyCommentListCnt(CommentVO commentVO) throws Exception;
-    
-    /**
-     * 관리용 댓글을 복사한다.
-     * 
-     * @param board
-     * @throws Exception
-     */
-    public void updateCommentManageCopy(List<String> nttNoArr, List<BoardVO> articleList) throws Exception;
-}
+package egovframework.com.cop.bbs.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 댓글관리를 위한 서비스 인터페이스 클래스
+ * @author 공통컴포넌트개발팀 한성곤
+ * @since 2009.06.29
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.06.29  한성곤          최초 생성
+ *
+ * </pre>
+ */
+public interface BBSCommentService {
+   
+    
+    /**
+     * 댓글에 대한 목록을 조회 한다.
+     * 
+     * @param commentVO
+     * @return
+     * @throws Exception
+     */
+    public Map<String, Object> selectCommentList(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 댓글을 등록한다.
+     * 
+     * @param comment
+     * @throws Exception
+     */
+    public void insertComment(Comment comment) throws Exception;
+    
+    /**
+     * 댓글의 댓글을 등록한다
+     * @param comment
+     * @throws Exception
+     */
+    public void insertReplyComment(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 댓글을 삭제한다.
+     * 
+     * @param commentVO
+     * @throws Exception
+     */
+    public void deleteComment(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 모든 댓글을 삭제한다.
+     * 
+     * @param commentVO
+     * @throws Exception
+     */
+    public void deleteAllComment(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 댓글에 대한 내용을 조회한다.
+     *      
+     * @param commentVO
+     * @return
+     * @throws Exception
+     */
+    public Comment selectComment(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 댓글에 대한 내용을 수정한다.
+     * 
+     * @param comment
+     * @throws Exception
+     */
+    public void updateComment(Comment comment) throws Exception;
+   
+    /**
+     * 댓글 패스워드를 가져온다.
+     * 
+     * @param comment
+     * @return
+     * @throws Exception
+     */
+    public String getCommentPassword(Comment comment) throws Exception;
+    
+    /**
+     * 내가 작성한 댓글에 대한 목록 건수를 조회 한다.
+     * 
+     * @param commentVO
+     * @return
+     * @throws Exception
+     */
+    public int selectMyCommentListCnt(CommentVO commentVO) throws Exception;
+    
+    /**
+     * 관리용 댓글을 복사한다.
+     * 
+     * @param board
+     * @throws Exception
+     */
+    public void updateCommentManageCopy(List<String> nttNoArr, List<BoardVO> articleList) throws Exception;
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/BBSCtgryMasterService.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/BBSCtgryMasterService.java
@@ -0,0 +1,30 @@
+package egovframework.com.cop.bbs.service;
+
+import java.util.List;
+
+//카테고리마스터 Service
+public interface BBSCtgryMasterService {
+	
+	//COMTNBBSCTGRYMASTER을 등록한다.
+    String insertComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+    
+    //COMTNBBSCTGRYMASTER을 수정한다.
+    void updateComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+    
+    //COMTNBBSCTGRYMASTER을 삭제한다.
+    void deleteComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+    
+    //COMTNBBSCTGRYMASTER을 조회한다.
+    CtgryMasterVO selectComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+    
+    //카테고리마스터Id검색
+    CtgryMasterVO selectCtgrymasterId(CtgryMasterVO vo) throws Exception;
+    
+    //COMTNBBSCTGRYMASTER 목록을 조회한다.
+    List<CtgryMasterVO> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception;
+    
+    //COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
+    int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO);
+    
+    List<CtgryMasterVO> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception;
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/BBSCtgryService.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/BBSCtgryService.java
@@ -0,0 +1,32 @@
+package egovframework.com.cop.bbs.service;
+
+import java.util.List;
+
+//카테고리
+public interface BBSCtgryService {
+	
+	//COMTNBBSCTGRY을 등록한다.
+    String insertComtnbbsctgry(CtgryVO vo) throws Exception;
+    
+    //COMTNBBSCTGRY을 수정한다.
+    void updateComtnbbsctgry(CtgryVO vo) throws Exception;
+    
+    //COMTNBBSCTGRY을 삭제한다.
+    void deleteComtnbbsctgry(CtgryVO vo) throws Exception;
+    
+    //COMTNBBSCTGRY을 조회한다.
+	CtgryVO selectComtnbbsctgry(CtgryVO vo) throws Exception;
+    
+    //COMTNBBSCTGRY 목록을 조회한다.
+    List<CtgryVO> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception;
+    
+    //COMTNBBSCTGRY 총 갯수를 조회한다.
+    int selectComtnbbsctgryListTotCnt(CtgryVO searchVO);
+    
+	//COMTNBBSCTGRY DEPTH를 조회한다.
+    public int selectComtnbbsctgryLevel(CtgryVO searchVO);
+    
+    //정렬순서를 수정한다.
+    public void updateSortOrdr(CtgryVO vo) throws Exception;
+
+}
base/src/main/java/egovframework/com/cop/bbs/service/BBSManageService.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSManageService.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSManageService.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/BBSManageService.java
@@ -1,53 +1,51 @@
-package egovframework.com.cop.bbs.service;
-
-import java.util.List;
-
-import egovframework.rte.psl.dataaccess.util.EgovMap;
-
-
-//게시물 관리를 위한 서비스 인터페이스  클래스
-public interface EgovBBSManageService {
-
-    //게시물 한 건을 삭제 한다.
-    public void deleteBoardArticle(BoardVO Board, BoardMasterVO master) throws Exception;
-
-    //게시판에 게시물을 등록 한다.
-    public void insertBoardArticle(BoardVO board, BoardMasterVO master) throws Exception ;
-
-    //게시판에 답변 게시물을 등록 한다.
-    public void replyBoardArticle(BoardVO board, BoardMasterVO master) throws Exception ;
-
-    //게시물 대하여 상세 내용을 조회 한다.
-    public BoardVO selectBoardArticle(BoardVO boardVO) throws Exception;
-
-    //조건에 맞는 게시물 목록을 조회 한다.
-    public List<BoardVO> selectBoardArticles(BoardVO boardVO) throws Exception;
-
-    //조건에 맞는 게시물 목록건수를 조회 한다.
-    public int selectBoardArticlesCnt(BoardVO boardVO) throws Exception;
-
-    //게시물 한 건의 내용을 수정 한다.
-    public void updateBoardArticle(BoardVO Board, BoardMasterVO master, boolean isEstn) throws Exception;
-
-    //조건에 맞는 게시물 목록을 조회 한다.
-    public List<BoardVO> selectSearchBoardArticleList(BoardVO boardVO) throws Exception ;
-
-    //조건에 맞는 게시물 목록에 대한 전체 건수를 조회 한다.
-    public int selectSearchBoardArticleListCnt(BoardVO boardVO) throws Exception ;
-
-    //관리용 게시물을 이동시킨다.
-    public void updateBoardArticlesManageMove(BoardVO board) throws Exception ;
-
-    //관리용 게시물을 복사한다.
-    public void updateBoardArticlesManageCopy(BoardVO board) throws Exception;
-
-    //관리용 게시물을 삭제한다.
-    public void updateBoardArticlesManageHide(BoardVO board) throws Exception ;
-
-    //게시물 한 건을 완전삭제 한다.
-    public void deleteCompleteBoardArticle(BoardVO board) throws Exception ;
-
-    //게시물 한 건을 복구 한다.
-    public void repairBoardArticle(BoardVO board) throws Exception ;
-
-}
+package egovframework.com.cop.bbs.service;
+
+import java.util.List;
+
+
+//게시물 관리를 위한 서비스 인터페이스  클래스
+public interface BBSManageService {
+
+    //게시물 한 건을 삭제 한다.
+    public void deleteBoardArticle(BoardVO Board, BoardMasterVO master) throws Exception;
+
+    //게시판에 게시물을 등록 한다.
+    public void insertBoardArticle(BoardVO board, BoardMasterVO master) throws Exception ;
+
+    //게시판에 답변 게시물을 등록 한다.
+    public void replyBoardArticle(BoardVO board, BoardMasterVO master) throws Exception ;
+
+    //게시물 대하여 상세 내용을 조회 한다.
+    public BoardVO selectBoardArticle(BoardVO boardVO) throws Exception;
+
+    //조건에 맞는 게시물 목록을 조회 한다.
+    public List<BoardVO> selectBoardArticles(BoardVO boardVO) throws Exception;
+
+    //조건에 맞는 게시물 목록건수를 조회 한다.
+    public int selectBoardArticlesCnt(BoardVO boardVO) throws Exception;
+
+    //게시물 한 건의 내용을 수정 한다.
+    public void updateBoardArticle(BoardVO Board, BoardMasterVO master, boolean isEstn) throws Exception;
+
+    //조건에 맞는 게시물 목록을 조회 한다.
+    public List<BoardVO> selectSearchBoardArticleList(BoardVO boardVO) throws Exception ;
+
+    //조건에 맞는 게시물 목록에 대한 전체 건수를 조회 한다.
+    public int selectSearchBoardArticleListCnt(BoardVO boardVO) throws Exception ;
+
+    //관리용 게시물을 이동시킨다.
+    public void updateBoardArticlesManageMove(BoardVO board) throws Exception ;
+
+    //관리용 게시물을 복사한다.
+    public void updateBoardArticlesManageCopy(BoardVO board) throws Exception;
+
+    //관리용 게시물을 삭제한다.
+    public void updateBoardArticlesManageHide(BoardVO board) throws Exception ;
+
+    //게시물 한 건을 완전삭제 한다.
+    public void deleteCompleteBoardArticle(BoardVO board) throws Exception ;
+
+    //게시물 한 건을 복구 한다.
+    public void repairBoardArticle(BoardVO board) throws Exception ;
+
+}
base/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java
--- base/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java
@@ -81,9 +81,9 @@
 	private String  answerAuthor = "02";
 
 	//카테고리리스트
-	private List<Ctgry> ctgryList = ListUtils.lazyList(new ArrayList<Ctgry>(), new Factory() {
-		public Ctgry create() {
-			return new Ctgry();
+	private List<CtgryVO> ctgryList = ListUtils.lazyList(new ArrayList<CtgryVO>(), new Factory() {
+		public CtgryVO create() {
+			return new CtgryVO();
 		}
 	});
 
@@ -283,11 +283,11 @@
 		this.answerAuthor = answerAuthor;
 	}
 
-	public List<Ctgry> getCtgryList() {
+	public List<CtgryVO> getCtgryList() {
 		return ctgryList;
 	}
 
-	public void setCtgryList(List<Ctgry> ctgryList) {
+	public void setCtgryList(List<CtgryVO> ctgryList) {
 		this.ctgryList = ctgryList;
 	}
 
 
base/src/main/java/egovframework/com/cop/bbs/service/Ctgry.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/Ctgry.java
@@ -1,145 +0,0 @@
-package egovframework.com.cop.bbs.service;
-
-/**
- * @Class Name : ComtnbbsctgryVO.java
- * @Description : Comtnbbsctgry VO class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-@SuppressWarnings("serial")
-public class Ctgry extends CtgryVO {
-    
-    /** CTGRY_ID */
-    private java.lang.String ctgryId;
-    
-    /** CTGRYMASTER_ID */
-    private java.lang.String ctgrymasterId;
-    
-    /** UPPER_CTGRY_ID */
-    private java.lang.String upperCtgryId;
-    
-    /** CTGRY_NM */
-    private java.lang.String ctgryNm;
-    
-    /** CTGRY_CN */
-    private java.lang.String ctgryCn;
-    
-    /** CTGRY_VAL */
-    private java.lang.String ctgryVal;
-    
-    /** SORT_ORDR */
-    private int sortOrdr = 0;
-        
-    /** USE_AT */
-    private java.lang.String useAt;
-    
-    /**
-	 * 경로 - 명
-	 */
-    private String ctgryPathByName = "";
-    
-    /**
-	 * 경로 - ID
-	 */
-    private String ctgryPathById = "";
-    
-    /**
-	 * 레벨
-	 */
-    private int ctgryLevel = 1;
-    
-    public java.lang.String getCtgryId() {
-        return this.ctgryId;
-    }
-    
-    public void setCtgryId(java.lang.String ctgryId) {
-        this.ctgryId = ctgryId;
-    }
-    
-    public java.lang.String getCtgrymasterId() {
-        return this.ctgrymasterId;
-    }
-    
-    public void setCtgrymasterId(java.lang.String ctgrymasterId) {
-        this.ctgrymasterId = ctgrymasterId;
-    }
-    
-    public java.lang.String getUpperCtgryId() {
-		return upperCtgryId;
-	}
-
-	public void setUpperCtgryId(java.lang.String upperCtgryId) {
-		this.upperCtgryId = upperCtgryId;
-	}
-
-	public java.lang.String getCtgryNm() {
-        return this.ctgryNm;
-    }
-    
-    public void setCtgryNm(java.lang.String ctgryNm) {
-        this.ctgryNm = ctgryNm;
-    }
-        
-    public int getSortOrdr() {
-		return sortOrdr;
-	}
-
-	public void setSortOrdr(int sortOrdr) {
-		this.sortOrdr = sortOrdr;
-	}
-
-	public java.lang.String getUseAt() {
-        return this.useAt;
-    }
-    
-    public void setUseAt(java.lang.String useAt) {
-        this.useAt = useAt;
-    }
-
-	public String getCtgryPathByName() {
-		return ctgryPathByName;
-	}
-
-	public void setCtgryPathByName(String ctgryPathByName) {
-		this.ctgryPathByName = ctgryPathByName;
-	}
-
-	public String getCtgryPathById() {
-		return ctgryPathById;
-	}
-
-	public void setCtgryPathById(String ctgryPathById) {
-		this.ctgryPathById = ctgryPathById;
-	}
-
-	public int getCtgryLevel() {
-		return ctgryLevel;
-	}
-
-	public void setCtgryLevel(int ctgryLevel) {
-		this.ctgryLevel = ctgryLevel;
-	}
-
-	public java.lang.String getCtgryCn() {
-		return ctgryCn;
-	}
-
-	public void setCtgryCn(java.lang.String ctgryCn) {
-		this.ctgryCn = ctgryCn;
-	}
-
-	public java.lang.String getCtgryVal() {
-		return ctgryVal;
-	}
-
-	public void setCtgryVal(java.lang.String ctgryVal) {
-		this.ctgryVal = ctgryVal;
-	}
-    
-}
 
base/src/main/java/egovframework/com/cop/bbs/service/CtgryMaster.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/CtgryMaster.java
@@ -1,88 +0,0 @@
-package egovframework.com.cop.bbs.service;
-
-/**
- * @Class Name : CtgryMasterVO.java
- * @Description : CtgryMaster VO class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-@SuppressWarnings("serial")
-public class CtgryMaster extends CtgryMasterVO{
-    
-    /**
-	 * SITEID
-	 */
-    private String siteId = "";
-    
-    /**
-	 * 시스템구분코드
-	 */
-    private String sysTyCode = "";
-    
-    /** CTGRYMASTER_ID */
-    private java.lang.String ctgrymasterId;
-    
-    /** CTGRYMASTER_NM */
-    private java.lang.String ctgrymasterNm;
-    
-    /** CREAT_DT */
-    private java.sql.Date creatDt;
-    
-    /** USE_AT */
-    private java.lang.String useAt;
-    
-    public String getSiteId() {
-		return siteId;
-	}
-
-	public void setSiteId(String siteId) {
-		this.siteId = siteId;
-	}
-
-	public String getSysTyCode() {
-		return sysTyCode;
-	}
-
-	public void setSysTyCode(String sysTyCode) {
-		this.sysTyCode = sysTyCode;
-	}
-
-	public java.lang.String getCtgrymasterId() {
-        return this.ctgrymasterId;
-    }
-    
-    public void setCtgrymasterId(java.lang.String ctgrymasterId) {
-        this.ctgrymasterId = ctgrymasterId;
-    }
-    
-    public java.lang.String getCtgrymasterNm() {
-        return this.ctgrymasterNm;
-    }
-    
-    public void setCtgrymasterNm(java.lang.String ctgrymasterNm) {
-        this.ctgrymasterNm = ctgrymasterNm;
-    }
-    
-    public java.sql.Date getCreatDt() {
-        return this.creatDt;
-    }
-    
-    public void setCreatDt(java.sql.Date creatDt) {
-        this.creatDt = creatDt;
-    }
-    
-    public java.lang.String getUseAt() {
-        return this.useAt;
-    }
-    
-    public void setUseAt(java.lang.String useAt) {
-        this.useAt = useAt;
-    }
-    
-}
base/src/main/java/egovframework/com/cop/bbs/service/CtgryMasterVO.java
--- base/src/main/java/egovframework/com/cop/bbs/service/CtgryMasterVO.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/CtgryMasterVO.java
@@ -1,125 +1,56 @@
 package egovframework.com.cop.bbs.service;
 
 import java.io.Serializable;
+import java.sql.Date;
+
+import egovframework.com.cmm.ComDefaultVO;
 import org.apache.commons.lang.builder.ToStringBuilder;
 
-/**
- * @Class Name : ComtnbbsctgrymasterDefaultVO.java
- * @Description : Comtnbbsctgrymaster Default VO class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
+
 @SuppressWarnings("serial")
-public class CtgryMasterVO implements Serializable {
-	
-	/** 검색조건 */
-    private String searchCondition = "";
-    
-    /** 검색Keyword */
-    private String searchKeyword = "";
-    
-    /** 검색사용여부 */
-    private String searchUseYn = "";
-    
-    /** 현재페이지 */
-    private int pageIndex = 1;
-    
-    /** 페이지갯수 */
-    private int pageUnit = 10;
-    
-    /** 페이지사이즈 */
-    private int pageSize = 10;
+public class CtgryMasterVO extends ComDefaultVO {
 
-    /** firstIndex */
-    private int firstIndex = 1;
+    //시스템구분코드
+    private String sysTyCode = "";
 
-    /** lastIndex */
-    private int lastIndex = 1;
+    //CTGRYMASTER_ID
+    private java.lang.String ctgrymasterId;
 
-    /** recordCountPerPage */
-    private int recordCountPerPage = 10;
-    
-        
-	public int getFirstIndex() {
-		return firstIndex;
-	}
+    //CTGRYMASTER_NM
+    private java.lang.String ctgrymasterNm;
 
-	public void setFirstIndex(int firstIndex) {
-		this.firstIndex = firstIndex;
-	}
+    // CREAT_DT
+    private java.sql.Date creatDt;
 
-	public int getLastIndex() {
-		return lastIndex;
-	}
-
-	public void setLastIndex(int lastIndex) {
-		this.lastIndex = lastIndex;
-	}
-
-	public int getRecordCountPerPage() {
-		return recordCountPerPage;
-	}
-
-	public void setRecordCountPerPage(int recordCountPerPage) {
-		this.recordCountPerPage = recordCountPerPage;
-	}
-
-	public String getSearchCondition() {
-        return searchCondition;
+    public String getSysTyCode() {
+        return sysTyCode;
     }
 
-    public void setSearchCondition(String searchCondition) {
-        this.searchCondition = searchCondition;
+    public void setSysTyCode(String sysTyCode) {
+        this.sysTyCode = sysTyCode;
     }
 
-    public String getSearchKeyword() {
-        return searchKeyword;
+    public String getCtgrymasterId() {
+        return ctgrymasterId;
     }
 
-    public void setSearchKeyword(String searchKeyword) {
-        this.searchKeyword = searchKeyword;
+    public void setCtgrymasterId(String ctgrymasterId) {
+        this.ctgrymasterId = ctgrymasterId;
     }
 
-    public String getSearchUseYn() {
-        return searchUseYn;
+    public String getCtgrymasterNm() {
+        return ctgrymasterNm;
     }
 
-    public void setSearchUseYn(String searchUseYn) {
-        this.searchUseYn = searchUseYn;
+    public void setCtgrymasterNm(String ctgrymasterNm) {
+        this.ctgrymasterNm = ctgrymasterNm;
     }
 
-    public int getPageIndex() {
-        return pageIndex;
+    public Date getCreatDt() {
+        return creatDt;
     }
 
-    public void setPageIndex(int pageIndex) {
-        this.pageIndex = pageIndex;
+    public void setCreatDt(Date creatDt) {
+        this.creatDt = creatDt;
     }
-
-    public int getPageUnit() {
-        return pageUnit;
-    }
-
-    public void setPageUnit(int pageUnit) {
-        this.pageUnit = pageUnit;
-    }
-
-    public int getPageSize() {
-        return pageSize;
-    }
-
-    public void setPageSize(int pageSize) {
-        this.pageSize = pageSize;
-    }
-
-    public String toString() {
-        return ToStringBuilder.reflectionToString(this);
-    }
-
 }
base/src/main/java/egovframework/com/cop/bbs/service/CtgryVO.java
--- base/src/main/java/egovframework/com/cop/bbs/service/CtgryVO.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/CtgryVO.java
@@ -1,149 +1,136 @@
 package egovframework.com.cop.bbs.service;
 
 import java.io.Serializable;
+
+import egovframework.com.cmm.ComDefaultVO;
 import org.apache.commons.lang.builder.ToStringBuilder;
 
-/**
- * @Class Name : ComtnbbsctgryDefaultVO.java
- * @Description : Comtnbbsctgry Default VO class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
 @SuppressWarnings("serial")
-public class CtgryVO implements Serializable {
-	
-	/** 검색조건 */
-    private String searchCondition = "";
-    
-    /** 검색Keyword */
-    private String searchKeyword = "";
-    
-    /** 검색사용여부 */
-    private String searchUseYn = "";
-    
-    /** 검색대상 */
-    private String searchTarget;
-    
-    /**
-	 * 정렬순서코드  - U:위로, D:아래로
-	 */
+public class CtgryVO extends ComDefaultVO {
+
+    //카테고리ID
+    private java.lang.String ctgryId;
+
+    //카테고리마스터ID
+    private java.lang.String ctgrymasterId;
+
+    //상위카테고리ID
+    private java.lang.String upperCtgryId;
+
+    //카테고리명
+    private java.lang.String ctgryNm;
+
+    //카테고리 설명
+    private java.lang.String ctgryCn;
+
+    //카테고리 값
+    private java.lang.String ctgryVal;
+
+    //SORT_ORDR
+    private int sortOrdr = 0;
+
+    //경로 - 명
+    private String ctgryPathByName = "";
+
+    //경로 - ID
+    private String ctgryPathById = "";
+
+    //레벨
+    private int ctgryLevel = 1;
+
+    //정렬순서코드  - U:위로, D:아래로
     private String sortTyCode = "";
-    
-    /** 현재페이지 */
-    private int pageIndex = 1;
-    
-    /** 페이지갯수 */
-    private int pageUnit = 10;
-    
-    /** 페이지사이즈 */
-    private int pageSize = 10;
 
-    /** firstIndex */
-    private int firstIndex = 1;
 
-    /** lastIndex */
-    private int lastIndex = 1;
-
-    /** recordCountPerPage */
-    private int recordCountPerPage = 10;
-    
-        
-	public int getFirstIndex() {
-		return firstIndex;
-	}
-
-	public void setFirstIndex(int firstIndex) {
-		this.firstIndex = firstIndex;
-	}
-
-	public int getLastIndex() {
-		return lastIndex;
-	}
-
-	public void setLastIndex(int lastIndex) {
-		this.lastIndex = lastIndex;
-	}
-
-	public int getRecordCountPerPage() {
-		return recordCountPerPage;
-	}
-
-	public void setRecordCountPerPage(int recordCountPerPage) {
-		this.recordCountPerPage = recordCountPerPage;
-	}
-
-	public String getSearchCondition() {
-        return searchCondition;
+    public String getCtgryId() {
+        return ctgryId;
     }
 
-    public void setSearchCondition(String searchCondition) {
-        this.searchCondition = searchCondition;
+    public void setCtgryId(String ctgryId) {
+        this.ctgryId = ctgryId;
     }
 
-    public String getSearchKeyword() {
-        return searchKeyword;
+    public String getCtgrymasterId() {
+        return ctgrymasterId;
     }
 
-    public void setSearchKeyword(String searchKeyword) {
-        this.searchKeyword = searchKeyword;
+    public void setCtgrymasterId(String ctgrymasterId) {
+        this.ctgrymasterId = ctgrymasterId;
     }
 
-    public String getSearchUseYn() {
-        return searchUseYn;
+    public String getUpperCtgryId() {
+        return upperCtgryId;
     }
 
-    public void setSearchUseYn(String searchUseYn) {
-        this.searchUseYn = searchUseYn;
+    public void setUpperCtgryId(String upperCtgryId) {
+        this.upperCtgryId = upperCtgryId;
     }
 
-    public String getSearchTarget() {
-		return searchTarget;
-	}
-
-	public void setSearchTarget(String searchTarget) {
-		this.searchTarget = searchTarget;
-	}
-
-	public String getSortTyCode() {
-		return sortTyCode;
-	}
-
-	public void setSortTyCode(String sortTyCode) {
-		this.sortTyCode = sortTyCode;
-	}
-
-	public int getPageIndex() {
-        return pageIndex;
+    public String getCtgryNm() {
+        return ctgryNm;
     }
 
-    public void setPageIndex(int pageIndex) {
-        this.pageIndex = pageIndex;
+    public void setCtgryNm(String ctgryNm) {
+        this.ctgryNm = ctgryNm;
     }
 
-    public int getPageUnit() {
-        return pageUnit;
+    public String getCtgryCn() {
+        return ctgryCn;
     }
 
-    public void setPageUnit(int pageUnit) {
-        this.pageUnit = pageUnit;
+    public void setCtgryCn(String ctgryCn) {
+        this.ctgryCn = ctgryCn;
     }
 
-    public int getPageSize() {
-        return pageSize;
+    public String getCtgryVal() {
+        return ctgryVal;
     }
 
-    public void setPageSize(int pageSize) {
-        this.pageSize = pageSize;
+    public void setCtgryVal(String ctgryVal) {
+        this.ctgryVal = ctgryVal;
     }
 
-    public String toString() {
-        return ToStringBuilder.reflectionToString(this);
+    @Override
+    public int getSortOrdr() {
+        return sortOrdr;
     }
 
+    @Override
+    public void setSortOrdr(int sortOrdr) {
+        this.sortOrdr = sortOrdr;
+    }
+
+    public String getCtgryPathByName() {
+        return ctgryPathByName;
+    }
+
+    public void setCtgryPathByName(String ctgryPathByName) {
+        this.ctgryPathByName = ctgryPathByName;
+    }
+
+    public String getCtgryPathById() {
+        return ctgryPathById;
+    }
+
+    public void setCtgryPathById(String ctgryPathById) {
+        this.ctgryPathById = ctgryPathById;
+    }
+
+    public int getCtgryLevel() {
+        return ctgryLevel;
+    }
+
+    public void setCtgryLevel(int ctgryLevel) {
+        this.ctgryLevel = ctgryLevel;
+    }
+
+    @Override
+    public String getSortTyCode() {
+        return sortTyCode;
+    }
+
+    @Override
+    public void setSortTyCode(String sortTyCode) {
+        this.sortTyCode = sortTyCode;
+    }
 }
 
base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCtgryMasterService.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCtgryMasterService.java
@@ -1,33 +0,0 @@
-package egovframework.com.cop.bbs.service;
-
-import java.util.List;
-
-import egovframework.com.cop.bbs.service.CtgryMasterVO;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-
-//카테고리마스터 Service
-public interface EgovBBSCtgryMasterService {
-	
-	//COMTNBBSCTGRYMASTER을 등록한다.
-    String insertComtnbbsctgrymaster(CtgryMaster vo) throws Exception;
-    
-    //COMTNBBSCTGRYMASTER을 수정한다.
-    void updateComtnbbsctgrymaster(CtgryMaster vo) throws Exception;
-    
-    //COMTNBBSCTGRYMASTER을 삭제한다.
-    void deleteComtnbbsctgrymaster(CtgryMaster vo) throws Exception;
-    
-    //COMTNBBSCTGRYMASTER을 조회한다.
-    CtgryMaster selectComtnbbsctgrymaster(CtgryMaster vo) throws Exception;
-    
-    //카테고리마스터Id검색
-    CtgryMaster selectCtgrymasterId(CtgryMaster vo) throws Exception;
-    
-    //COMTNBBSCTGRYMASTER 목록을 조회한다.
-    List<CtgryMaster> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception;
-    
-    //COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
-    int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO);
-    
-    List<CtgryMaster> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception;
-}
 
base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCtgryService.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/EgovBBSCtgryService.java
@@ -1,85 +0,0 @@
-package egovframework.com.cop.bbs.service;
-
-import java.util.List;
-import egovframework.com.cop.bbs.service.CtgryVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-
-/**
- * @Class Name : ComtnbbsctgryService.java
- * @Description : Comtnbbsctgry Business class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-public interface EgovBBSCtgryService {
-	
-	/**
-	 * COMTNBBSCTGRY을 등록한다.
-	 * @param vo - 등록할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 등록 결과
-	 * @exception Exception
-	 */
-    String insertComtnbbsctgry(Ctgry vo) throws Exception;
-    
-    /**
-	 * COMTNBBSCTGRY을 수정한다.
-	 * @param vo - 수정할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형
-	 * @exception Exception
-	 */
-    void updateComtnbbsctgry(Ctgry vo) throws Exception;
-    
-    /**
-	 * COMTNBBSCTGRY을 삭제한다.
-	 * @param vo - 삭제할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형 
-	 * @exception Exception
-	 */
-    void deleteComtnbbsctgry(Ctgry vo) throws Exception;
-    
-    /**
-	 * COMTNBBSCTGRY을 조회한다.
-	 * @param vo - 조회할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 조회한 COMTNBBSCTGRY
-	 * @exception Exception
-	 */
-    Ctgry selectComtnbbsctgry(Ctgry vo) throws Exception;
-    
-    /**
-	 * COMTNBBSCTGRY 목록을 조회한다.
-	 * @param searchVO - 조회할 정보가 담긴 VO
-	 * @return COMTNBBSCTGRY 목록
-	 * @exception Exception
-	 */
-    List<Ctgry> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception;
-    
-    /**
-	 * COMTNBBSCTGRY 총 갯수를 조회한다.
-	 * @param searchVO - 조회할 정보가 담긴 VO
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    int selectComtnbbsctgryListTotCnt(CtgryVO searchVO);
-    
-	/**
-	 * COMTNBBSCTGRY DEPTH를 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgryLevel(CtgryVO searchVO);
-    
-    /**
-     * 정렬순서를 수정한다.
-     * 
-     * @param Ctgry
-     */
-    public void updateSortOrdr(Ctgry vo) throws Exception;
-    
-    
-}
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAttributeManageServiceImpl.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAttributeManageServiceImpl.java
@@ -1,108 +1,108 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import egovframework.com.cop.com.service.BoardUseInfVO;
-import egovframework.com.cop.com.service.impl.BBSUseInfoManageMapper;
-import org.springframework.stereotype.Service;
-
-import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-import egovframework.rte.fdl.idgnr.EgovIdGnrService;
-
-//게시판 속성관리를 위한 서비스 구현 클래스
-@Service("bbsAttributeManageService")
-public class EgovBBSAttributeManageServiceImpl extends EgovAbstractServiceImpl implements EgovBBSAttributeManageService {
-  
- 
-	@Resource(name = "bbsAttributeManageMapper")
-	private BBSAttributeManageMapper attrbMngMapper;
-
-	@Resource(name = "bbsUseInfoManageMapper")
-	private BBSUseInfoManageMapper bbsUseInfoManageMapper;
-
-	@Resource(name = "egovBBSMstrIdGnrService")
-  	private EgovIdGnrService idgenService;
-
-  
-  //등록된 게시판 속성정보를 삭제한다.
-  public void deleteBBSMasterInf(BoardMasterVO boardMaster) throws Exception {
-    attrbMngMapper.deleteBBSMasterInf(boardMaster);
-
-    BoardUseInfVO bdUseInf = new BoardUseInfVO();
-	bdUseInf.setBbsId(boardMaster.getBbsId());
-	bdUseInf.setLastUpdusrId(boardMaster.getLastUpdusrId());
-    bbsUseInfoManageMapper.deleteBBSUseInfByBoardId(bdUseInf);
-  }
-
-  //신규 게시판 속성정보를 생성한다.
-  public String insertBBSMastetInf(BoardMasterVO boardMaster) throws Exception {
-    String bbsId = idgenService.getNextStringId();
-
-    boardMaster.setBbsId(bbsId);    
-    attrbMngMapper.insertBBSMasterInf(boardMaster);
-
-    BoardUseInfVO bdUseInf = new BoardUseInfVO();
-    bdUseInf.setBbsId(bbsId);
-    bdUseInf.setTrgetId(boardMaster.getTrgetId());
-    bdUseInf.setRegistSeCode(boardMaster.getRegistSeCode());
-    bdUseInf.setFrstRegisterId(boardMaster.getFrstRegisterId());
-    bdUseInf.setUseAt("Y");
-    bbsUseInfoManageMapper.insertBBSUseInf(bdUseInf);
-
-    return bbsId;
-  }
-  
-  //게시판 속성 정보의 목록을 조회 한다.
-  public List<BoardMasterVO> selectAllBBSMasteInf(BoardMasterVO vo) throws Exception {
-    return attrbMngMapper.selectAllBBSMasteInf(vo);
-  }
-  
-  //게시판 속성정보 한 건을 상세조회한다.
-  public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception {
-    
-    BoardMasterVO result = attrbMngMapper.selectBBSMasterInf(searchVO);
-
-    return result;
-  }
-  
-  
-  //게시판 속성 정보의 목록을 조회 한다.
-  public Map<String, Object> selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception {
-    List<BoardMasterVO> result = attrbMngMapper.selectBBSMasterInfs(searchVO);
-    int cnt = attrbMngMapper.selectBBSMasterInfsCnt(searchVO);
-    
-    Map<String, Object> map = new HashMap<String, Object>();
-    
-    map.put("resultList", result);
-    map.put("resultCnt", Integer.toString(cnt));
-    
-    return map;
-  }
-
-  //게시판 속성 정보의 전체 목록을 조회 한다.
-  public List<BoardMasterVO> selectBBSMasterList(BoardMasterVO searchVO) throws Exception {
-    return attrbMngMapper.selectBBSMasterInfs(searchVO);
-  }
-  
-  //게시판 속성정보를 수정한다.
-  public void updateBBSMasterInf(BoardMasterVO boardMaster) throws Exception {
-    attrbMngMapper.updateBBSMasterInf(boardMaster);
-  }
-  
-  //사용등록이 된 게시판 목록 전체를 불러온다.
-  public List<BoardMasterVO> selectAllBBSMasterManageInfs(BoardMasterVO vo) throws Exception {
-	return attrbMngMapper.selectAllBBSMasterManageInfs(vo);
-  }
-  
-  //사용등록이 된 게시판 목록 숫자를 조회한다
-  public int selectAllBBSMasterManageInfsCnt(BoardMasterVO vo) throws Exception {
-	return attrbMngMapper.selectAllBBSMasterManageInfsCnt(vo);
-  }
-  
-}
+package egovframework.com.cop.bbs.service.impl;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import egovframework.com.cop.com.service.BoardUseInfVO;
+import egovframework.com.cop.com.service.impl.BBSUseInfoManageMapper;
+import org.springframework.stereotype.Service;
+
+import egovframework.com.cop.bbs.service.BoardMasterVO;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import egovframework.rte.fdl.idgnr.EgovIdGnrService;
+
+//게시판 속성관리를 위한 서비스 구현 클래스
+@Service("bbsAttributeManageService")
+public class BBSAttributeManageServiceImpl extends EgovAbstractServiceImpl implements BBSAttributeManageService {
+  
+ 
+	@Resource(name = "bbsAttributeManageMapper")
+	private BBSAttributeManageMapper attrbMngMapper;
+
+	@Resource(name = "bbsUseInfoManageMapper")
+	private BBSUseInfoManageMapper bbsUseInfoManageMapper;
+
+	@Resource(name = "egovBBSMstrIdGnrService")
+  	private EgovIdGnrService idgenService;
+
+  
+  //등록된 게시판 속성정보를 삭제한다.
+  public void deleteBBSMasterInf(BoardMasterVO boardMaster) throws Exception {
+    attrbMngMapper.deleteBBSMasterInf(boardMaster);
+
+    BoardUseInfVO bdUseInf = new BoardUseInfVO();
+	bdUseInf.setBbsId(boardMaster.getBbsId());
+	bdUseInf.setLastUpdusrId(boardMaster.getLastUpdusrId());
+    bbsUseInfoManageMapper.deleteBBSUseInfByBoardId(bdUseInf);
+  }
+
+  //신규 게시판 속성정보를 생성한다.
+  public String insertBBSMastetInf(BoardMasterVO boardMaster) throws Exception {
+    String bbsId = idgenService.getNextStringId();
+
+    boardMaster.setBbsId(bbsId);    
+    attrbMngMapper.insertBBSMasterInf(boardMaster);
+
+    BoardUseInfVO bdUseInf = new BoardUseInfVO();
+    bdUseInf.setBbsId(bbsId);
+    bdUseInf.setTrgetId(boardMaster.getTrgetId());
+    bdUseInf.setRegistSeCode(boardMaster.getRegistSeCode());
+    bdUseInf.setFrstRegisterId(boardMaster.getFrstRegisterId());
+    bdUseInf.setUseAt("Y");
+    bbsUseInfoManageMapper.insertBBSUseInf(bdUseInf);
+
+    return bbsId;
+  }
+  
+  //게시판 속성 정보의 목록을 조회 한다.
+  public List<BoardMasterVO> selectAllBBSMasteInf(BoardMasterVO vo) throws Exception {
+    return attrbMngMapper.selectAllBBSMasteInf(vo);
+  }
+  
+  //게시판 속성정보 한 건을 상세조회한다.
+  public BoardMasterVO selectBBSMasterInf(BoardMasterVO searchVO) throws Exception {
+    
+    BoardMasterVO result = attrbMngMapper.selectBBSMasterInf(searchVO);
+
+    return result;
+  }
+  
+  
+  //게시판 속성 정보의 목록을 조회 한다.
+  public Map<String, Object> selectBBSMasterInfs(BoardMasterVO searchVO) throws Exception {
+    List<BoardMasterVO> result = attrbMngMapper.selectBBSMasterInfs(searchVO);
+    int cnt = attrbMngMapper.selectBBSMasterInfsCnt(searchVO);
+    
+    Map<String, Object> map = new HashMap<String, Object>();
+    
+    map.put("resultList", result);
+    map.put("resultCnt", Integer.toString(cnt));
+    
+    return map;
+  }
+
+  //게시판 속성 정보의 전체 목록을 조회 한다.
+  public List<BoardMasterVO> selectBBSMasterList(BoardMasterVO searchVO) throws Exception {
+    return attrbMngMapper.selectBBSMasterInfs(searchVO);
+  }
+  
+  //게시판 속성정보를 수정한다.
+  public void updateBBSMasterInf(BoardMasterVO boardMaster) throws Exception {
+    attrbMngMapper.updateBBSMasterInf(boardMaster);
+  }
+  
+  //사용등록이 된 게시판 목록 전체를 불러온다.
+  public List<BoardMasterVO> selectAllBBSMasterManageInfs(BoardMasterVO vo) throws Exception {
+	return attrbMngMapper.selectAllBBSMasterManageInfs(vo);
+  }
+  
+  //사용등록이 된 게시판 목록 숫자를 조회한다
+  public int selectAllBBSMasterManageInfsCnt(BoardMasterVO vo) throws Exception {
+	return attrbMngMapper.selectAllBBSMasterManageInfsCnt(vo);
+  }
+  
+}
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCommentServiceImpl.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCommentServiceImpl.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCommentServiceImpl.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCommentServiceImpl.java
@@ -1,216 +1,216 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.math.BigDecimal;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.Comment;
-import egovframework.com.cop.bbs.service.CommentVO;
-import egovframework.com.cop.bbs.service.EgovBBSCommentService;
-import egovframework.com.utl.fcc.service.EgovStringUtil;
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-import egovframework.rte.fdl.idgnr.EgovIdGnrService;
-
-/**
- * 댓글관리를 위한 서비스 구현 클래스
- * @author 공통컴포넌트개발팀 한성곤
- * @since 2009.06.29
- * @version 1.0
- * @see
- *
- * <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.06.29  한성곤          최초 생성
- *
- * </pre>
- */
-@Service("EgovBBSCommentService")
-public class EgovBBSCommentServiceImpl extends EgovAbstractServiceImpl implements EgovBBSCommentService {
-
-    @Resource(name = "BBSCommentDAO")
-    private BBSCommentDAO bbsCommentDAO;
-
-    @Resource(name = "egovBbsCommentNoGnrService")
-    private EgovIdGnrService idgenService;
-        
-    /**
-     * 댓글에 대한 목록을 조회 한다.
-     */
-    public Map<String, Object> selectCommentList(CommentVO commentVO) throws Exception {
-	List<CommentVO> result = bbsCommentDAO.selectCommentList(commentVO);
-	int cnt = bbsCommentDAO.selectCommentListCnt(commentVO);
-	
-	Map<String, Object> map = new HashMap<String, Object>();
-	
-	map.put("resultList", result);
-	map.put("resultCnt", Integer.toString(cnt));
-
-	return map;
-    }
-    
-    /**
-     * 댓글을 등록한다.
-     */
-    public void insertComment(Comment comment) throws Exception {
-    	comment.setCommentNo(idgenService.getNextBigDecimalId());
-    	bbsCommentDAO.insertComment(comment);
-    	
-    }
-    
-    /**
-     * 댓글의 댓글을 등록한다
-     */
-    public void insertReplyComment(CommentVO commentVO) throws Exception {
-    	commentVO.setCommentNo(idgenService.getNextBigDecimalId());
-    	commentVO.setPrntOrdrCode(commentVO.getOrdrCode());
-    	commentVO.setOrdrCodeDp(commentVO.getOrdrCodeDp() + 1);
-    	bbsCommentDAO.insertReplyComment(commentVO);
-    }
-    
-    /**
-     * 댓글을 삭제한다.
-     */
-    public void deleteComment(CommentVO commentVO) throws Exception {
-	bbsCommentDAO.deleteComment(commentVO);
-	
-    }
-    
-    /**
-     * 모든 댓글을 삭제한다.
-     * 
-     * @param commentVO
-     * @throws Exception
-     */
-    public void deleteAllComment(CommentVO commentVO) throws Exception {
-    bbsCommentDAO.deleteAllComment(commentVO);
-    }
-    
-    /**
-     * 댓글에 대한 내용을 조회한다.
-     */
-    public Comment selectComment(CommentVO commentVO) throws Exception {
-	return bbsCommentDAO.selectComment(commentVO);
-    }
-    
-    /**
-     * 댓글에 대한 내용을 수정한다.
-     */
-    public void updateComment(Comment comment) throws Exception {
-	bbsCommentDAO.updateComment(comment);
-    }
-    
-    /**
-     * 댓글 패스워드를 가져온다.
-     */
-    public String getCommentPassword(Comment comment) throws Exception {
-	return bbsCommentDAO.getCommentPassword(comment);
-    }
-    
-    /**
-     * 내가 작성한 댓글에 대한 목록 건수를 조회 한다.
-     * 
-     * @param commentVO
-     * @return
-     * @throws Exception
-     */
-    public int selectMyCommentListCnt(CommentVO commentVO) throws Exception {
-	return bbsCommentDAO.selectMyCommentListCnt(commentVO);
-    }
-    
-    /**
-     * 관리용 댓글을 복사한다.
-     * 
-     * @param board
-     * @throws Exception
-     */
-    public void updateCommentManageCopy(List<String> nttNoArr, List<BoardVO> articleList) throws Exception {
-    	
-    	CommentVO commentVO = new CommentVO();
-		commentVO.setNttNoArr(nttNoArr);
-		
-  	  	List<CommentVO> commentList = bbsCommentDAO.selectCommentManageCopyList(commentVO);
-  	  	if(commentList != null && commentList.size() > 0) {
-  	  		commentList = updateNewCommentNoGen(commentList);
-  	  		commentList = updateNewNttNo(commentList, articleList);
-  		
-  	  		bbsCommentDAO.insertCommentBatch(commentList);
-  	  	}
-    }
-    
-    /**
-     *  게시물번호를 재배치한다.
-     * 
-     * @param commentList
-     */
-    public List<CommentVO> updateNewNttNo(List<CommentVO> commentList, List<BoardVO> articleList) throws Exception {
-
-    	for(int i = 0; i < articleList.size(); i++) {
-  			updateNewNttNo(commentList, articleList.get(i).getOldNttNo(), articleList.get(i).getNttNo());
-  		}
-  		
-    	return commentList;
-    }
-    
-    /**
-     *  게시물번호를 재배치한다.
-     * 
-     * @param commentList
-     * @param oldNttNo
-     * @param newNttNo
-     */
-    public void updateNewNttNo(List<CommentVO> commentList, BigDecimal oldNttNo, BigDecimal newNttNo) throws Exception {
-  	
-    	CommentVO comment = null;
-    	for(int i = 0; i < commentList.size(); i++) {
-    		comment = commentList.get(i);  		
-    		if(oldNttNo.equals(comment.getNttNo())) {
-    			comment.setNttNo(newNttNo);
-    		}
-    	}
-  	}
-    	
-    /**
-     *  댓글번호를 재배치한다.
-     * 
-     * @param mpmList
-     */
-    public List<CommentVO> updateNewCommentNoGen(List<CommentVO> commentList) throws Exception {
-
-    	for(int i = 0; i < commentList.size(); i++) {
-    		updateNewCommentNoGen(commentList, commentList.get(i).getCommentNo(), idgenService.getNextBigDecimalId());
-    	}
-  		
-    	return commentList;
-    }
-    
-    /**
-     *  댓글번호를 재배치한다.
-     * 
-     * @param mpmList
-     * @param oldMenuId
-     * @param newMenuId
-     */
-    public void updateNewCommentNoGen(List<CommentVO> commentList, BigDecimal oldCommentNo, BigDecimal newCommentNo) throws Exception {
-  	
-    	CommentVO comment = null;
-    	String ordrCode = EgovStringUtil.lpad(oldCommentNo.toString(), 15, "0");
-    	for(int i = 0; i < commentList.size(); i++) {
-    		comment = commentList.get(i);
-	  		if(ordrCode.equals(comment.getOrdrCode().substring(0, 15))) {
-	  			comment.setOrdrCode(EgovStringUtil.lpad(newCommentNo.toString(), 15, "0") + comment.getOrdrCode().substring(15));
-	  		}
-	  		if(oldCommentNo.equals(comment.getCommentNo())) {
-	  			comment.setCommentNo(newCommentNo);
-	  		}
-	  	}
-    }
-}
+package egovframework.com.cop.bbs.service.impl;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import egovframework.com.cop.bbs.service.BoardVO;
+import egovframework.com.cop.bbs.service.Comment;
+import egovframework.com.cop.bbs.service.CommentVO;
+import egovframework.com.cop.bbs.service.BBSCommentService;
+import egovframework.com.utl.fcc.service.EgovStringUtil;
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import egovframework.rte.fdl.idgnr.EgovIdGnrService;
+
+/**
+ * 댓글관리를 위한 서비스 구현 클래스
+ * @author 공통컴포넌트개발팀 한성곤
+ * @since 2009.06.29
+ * @version 1.0
+ * @see
+ *
+ * <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.06.29  한성곤          최초 생성
+ *
+ * </pre>
+ */
+@Service("EgovBBSCommentService")
+public class BBSCommentServiceImpl extends EgovAbstractServiceImpl implements BBSCommentService {
+
+    @Resource(name = "BBSCommentDAO")
+    private BBSCommentDAO bbsCommentDAO;
+
+    @Resource(name = "egovBbsCommentNoGnrService")
+    private EgovIdGnrService idgenService;
+        
+    /**
+     * 댓글에 대한 목록을 조회 한다.
+     */
+    public Map<String, Object> selectCommentList(CommentVO commentVO) throws Exception {
+	List<CommentVO> result = bbsCommentDAO.selectCommentList(commentVO);
+	int cnt = bbsCommentDAO.selectCommentListCnt(commentVO);
+	
+	Map<String, Object> map = new HashMap<String, Object>();
+	
+	map.put("resultList", result);
+	map.put("resultCnt", Integer.toString(cnt));
+
+	return map;
+    }
+    
+    /**
+     * 댓글을 등록한다.
+     */
+    public void insertComment(Comment comment) throws Exception {
+    	comment.setCommentNo(idgenService.getNextBigDecimalId());
+    	bbsCommentDAO.insertComment(comment);
+    	
+    }
+    
+    /**
+     * 댓글의 댓글을 등록한다
+     */
+    public void insertReplyComment(CommentVO commentVO) throws Exception {
+    	commentVO.setCommentNo(idgenService.getNextBigDecimalId());
+    	commentVO.setPrntOrdrCode(commentVO.getOrdrCode());
+    	commentVO.setOrdrCodeDp(commentVO.getOrdrCodeDp() + 1);
+    	bbsCommentDAO.insertReplyComment(commentVO);
+    }
+    
+    /**
+     * 댓글을 삭제한다.
+     */
+    public void deleteComment(CommentVO commentVO) throws Exception {
+	bbsCommentDAO.deleteComment(commentVO);
+	
+    }
+    
+    /**
+     * 모든 댓글을 삭제한다.
+     * 
+     * @param commentVO
+     * @throws Exception
+     */
+    public void deleteAllComment(CommentVO commentVO) throws Exception {
+    bbsCommentDAO.deleteAllComment(commentVO);
+    }
+    
+    /**
+     * 댓글에 대한 내용을 조회한다.
+     */
+    public Comment selectComment(CommentVO commentVO) throws Exception {
+	return bbsCommentDAO.selectComment(commentVO);
+    }
+    
+    /**
+     * 댓글에 대한 내용을 수정한다.
+     */
+    public void updateComment(Comment comment) throws Exception {
+	bbsCommentDAO.updateComment(comment);
+    }
+    
+    /**
+     * 댓글 패스워드를 가져온다.
+     */
+    public String getCommentPassword(Comment comment) throws Exception {
+	return bbsCommentDAO.getCommentPassword(comment);
+    }
+    
+    /**
+     * 내가 작성한 댓글에 대한 목록 건수를 조회 한다.
+     * 
+     * @param commentVO
+     * @return
+     * @throws Exception
+     */
+    public int selectMyCommentListCnt(CommentVO commentVO) throws Exception {
+	return bbsCommentDAO.selectMyCommentListCnt(commentVO);
+    }
+    
+    /**
+     * 관리용 댓글을 복사한다.
+     * 
+     * @param board
+     * @throws Exception
+     */
+    public void updateCommentManageCopy(List<String> nttNoArr, List<BoardVO> articleList) throws Exception {
+    	
+    	CommentVO commentVO = new CommentVO();
+		commentVO.setNttNoArr(nttNoArr);
+		
+  	  	List<CommentVO> commentList = bbsCommentDAO.selectCommentManageCopyList(commentVO);
+  	  	if(commentList != null && commentList.size() > 0) {
+  	  		commentList = updateNewCommentNoGen(commentList);
+  	  		commentList = updateNewNttNo(commentList, articleList);
+  		
+  	  		bbsCommentDAO.insertCommentBatch(commentList);
+  	  	}
+    }
+    
+    /**
+     *  게시물번호를 재배치한다.
+     * 
+     * @param commentList
+     */
+    public List<CommentVO> updateNewNttNo(List<CommentVO> commentList, List<BoardVO> articleList) throws Exception {
+
+    	for(int i = 0; i < articleList.size(); i++) {
+  			updateNewNttNo(commentList, articleList.get(i).getOldNttNo(), articleList.get(i).getNttNo());
+  		}
+  		
+    	return commentList;
+    }
+    
+    /**
+     *  게시물번호를 재배치한다.
+     * 
+     * @param commentList
+     * @param oldNttNo
+     * @param newNttNo
+     */
+    public void updateNewNttNo(List<CommentVO> commentList, BigDecimal oldNttNo, BigDecimal newNttNo) throws Exception {
+  	
+    	CommentVO comment = null;
+    	for(int i = 0; i < commentList.size(); i++) {
+    		comment = commentList.get(i);  		
+    		if(oldNttNo.equals(comment.getNttNo())) {
+    			comment.setNttNo(newNttNo);
+    		}
+    	}
+  	}
+    	
+    /**
+     *  댓글번호를 재배치한다.
+     * 
+     * @param mpmList
+     */
+    public List<CommentVO> updateNewCommentNoGen(List<CommentVO> commentList) throws Exception {
+
+    	for(int i = 0; i < commentList.size(); i++) {
+    		updateNewCommentNoGen(commentList, commentList.get(i).getCommentNo(), idgenService.getNextBigDecimalId());
+    	}
+  		
+    	return commentList;
+    }
+    
+    /**
+     *  댓글번호를 재배치한다.
+     * 
+     * @param mpmList
+     * @param oldMenuId
+     * @param newMenuId
+     */
+    public void updateNewCommentNoGen(List<CommentVO> commentList, BigDecimal oldCommentNo, BigDecimal newCommentNo) throws Exception {
+  	
+    	CommentVO comment = null;
+    	String ordrCode = EgovStringUtil.lpad(oldCommentNo.toString(), 15, "0");
+    	for(int i = 0; i < commentList.size(); i++) {
+    		comment = commentList.get(i);
+	  		if(ordrCode.equals(comment.getOrdrCode().substring(0, 15))) {
+	  			comment.setOrdrCode(EgovStringUtil.lpad(newCommentNo.toString(), 15, "0") + comment.getOrdrCode().substring(15));
+	  		}
+	  		if(oldCommentNo.equals(comment.getCommentNo())) {
+	  			comment.setCommentNo(newCommentNo);
+	  		}
+	  	}
+    }
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryDAO.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryDAO.java
@@ -1,131 +0,0 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.util.List;
-
-import org.springframework.stereotype.Repository;
-
-import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.CtgryVO;
-
-/**
- * @Class Name : ComtnbbsctgryDAO.java
- * @Description : Comtnbbsctgry DAO Class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-
-@Repository("comtnbbsctgryDAO")
-public class BBSCtgryDAO extends EgovAbstractDAO {
-
-	/**
-	 * COMTNBBSCTGRY을 등록한다.
-	 * @param vo - 등록할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 등록 결과
-	 * @exception Exception
-	 */
-    public int insertComtnbbsctgry(Ctgry vo) throws Exception {
-        return (Integer)insert("comtnbbsctgryDAO.insertComtnbbsctgry_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 수정한다.
-	 * @param vo - 수정할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형
-	 * @exception Exception
-	 */
-    public void updateComtnbbsctgry(Ctgry vo) throws Exception {
-        update("comtnbbsctgryDAO.updateComtnbbsctgry_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 삭제한다.
-	 * @param vo - 삭제할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형 
-	 * @exception Exception
-	 */
-    public void deleteComtnbbsctgry(Ctgry vo) throws Exception {
-        delete("comtnbbsctgryDAO.deleteComtnbbsctgry_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 조회한다.
-	 * @param vo - 조회할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 조회한 COMTNBBSCTGRY
-	 * @exception Exception
-	 */
-    public Ctgry selectComtnbbsctgry(Ctgry vo) throws Exception {
-        return (Ctgry) select("comtnbbsctgryDAO.selectComtnbbsctgry_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY 목록을 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRY 목록
-	 * @exception Exception
-	 */
-    @SuppressWarnings("unchecked")
-	public List<Ctgry> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception {
-        return (List<Ctgry>)list("comtnbbsctgryDAO.selectComtnbbsctgryList_D", searchVO);
-    }
-
-    /**
-	 * COMTNBBSCTGRY 총 갯수를 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgryListTotCnt(CtgryVO searchVO) {
-        return (Integer)select("comtnbbsctgryDAO.selectComtnbbsctgryListTotCnt_S", searchVO);
-    }
-    
-    /**
-	 * COMTNBBSCTGRY DEPTH를 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgryLevel(CtgryVO searchVO) {
-        return (Integer)select("comtnbbsctgryDAO.selectComtnbbsctgryLevel", searchVO);
-    }
-    
-    /**
-     * 이동할 대상카테고리 정보를 조회 한다.
-     * 
-     * @param searchVO
-     */
-    public Ctgry selectTargetSortOrdr(CtgryVO searchVO) throws Exception {
-    	return (Ctgry)select("comtnbbsctgryDAO.selectTargetSortOrdr", searchVO);
-    }
-    
-    /**
-     * 정렬순서를 수정한다.
-     * 
-     * @param searchVO
-     */
-    public void updateSortOrdr(CtgryVO searchVO) throws Exception {
-    	update("comtnbbsctgryDAO.updateSortOrdr", searchVO);
-    }	
-    
-    /**
-     * 정렬순서(다음&이전)를 수정한다.
-     * 
-     * @param searchVO
-     */
-    public void updateSiblingsSortOrdr(CtgryVO searchVO) throws Exception {
-    	update("comtnbbsctgryDAO.updateSiblingsSortOrdr", searchVO);
-    }	
-    
-    /**
-	 * 카테고리 다음 레벨 값
-	 */
-    public int selectComtnbbsctgryNextLevel(CtgryVO searchVO) {
-        return (Integer)select("comtnbbsctgryDAO.selectComtnbbsctgryNextLevel", searchVO);
-    }
-}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMapper.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMapper.java
@@ -0,0 +1,46 @@
+package egovframework.com.cop.bbs.service.impl;
+
+import egovframework.com.cop.bbs.service.CtgryMasterVO;
+import egovframework.com.cop.bbs.service.CtgryVO;
+import egovframework.rte.psl.dataaccess.mapper.Mapper;
+
+import java.util.List;
+
+//카테고리
+@Mapper("bbsCtgryMapper")
+public interface BBSCtgryMapper {
+
+    //COMTNBBSCTGRY을 등록한다. 1
+    public int insertComtnbbsctgry(CtgryVO vo) throws Exception;
+
+    //COMTNBBSCTGRY을 수정한다. 1
+    public void updateComtnbbsctgry(CtgryVO vo) throws Exception;
+
+    //COMTNBBSCTGRY을 삭제한다. 1
+    public void deleteComtnbbsctgry(CtgryVO vo) throws Exception;
+
+    //COMTNBBSCTGRY을 조회한다. 1
+    public CtgryVO selectComtnbbsctgry(CtgryVO vo) throws Exception;
+
+    //COMTNBBSCTGRY 목록을 조회한다. 1
+    public List<CtgryVO> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception;
+
+    //COMTNBBSCTGRY 총 갯수를 조회한다. 1
+    public int selectComtnbbsctgryListTotCnt(CtgryVO searchVO);
+
+    //COMTNBBSCTGRY DEPTH를 조회한다. 1
+    public int selectComtnbbsctgryLevel(CtgryVO searchVO);
+
+    //이동할 대상카테고리 정보를 조회 한다. 1
+    public CtgryVO selectTargetSortOrdr(CtgryVO searchVO) throws Exception;
+
+    //정렬순서를 수정한다. 1
+    public void updateSortOrdr(CtgryVO searchVO) throws Exception;
+
+    //정렬순서(다음&이전)를 수정한다. 1
+    public void updateSiblingsSortOrdr(CtgryVO searchVO) throws Exception;
+
+    //카테고리 다음 레벨 값 1
+    public int selectComtnbbsctgryNextLevel(CtgryVO searchVO);
+
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterDAO.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterDAO.java
@@ -1,98 +0,0 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.util.List;
-
-import org.springframework.stereotype.Repository;
-
-import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.CtgryMasterVO;
-
-/**
- * @Class Name : ComtnbbsctgrymasterDAO.java
- * @Description : Comtnbbsctgrymaster DAO Class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-
-@Repository("BBSCtgryMasterDAO")
-public class BBSCtgryMasterDAO extends EgovAbstractDAO {
-
-	/**
-	 * COMTNBBSCTGRYMASTER을 등록한다.
-	 * @param vo - 등록할 정보가 담긴 ComtnbbsctgrymasterVO
-	 * @return 등록 결과
-	 * @exception Exception
-	 */
-    public String insertComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        return (String)insert("comtnbbsctgrymasterDAO.insertComtnbbsctgrymaster_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRYMASTER을 수정한다.
-	 * @param vo - 수정할 정보가 담긴 ComtnbbsctgrymasterVO
-	 * @return void형
-	 * @exception Exception
-	 */
-    public void updateComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        update("comtnbbsctgrymasterDAO.updateComtnbbsctgrymaster_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRYMASTER을 삭제한다.
-	 * @param vo - 삭제할 정보가 담긴 ComtnbbsctgrymasterVO
-	 * @return void형 
-	 * @exception Exception
-	 */
-    public void deleteComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        delete("comtnbbsctgrymasterDAO.deleteComtnbbsctgrymaster_S", vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRYMASTER을 조회한다.
-	 * @param vo - 조회할 정보가 담긴 ComtnbbsctgrymasterVO
-	 * @return 조회한 COMTNBBSCTGRYMASTER
-	 * @exception Exception
-	 */
-    public CtgryMaster selectComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        return (CtgryMaster) select("comtnbbsctgrymasterDAO.selectComtnbbsctgrymaster_S", vo);
-    }
-    
-    //카테고리 마스터 Id검색
-    public CtgryMaster selectCtgrymasterId(CtgryMaster vo) throws Exception {
-        return (CtgryMaster) select("comtnbbsctgrymasterDAO.selectCtgrymasterId", vo);
-    }
-    
-    /**
-	 * COMTNBBSCTGRYMASTER 목록을 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRYMASTER 목록
-	 * @exception Exception
-	 */
-    @SuppressWarnings("unchecked")
-	public List<CtgryMaster> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception {
-        return (List<CtgryMaster>)list("comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterList_D", searchVO);
-    }
-
-    /**
-	 * COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRYMASTER 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO) {
-        return (Integer)select("comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterListTotCnt_S", searchVO);
-    }
-    
-    @SuppressWarnings("unchecked")
-	public List<CtgryMaster> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception {
-        return (List<CtgryMaster>)list("comtnbbsctgrymasterDAO.selectCtgrymasterList", searchVO);
-    }
-
-}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterMapper.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterMapper.java
@@ -0,0 +1,36 @@
+package egovframework.com.cop.bbs.service.impl;
+
+import egovframework.com.cop.bbs.service.BoardMasterVO;
+import egovframework.com.cop.bbs.service.CtgryMasterVO;
+import egovframework.rte.psl.dataaccess.mapper.Mapper;
+
+import java.util.List;
+
+//게시판 속성정보 관리를 위한 데이터 접근 클래스
+@Mapper("bbsCtgryMasterMapper")
+public interface BBSCtgryMasterMapper {
+
+    //COMTNBBSCTGRYMASTER을 등록한다.
+    public void insertComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+
+    //COMTNBBSCTGRYMASTER을 수정한다.
+    public void updateComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+
+    //COMTNBBSCTGRYMASTER을 삭제한다.
+    public void deleteComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+
+    //COMTNBBSCTGRYMASTER을 조회한다.
+    public CtgryMasterVO selectComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception;
+
+    //카테고리 마스터 Id검색
+    public CtgryMasterVO selectCtgrymasterId(CtgryMasterVO vo) throws Exception;
+
+    //COMTNBBSCTGRYMASTER 목록을 조회한다.
+    public List<CtgryMasterVO> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception;
+
+    //COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
+    public int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO);
+
+    public List<CtgryMasterVO> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception;
+
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterServiceImpl.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryMasterServiceImpl.java
@@ -0,0 +1,79 @@
+package egovframework.com.cop.bbs.service.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import egovframework.com.cop.bbs.service.*;
+import org.springframework.stereotype.Service;
+
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import egovframework.rte.fdl.idgnr.EgovIdGnrService;
+
+
+@Service("bbsCtgryMasterService")
+public class BBSCtgryMasterServiceImpl extends EgovAbstractServiceImpl implements BBSCtgryMasterService {
+
+    @Resource(name="bbsCtgryMasterMapper")
+    private BBSCtgryMasterMapper bbsCtgryMasterMapper;
+
+    @Resource(name = "bbsCtgryService")
+    private BBSCtgryService bbsCtgryService;
+    
+    /** ID Generation */
+    @Resource(name="bbsCtgryMstrIdGnrService")
+    private EgovIdGnrService egovIdGnrService;
+
+	//COMTNBBSCTGRYMASTER을 등록한다.
+    public String insertComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception {
+    	/** ID Generation Service */
+    	String id = egovIdGnrService.getNextStringId();
+    	vo.setCtgrymasterId(id);
+    	
+    	bbsCtgryMasterMapper.insertComtnbbsctgrymaster(vo);
+
+        CtgryVO ctgry = new CtgryVO();
+    	ctgry.setCtgrymasterId(id);
+    	ctgry.setCtgryNm("대분류");
+        bbsCtgryService.insertComtnbbsctgry(ctgry);
+    	
+        return id;
+    }
+
+    //COMTNBBSCTGRYMASTER을 수정한다.
+    public void updateComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception {
+        bbsCtgryMasterMapper.updateComtnbbsctgrymaster(vo);
+    }
+
+    //COMTNBBSCTGRYMASTER을 삭제한다.
+    public void deleteComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception {
+        bbsCtgryMasterMapper.deleteComtnbbsctgrymaster(vo);
+    }
+
+    //COMTNBBSCTGRYMASTER을 조회한다.
+    public CtgryMasterVO selectComtnbbsctgrymaster(CtgryMasterVO vo) throws Exception {
+        CtgryMasterVO resultVO = bbsCtgryMasterMapper.selectComtnbbsctgrymaster(vo);
+        return resultVO;
+    }
+    
+    //카테고리마스터Id검색
+    public CtgryMasterVO selectCtgrymasterId(CtgryMasterVO vo) throws Exception {
+        CtgryMasterVO resultVO = bbsCtgryMasterMapper.selectCtgrymasterId(vo);
+        return resultVO;
+    }
+    
+    //COMTNBBSCTGRYMASTER 목록을 조회한다.
+    public List<CtgryMasterVO> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception {
+        return bbsCtgryMasterMapper.selectComtnbbsctgrymasterList(searchVO);
+    }
+
+    //COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
+    public int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO) {
+		return bbsCtgryMasterMapper.selectComtnbbsctgrymasterListTotCnt(searchVO);
+	}
+    
+    
+    public List<CtgryMasterVO> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception {
+        return bbsCtgryMasterMapper.selectCtgrymasterList(searchVO);
+    }
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryServiceImpl.java (added)
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSCtgryServiceImpl.java
@@ -0,0 +1,99 @@
+package egovframework.com.cop.bbs.service.impl;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import egovframework.rte.fdl.idgnr.EgovIdGnrService;
+import egovframework.com.cop.bbs.service.BBSCtgryService;
+import egovframework.com.cop.bbs.service.CtgryVO;
+import egovframework.com.utl.fcc.service.EgovStringUtil;
+
+//카테고리
+@Service("bbsCtgryService")
+public class BBSCtgryServiceImpl extends EgovAbstractServiceImpl implements BBSCtgryService {
+
+    @Resource(name="bbsCtgryMapper")
+    private BBSCtgryMapper bbsCtgryMapper;
+
+    /** ID Generation */
+    @Resource(name="egovBbsCtgryIdGnrService")    
+    private EgovIdGnrService egovIdGnrService;
+
+	//COMTNBBSCTGRY을 등록한다.
+    public String insertComtnbbsctgry(CtgryVO vo) throws Exception {
+    	
+    	/** ID Generation Service */
+    	String id = egovIdGnrService.getNextStringId();
+    	vo.setCtgryId(id);
+    	
+    	int ctgryLevel = 0;
+    	if(!EgovStringUtil.isEmpty(vo.getUpperCtgryId())){
+    		ctgryLevel = bbsCtgryMapper.selectComtnbbsctgryNextLevel(vo);
+    	}
+    	
+    	vo.setCtgryLevel(ctgryLevel);
+        bbsCtgryMapper.insertComtnbbsctgry(vo);
+        return null;
+    }
+
+    //COMTNBBSCTGRY을 수정한다.
+    public void updateComtnbbsctgry(CtgryVO vo) throws Exception {
+        bbsCtgryMapper.updateComtnbbsctgry(vo);
+    }
+
+    //COMTNBBSCTGRY을 삭제한다.
+    public void deleteComtnbbsctgry(CtgryVO vo) throws Exception {
+        bbsCtgryMapper.deleteComtnbbsctgry(vo);
+    }
+
+    //COMTNBBSCTGRY을 조회한다.
+    public CtgryVO selectComtnbbsctgry(CtgryVO vo) throws Exception {
+        CtgryVO resultVO = bbsCtgryMapper.selectComtnbbsctgry(vo);
+        return resultVO;
+    }
+
+    //COMTNBBSCTGRY 목록을 조회한다.
+	public List<CtgryVO> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception {
+        return bbsCtgryMapper.selectComtnbbsctgryList(searchVO);
+    }
+
+    //COMTNBBSCTGRY 총 갯수를 조회한다.
+    public int selectComtnbbsctgryListTotCnt(CtgryVO searchVO) {
+		return bbsCtgryMapper.selectComtnbbsctgryListTotCnt(searchVO);
+	}
+    
+	//COMTNBBSCTGRY DEPTH를 조회한다.
+    public int selectComtnbbsctgryLevel(CtgryVO searchVO) {
+        return bbsCtgryMapper.selectComtnbbsctgryLevel(searchVO);
+    }
+    
+    //정렬순서를 수정한다.
+    public void updateSortOrdr(CtgryVO vo) throws Exception {
+    	//변경되야될 것
+        bbsCtgryMapper.updateSortOrdr(vo);
+    	
+    	//다음 & 이전 꺼
+        bbsCtgryMapper.updateSiblingsSortOrdr(vo);
+    	/*
+    	int sourceSortOrdr = vo.getSortOrdr();
+    	Ctgry targetCtgry = comtnbbsctgryDAO.selectTargetSortOrdr(vo);
+    	
+    	if(targetCtgry != null) {
+    		vo.setSortOrdr(targetCtgry.getSortOrdr());
+    		comtnbbsctgryDAO.updateSortOrdr(vo);
+    		
+    		vo.setCtgryId(targetCtgry.getCtgryId());
+    		vo.setSortOrdr(sourceSortOrdr);
+    		comtnbbsctgryDAO.updateSortOrdr(vo);
+    	}
+    	*/
+    }	
+    
+    
+    
+    
+}
base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSManageServiceImpl.java (Renamed from base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSManageServiceImpl.java)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
+++ base/src/main/java/egovframework/com/cop/bbs/service/impl/BBSManageServiceImpl.java
@@ -1,285 +1,285 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.math.BigDecimal;
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import egovframework.com.cop.bbs.service.*;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Service;
-
-import egovframework.com.cmm.service.EgovFileMngService;
-import egovframework.com.cmm.service.FileVO;
-import egovframework.com.utl.fcc.service.EgovStringUtil;
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-import egovframework.rte.fdl.idgnr.EgovIdGnrService;
-import egovframework.rte.fdl.property.EgovPropertyService;
-import egovframework.rte.psl.dataaccess.util.EgovMap;
-
-//게시물 관리를 위한 서비스 구현 클래스
-@Service("EgovBBSManageService")
-public class EgovBBSManageServiceImpl extends EgovAbstractServiceImpl implements EgovBBSManageService {
-
-	@Resource(name = "BBSManageDAO")
-	private BBSManageDAO bbsMngDAO;
-
-	@Resource(name = "EgovBBSCommentService")
-	protected EgovBBSCommentService bbsCommentService;
-
-	@Resource(name = "EgovFileMngService")
-	private EgovFileMngService fileMngService;
-
-	@Resource(name = "egovBbsNttNoGnrService")
-    private EgovIdGnrService idgenService;
-
-	@Resource(name = "propertiesService")
-	protected EgovPropertyService propertyService;
-
-	Logger log = Logger.getLogger(this.getClass());
-
-  //게시물 한 건을 삭제 한다.
-  public void deleteBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
-
-	  if(master != null) {
-		  board.setBbsAttrbCode(master.getBbsAttrbCode());
-	  }
-
-	  FileVO fvo = new FileVO();
-
-	  fvo.setAtchFileId(board.getAtchFileId());
-
-	  //board.setNttSj("이 글은 작성자에 의해서 삭제되었습니다.");
-
-	  bbsMngDAO.deleteBoardArticle(board);
-
-	  //if(!"".equals(fvo.getAtchFileId()) || fvo.getAtchFileId() != null) {
-	  //  fileService.deleteAllFileInf(fvo);
-   	  //}
-  }
-
-  //임시첨부파일을 정식으로 등록 한다.
-  public String insertFileInfsByTemp(BoardVO board) throws Exception {
-	  FileVO fvo = new FileVO();
-	  fvo.setAtchFileId(board.getAtchFileId());
-	  fvo.setFileGroupId(board.getFileGroupId());
-	  return fileMngService.insertFileInfsByTemp(fvo).getAtchFileId();
-  }
-
-  //게시판에 게시물을 등록 한다.
-  public void insertBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
-	  if(board.getNttNo() == null) {
-		  board.setNttNo(idgenService.getNextBigDecimalId());
-	  }
-
-	  if(master != null) {
-		  board.setBbsAttrbCode(master.getBbsAttrbCode());
-	  }
-
-	  board.setAtchFileId(this.insertFileInfsByTemp(board));
-
-	  bbsMngDAO.insertBoardArticle(board);
-
-  }
-
-  //게시판에 답변 게시물을 등록 한다.
-  public void replyBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
-	  if(board.getNttNo() == null) {
-		  board.setNttNo(idgenService.getNextBigDecimalId());
-	  }
-
-	  if(master != null) {
-		  board.setBbsAttrbCode(master.getBbsAttrbCode());
-	  }
-
-	  board.setAtchFileId(this.insertFileInfsByTemp(board));
-
-	  bbsMngDAO.replyBoardArticle(board);
-
-  }
-
-  //게시물 대하여 상세 내용을 조회 한다.
-  public BoardVO selectBoardArticle(BoardVO boardVO) throws Exception {
-    if(boardVO.isPlusCount()) {
-    	bbsMngDAO.updateInqireCo(boardVO);
-    }
-
-    BoardVO resultVO = bbsMngDAO.selectBoardArticle(boardVO);
-
-    if (resultVO == null)
-        throw processException("info.nodata.msg");
-
-
-    return resultVO;
-  }
-
-  //조건에 맞는 게시물 목록을 조회 한다.
-  public List<BoardVO> selectBoardArticles(BoardVO boardVO) throws Exception {
-	  return bbsMngDAO.selectBoardArticleList(boardVO);
-  }
-
-  //조건에 맞는 게시물 목록건수를 조회 한다.
-  public int selectBoardArticlesCnt(BoardVO boardVO) throws Exception {
-	  return bbsMngDAO.selectBoardArticleListCnt(boardVO);
-  }
-
-  //게시물 한 건의 내용을 수정 한다.
-  public void updateBoardArticle(BoardVO board, BoardMasterVO master, boolean isEstn) throws Exception {
-	  if(master != null) {
-		  board.setBbsAttrbCode(master.getBbsAttrbCode());
-	  }
-
-	  String atchFileId = this.insertFileInfsByTemp(board);
-	  if(isEstn) {
-		  board.setEstnAtchFileId(atchFileId);
-	  } else {
-		  board.setAtchFileId(atchFileId);
-	  }
-
-	  //bbsMngDAO.updateBoardArticle(board);
-	  if(!"BBSA11".equals(board.getBbsAttrbCode())) {
-		  bbsMngDAO.updateBoardArticleByNormal(board);
-	  } else {
-		  if(EgovStringUtil.isEmpty(board.getProcessSttusCode())) {
-			  bbsMngDAO.updateBoardArticleByEmptyProcessSttusCode(board);
-		  } else {
-			  bbsMngDAO.updateBoardArticleByProcessSttusCode(board);
-		  }
-	  }
-  }
-
-  //조건에 맞는 게시물 목록을 조회 한다.
-  public List<BoardVO> selectSearchBoardArticleList(BoardVO boardVO) throws Exception {
-  	return bbsMngDAO.selectSearchBoardArticleList(boardVO);
-  }
-
-  //조건에 맞는 게시물 목록에 대한 전체 건수를 조회 한다.
-  public int selectSearchBoardArticleListCnt(BoardVO boardVO) throws Exception {
-  	return bbsMngDAO.selectSearchBoardArticleListCnt(boardVO);
-  }
-
-  //관리용 게시물을 이동시킨다.
-  public void updateBoardArticlesManageMove(BoardVO board) throws Exception {
-	  bbsMngDAO.updateBoardArticlesManageMove(board);
-  }
-
-  //관리용 게시물을 복사한다.
-  public void updateBoardArticlesManageCopy(BoardVO board) throws Exception {
-	  /*
-	  List<BoardVO> articleList = bbsMngDAO.selectBoardArticlesManageCopyList(board);
-	  if(articleList != null && articleList.size() > 0) {
-		  articleList = updateNewNttNoGen(articleList);
-		  for(int i = 0; i < articleList.size(); i++) {
-			  articleList.get(i).setBbsId(board.getTrgetId());
-			  articleList.get(i).setCtgryId(board.getCtgryId());
-		  }
-
-		  articleList = fileMngService.updateFileManageCopy(articleList);
-		  bbsMngDAO.insertBoardArticleBatch(articleList);
-
-		  bbsCommentService.updateCommentManageCopy(board.getNttNoArr(), articleList);
-	  }
-	  */
-  }
-
-  //게시물번호를 재배치한다.
-  public List<BoardVO> updateNewNttNoGen(List<BoardVO> articleList) throws Exception {
-	/*
-	BoardVO article = null;
-  	for(int i = 0; i < articleList.size(); i++) {
-  		article = articleList.get(i);
-  		updateNewNttNoGen(articleList, article.getNttNo(), idgenService.getNextBigDecimalId());
-	}
-	*/
-  	return articleList;
-
-  }
-
-  //게시물번호를 재배치한다.
-  public void updateNewNttNoGen(List<BoardVO> articleList, BigDecimal oldNttNo, BigDecimal newNttNo) throws Exception {
-	/*
-	BoardVO article = null;
-	String ordrCode = EgovStringUtil.lpad(oldNttNo.toString(), 15, "0");
-  	for(int i = 0; i < articleList.size(); i++) {
-  		article = articleList.get(i);
-		if(ordrCode.equals(article.getOrdrCode().substring(0, 15))) {
-			article.setOrdrCode(EgovStringUtil.lpad(newNttNo.toString(), 15, "0") + article.getOrdrCode().substring(15));
-		}
-		if(oldNttNo.equals(article.getNttNo())) {
-			article.setNttNo(newNttNo);
-			article.setOldNttNo(oldNttNo);
-		}
-	}
-	*/
-  }
-
-  //관리용 게시물을 삭제한다.
-  public void updateBoardArticlesManageHide(BoardVO board) throws Exception {
-	  bbsMngDAO.updateBoardArticlesManageHide(board);
-  }
-
-  //게시물 한 건을 완전삭제 한다.
-  public void deleteCompleteBoardArticle(BoardVO board) throws Exception {
-	  List<BoardVO> articleList = bbsMngDAO.selectBoardArticlesManageSimpleList(board);
-	  if(articleList != null && articleList.size() > 0) {
-		  //코멘트먼저 삭제
-		  CommentVO commentVO = new CommentVO();
-		  commentVO.setNttNoArr(board.getNttNoArr());
-		  bbsCommentService.deleteAllComment(commentVO);
-		  //게시물삭제
-		  bbsMngDAO.deleteCompleteBoardArticle(board);
-		  //파일 삭제
-		  BoardVO article = null;
-		  for(int i = 0; i < articleList.size(); i++) {
-			  article = articleList.get(i);
-			  if(!EgovStringUtil.isEmpty(article.getAtchFileId())) {
-				  fileMngService.deleteFileInfs(article.getAtchFileId());
-			  }
-		  }
-	  }
-  }
-
-  //게시물 한 건을 복구 한다.
-  public void repairBoardArticle(BoardVO board) throws Exception {
-	  bbsMngDAO.repairBoardArticle(board);
-  }
-
-	public List<EgovMap> selectBoardStatisticsPie(BoardVO boardVO) throws Exception {
-		return this.bbsMngDAO.selectBoardStatisticsPie(boardVO);
-	}
-
-	public EgovMap selectBoardStatisticsBar(BoardVO boardVO) throws Exception {
-		return this.bbsMngDAO.selectBoardStatisticsBar(boardVO);
-	}
-
-	public List<EgovMap> selectBoardStatisticsBarMemberList(BoardVO boardVO) throws Exception {
-		return this.bbsMngDAO.selectBoardStatisticsBarMemberList(boardVO);
-	}
-
-	public EgovMap selectStatistics(BoardVO boardVO) throws Exception {
-		EgovMap resultMap = new EgovMap();
-		List<?> StatisticsList = this.bbsMngDAO.selectStatisticsList(boardVO);
-		int StatisticsListCnt = this.bbsMngDAO.selectStatisticsListCnt(boardVO);
-		resultMap.put("resultList", StatisticsList);
-		resultMap.put("resultCnt", StatisticsListCnt);
-		return resultMap;
-	}
-
-	public EgovMap selectAttendCollectCnt(BoardVO boardVO) throws Exception{
-		return this.bbsMngDAO.selectAttendCollectCnt(boardVO);
-	}
-
-	public EgovMap selectMemBoard(BoardVO boardVO) throws Exception {
-		EgovMap resultMap = new EgovMap();
-		List<?> resultList = this.bbsMngDAO.selectMemBoardList(boardVO);
-		int resultCnt = this.bbsMngDAO.selectMemBoardListCnt(boardVO);
-		resultMap.put("resultList", resultList);
-		resultMap.put("resultCnt", resultCnt);
-		return resultMap;
-	}
-
-	public List<EgovMap> selectStaffMemBoardList(BoardVO boardVO) throws Exception {
-		return this.bbsMngDAO.selectStaffMemBoardList(boardVO);
-	}
-
-}
+package egovframework.com.cop.bbs.service.impl;
+
+import java.math.BigDecimal;
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import egovframework.com.cop.bbs.service.*;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Service;
+
+import egovframework.com.cmm.service.EgovFileMngService;
+import egovframework.com.cmm.service.FileVO;
+import egovframework.com.utl.fcc.service.EgovStringUtil;
+import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import egovframework.rte.fdl.idgnr.EgovIdGnrService;
+import egovframework.rte.fdl.property.EgovPropertyService;
+import egovframework.rte.psl.dataaccess.util.EgovMap;
+
+//게시물 관리를 위한 서비스 구현 클래스
+@Service("EgovBBSManageService")
+public class BBSManageServiceImpl extends EgovAbstractServiceImpl implements BBSManageService {
+
+	@Resource(name = "BBSManageDAO")
+	private BBSManageDAO bbsMngDAO;
+
+	@Resource(name = "EgovBBSCommentService")
+	protected BBSCommentService bbsCommentService;
+
+	@Resource(name = "EgovFileMngService")
+	private EgovFileMngService fileMngService;
+
+	@Resource(name = "egovBbsNttNoGnrService")
+    private EgovIdGnrService idgenService;
+
+	@Resource(name = "propertiesService")
+	protected EgovPropertyService propertyService;
+
+	Logger log = Logger.getLogger(this.getClass());
+
+  //게시물 한 건을 삭제 한다.
+  public void deleteBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
+
+	  if(master != null) {
+		  board.setBbsAttrbCode(master.getBbsAttrbCode());
+	  }
+
+	  FileVO fvo = new FileVO();
+
+	  fvo.setAtchFileId(board.getAtchFileId());
+
+	  //board.setNttSj("이 글은 작성자에 의해서 삭제되었습니다.");
+
+	  bbsMngDAO.deleteBoardArticle(board);
+
+	  //if(!"".equals(fvo.getAtchFileId()) || fvo.getAtchFileId() != null) {
+	  //  fileService.deleteAllFileInf(fvo);
+   	  //}
+  }
+
+  //임시첨부파일을 정식으로 등록 한다.
+  public String insertFileInfsByTemp(BoardVO board) throws Exception {
+	  FileVO fvo = new FileVO();
+	  fvo.setAtchFileId(board.getAtchFileId());
+	  fvo.setFileGroupId(board.getFileGroupId());
+	  return fileMngService.insertFileInfsByTemp(fvo).getAtchFileId();
+  }
+
+  //게시판에 게시물을 등록 한다.
+  public void insertBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
+	  if(board.getNttNo() == null) {
+		  board.setNttNo(idgenService.getNextBigDecimalId());
+	  }
+
+	  if(master != null) {
+		  board.setBbsAttrbCode(master.getBbsAttrbCode());
+	  }
+
+	  board.setAtchFileId(this.insertFileInfsByTemp(board));
+
+	  bbsMngDAO.insertBoardArticle(board);
+
+  }
+
+  //게시판에 답변 게시물을 등록 한다.
+  public void replyBoardArticle(BoardVO board, BoardMasterVO master) throws Exception {
+	  if(board.getNttNo() == null) {
+		  board.setNttNo(idgenService.getNextBigDecimalId());
+	  }
+
+	  if(master != null) {
+		  board.setBbsAttrbCode(master.getBbsAttrbCode());
+	  }
+
+	  board.setAtchFileId(this.insertFileInfsByTemp(board));
+
+	  bbsMngDAO.replyBoardArticle(board);
+
+  }
+
+  //게시물 대하여 상세 내용을 조회 한다.
+  public BoardVO selectBoardArticle(BoardVO boardVO) throws Exception {
+    if(boardVO.isPlusCount()) {
+    	bbsMngDAO.updateInqireCo(boardVO);
+    }
+
+    BoardVO resultVO = bbsMngDAO.selectBoardArticle(boardVO);
+
+    if (resultVO == null)
+        throw processException("info.nodata.msg");
+
+
+    return resultVO;
+  }
+
+  //조건에 맞는 게시물 목록을 조회 한다.
+  public List<BoardVO> selectBoardArticles(BoardVO boardVO) throws Exception {
+	  return bbsMngDAO.selectBoardArticleList(boardVO);
+  }
+
+  //조건에 맞는 게시물 목록건수를 조회 한다.
+  public int selectBoardArticlesCnt(BoardVO boardVO) throws Exception {
+	  return bbsMngDAO.selectBoardArticleListCnt(boardVO);
+  }
+
+  //게시물 한 건의 내용을 수정 한다.
+  public void updateBoardArticle(BoardVO board, BoardMasterVO master, boolean isEstn) throws Exception {
+	  if(master != null) {
+		  board.setBbsAttrbCode(master.getBbsAttrbCode());
+	  }
+
+	  String atchFileId = this.insertFileInfsByTemp(board);
+	  if(isEstn) {
+		  board.setEstnAtchFileId(atchFileId);
+	  } else {
+		  board.setAtchFileId(atchFileId);
+	  }
+
+	  //bbsMngDAO.updateBoardArticle(board);
+	  if(!"BBSA11".equals(board.getBbsAttrbCode())) {
+		  bbsMngDAO.updateBoardArticleByNormal(board);
+	  } else {
+		  if(EgovStringUtil.isEmpty(board.getProcessSttusCode())) {
+			  bbsMngDAO.updateBoardArticleByEmptyProcessSttusCode(board);
+		  } else {
+			  bbsMngDAO.updateBoardArticleByProcessSttusCode(board);
+		  }
+	  }
+  }
+
+  //조건에 맞는 게시물 목록을 조회 한다.
+  public List<BoardVO> selectSearchBoardArticleList(BoardVO boardVO) throws Exception {
+  	return bbsMngDAO.selectSearchBoardArticleList(boardVO);
+  }
+
+  //조건에 맞는 게시물 목록에 대한 전체 건수를 조회 한다.
+  public int selectSearchBoardArticleListCnt(BoardVO boardVO) throws Exception {
+  	return bbsMngDAO.selectSearchBoardArticleListCnt(boardVO);
+  }
+
+  //관리용 게시물을 이동시킨다.
+  public void updateBoardArticlesManageMove(BoardVO board) throws Exception {
+	  bbsMngDAO.updateBoardArticlesManageMove(board);
+  }
+
+  //관리용 게시물을 복사한다.
+  public void updateBoardArticlesManageCopy(BoardVO board) throws Exception {
+	  /*
+	  List<BoardVO> articleList = bbsMngDAO.selectBoardArticlesManageCopyList(board);
+	  if(articleList != null && articleList.size() > 0) {
+		  articleList = updateNewNttNoGen(articleList);
+		  for(int i = 0; i < articleList.size(); i++) {
+			  articleList.get(i).setBbsId(board.getTrgetId());
+			  articleList.get(i).setCtgryId(board.getCtgryId());
+		  }
+
+		  articleList = fileMngService.updateFileManageCopy(articleList);
+		  bbsMngDAO.insertBoardArticleBatch(articleList);
+
+		  bbsCommentService.updateCommentManageCopy(board.getNttNoArr(), articleList);
+	  }
+	  */
+  }
+
+  //게시물번호를 재배치한다.
+  public List<BoardVO> updateNewNttNoGen(List<BoardVO> articleList) throws Exception {
+	/*
+	BoardVO article = null;
+  	for(int i = 0; i < articleList.size(); i++) {
+  		article = articleList.get(i);
+  		updateNewNttNoGen(articleList, article.getNttNo(), idgenService.getNextBigDecimalId());
+	}
+	*/
+  	return articleList;
+
+  }
+
+  //게시물번호를 재배치한다.
+  public void updateNewNttNoGen(List<BoardVO> articleList, BigDecimal oldNttNo, BigDecimal newNttNo) throws Exception {
+	/*
+	BoardVO article = null;
+	String ordrCode = EgovStringUtil.lpad(oldNttNo.toString(), 15, "0");
+  	for(int i = 0; i < articleList.size(); i++) {
+  		article = articleList.get(i);
+		if(ordrCode.equals(article.getOrdrCode().substring(0, 15))) {
+			article.setOrdrCode(EgovStringUtil.lpad(newNttNo.toString(), 15, "0") + article.getOrdrCode().substring(15));
+		}
+		if(oldNttNo.equals(article.getNttNo())) {
+			article.setNttNo(newNttNo);
+			article.setOldNttNo(oldNttNo);
+		}
+	}
+	*/
+  }
+
+  //관리용 게시물을 삭제한다.
+  public void updateBoardArticlesManageHide(BoardVO board) throws Exception {
+	  bbsMngDAO.updateBoardArticlesManageHide(board);
+  }
+
+  //게시물 한 건을 완전삭제 한다.
+  public void deleteCompleteBoardArticle(BoardVO board) throws Exception {
+	  List<BoardVO> articleList = bbsMngDAO.selectBoardArticlesManageSimpleList(board);
+	  if(articleList != null && articleList.size() > 0) {
+		  //코멘트먼저 삭제
+		  CommentVO commentVO = new CommentVO();
+		  commentVO.setNttNoArr(board.getNttNoArr());
+		  bbsCommentService.deleteAllComment(commentVO);
+		  //게시물삭제
+		  bbsMngDAO.deleteCompleteBoardArticle(board);
+		  //파일 삭제
+		  BoardVO article = null;
+		  for(int i = 0; i < articleList.size(); i++) {
+			  article = articleList.get(i);
+			  if(!EgovStringUtil.isEmpty(article.getAtchFileId())) {
+				  fileMngService.deleteFileInfs(article.getAtchFileId());
+			  }
+		  }
+	  }
+  }
+
+  //게시물 한 건을 복구 한다.
+  public void repairBoardArticle(BoardVO board) throws Exception {
+	  bbsMngDAO.repairBoardArticle(board);
+  }
+
+	public List<EgovMap> selectBoardStatisticsPie(BoardVO boardVO) throws Exception {
+		return this.bbsMngDAO.selectBoardStatisticsPie(boardVO);
+	}
+
+	public EgovMap selectBoardStatisticsBar(BoardVO boardVO) throws Exception {
+		return this.bbsMngDAO.selectBoardStatisticsBar(boardVO);
+	}
+
+	public List<EgovMap> selectBoardStatisticsBarMemberList(BoardVO boardVO) throws Exception {
+		return this.bbsMngDAO.selectBoardStatisticsBarMemberList(boardVO);
+	}
+
+	public EgovMap selectStatistics(BoardVO boardVO) throws Exception {
+		EgovMap resultMap = new EgovMap();
+		List<?> StatisticsList = this.bbsMngDAO.selectStatisticsList(boardVO);
+		int StatisticsListCnt = this.bbsMngDAO.selectStatisticsListCnt(boardVO);
+		resultMap.put("resultList", StatisticsList);
+		resultMap.put("resultCnt", StatisticsListCnt);
+		return resultMap;
+	}
+
+	public EgovMap selectAttendCollectCnt(BoardVO boardVO) throws Exception{
+		return this.bbsMngDAO.selectAttendCollectCnt(boardVO);
+	}
+
+	public EgovMap selectMemBoard(BoardVO boardVO) throws Exception {
+		EgovMap resultMap = new EgovMap();
+		List<?> resultList = this.bbsMngDAO.selectMemBoardList(boardVO);
+		int resultCnt = this.bbsMngDAO.selectMemBoardListCnt(boardVO);
+		resultMap.put("resultList", resultList);
+		resultMap.put("resultCnt", resultCnt);
+		return resultMap;
+	}
+
+	public List<EgovMap> selectStaffMemBoardList(BoardVO boardVO) throws Exception {
+		return this.bbsMngDAO.selectStaffMemBoardList(boardVO);
+	}
+
+}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCtgryMasterServiceImpl.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCtgryMasterServiceImpl.java
@@ -1,90 +0,0 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-import egovframework.rte.fdl.idgnr.EgovIdGnrService;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryMasterService;
-import egovframework.com.cop.bbs.service.CtgryMasterVO;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.impl.BBSCtgryMasterDAO;
-
-
-@Service("EgovBBSCtgryMasterService")
-public class EgovBBSCtgryMasterServiceImpl extends EgovAbstractServiceImpl implements EgovBBSCtgryMasterService {
-
-    @Resource(name="BBSCtgryMasterDAO")
-    private BBSCtgryMasterDAO comtnbbsctgrymasterDAO;
-    
-    @Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
-    
-    /** ID Generation */
-    @Resource(name="egovBBSCtgryMstrIdGnrService")    
-    private EgovIdGnrService egovIdGnrService;
-
-	//COMTNBBSCTGRYMASTER을 등록한다.
-    public String insertComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-    	//log.debug(vo.toString());
-    	
-    	/** ID Generation Service */
-    	//TODO 해당 테이블 속성에 따라 ID 제너레이션 서비스 사용
-    	String id = egovIdGnrService.getNextStringId();
-    	vo.setCtgrymasterId(id);
-    	
-    	comtnbbsctgrymasterDAO.insertComtnbbsctgrymaster(vo);
-    	
-    	Ctgry ctgry = new Ctgry();
-    	ctgry.setCtgrymasterId(id);
-    	ctgry.setCtgryNm("대분류");
-    	egovBBSCtgryService.insertComtnbbsctgry(ctgry);
-    	
-    	//TODO 해당 테이블 정보에 맞게 수정    	
-        return id;
-    }
-
-    //COMTNBBSCTGRYMASTER을 수정한다.
-    public void updateComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        comtnbbsctgrymasterDAO.updateComtnbbsctgrymaster(vo);
-    }
-
-    //COMTNBBSCTGRYMASTER을 삭제한다.
-    public void deleteComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        comtnbbsctgrymasterDAO.deleteComtnbbsctgrymaster(vo);
-    }
-
-    //COMTNBBSCTGRYMASTER을 조회한다.
-    public CtgryMaster selectComtnbbsctgrymaster(CtgryMaster vo) throws Exception {
-        CtgryMaster resultVO = comtnbbsctgrymasterDAO.selectComtnbbsctgrymaster(vo);
-        //if (resultVO == null)
-        //    throw processException("info.nodata.msg");
-        return resultVO;
-    }
-    
-    //카테고리마스터Id검색
-    public CtgryMaster selectCtgrymasterId(CtgryMaster vo) throws Exception {
-        CtgryMaster resultVO = comtnbbsctgrymasterDAO.selectCtgrymasterId(vo);
-        return resultVO;
-    }
-    
-    //COMTNBBSCTGRYMASTER 목록을 조회한다.
-    public List<CtgryMaster> selectComtnbbsctgrymasterList(CtgryMasterVO searchVO) throws Exception {
-        return comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterList(searchVO);
-    }
-
-    //COMTNBBSCTGRYMASTER 총 갯수를 조회한다.
-    public int selectComtnbbsctgrymasterListTotCnt(CtgryMasterVO searchVO) {
-		return comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterListTotCnt(searchVO);
-	}
-    
-    
-    public List<CtgryMaster> selectCtgrymasterList(CtgryMasterVO searchVO) throws Exception {
-        return comtnbbsctgrymasterDAO.selectCtgrymasterList(searchVO);
-    }
-}
 
base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCtgryServiceImpl.java (deleted)
--- base/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSCtgryServiceImpl.java
@@ -1,157 +0,0 @@
-package egovframework.com.cop.bbs.service.impl;
-
-import java.util.List;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
-import egovframework.rte.fdl.idgnr.EgovIdGnrService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.CtgryVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.impl.BBSCtgryDAO;
-import egovframework.com.utl.fcc.service.EgovStringUtil;
-
-/**
- * @Class Name : ComtnbbsctgryServiceImpl.java
- * @Description : Comtnbbsctgry Business Implement class
- * @Modification Information
- *
- * @author 정정욱
- * @since 20110907
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-
-@Service("EgovBBSCtgryService")
-public class EgovBBSCtgryServiceImpl extends EgovAbstractServiceImpl implements
-        EgovBBSCtgryService {
-
-    @Resource(name="comtnbbsctgryDAO")
-    private BBSCtgryDAO comtnbbsctgryDAO;
-    
-    /** ID Generation */
-    @Resource(name="egovBbsCtgryIdGnrService")    
-    private EgovIdGnrService egovIdGnrService;
-
-	/**
-	 * COMTNBBSCTGRY을 등록한다.
-	 * @param vo - 등록할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 등록 결과
-	 * @exception Exception
-	 */
-    public String insertComtnbbsctgry(Ctgry vo) throws Exception {
-    	
-    	/** ID Generation Service */
-    	//TODO 해당 테이블 속성에 따라 ID 제너레이션 서비스 사용
-    	String id = egovIdGnrService.getNextStringId();
-    	vo.setCtgryId(id);
-    	
-    	int ctgryLevel = 0;
-    	if(!EgovStringUtil.isEmpty(vo.getUpperCtgryId())){
-    		ctgryLevel = comtnbbsctgryDAO.selectComtnbbsctgryNextLevel(vo);
-    	}
-    	
-    	vo.setCtgryLevel(ctgryLevel);
-    	comtnbbsctgryDAO.insertComtnbbsctgry(vo);
-    	//TODO 해당 테이블 정보에 맞게 수정    	
-        return null;
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 수정한다.
-	 * @param vo - 수정할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형
-	 * @exception Exception
-	 */
-    public void updateComtnbbsctgry(Ctgry vo) throws Exception {
-        comtnbbsctgryDAO.updateComtnbbsctgry(vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 삭제한다.
-	 * @param vo - 삭제할 정보가 담긴 ComtnbbsctgryVO
-	 * @return void형 
-	 * @exception Exception
-	 */
-    public void deleteComtnbbsctgry(Ctgry vo) throws Exception {
-        comtnbbsctgryDAO.deleteComtnbbsctgry(vo);
-    }
-
-    /**
-	 * COMTNBBSCTGRY을 조회한다.
-	 * @param vo - 조회할 정보가 담긴 ComtnbbsctgryVO
-	 * @return 조회한 COMTNBBSCTGRY
-	 * @exception Exception
-	 */
-    public Ctgry selectComtnbbsctgry(Ctgry vo) throws Exception {
-        Ctgry resultVO = comtnbbsctgryDAO.selectComtnbbsctgry(vo);
-        //if (resultVO == null)
-        //    throw processException("info.nodata.msg");
-        return resultVO;
-    }
-
-    /**
-	 * COMTNBBSCTGRY 목록을 조회한다.
-	 * @param searchVO - 조회할 정보가 담긴 VO
-	 * @return COMTNBBSCTGRY 목록
-	 * @exception Exception
-	 */
-	public List<Ctgry> selectComtnbbsctgryList(CtgryVO searchVO) throws Exception {
-        return comtnbbsctgryDAO.selectComtnbbsctgryList(searchVO);
-    }
-
-    /**
-	 * COMTNBBSCTGRY 총 갯수를 조회한다.
-	 * @param searchVO - 조회할 정보가 담긴 VO
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgryListTotCnt(CtgryVO searchVO) {
-		return comtnbbsctgryDAO.selectComtnbbsctgryListTotCnt(searchVO);
-	}
-    
-	/**
-	 * COMTNBBSCTGRY DEPTH를 조회한다.
-	 * @param searchMap - 조회할 정보가 담긴 Map
-	 * @return COMTNBBSCTGRY 총 갯수
-	 * @exception
-	 */
-    public int selectComtnbbsctgryLevel(CtgryVO searchVO) {
-        return comtnbbsctgryDAO.selectComtnbbsctgryLevel(searchVO);
-    }
-    
-    /**
-     * 정렬순서를 수정한다.
-     * 
-     * @param Ctgry
-     */
-    public void updateSortOrdr(Ctgry vo) throws Exception {
-    	//변경되야될 것
-    	comtnbbsctgryDAO.updateSortOrdr(vo);
-    	
-    	//다음 & 이전 꺼
-    	comtnbbsctgryDAO.updateSiblingsSortOrdr(vo);
-    	/*
-    	int sourceSortOrdr = vo.getSortOrdr();
-    	Ctgry targetCtgry = comtnbbsctgryDAO.selectTargetSortOrdr(vo);
-    	
-    	if(targetCtgry != null) {
-    		vo.setSortOrdr(targetCtgry.getSortOrdr());
-    		comtnbbsctgryDAO.updateSortOrdr(vo);
-    		
-    		vo.setCtgryId(targetCtgry.getCtgryId());
-    		vo.setSortOrdr(sourceSortOrdr);
-    		comtnbbsctgryDAO.updateSortOrdr(vo);
-    	}
-    	*/
-    }	
-    
-    
-    
-    
-}
base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSCommentController.java
--- base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSCommentController.java
+++ base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSCommentController.java
@@ -18,7 +18,7 @@
 import egovframework.com.cmm.EgovMessageSource;
 import egovframework.com.cop.bbs.service.Comment;
 import egovframework.com.cop.bbs.service.CommentVO;
-import egovframework.com.cop.bbs.service.EgovBBSCommentService;
+import egovframework.com.cop.bbs.service.BBSCommentService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.uat.uia.service.LoginVO;
 import egovframework.rte.fdl.property.EgovPropertyService;
@@ -44,7 +44,7 @@
 public class EgovBBSCommentController {
   
 	@Resource(name = "EgovBBSCommentService")
-	protected EgovBBSCommentService bbsCommentService;
+	protected BBSCommentService bbsCommentService;
   
 	@Resource(name = "propertiesService")
 	protected EgovPropertyService   propertyService;
base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSManageController.java
--- base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSManageController.java
+++ base/src/main/java/egovframework/com/cop/bbs/web/EgovBBSManageController.java
@@ -1,14 +1,12 @@
 package egovframework.com.cop.bbs.web;
 
 import java.io.PrintWriter;
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 
+import egovframework.com.cop.bbs.service.*;
 import net.sf.json.JSONObject;
 
 import org.apache.log4j.Logger;
@@ -27,15 +25,6 @@
 import egovframework.com.cmm.service.EgovFileMngService;
 import egovframework.com.cmm.service.EgovFileMngUtil;
 import egovframework.com.cmm.service.FileVO;
-import egovframework.com.cop.bbs.service.Board;
-import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryMasterService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO;
 import egovframework.com.sym.sit.service.SiteManageService;
@@ -58,13 +47,13 @@
 public class EgovBBSManageController {
   
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService          bbsMngService;
+	private BBSManageService bbsMngService;
   
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
   
-	@Resource(name = "EgovBBSCtgryService")
-	private EgovBBSCtgryService           ctgryService;
+	@Resource(name = "bbsCtgryService")
+	private BBSCtgryService ctgryService;
 	
 	@Resource(name = "siteManageService")
 	SiteManageService 				  siteManageService;
@@ -87,11 +76,8 @@
 	@Resource(name = "IndvdlestbsService")
     private EgovIndvdlestbsService indvdlestbsService;
 	
-	@Resource(name = "EgovBBSCtgryMasterService")
-    private EgovBBSCtgryMasterService egovBBSCtgryMasterService;
-    
-    @Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
+	@Resource(name = "bbsCtgryMasterService")
+    private BBSCtgryMasterService bbsCtgryMasterService;
     
     /** EgovPropertyService */
     @Resource(name = "propertiesService")
@@ -192,13 +178,7 @@
     	noticeVO.setBbsAttrbCode(master.getBbsAttrbCode());
     	noticeVO.setSearchNoticeAt("Y");
     	noticeVO.setFirstIndex(0);
-    	//교재&사전
-    	if("BBSMSTR_000000000005".equals(boardVO.getBbsId())){
-    		noticeVO.setRecordCountPerPage(3);
-    	}else {
-    		noticeVO.setRecordCountPerPage(9999);
-    	}
-    	
+
     	model.addAttribute("noticeList", bbsMngService.selectBoardArticles(noticeVO));
 	    
 	    paginationInfo.setCurrentPageNo(boardVO.getPageIndex());
@@ -211,36 +191,19 @@
 	      
 		boardVO.setCommentUseAt(master.getCommentUseAt());
 		boardVO.setBbsAttrbCode(master.getBbsAttrbCode());
-		
-		if("BBSMSTR_000000000010".equals(boardVO.getBbsId())){
-			  boardVO.setFirstIndex(0);
-			  boardVO.setRecordCountPerPage(4);
-			  boardVO.setCrclId(null);
-			  boardVO.setIsMainFlag("Y");
-			  boardVO.setSysTyCode("ALL");
-		}
-		
-		//양식자료 - 학생접근 시
-		if(SE_CODE < 8 && "BBSMSTR_000000000023".equals(boardVO.getBbsId())){
-			List<String> searchCateList = new ArrayList<String>();
-			searchCateList.add("CTG_0000000000000272");
-			boardVO.setSearchCateList(searchCateList);
-		}
-		
+
         List<BoardVO> resultList = bbsMngService.selectBoardArticles(boardVO);
         int totCnt = bbsMngService.selectBoardArticlesCnt(boardVO);
         
         paginationInfo.setTotalRecordCount(totCnt);
         
         if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-        	Ctgry ctgry = new Ctgry();
+			CtgryVO ctgry = new CtgryVO();
 			ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			model.addAttribute("boardCateLevel", ctgryService.selectComtnbbsctgryLevel(ctgry));
         }
-        
-        
-        
+
         model.addAttribute("resultList", resultList);
         model.addAttribute("resultCnt", totCnt);
         model.addAttribute("brdMstrVO", master);
@@ -250,38 +213,11 @@
   	  	
         return propertyService.getString("publish.sourc.bbs.fileStoreWebPathByJspFile") + master.getSourcId() + "/EgovNoticeList";
       }
-	  
-	  if("BBSMSTR_000000000010".equals(boardVO.getBbsId())){
-		  boardVO.setFirstIndex(0);
-		  boardVO.setRecordCountPerPage(1000);
-		  boardVO.setCrclId(null);
-		  boardVO.setIsMainFlag("Y");
-		  boardVO.setSysTyCode("ALL");
-		  boardVO.setBbsAttrbCode("BBSA02");
 
-		  List<BoardVO> resultList = bbsMngService.selectBoardArticles(boardVO);
-		  model.addAttribute("resultList", resultList);
-		  
-		//언어코드
-			Ctgry ctgry = new Ctgry();
-			ctgry.setCtgrymasterId("CTGMST_0000000000002");
-			model.addAttribute("languageList", egovBBSCtgryService.selectComtnbbsctgryList(ctgry));
-			
-		  return propertyService.getString("publish.sourc.bbs.fileStoreWebPathByJspFile") + "BBSSRC_0000000000010/EgovNoticeList";
-	  }
-    
     return null;
   }
   
-  /**
-   * 게시물에 대한 상세 정보를 조회한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 상세 정보를 조회한다.
   @RequestMapping(value = "/cop/bbs/selectBoardArticle.do")
   public String selectBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -341,19 +277,9 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물 등록을 위한 등록페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물 등록을 위한 등록페이지로 이동한다.
   @RequestMapping(value = "/cop/bbs/addBoardArticle.do")
   public String addBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-
-	  
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
 	  if(user == null) {
 	      return "redirect:" + EgovUserDetailsHelper.getRedirectLoginUrl();
@@ -378,7 +304,7 @@
 		  int SE_CODE = Integer.parseInt(user.getUserSe());
 		  if(SE_CODE >= Integer.parseInt(master.getRegistAuthor())){
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -408,33 +334,15 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물을 등록한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물을 등록한다.
   @RequestMapping(value = "/cop/bbs/insertBoardArticle.do")
-  public String insertBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
-		  Board board, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
+  public String insertBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, Board board, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 	  
 	  if(request.getSession().getAttribute("sessionVO") == null) {
 		  return "forward:/cop/bbs/selectBoardList.do";
 	  }
 	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-	  /*
-	  LoginVO user = new LoginVO();
-	  user.setUserSe("10");
-	  user.setName("관리자");
-	  user.setId("admin");
-	  */
-	  //beanValidator.validate(board, bindingResult);
-    
+
 	  BoardMasterVO vo = new BoardMasterVO();
 	  vo.setBbsId(boardVO.getBbsId());
 	  
@@ -476,18 +384,9 @@
 	  request.getSession().removeAttribute("sessionVO");
 	  	
 	  return "forward:/cop/bbs/selectBoardList.do";
-	  //return "test";
   }
   
-  /**
-   * 게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
   @RequestMapping(value = "/cop/bbs/addReplyBoardArticle.do")
   public String addReplyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
@@ -559,20 +458,9 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물에 대한 답변을 등록한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물에 대한 답변을 등록한다.
   @RequestMapping(value = "/cop/bbs/replyBoardArticle.do")
-  public String replyBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
-		  Board board, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+  public String replyBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, Board board, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
    
 	  if(request.getSession().getAttribute("sessionVO") == null) {
 		  return "forward:/cop/bbs/selectBoardList.do";
@@ -651,16 +539,7 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물 수정을 위한 수정페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param vo
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물 수정을 위한 수정페이지로 이동한다.
   @RequestMapping(value = "/cop/bbs/forUpdateBoardArticle.do")
   public String selectBoardArticleForUpdt(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
@@ -689,7 +568,7 @@
 		  
 		  if(SE_CODE >= Integer.parseInt(master.getRegistAuthor())){
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -717,21 +596,9 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물에 대한 내용을 수정한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물에 대한 내용을 수정한다.
   @RequestMapping(value = "/cop/bbs/updateBoardArticle.do")
-  public String updateBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
-		  Board board, BindingResult bindingResult, 
-      ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+  public String updateBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, Board board, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
 	  if(request.getSession().getAttribute("sessionVO") == null) {
 		  return "forward:/cop/bbs/selectBoardList.do";
@@ -755,7 +622,7 @@
       
 		  if(master != null) {
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -824,16 +691,7 @@
 	  return "forward:/cop/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물에 대한 내용을 삭제한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 내용을 삭제한다.
   @RequestMapping(value = "/cop/bbs/deleteBoardArticle.do")
   public String deleteBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, BoardVO board, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -867,14 +725,7 @@
   }
   
   
-  /**
-   * [관리용-공통] 게시판 마스터 목록을 조회한다.
-   * 
-   * @param boardMasterVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //[관리용-공통] 게시판 마스터 목록을 조회한다.
   @RequestMapping("/cop/com/selectAllBBSMasterManageInfs.do")
   public String selectAllBBSMasterManageInfs(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
    
@@ -911,16 +762,7 @@
 	  return "cop/com/selectAllBBSMasterManageInfs";
   }
   
-  /**
-   * 게시물을 관리한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물을 관리한다.
   @RequestMapping(value = "/cop/bbs/manageArticle.do")
   public void manageArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -949,148 +791,6 @@
 	  printwriter.flush();
 	  printwriter.close();
   }
-  
-  /**
-	 * COMTNBBSCTGRYMASTER 목록을 조회한다. (pageing)
-	 * @param searchVO - 조회할 정보가 담긴 CtgryMaster
-	 * @exception Exception
-	 */
-  @RequestMapping(value="/cop/bbs/selectBBSCtgryMasterList.do")
-  public String selectBBSCtgryMasterList(@ModelAttribute("searchVO") CtgryMaster searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-  	LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-		if(!EgovStringUtil.isEmpty(loginVO.getSiteId())) {		  
-			searchVO.setSiteId(loginVO.getSiteId());
-		}
-		
-  	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
-  	searchVO.setPageSize(propertiesService.getInt("pageSize"));
-  	
-  	/** pageing */
-  	PaginationInfo paginationInfo = new PaginationInfo();
-		paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
-		paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
-		paginationInfo.setPageSize(searchVO.getPageSize());
-		
-		searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
-		searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
-		searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
 
-		searchVO.setRecordCountPerPage(Integer.MAX_VALUE);
-		searchVO.setSysTyCode("SYS02");
-		List<CtgryMaster> masterList = egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(searchVO);
-		Ctgry ctgry = new Ctgry();
-		HashMap map = new HashMap();
-		int listSize = 0;
-		for(int i = 0; i < masterList.size(); i++){
-			ctgry.setCtgrymasterId(masterList.get(i).getCtgrymasterId());
-			List<Ctgry> ctgryList = egovBBSCtgryService.selectComtnbbsctgryList(ctgry);
-	  		map.put(masterList.get(i).getCtgrymasterId(), ctgryList);
-	  		
-	  		if(ctgryList.size() > listSize){
-	  			listSize = ctgryList.size();
-	  		}
-		}
-		
-		model.addAttribute("resultList", map);
-		model.addAttribute("listSize", listSize);
-		
-  		return "/cop/ctg/EgovBBSCtgryMasterList02";
-		
-  }
-  
-  /**
-   * 마이페이지 > 관심리스트 > 교재/사전
-   */
-  @RequestMapping(value = "/cop/bbs/selectLikeBookList.do")
-  public String selectLikeBookList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-	  
-	  SiteManageVO siteVO = siteManageService.selectSiteServiceInfo(request);
-	  model.addAttribute("siteInfo", siteVO);
-	  
-	  boardVO.setBbsId("BBSMSTR_000000000005");
-	  
-      PaginationInfo paginationInfo = new PaginationInfo();
-    
-	  BoardMasterVO vo = new BoardMasterVO();
-	  vo.setBbsId(boardVO.getBbsId());	  
-	  vo.setSiteId(siteVO.getSiteId());
-	  vo.setSysTyCode(siteVO.getSysTyCode());
-    
-	  BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(vo);
-    
-	  LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-	  if(master != null) {      
-		int SE_CODE = 1;		
-		if(user != null) {
-			SE_CODE = Integer.parseInt(user.getUserSe());	  
-			model.addAttribute("USER_INFO", user);
-			
-			boardVO.setTrgetId(user.getId());
-			
-			//교재&사전
-			if("BBSMSTR_000000000005".equals(boardVO.getBbsId())){
-				//좋아요 목록
-				IndvdlestbsVO indvdlestbsVO = new IndvdlestbsVO();
-				indvdlestbsVO.setUserId(user.getId());
-				indvdlestbsVO.setSiteId(siteVO.getSiteId());
-				indvdlestbsVO.setTrgetTyCode("BOOK_LIKE");
-				model.addAttribute("wishList", indvdlestbsService.selectIvpList(indvdlestbsVO));
-			}
-		}
 
-		// 페이징 정보 설정
-	    boardVO.setPageUnit(propertyService.getInt("pageUnit"));
-	    boardVO.setPageSize(propertyService.getInt("pageSize"));
-	    boardVO.setCtgrymasterId(master.getCtgrymasterId());
-	    
-	    if("BBSA02".equals(master.getBbsAttrbCode())) {
-	    	if(EgovStringUtil.isEmpty(boardVO.getViewType())){
-	    		boardVO.setViewType("photo");
-	    	}
-	    	
-	    	if("photo".equals(boardVO.getViewType())){
-	    		// 페이징 정보 설정
-			    boardVO.setPageUnit(propertyService.getInt("photoPageUnit"));
-			    boardVO.setPageSize(propertyService.getInt("photoPageSize"));
-	    	}
-	    }
-	    
-	    paginationInfo.setCurrentPageNo(boardVO.getPageIndex());
-	    paginationInfo.setRecordCountPerPage(boardVO.getPageUnit());
-	    paginationInfo.setPageSize(boardVO.getPageSize());
-	    
-	    boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
-	    boardVO.setLastIndex(paginationInfo.getLastRecordIndex());
-	    boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
-	      
-		boardVO.setCommentUseAt(master.getCommentUseAt());
-		boardVO.setBbsAttrbCode(master.getBbsAttrbCode());
-		
-		boardVO.setBookLikeAt("Y");
-		
-        List<BoardVO> resultList = bbsMngService.selectBoardArticles(boardVO);
-        int totCnt = bbsMngService.selectBoardArticlesCnt(boardVO);
-        
-        paginationInfo.setTotalRecordCount(totCnt);
-        
-        if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-        	Ctgry ctgry = new Ctgry();
-			ctgry.setCtgrymasterId(master.getCtgrymasterId());
-			model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
-			model.addAttribute("boardCateLevel", ctgryService.selectComtnbbsctgryLevel(ctgry));
-        }
-
-        model.addAttribute("resultList", resultList);
-        model.addAttribute("resultCnt", totCnt);
-        model.addAttribute("brdMstrVO", master);
-        model.addAttribute("BbsFileStoreWebPathByWebFile", propertyService.getString("publish.tmplat.bbs.fileStoreWebPathByWebFile"));
-  	  	model.addAttribute("paginationInfo", paginationInfo);	  
-  	    request.getSession().removeAttribute("sessionCommentVO");
-  	  	
-        return "usr/EgovLikeBookList";
-      }
-
-    return null;
-  }
-  
 }
base/src/main/java/egovframework/com/cop/cmy/service/impl/EgovCommunityManageServiceImpl.java
--- base/src/main/java/egovframework/com/cop/cmy/service/impl/EgovCommunityManageServiceImpl.java
+++ base/src/main/java/egovframework/com/cop/cmy/service/impl/EgovCommunityManageServiceImpl.java
@@ -15,7 +15,7 @@
 import org.springframework.stereotype.Service;
 
 import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
 
 import egovframework.com.cop.cmy.service.Community;
 import egovframework.com.cop.cmy.service.CommunityUser;
@@ -33,7 +33,7 @@
 public class EgovCommunityManageServiceImpl extends EgovAbstractServiceImpl implements EgovCommunityManageService {
 
     @Resource(name = "bbsAttributeManageService")
-    private EgovBBSAttributeManageService bbsAttrbService;
+    private BBSAttributeManageService bbsAttrbService;
 
     @Resource(name = "communityManageMapper")
     private CommunityManageMapper communityManageMapper;
base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSAttributeManageController.java
--- base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSAttributeManageController.java
+++ base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSAttributeManageController.java
@@ -4,6 +4,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import egovframework.com.cop.bbs.service.CtgryMasterVO;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -15,9 +16,8 @@
 
 import egovframework.com.cmm.service.CmmUseService;
 import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryMasterService;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSCtgryMasterService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO;
 import egovframework.com.sym.sit.service.SiteManageService;
@@ -29,33 +29,18 @@
 import egovframework.com.cop.cmy.service.CommunityUser;
 import egovframework.com.cop.cmy.service.EgovCommunityManageService;
 import egovframework.rte.fdl.cmmn.exception.EgovBizException;
-/**
- * 게시판 속성관리를 위한 컨트롤러 클래스
- * 
- * @author 공통서비스개발팀 이삼섭
- * @since 2009.06.01
- * @version 1.0
- * @see <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------       --------    ---------------------------
- *   2009.3.12  이삼섭          최초 생성
- *   2009.06.26	한성곤		2단계 기능 추가 (댓글관리, 만족도조사)
- * 
- * </pre>
- */
+//게시판 속성관리를 위한 컨트롤러 클래스
 @Controller("EgovBBSAttributeManageController")
 public class EgovBBSAttributeManageController {
 
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
 		
 	@Resource(name = "cmmUseService")
 	private CmmUseService             cmmUseService;
 		
-	@Resource(name = "EgovBBSCtgryMasterService")
-    private EgovBBSCtgryMasterService egovBBSCtgryMasterService;
+	@Resource(name = "bbsCtgryMasterService")
+    private BBSCtgryMasterService bbsCtgryMasterService;
 	
 	@Resource(name = "propertiesService")
 	protected EgovPropertyService         propertyService;
@@ -114,11 +99,11 @@
 	    model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 	    
 	    model.addAttribute("authList", cmmntyService.selectAuthorAllList(null));
-	    
-	    CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+		CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 	    ctgrymasterVO.setFirstIndex(0);
 	    ctgrymasterVO.setRecordCountPerPage(999999999);
-	    model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+	    model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 	    
 	    model.addAttribute("boardMaster", cmmntyMnu);	    
 
@@ -151,11 +136,11 @@
 		    model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 		    
 		    model.addAttribute("authList", cmmntyService.selectAuthorAllList(null));
-		    
-		    CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+			CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 		    ctgrymasterVO.setFirstIndex(0);
 		    ctgrymasterVO.setRecordCountPerPage(999999999);
-		    model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		    model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 		    
 		    model.addAttribute("siteInfo", siteVO);
 		    model.addAttribute("LytFileStoreWebPathByWebFile", propertyService.getString("publish.tmplat.lyt.fileStoreWebPathByWebFile"));
@@ -222,11 +207,11 @@
 			model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 			
 			model.addAttribute("authList", cmmntyService.selectAuthorAllList(null));
-			
-			CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+			CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 		    ctgrymasterVO.setFirstIndex(0);
 		    ctgrymasterVO.setRecordCountPerPage(999999999);
-		    model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		    model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 		    
 		    model.addAttribute("siteInfo", siteVO);
 		    model.addAttribute("LytFileStoreWebPathByWebFile", propertyService.getString("publish.tmplat.lyt.fileStoreWebPathByWebFile"));
base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSCommentController.java
--- base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSCommentController.java
+++ base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSCommentController.java
@@ -18,7 +18,7 @@
 import egovframework.com.cmm.EgovMessageSource;
 import egovframework.com.cop.bbs.service.Comment;
 import egovframework.com.cop.bbs.service.CommentVO;
-import egovframework.com.cop.bbs.service.EgovBBSCommentService;
+import egovframework.com.cop.bbs.service.BBSCommentService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.uat.uia.service.LoginVO;
 import egovframework.rte.fdl.property.EgovPropertyService;
@@ -44,7 +44,7 @@
 public class EgovBBSCommentController {
   
 	@Resource(name = "EgovBBSCommentService")
-	protected EgovBBSCommentService bbsCommentService;
+	protected BBSCommentService bbsCommentService;
   
 	@Resource(name = "propertiesService")
 	protected EgovPropertyService   propertyService;
base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSManageController.java
--- base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSManageController.java
+++ base/src/main/java/egovframework/com/cop/cmy/web/EgovBBSManageController.java
@@ -1,11 +1,11 @@
 package egovframework.com.cop.cmy.web;
 
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 
+import egovframework.com.cop.bbs.service.*;
 import org.apache.log4j.Logger;
 import net.sf.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,13 +23,6 @@
 import egovframework.com.cmm.service.EgovFileMngService;
 import egovframework.com.cmm.service.EgovFileMngUtil;
 import egovframework.com.cmm.service.FileVO;
-import egovframework.com.cop.bbs.service.Board;
-import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
 import egovframework.com.cop.cmy.service.CommunityUser;
 import egovframework.com.cop.cmy.service.EgovCommunityManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
@@ -47,33 +40,18 @@
 import javax.servlet.http.HttpServletResponse;
 
 
-/**
- * 게시물 관리를 위한 컨트롤러 클래스
- * 
- * @author 공통서비스개발팀 이삼섭
- * @since 2009.06.01
- * @version 1.0
- * @see <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------       --------    ---------------------------
- *   2009.3.19  이삼섭          최초 생성
- *   2009.06.29	한성곤	
- * 
- * </pre>
- */
+//게시물 관리를 위한 컨트롤러 클래스
 @Controller("EgovCmyBBSManageController")
 public class EgovBBSManageController {
   
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService          bbsMngService;
+	private BBSManageService bbsMngService;
   
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
   
-	@Resource(name = "EgovBBSCtgryService")
-	private EgovBBSCtgryService           ctgryService;
+	@Resource(name = "bbsCtgryService")
+	private BBSCtgryService ctgryService;
 	
 	@Resource(name = "siteManageService")
 	SiteManageService 				  siteManageService;
@@ -101,12 +79,7 @@
   
 	Logger log = Logger.getLogger(this.getClass());
   
-  /**
-   * XSS 방지 처리.
-   * 
-   * @param data
-   * @return
-   */
+  //XSS 방지 처리.
   protected String unscript(String data) {
     if(data == null || data.trim().equals("")) {
       return "";
@@ -133,15 +106,7 @@
   }
   
   
-  /**
-   * 게시물에 대한 목록을 조회한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 목록을 조회한다.
   @RequestMapping(value = "/cop/cmy/bbs/selectBoardList.do")
   public String selectBoardArticles(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
@@ -200,7 +165,7 @@
         paginationInfo.setTotalRecordCount(totCnt);
         
         if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-        	Ctgry ctgry = new Ctgry();
+			CtgryVO ctgry = new CtgryVO();
 			ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			model.addAttribute("boardCateLevel", ctgryService.selectComtnbbsctgryLevel(ctgry));
@@ -228,15 +193,7 @@
     return "cop/cmy/bbs/cmy_001/EgovNoticeList";
   }
   
-  /**
-   * 게시물에 대한 상세 정보를 조회한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 상세 정보를 조회한다.
   @RequestMapping(value = "/cop/cmy/bbs/selectBoardArticle.do")
   public String selectBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	      
@@ -293,15 +250,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물 등록을 위한 등록페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물 등록을 위한 등록페이지로 이동한다.
   @RequestMapping(value = "/cop/cmy/bbs/addBoardArticle.do")
   public String addBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
@@ -323,7 +272,7 @@
     
 	  if(master != null && !EgovStringUtil.isEmpty(boardVO.getTrgetId())) {
 		  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-			  Ctgry ctgry = new Ctgry();
+			  CtgryVO ctgry = new CtgryVO();
 			  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			  
@@ -364,17 +313,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물을 등록한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물을 등록한다.
   @RequestMapping(value = "/cop/cmy/bbs/insertBoardArticle.do")
   public String insertBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
 		  Board board, BindingResult bindingResult, 
@@ -413,7 +352,7 @@
       
 		  if(master != null && !EgovStringUtil.isEmpty(boardVO.getTrgetId())) {
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -457,15 +396,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 답변 등록을 위한 등록페이지로 이동한다.
   @RequestMapping(value = "/cop/cmy/bbs/addReplyBoardArticle.do")
   public String addReplyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	  
@@ -549,17 +480,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물에 대한 답변을 등록한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물에 대한 답변을 등록한다.
   @RequestMapping(value = "/cop/cmy/bbs/replyBoardArticle.do")
   public String replyBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
 		  Board board, BindingResult bindingResult, 
@@ -672,16 +593,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물 수정을 위한 수정페이지로 이동한다.
-   * 
-   * @param boardVO
-   * @param vo
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물 수정을 위한 수정페이지로 이동한다.
   @RequestMapping(value = "/cop/cmy/bbs/forUpdateBoardArticle.do")
   public String selectBoardArticleForUpdt(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
     
@@ -725,7 +637,7 @@
 		  
 		  if(SE_CODE >= Integer.parseInt(master.getRegistAuthor())){
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -752,17 +664,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
 
-  /**
-   * 게시물에 대한 내용을 수정한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @SuppressWarnings("unchecked")
+  //게시물에 대한 내용을 수정한다.
   @RequestMapping(value = "/cop/cmy/bbs/updateBoardArticle.do")
   public String updateBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, 
 		  BoardVO board, BindingResult bindingResult, 
@@ -802,7 +704,7 @@
       
 		  if(master != null && !EgovStringUtil.isEmpty(boardVO.getTrgetId())) {
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -866,16 +768,7 @@
 	  return "forward:/cop/cmy/bbs/selectBoardList.do";
   }
   
-  /**
-   * 게시물에 대한 내용을 삭제한다.
-   * 
-   * @param boardVO
-   * @param board
-   * @param sessionVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
+  //게시물에 대한 내용을 삭제한다.
   @RequestMapping(value = "/cop/cmy/bbs/deleteBoardArticle.do")
   public String deleteBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, BoardVO board, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSAttributeManageController.java (Renamed from base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSAttributeManageController.java)
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSAttributeManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSAttributeManageController.java
@@ -6,6 +6,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import egovframework.com.cop.bbs.service.CtgryMasterVO;
 import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -17,9 +18,8 @@
 
 import egovframework.com.cmm.service.CmmUseService;
 import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryMasterService;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSCtgryMasterService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
 import egovframework.com.cop.com.service.BbsSourcService;
 import egovframework.com.cop.com.service.BbsSourcVO;
 import egovframework.com.cop.com.service.BbsTmplatService;
@@ -32,27 +32,12 @@
 import egovframework.rte.fdl.string.EgovStringUtil;
 import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
 
-/**
- * 게시판 속성관리를 위한 컨트롤러 클래스
- * 
- * @author 공통서비스개발팀 이삼섭
- * @since 2009.06.01
- * @version 1.0
- * @see <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------       --------    ---------------------------
- *   2009.3.12  이삼섭          최초 생성
- *   2009.06.26	한성곤		2단계 기능 추가 (댓글관리, 만족도조사)
- * 
- * </pre>
- */
-@Controller("mngEgovBBSAttributeManageController")
-public class EgovBBSAttributeManageController {
+//게시판 속성관리를 위한 컨트롤러 클래스
+@Controller
+public class BBSAttributeManageController {
 	
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
 	
 	@Resource(name = "cmmUseService")
 	private CmmUseService             cmmUseService;
@@ -60,8 +45,8 @@
 	@Resource(name = "egovAuthorManageService")
 	private EgovAuthorManageService egovAuthorManageService;
 	
-	@Resource(name = "EgovBBSCtgryMasterService")
-    private EgovBBSCtgryMasterService egovBBSCtgryMasterService;
+	@Resource(name = "bbsCtgryMasterService")
+    private BBSCtgryMasterService bbsCtgryMasterService;
 	
 	@Resource(name = "bbsTmplatService")
     private BbsTmplatService bbsTmplatService;
@@ -77,12 +62,10 @@
 	  
 	
 	Logger log = Logger.getLogger(this.getClass());
-	  
-	  
-	  
-	  //신규 게시판 마스터 등록을 위한 등록페이지로 이동한다.
-	  @RequestMapping("/mng/cop/bbs/addBBSMaster.do")
-	  public String addBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+
+	//신규 게시판 마스터 등록을 위한 등록페이지로 이동한다.
+  	@RequestMapping("/mng/cop/bbs/addBBSMaster.do")
+  	public String addBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 	    		  
 		  //model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
 		  
@@ -91,13 +74,13 @@
 		  model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 	    
 		  model.addAttribute("authList", egovAuthorManageService.selectAuthorAllList(null));
-	    
-		  CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+		  CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 		  ctgrymasterVO.setSiteId(boardMasterVO.getSiteId());
 		  ctgrymasterVO.setSysTyCode(boardMasterVO.getSysTyCode());
 		  ctgrymasterVO.setFirstIndex(0);
 		  ctgrymasterVO.setRecordCountPerPage(999999999);
-		  model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		  model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 	   
 		  model.addAttribute("boardMaster", boardMasterVO);	    
 		  
@@ -109,9 +92,9 @@
 		  return "mng/cop/bbs/EgovBoardMstrRegist";
 	  }
 	  
-	  //신규 게시판 마스터 정보를 등록한다.
-	  @RequestMapping("/mng/cop/bbs/insertBBSMasterInf.do")
-	  public String insertBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMasterVO boardMaster, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
+	//신규 게시판 마스터 정보를 등록한다.
+	@RequestMapping("/mng/cop/bbs/insertBBSMasterInf.do")
+	public String insertBBSMasterInf(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMasterVO boardMaster, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception {
 	    
 		if(request.getSession().getAttribute("sessionVO") == null) {
 			return "forward:/mng/cop/bbs/SelectBBSMasterInfs.do";
@@ -129,13 +112,13 @@
 		    model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 		   
 		    model.addAttribute("authList", egovAuthorManageService.selectAuthorAllList(null));
-		    
-		    CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+			CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 		    ctgrymasterVO.setSiteId(boardMasterVO.getSiteId());
 			ctgrymasterVO.setSysTyCode(boardMasterVO.getSysTyCode());
 		    ctgrymasterVO.setFirstIndex(0);
 		    ctgrymasterVO.setRecordCountPerPage(999999999);
-		    model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		    model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 		    
 		    model.addAttribute("fileStoreTemplateWebPathByPreFile", propertyService.getString("publish.tmplat.bbs.fileStoreWebPathByPreFile"));
 			model.addAttribute("fileStoreSourcWebPathByPreFile", propertyService.getString("publish.sourc.bbs.fileStoreWebPathByPreFile"));
@@ -199,13 +182,13 @@
 		  model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 		
 		  model.addAttribute("authList", egovAuthorManageService.selectAuthorAllList(null));
-	    
-		  CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+		  CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 		  ctgrymasterVO.setSiteId(searchVO.getSiteId());
 		  ctgrymasterVO.setSysTyCode(searchVO.getSysTyCode());
 		  ctgrymasterVO.setFirstIndex(0);
 		  ctgrymasterVO.setRecordCountPerPage(999999999);
-		  model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		  model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 	    	    
 		  BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(searchVO);
 		  model.addAttribute("boardMaster", master);
@@ -252,13 +235,13 @@
 			model.addAttribute("attrbList", cmmUseService.selectCmmCodeDetail(vo));
 			
 			model.addAttribute("authList", egovAuthorManageService.selectAuthorAllList(null));
-			
-			CtgryMaster ctgrymasterVO = new CtgryMaster();
+
+			CtgryMasterVO ctgrymasterVO = new CtgryMasterVO();
 			ctgrymasterVO.setSiteId(boardMasterVO.getSiteId());
 			ctgrymasterVO.setSysTyCode(boardMasterVO.getSysTyCode());
 		    ctgrymasterVO.setFirstIndex(0);
 		    ctgrymasterVO.setRecordCountPerPage(999999999);
-		    model.addAttribute("ctgrymasterList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
+		    model.addAttribute("ctgrymasterList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(ctgrymasterVO));
 		    
 		    BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(boardMasterVO);
 			model.addAttribute("boardMaster", master);
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCommentController.java (Renamed from base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCommentController.java)
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCommentController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCommentController.java
@@ -1,362 +1,362 @@
-package egovframework.com.mng.cop.bbs.web;
-
-import java.util.Map;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.log4j.Logger;
-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.springmodules.validation.commons.DefaultBeanValidator;
-
-import egovframework.com.cmm.EgovMessageSource;
-import egovframework.com.cop.bbs.service.Comment;
-import egovframework.com.cop.bbs.service.CommentVO;
-import egovframework.com.cop.bbs.service.EgovBBSCommentService;
-import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
-import egovframework.com.uat.uia.service.LoginVO;
-import egovframework.rte.fdl.property.EgovPropertyService;
-import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
-
-/**
- * 댓글관리 서비스 컨트롤러 클래스
- * 
- * @author 공통컴포넌트개발팀 한성곤
- * @since 2009.06.29
- * @version 1.0
- * @see <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------    --------    ---------------------------
- *   2009.06.29  한성곤          최초 생성
- * 
- * Copyright (C) 2009 by MOPAS  All right reserved.
- * </pre>
- */
-@Controller("mngEgovBBSCommentController")
-public class EgovBBSCommentController {
-  
-	@Resource(name = "EgovBBSCommentService")
-	protected EgovBBSCommentService bbsCommentService;
-  
-	@Resource(name = "propertiesService")
-	protected EgovPropertyService   propertyService;
-  
-	@Resource(name = "egovMessageSource")
-	EgovMessageSource egovMessageSource;
-  
-	@Autowired
-	private DefaultBeanValidator beanValidator;
-  
-	Logger log = Logger.getLogger(this.getClass());
-
-/**
- * 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;
-}
-
-  /**
-   * 댓글관리 목록 조회를 제공한다.
-   * 
-   * @param boardVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/selectCommentList.do")
-  public String selectCommentList(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, String urlPrefix, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    
-	  try {
-	    // 수정 처리된 후 댓글 등록 화면으로 처리되기 위한 구현
-	    if(commentVO.isModified()) {
-	    	commentVO.setCommentNo(null);
-	    	commentVO.setCommentCn("");
-	    }
-	    
-	    // 수정을 위한 처리
-	    if(commentVO.getCommentNo() != null) {
-	    	return "forward:/mng/cop/bbs/selectSingleComment.do";
-	    }
-	    
-	    model.addAttribute("type", commentVO.getType()); // head or body
-	    
-	    if(commentVO.getType().equals("head")) {
-	    	return "mng/cop/bbs/default/EgovCommentList";
-	    }
-	    // //----------------------------------------
-	    
-	    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
-	    if(isAuthenticated) {
-	      LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-	      
-	      model.addAttribute("sessionUniqId", user.getId());
-	      model.addAttribute("sessionUniqNm", user.getName());
-	      
-	      commentVO.setWrterNm(user.getName());
-	    }
-	    
-	    commentVO.setSubPageUnit(propertyService.getInt("pageUnit"));
-	    commentVO.setSubPageSize(propertyService.getInt("pageSize"));
-	    
-	    PaginationInfo paginationInfo = new PaginationInfo();
-	    paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex());
-	    paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit());
-	    paginationInfo.setPageSize(commentVO.getSubPageSize());
-	    
-	    commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex());
-	    commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex());
-	    commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage());
-	    
-	    Map<String, Object> map = bbsCommentService.selectCommentList(commentVO);
-	    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);
-	    
-	    commentVO.setCommentCn(""); // 등록 후 댓글 내용 처리
-	  } catch(Exception ex) {
-		  ex.printStackTrace();
-	  }
-    return "mng/cop/bbs/default/EgovCommentList";
-  }
-  
-  /**
-   * 댓글을 등록한다.
-   * 
-   * @param commentVO
-   * @param comment
-   * @param bindingResult
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/insertComment.do")
-  public String insertComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    
-	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
-	}
-	    
-    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-    
-    beanValidator.validate(comment, bindingResult);
-    if(bindingResult.hasErrors()) {
-      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
-      
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
-    }
-    
-	  comment.setFrstRegisterId(user.getId());
-	  comment.setWrterNm(user.getName());
-	  comment.setCommentCn(unscript(comment.getCommentCn()));
-	  bbsCommentService.insertComment(comment);
-	  
-	  request.getSession().setAttribute("sessionCommentVO", comment.getCommentCn());
-	  
-	  commentVO.setCommentCn("");
-	  commentVO.setCommentNo(null);
-    
-    
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
-  }
-  
-  /**
-   * 댓글에 댓글을 등록한다
-   * @param commentVO
-   * @param comment
-   * @param bindingResult
-   * @param model
-   * @param request
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/insertReplyComment.do")
-  public String insertReplyComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    
-	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
-	}
-	    
-    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-    
-    beanValidator.validate(comment, bindingResult);
-    if(bindingResult.hasErrors()) {
-      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
-      
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
-    }
-    
-    	commentVO.setFrstRegisterId(user.getId());
-    	commentVO.setWrterNm(user.getName());
-    	commentVO.setCommentCn(unscript(commentVO.getCommentCn()));
-      
-      bbsCommentService.insertReplyComment(commentVO);
-      
-      request.getSession().setAttribute("sessionCommentVO", comment.getCommentCn());
-      
-      commentVO.setCommentCn("");
-      commentVO.setCommentNo(null);
-        
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
-  }
-  
-  /**
-   * 댓글을 삭제한다.
-   * 
-   * @param commentVO
-   * @param comment
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/deleteComment.do")
-  public String deleteComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
-    
-    if(isAuthenticated) {
-    	commentVO.setLastUpdusrId(user.getId());
-    	bbsCommentService.deleteComment(commentVO);
-    }
-    
-    commentVO.setCommentCn("");
-    commentVO.setCommentNo(null);
-    
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
-  }
-    
-  /**
-   * 댓글 수정 페이지로 이동한다.
-   * 
-   * @param commentVO
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/selectSingleComment.do")
-  public String selectSingleComment(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    
-    model.addAttribute("type", commentVO.getType()); // head or body
-    
-    if(commentVO.getType().equals("head")) {
-      return "mng/cop/bbs/default/EgovCommentList";
-    }
-    // //----------------------------------------
-    
-    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-    
-    commentVO.setWrterNm(user.getName());
-    
-    commentVO.setSubPageUnit(propertyService.getInt("pageUnit"));
-    commentVO.setSubPageSize(propertyService.getInt("pageSize"));
-    
-    PaginationInfo paginationInfo = new PaginationInfo();
-    paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex());
-    paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit());
-    paginationInfo.setPageSize(commentVO.getSubPageSize());
-    
-    commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex());
-    commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex());
-    commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage());
-    
-    Map<String, Object> map = bbsCommentService.selectCommentList(commentVO);
-    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);
-    
-    Comment data = bbsCommentService.selectComment(commentVO);
-    
-    commentVO.setCommentNo(data.getCommentNo());
-    commentVO.setNttNo(data.getNttNo());
-    commentVO.setWrterNm(data.getWrterNm());
-    commentVO.setCommentCn(data.getCommentCn());
-    commentVO.setUseAt(data.getUseAt());
-    commentVO.setFrstRegisterPnttm(data.getFrstRegisterPnttm());
-    
-    request.getSession().setAttribute("sessionVO", commentVO);
-    
-    return "mng/cop/bbs/default/EgovCommentList";
-  }
-  
-  /**
-   * 댓글을 수정한다.
-   * 
-   * @param commentVO
-   * @param comment
-   * @param bindingResult
-   * @param model
-   * @return
-   * @throws Exception
-   */
-  @RequestMapping("/mng/cop/bbs/updateComment.do")
-  public String updateCommentList(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    
-	if(request.getSession().getAttribute("sessionVO") == null) {
-		return "forward:/mng/cop/bbs/selectBoardArticle.do";
-	}
-	  
-    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
-    
-    beanValidator.validate(comment, bindingResult);
-    if(bindingResult.hasErrors()) {
-      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
-      
-      return "forward:/mng/cop/bbs/selectBoardArticle.do";
-    }
-    
-    if(isAuthenticated) {
-      comment.setLastUpdusrId(user.getId());
-      
-      bbsCommentService.updateComment(comment);
-      
-      commentVO.setCommentCn("");
-      commentVO.setCommentNo(null);
-      
-      request.getSession().removeAttribute("sessionVO");
-    }
-    
-    return "forward:/mng/cop/bbs/selectBoardArticle.do";
-  }
-
-}
+package egovframework.com.mng.cop.bbs.web;
+
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.log4j.Logger;
+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.springmodules.validation.commons.DefaultBeanValidator;
+
+import egovframework.com.cmm.EgovMessageSource;
+import egovframework.com.cop.bbs.service.Comment;
+import egovframework.com.cop.bbs.service.CommentVO;
+import egovframework.com.cop.bbs.service.BBSCommentService;
+import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
+import egovframework.com.uat.uia.service.LoginVO;
+import egovframework.rte.fdl.property.EgovPropertyService;
+import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
+
+/**
+ * 댓글관리 서비스 컨트롤러 클래스
+ * 
+ * @author 공통컴포넌트개발팀 한성곤
+ * @since 2009.06.29
+ * @version 1.0
+ * @see <pre>
+ * << 개정이력(Modification Information) >>
+ *   
+ *   수정일      수정자           수정내용
+ *  -------    --------    ---------------------------
+ *   2009.06.29  한성곤          최초 생성
+ * 
+ * Copyright (C) 2009 by MOPAS  All right reserved.
+ * </pre>
+ */
+@Controller("mngEgovBBSCommentController")
+public class BBSCommentController {
+  
+	@Resource(name = "EgovBBSCommentService")
+	protected BBSCommentService bbsCommentService;
+  
+	@Resource(name = "propertiesService")
+	protected EgovPropertyService   propertyService;
+  
+	@Resource(name = "egovMessageSource")
+	EgovMessageSource egovMessageSource;
+  
+	@Autowired
+	private DefaultBeanValidator beanValidator;
+  
+	Logger log = Logger.getLogger(this.getClass());
+
+/**
+ * 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;
+}
+
+  /**
+   * 댓글관리 목록 조회를 제공한다.
+   * 
+   * @param boardVO
+   * @param model
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/selectCommentList.do")
+  public String selectCommentList(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, String urlPrefix, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    
+	  try {
+	    // 수정 처리된 후 댓글 등록 화면으로 처리되기 위한 구현
+	    if(commentVO.isModified()) {
+	    	commentVO.setCommentNo(null);
+	    	commentVO.setCommentCn("");
+	    }
+	    
+	    // 수정을 위한 처리
+	    if(commentVO.getCommentNo() != null) {
+	    	return "forward:/mng/cop/bbs/selectSingleComment.do";
+	    }
+	    
+	    model.addAttribute("type", commentVO.getType()); // head or body
+	    
+	    if(commentVO.getType().equals("head")) {
+	    	return "mng/cop/bbs/default/EgovCommentList";
+	    }
+	    // //----------------------------------------
+	    
+	    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
+	    if(isAuthenticated) {
+	      LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+	      
+	      model.addAttribute("sessionUniqId", user.getId());
+	      model.addAttribute("sessionUniqNm", user.getName());
+	      
+	      commentVO.setWrterNm(user.getName());
+	    }
+	    
+	    commentVO.setSubPageUnit(propertyService.getInt("pageUnit"));
+	    commentVO.setSubPageSize(propertyService.getInt("pageSize"));
+	    
+	    PaginationInfo paginationInfo = new PaginationInfo();
+	    paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex());
+	    paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit());
+	    paginationInfo.setPageSize(commentVO.getSubPageSize());
+	    
+	    commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex());
+	    commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex());
+	    commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+	    
+	    Map<String, Object> map = bbsCommentService.selectCommentList(commentVO);
+	    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);
+	    
+	    commentVO.setCommentCn(""); // 등록 후 댓글 내용 처리
+	  } catch(Exception ex) {
+		  ex.printStackTrace();
+	  }
+    return "mng/cop/bbs/default/EgovCommentList";
+  }
+  
+  /**
+   * 댓글을 등록한다.
+   * 
+   * @param commentVO
+   * @param comment
+   * @param bindingResult
+   * @param model
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/insertComment.do")
+  public String insertComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    
+	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
+		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+	}
+	    
+    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+    
+    beanValidator.validate(comment, bindingResult);
+    if(bindingResult.hasErrors()) {
+      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
+      
+      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    }
+    
+	  comment.setFrstRegisterId(user.getId());
+	  comment.setWrterNm(user.getName());
+	  comment.setCommentCn(unscript(comment.getCommentCn()));
+	  bbsCommentService.insertComment(comment);
+	  
+	  request.getSession().setAttribute("sessionCommentVO", comment.getCommentCn());
+	  
+	  commentVO.setCommentCn("");
+	  commentVO.setCommentNo(null);
+    
+    
+    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+  }
+  
+  /**
+   * 댓글에 댓글을 등록한다
+   * @param commentVO
+   * @param comment
+   * @param bindingResult
+   * @param model
+   * @param request
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/insertReplyComment.do")
+  public String insertReplyComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    
+	if(request.getSession().getAttribute("sessionCommentVO") != null && comment.getCommentCn().equals((String)request.getSession().getAttribute("sessionCommentVO"))) {
+		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+	}
+	    
+    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+    
+    beanValidator.validate(comment, bindingResult);
+    if(bindingResult.hasErrors()) {
+      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
+      
+      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    }
+    
+    	commentVO.setFrstRegisterId(user.getId());
+    	commentVO.setWrterNm(user.getName());
+    	commentVO.setCommentCn(unscript(commentVO.getCommentCn()));
+      
+      bbsCommentService.insertReplyComment(commentVO);
+      
+      request.getSession().setAttribute("sessionCommentVO", comment.getCommentCn());
+      
+      commentVO.setCommentCn("");
+      commentVO.setCommentNo(null);
+        
+    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+  }
+  
+  /**
+   * 댓글을 삭제한다.
+   * 
+   * @param commentVO
+   * @param comment
+   * @param model
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/deleteComment.do")
+  public String deleteComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
+    
+    if(isAuthenticated) {
+    	commentVO.setLastUpdusrId(user.getId());
+    	bbsCommentService.deleteComment(commentVO);
+    }
+    
+    commentVO.setCommentCn("");
+    commentVO.setCommentNo(null);
+    
+    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+  }
+    
+  /**
+   * 댓글 수정 페이지로 이동한다.
+   * 
+   * @param commentVO
+   * @param model
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/selectSingleComment.do")
+  public String selectSingleComment(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    
+    model.addAttribute("type", commentVO.getType()); // head or body
+    
+    if(commentVO.getType().equals("head")) {
+      return "mng/cop/bbs/default/EgovCommentList";
+    }
+    // //----------------------------------------
+    
+    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+    
+    commentVO.setWrterNm(user.getName());
+    
+    commentVO.setSubPageUnit(propertyService.getInt("pageUnit"));
+    commentVO.setSubPageSize(propertyService.getInt("pageSize"));
+    
+    PaginationInfo paginationInfo = new PaginationInfo();
+    paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex());
+    paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit());
+    paginationInfo.setPageSize(commentVO.getSubPageSize());
+    
+    commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex());
+    commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex());
+    commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+    
+    Map<String, Object> map = bbsCommentService.selectCommentList(commentVO);
+    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);
+    
+    Comment data = bbsCommentService.selectComment(commentVO);
+    
+    commentVO.setCommentNo(data.getCommentNo());
+    commentVO.setNttNo(data.getNttNo());
+    commentVO.setWrterNm(data.getWrterNm());
+    commentVO.setCommentCn(data.getCommentCn());
+    commentVO.setUseAt(data.getUseAt());
+    commentVO.setFrstRegisterPnttm(data.getFrstRegisterPnttm());
+    
+    request.getSession().setAttribute("sessionVO", commentVO);
+    
+    return "mng/cop/bbs/default/EgovCommentList";
+  }
+  
+  /**
+   * 댓글을 수정한다.
+   * 
+   * @param commentVO
+   * @param comment
+   * @param bindingResult
+   * @param model
+   * @return
+   * @throws Exception
+   */
+  @RequestMapping("/mng/cop/bbs/updateComment.do")
+  public String updateCommentList(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, BindingResult bindingResult, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    
+	if(request.getSession().getAttribute("sessionVO") == null) {
+		return "forward:/mng/cop/bbs/selectBoardArticle.do";
+	}
+	  
+    LoginVO user = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+    Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(request, response);
+    
+    beanValidator.validate(comment, bindingResult);
+    if(bindingResult.hasErrors()) {
+      model.addAttribute("msg", "댓글 작성자 및  내용은 필수 입력값입니다.");
+      
+      return "forward:/mng/cop/bbs/selectBoardArticle.do";
+    }
+    
+    if(isAuthenticated) {
+      comment.setLastUpdusrId(user.getId());
+      
+      bbsCommentService.updateComment(comment);
+      
+      commentVO.setCommentCn("");
+      commentVO.setCommentNo(null);
+      
+      request.getSession().removeAttribute("sessionVO");
+    }
+    
+    return "forward:/mng/cop/bbs/selectBoardArticle.do";
+  }
+
+}
 
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCtgryController.java (added)
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCtgryController.java
@@ -0,0 +1,103 @@
+package egovframework.com.mng.cop.bbs.web;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import egovframework.com.cop.bbs.service.CtgryVO;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import egovframework.com.cop.bbs.service.BBSCtgryService;
+import egovframework.rte.fdl.property.EgovPropertyService;
+
+//카테고리
+@Controller
+public class BBSCtgryController {
+
+    @Resource(name = "bbsCtgryService")
+    private BBSCtgryService bbsCtgryService;
+    
+    /** EgovPropertyService */
+    @Resource(name = "propertiesService")
+    protected EgovPropertyService propertiesService;
+	
+    //COMTNBBSCTGRY 목록을 조회한다. (pageing)
+    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryList.do")
+    public String selectBBSCtgryList(@ModelAttribute("searchVO") CtgryVO searchVO, ModelMap model) throws Exception {
+    	
+        model.addAttribute("resultList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryList";
+    } 
+    
+    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgry.do")
+    public String addBBSCtgryView(@ModelAttribute("searchVO") CtgryVO searchVO, Model model, HttpServletRequest request) throws Exception {
+    	
+    	model.addAttribute("ctgryList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
+    	
+    	model.addAttribute("ctgry", searchVO);
+        
+        request.getSession().setAttribute("sessionVO", searchVO);
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryRegist";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgry.do")
+    public String insertBBSCtgry(CtgryVO ctgry, @ModelAttribute("searchVO") CtgryVO searchVO, HttpServletRequest request) throws Exception {
+    	
+    	if(request.getSession().getAttribute("sessionVO") == null) {
+			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+		}
+
+        bbsCtgryService.insertComtnbbsctgry(ctgry);
+    	
+    	request.getSession().removeAttribute("sessionVO");
+    	
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgry.do")
+    public String updateBBSCtgryView(@ModelAttribute("searchVO") CtgryVO searchVO, Model model, HttpServletRequest request) throws Exception {
+    	
+    	model.addAttribute("ctgryList", bbsCtgryService.selectComtnbbsctgryList(searchVO));
+    	
+    	model.addAttribute("ctgry", bbsCtgryService.selectComtnbbsctgry(searchVO));
+        
+        request.getSession().setAttribute("sessionVO", searchVO);
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryRegist";
+    }
+
+    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgry.do")
+    public String updateBBSCtgry(CtgryVO ctgry, @ModelAttribute("searchVO") CtgryVO searchVO, HttpServletRequest request) throws Exception {
+    	
+    	if(request.getSession().getAttribute("sessionVO") == null) {
+			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+		}
+
+        bbsCtgryService.updateComtnbbsctgry(ctgry);
+    	
+    	request.getSession().removeAttribute("sessionVO");
+    	
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgry.do")
+    public String deleteBBSCtgry(CtgryVO comtnbbsctgryVO, @ModelAttribute("searchVO") CtgryVO searchVO) throws Exception {
+        bbsCtgryService.deleteComtnbbsctgry(comtnbbsctgryVO);
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+    }
+    
+    //카테고리를 이동한다.
+    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgrySortOrdr.do")
+    public String updateBBSCtgrySortOrdr(@ModelAttribute("searchVO") CtgryVO searchVO, ModelMap model) throws Exception {
+
+        bbsCtgryService.updateSortOrdr(searchVO);
+
+    	return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
+    }
+
+}
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCtgryMasterController.java (Renamed from base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCtgryMasterController.java)
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCtgryMasterController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSCtgryMasterController.java
@@ -1,164 +1,158 @@
-package egovframework.com.mng.cop.bbs.web;
-
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import net.sf.json.JSONObject;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryMasterService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
-import egovframework.com.uat.uia.service.LoginVO;
-import egovframework.rte.fdl.property.EgovPropertyService;
-import egovframework.rte.fdl.string.EgovStringUtil;
-import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
-
-//카테고리관리
-@Controller
-public class EgovBBSCtgryMasterController {
-	
-    @Resource(name = "EgovBBSCtgryMasterService")
-    private EgovBBSCtgryMasterService egovBBSCtgryMasterService;
-    
-    @Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
-    
-    /** EgovPropertyService */
-    @Resource(name = "propertiesService")
-    protected EgovPropertyService propertiesService;
-	
-    //COMTNBBSCTGRYMASTER 목록을 조회한다. (pageing)
-    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do")
-    public String selectBBSCtgryMasterList(@ModelAttribute("searchVO") CtgryMaster searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
-    	/*
-    	List<SiteManageVO> siteList = siteManageService.selectSiteSimpleList();
-		  
-		if(EgovStringUtil.isEmpty(searchVO.getSiteId())) {
-			if(siteList != null && siteList.size() > 0) {
-				searchVO.setSiteId(siteList.get(0).getSiteId());
-			}
-		}
-		model.addAttribute("siteList", siteList);
-		*/
-    	
-    	LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
-		if(!EgovStringUtil.isEmpty(loginVO.getSiteId())) {
-			searchVO.setSiteId(loginVO.getSiteId());
-		}
-		
-    	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
-    	searchVO.setPageSize(propertiesService.getInt("pageSize"));
-    	
-    	/** pageing */
-    	PaginationInfo paginationInfo = new PaginationInfo();
-		paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
-		paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
-		paginationInfo.setPageSize(searchVO.getPageSize());
-		
-		searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
-		searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
-		searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
-		
-		
-		if(!EgovStringUtil.isEmpty(searchVO.getSiteId())) {
-	        model.addAttribute("resultList", egovBBSCtgryMasterService.selectComtnbbsctgrymasterList(searchVO));
-	        
-	        int totCnt = egovBBSCtgryMasterService.selectComtnbbsctgrymasterListTotCnt(searchVO);
-			paginationInfo.setTotalRecordCount(totCnt);
-		}
-        model.addAttribute("paginationInfo", paginationInfo);
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterList";
-    } 
-    
-    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgryMaster.do")
-    public String addComtnbbsctgrymasterView(@ModelAttribute("searchVO") CtgryMaster searchVO, Model model, HttpServletRequest request) throws Exception {
-    	
-		//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
-		
-    	model.addAttribute("ctgryMaster", searchVO);
-        
-        request.getSession().setAttribute("sessionVO", searchVO);
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterRegist";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.do")
-    public String addComtnbbsctgrymaster(CtgryMaster ctgryMaster, @ModelAttribute("searchVO") CtgryMaster searchVO, HttpServletRequest request) throws Exception {
-        
-    	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
-		}
-    	
-    	egovBBSCtgryMasterService.insertComtnbbsctgrymaster(ctgryMaster);
-    	
-    	request.getSession().removeAttribute("sessionVO");
-    	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.json")
-    public void addComtnbbsctgrymasterJson(CtgryMaster ctgryMaster, @ModelAttribute("searchVO") CtgryMaster searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
-        
-        String successYn = "Y";
-		
-        String ctgrymasterId = egovBBSCtgryMasterService.insertComtnbbsctgrymaster(ctgryMaster);
-		
-        JSONObject jo = new JSONObject();
-  		response.setContentType("application/json;charset=utf-8");
-  	
-		jo.put("successYn", successYn);
-		jo.put("ctgrymasterId", ctgrymasterId);
-		
-		PrintWriter printwriter = response.getWriter();
-		printwriter.println(jo.toString());
-		printwriter.flush();
-		printwriter.close();
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgryMaster.do")
-    public String selectBBSCtgryMaster(@ModelAttribute("searchVO") CtgryMaster searchVO, Model model, HttpServletRequest request) throws Exception {
-        
-    	//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
-    	
-    	model.addAttribute("ctgryMaster", egovBBSCtgryMasterService.selectComtnbbsctgrymaster(searchVO));
-        
-        request.getSession().setAttribute("sessionVO", searchVO);
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterRegist";
-    }
-
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgryMaster.do")
-    public String updateComtnbbsctgrymaster(CtgryMaster ctgryMaster, @ModelAttribute("searchVO") CtgryMaster searchVO, HttpServletRequest request) throws Exception {
-        
-    	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
-		}
-    	
-    	egovBBSCtgryMasterService.updateComtnbbsctgrymaster(ctgryMaster);
-    	
-    	request.getSession().removeAttribute("sessionVO");
-    	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgryMaster.do")
-    public String deleteComtnbbsctgrymaster(CtgryMaster ctgryMaster, @ModelAttribute("searchVO") CtgryMaster searchVO) throws Exception {
-        egovBBSCtgryMasterService.deleteComtnbbsctgrymaster(ctgryMaster);
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
-    }
-    
-}
+package egovframework.com.mng.cop.bbs.web;
+
+import java.io.PrintWriter;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import egovframework.com.cop.bbs.service.CtgryMasterVO;
+import net.sf.json.JSONObject;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import egovframework.com.cop.bbs.service.BBSCtgryMasterService;
+import egovframework.com.cop.bbs.service.BBSCtgryService;
+import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
+import egovframework.com.uat.uia.service.LoginVO;
+import egovframework.rte.fdl.property.EgovPropertyService;
+import egovframework.rte.fdl.string.EgovStringUtil;
+import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
+
+//카테고리관리
+@Controller
+public class BBSCtgryMasterController {
+	
+    @Resource(name = "bbsCtgryMasterService")
+    private BBSCtgryMasterService bbsCtgryMasterService;
+    
+    /** EgovPropertyService */
+    @Resource(name = "propertiesService")
+    protected EgovPropertyService propertiesService;
+	
+    //COMTNBBSCTGRYMASTER 목록을 조회한다. (pageing)
+    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do")
+    public String selectBBSCtgryMasterList(@ModelAttribute("searchVO") CtgryMasterVO searchVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
+    	/*
+    	List<SiteManageVO> siteList = siteManageService.selectSiteSimpleList();
+		  
+		if(EgovStringUtil.isEmpty(searchVO.getSiteId())) {
+			if(siteList != null && siteList.size() > 0) {
+				searchVO.setSiteId(siteList.get(0).getSiteId());
+			}
+		}
+		model.addAttribute("siteList", siteList);
+		*/
+    	
+    	LoginVO loginVO = EgovUserDetailsHelper.getAuthenticatedUser(request, response);
+		if(!EgovStringUtil.isEmpty(loginVO.getSiteId())) {
+			searchVO.setSiteId(loginVO.getSiteId());
+		}
+		
+    	searchVO.setPageUnit(propertiesService.getInt("pageUnit"));
+    	searchVO.setPageSize(propertiesService.getInt("pageSize"));
+    	
+    	/** pageing */
+    	PaginationInfo paginationInfo = new PaginationInfo();
+		paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
+		paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
+		paginationInfo.setPageSize(searchVO.getPageSize());
+		
+		searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
+		searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
+		searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
+		
+		
+		if(!EgovStringUtil.isEmpty(searchVO.getSiteId())) {
+	        model.addAttribute("resultList", bbsCtgryMasterService.selectComtnbbsctgrymasterList(searchVO));
+	        
+	        int totCnt = bbsCtgryMasterService.selectComtnbbsctgrymasterListTotCnt(searchVO);
+			paginationInfo.setTotalRecordCount(totCnt);
+		}
+        model.addAttribute("paginationInfo", paginationInfo);
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterList";
+    } 
+    
+    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgryMaster.do")
+    public String addComtnbbsctgrymasterView(@ModelAttribute("searchVO") CtgryMasterVO searchVO, Model model, HttpServletRequest request) throws Exception {
+    	
+		//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
+		
+    	model.addAttribute("ctgryMaster", searchVO);
+        
+        request.getSession().setAttribute("sessionVO", searchVO);
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterRegist";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.do")
+    public String addComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request) throws Exception {
+        
+    	if(request.getSession().getAttribute("sessionVO") == null) {
+			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+		}
+
+        bbsCtgryMasterService.insertComtnbbsctgrymaster(ctgryMaster);
+    	
+    	request.getSession().removeAttribute("sessionVO");
+    	
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgryMaster.json")
+    public void addComtnbbsctgrymasterJson(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request, HttpServletResponse response) throws Exception {
+        
+        String successYn = "Y";
+		
+        String ctgrymasterId = bbsCtgryMasterService.insertComtnbbsctgrymaster(ctgryMaster);
+		
+        JSONObject jo = new JSONObject();
+  		response.setContentType("application/json;charset=utf-8");
+  	
+		jo.put("successYn", successYn);
+		jo.put("ctgrymasterId", ctgrymasterId);
+		
+		PrintWriter printwriter = response.getWriter();
+		printwriter.println(jo.toString());
+		printwriter.flush();
+		printwriter.close();
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgryMaster.do")
+    public String selectBBSCtgryMaster(@ModelAttribute("searchVO") CtgryMasterVO searchVO, Model model, HttpServletRequest request) throws Exception {
+        
+    	//model.addAttribute("siteList", siteManageService.selectSiteSimpleList());
+    	
+    	model.addAttribute("ctgryMaster", bbsCtgryMasterService.selectComtnbbsctgrymaster(searchVO));
+        
+        request.getSession().setAttribute("sessionVO", searchVO);
+        
+        return "/mng/cop/bbs/ctg/EgovBBSCtgryMasterRegist";
+    }
+
+    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgryMaster.do")
+    public String updateComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO, HttpServletRequest request) throws Exception {
+        
+    	if(request.getSession().getAttribute("sessionVO") == null) {
+			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+		}
+
+        bbsCtgryMasterService.updateComtnbbsctgrymaster(ctgryMaster);
+    	
+    	request.getSession().removeAttribute("sessionVO");
+    	
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+    }
+    
+    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgryMaster.do")
+    public String deleteComtnbbsctgrymaster(CtgryMasterVO ctgryMaster, @ModelAttribute("searchVO") CtgryMasterVO searchVO) throws Exception {
+        bbsCtgryMasterService.deleteComtnbbsctgrymaster(ctgryMaster);
+        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryMasterList.do";
+    }
+    
+}
base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSManageController.java (Renamed from base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSManageController.java)
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSManageController.java
+++ base/src/main/java/egovframework/com/mng/cop/bbs/web/BBSManageController.java
@@ -1,11 +1,11 @@
 package egovframework.com.mng.cop.bbs.web;
 
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 
+import egovframework.com.cop.bbs.service.*;
 import net.sf.json.JSONObject;
 
 import org.apache.log4j.Logger;
@@ -24,13 +24,6 @@
 import egovframework.com.cmm.service.EgovFileMngService;
 import egovframework.com.cmm.service.EgovFileMngUtil;
 import egovframework.com.cmm.service.FileVO;
-import egovframework.com.cop.bbs.service.Board;
-import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO;
 import egovframework.com.sym.mpm.service.MpmService;
@@ -46,33 +39,18 @@
 import javax.servlet.http.HttpServletResponse;
 
 
-/**
- * 게시물 관리를 위한 컨트롤러 클래스
- * 
- * @author 공통서비스개발팀 이삼섭
- * @since 2009.06.01
- * @version 1.0
- * @see <pre>
- * << 개정이력(Modification Information) >>
- *   
- *   수정일      수정자           수정내용
- *  -------       --------    ---------------------------
- *   2009.3.19  이삼섭          최초 생성
- *   2009.06.29	한성곤	
- * 
- * </pre>
- */
+//게시물 관리를 위한 컨트롤러 클래스
 @Controller("mngEgovBBSManageController")
-public class EgovBBSManageController {
+public class BBSManageController {
   
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService          bbsMngService;
+	private BBSManageService bbsMngService;
   
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
   
-	@Resource(name = "EgovBBSCtgryService")
-	private EgovBBSCtgryService           ctgryService;
+	@Resource(name = "bbsCtgryService")
+	private BBSCtgryService ctgryService;
 	
 	@Resource(name = "EgovFileMngService")
 	private EgovFileMngService            fileMngService;
@@ -194,7 +172,7 @@
 		  paginationInfo.setTotalRecordCount(totCnt);
         
 		  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-			  Ctgry ctgry = new Ctgry();
+			  CtgryVO ctgry = new CtgryVO();
 			  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			  model.addAttribute("boardCateLevel", ctgryService.selectComtnbbsctgryLevel(ctgry));
@@ -264,7 +242,7 @@
     
 	  if(master != null) {
 		  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-			  Ctgry ctgry = new Ctgry();
+			  CtgryVO ctgry = new CtgryVO();
 			  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			  model.addAttribute("boardCateLevel", ctgryService.selectComtnbbsctgryLevel(ctgry));
@@ -307,7 +285,7 @@
       
 		  if(master != null) {
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
@@ -509,7 +487,7 @@
     
 	  if(master != null) {
 		  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-			  Ctgry ctgry = new Ctgry();
+			  CtgryVO ctgry = new CtgryVO();
 			  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 			  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 			  
@@ -555,7 +533,7 @@
       
 		  if(master != null) {
 			  if(!EgovStringUtil.isEmpty(master.getCtgrymasterId())) {
-				  Ctgry ctgry = new Ctgry();
+				  CtgryVO ctgry = new CtgryVO();
 				  ctgry.setCtgrymasterId(master.getCtgrymasterId());
 				  model.addAttribute("boardCateList", ctgryService.selectComtnbbsctgryList(ctgry));
 				  
 
base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCtgryController.java (deleted)
--- base/src/main/java/egovframework/com/mng/cop/bbs/web/EgovBBSCtgryController.java
@@ -1,133 +0,0 @@
-package egovframework.com.mng.cop.bbs.web;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletRequest;
-
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.rte.fdl.property.EgovPropertyService;
-
-// Servoce 객체에 대한 import 구문
-// import (service package).ComtnbbsctgryService;
-// Vo 객체에 대한 import 구문
-// import (vo package).ComtnbbsctgryDefaultVO;
-// import (vo package).ComtnbbsctgryVO;
-
-/**
- * @Class Name : ComtnbbsctgryController.java
- * @Description : Comtnbbsctgry Controller class
- * @Modification Information
- *
- * @author 이엠티
- * @since 2011.12.15
- * @version 1.0
- * @see
- *  
- *  Copyright (C)  All right reserved.
- */
-
-@Controller
-public class EgovBBSCtgryController {
-
-    @Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
-    
-    /** EgovPropertyService */
-    @Resource(name = "propertiesService")
-    protected EgovPropertyService propertiesService;
-	
-    /**
-	 * COMTNBBSCTGRY 목록을 조회한다. (pageing)
-	 * @param searchVO - 조회할 정보가 담긴 ctgry
-	 * @return "/mng/cop/bbs/comtnbbsctgry/ComtnbbsctgryList"
-	 * @exception Exception
-	 */
-    @RequestMapping(value="/mng/cop/bbs/ctg/selectBBSCtgryList.do")
-    public String selectBBSCtgryList(@ModelAttribute("searchVO") Ctgry searchVO, ModelMap model) throws Exception {
-    	
-        model.addAttribute("resultList", egovBBSCtgryService.selectComtnbbsctgryList(searchVO));
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryList";
-    } 
-    
-    @RequestMapping("/mng/cop/bbs/ctg/addBBSCtgry.do")
-    public String addBBSCtgryView(@ModelAttribute("searchVO") Ctgry searchVO, Model model, HttpServletRequest request) throws Exception {
-    	
-    	model.addAttribute("ctgryList", egovBBSCtgryService.selectComtnbbsctgryList(searchVO));
-    	
-    	model.addAttribute("ctgry", searchVO);
-        
-        request.getSession().setAttribute("sessionVO", searchVO);
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryRegist";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/insertBBSCtgry.do")
-    public String insertBBSCtgry(Ctgry ctgry, @ModelAttribute("searchVO") Ctgry searchVO, HttpServletRequest request) throws Exception {
-    	
-    	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-		}
-    	
-    	egovBBSCtgryService.insertComtnbbsctgry(ctgry);
-    	
-    	request.getSession().removeAttribute("sessionVO");
-    	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/selectBBSCtgry.do")
-    public String updateBBSCtgryView(@ModelAttribute("searchVO") Ctgry searchVO, Model model, HttpServletRequest request) throws Exception {
-    	
-    	model.addAttribute("ctgryList", egovBBSCtgryService.selectComtnbbsctgryList(searchVO));
-    	
-    	model.addAttribute("ctgry", egovBBSCtgryService.selectComtnbbsctgry(searchVO));
-        
-        request.getSession().setAttribute("sessionVO", searchVO);
-        
-        return "/mng/cop/bbs/ctg/EgovBBSCtgryRegist";
-    }
-
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgry.do")
-    public String updateBBSCtgry(Ctgry ctgry, @ModelAttribute("searchVO") Ctgry searchVO, HttpServletRequest request) throws Exception {
-    	
-    	if(request.getSession().getAttribute("sessionVO") == null) {
-			return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-		}
-    	
-    	egovBBSCtgryService.updateComtnbbsctgry(ctgry);
-    	
-    	request.getSession().removeAttribute("sessionVO");
-    	
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-    }
-    
-    @RequestMapping("/mng/cop/bbs/ctg/deleteBBSCtgry.do")
-    public String deleteBBSCtgry(Ctgry comtnbbsctgryVO, @ModelAttribute("searchVO") Ctgry searchVO) throws Exception {
-    	egovBBSCtgryService.deleteComtnbbsctgry(comtnbbsctgryVO);
-        return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-    }
-    
-    /**
-     * 카테고리를 이동한다.
-     * 
-     * @param searchVO
-     * @param model
-     * @return
-     * @throws Exception
-     */
-    @RequestMapping("/mng/cop/bbs/ctg/updateBBSCtgrySortOrdr.do")
-    public String updateBBSCtgrySortOrdr(@ModelAttribute("searchVO") Ctgry searchVO, ModelMap model) throws Exception {
-  	  
-    	egovBBSCtgryService.updateSortOrdr(searchVO);
-
-    	return "forward:/mng/cop/bbs/ctg/selectBBSCtgryList.do";
-    }
-
-}
base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
--- base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
+++ base/src/main/java/egovframework/com/mng/sym/mpm/web/MpmController.java
@@ -28,7 +28,7 @@
 import egovframework.com.cmm.service.FileVO;
 import egovframework.com.cmm.service.Globals;
 import egovframework.com.cop.bbs.service.BoardMasterVO;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO;
 import egovframework.com.sym.mpm.service.MpmHistoryService;
@@ -70,7 +70,7 @@
 	protected EgovPropertyService propertyService;
   
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
   
 	@Resource(name="cmmUseService")
 	private CmmUseService cmmUseService;
base/src/main/java/egovframework/com/mng/uss/umt/web/EgovUserManageController.java
--- base/src/main/java/egovframework/com/mng/uss/umt/web/EgovUserManageController.java
+++ base/src/main/java/egovframework/com/mng/uss/umt/web/EgovUserManageController.java
@@ -1,7 +1,6 @@
 package egovframework.com.mng.uss.umt.web;
 
 import java.io.PrintWriter;
-import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -23,14 +22,11 @@
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springmodules.validation.commons.DefaultBeanValidator;
 
-import com.adobe.xmp.impl.Base64;
-
 import egovframework.com.cmm.EgovMessageSource;
 import egovframework.com.cmm.service.CmmUseService;
 import egovframework.com.cmm.service.EgovFileMngUtil;
 import egovframework.com.cmm.service.FileVO;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
+import egovframework.com.cop.bbs.service.BBSCtgryService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO;
 import egovframework.com.uat.uia.service.LoginVO;
@@ -59,9 +55,6 @@
 	
     @Resource(name="cmmUseService")
 	private CmmUseService cmmUseService;
-    
-    @Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
     
     /** DefaultBeanValidator */
     @Autowired
@@ -129,13 +122,7 @@
 	      return "redirect:/mng/usr/EgovMberManage.do";
     }
 	
-	/**
-     * 비밀번호 초기화
-     * @param model 화면모델
-     * @return forward:/mng/usr/EgovresetPwd.do
-     * @throws Exception
-     */
-	@SuppressWarnings("unchecked")
+	//비밀번호 초기화
 	@RequestMapping(value = "/mng/usr/EgovResetPwd.do")
     public String EgovResetPwd(UserManageVO userManageVO)throws Exception {
 			userManageService.updateResetPwd(userManageVO);
@@ -145,12 +132,7 @@
 	 
 	 
 	
-    /**
-	 * 사용자목록을 엑셀로 다운받는다.
-	 * @param searchVO - 조회할 정보가 담긴 ComtneventprzwnerDefaultVO
-	 * @return "/mng/evt/ComtneventprzwnerList"
-	 * @exception Exception
-	 */
+    //사용자목록을 엑셀로 다운받는다.
 	@RequestMapping(value="/mng/usr/EgovMberManageExcel.do")
     public String EgovMberManageExcel(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model) throws Exception {
 
@@ -164,12 +146,7 @@
     	return "mng/usr/EgovMemberListExcel";
     }
 	
-	/**
-     * 사용자정보 수정 화면으로 이동한다.
-     * @param model 화면모델
-     * @return mng/usr/EgovMemberUpdt
-     * @throws Exception
-     */
+	//사용자정보 수정 화면으로 이동한다.
 	@RequestMapping(value = "/mng/usr/EgovUserSelectUpdtView.do")
     public String EgovUserSelectUpdtView(
     		@ModelAttribute("searchVO") UserDefaultVO searchVO,
@@ -183,13 +160,7 @@
     }
 	
 	
-	/**
-     * 사용자정보 수정 처리 한다.
-     * @param model 화면모델
-     * @return forward:/mng/usr/EgovUserSelectUpdtView.do
-     * @throws Exception
-     */
-	@SuppressWarnings("unchecked")
+	//사용자정보 수정 처리 한다.
 	@RequestMapping(value = "/mng/usr/EgovUserSelectUpdt.do")
     public String EgovUserSelectUpdt(
     		final MultipartHttpServletRequest multiRequest, 
@@ -279,15 +250,7 @@
     }
 	
 	
-	/**
-	 * 관리자가 패스워드를 임의로 재발급하고 핸드폰으로 전송 한다.
-	 * @param userManageVO
-	 * @param request
-	 * @param commandMap
-	 * @param model
-	 * @return "forward:/mng/usr/SendPassword.do"
-	 * @throws Exception
-	 */
+	//관리자가 패스워드를 임의로 재발급하고 핸드폰으로 전송 한다.
 	@RequestMapping(value = "/mng/usr/SendPassword.do")
 	public String SendPassword(
 			@ModelAttribute("searchVO") UserManageVO userManageVO, final HttpServletRequest request, Model model) throws Exception {
@@ -308,12 +271,7 @@
         return "mng/usr/SendPassword";
 	}
 	
-	/**
-	 * 선택한 사용자 목록을 접속금지/해제 처리 한다.
-	 * @param userManageVO
-	 * @return String
-	 * @exception Exception
-	 */ 
+	//선택한 사용자 목록을 접속금지/해제 처리 한다.
 	@RequestMapping(value="/mng/usr/EgovMberManageConfrm.do")
 	public String mberManageConfrm(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model) throws Exception {
 		
@@ -327,12 +285,7 @@
 		return "forward:/mng/usr/EgovMberManage.do";
 	}
 	
-	/**
-	 * 선택한 사용자 목록을 접속금지/해제 처리 한다.
-	 * @param userManageVO
-	 * @return String
-	 * @exception Exception
-	 */ 
+	//선택한 사용자 목록을 접속금지/해제 처리 한다.
 	@RequestMapping(value="/mng/usr/EgovMberManageDelete.do")
 	public String mberManageDelete(@ModelAttribute("searchVO") UserManageVO userManageVO, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
 		
@@ -344,27 +297,12 @@
 		return "forward:/mng/usr/EgovMberManage.do";
 	}
 	
-	/**
-	 * 사용자 엑셀파일을 일괄 업로드한다.
-	 * @param userManageVO
-	 * @param request
-	 * @param model
-	 * @return "mng/usr/EgovMberExcelUpload"
-	 * @throws Exception
-	 */
+	//사용자 엑셀파일을 일괄 업로드한다.
 	@RequestMapping(value = "/mng/usr/EgovMberExcelUploadView.do")
 	public String EgovMberExcelUploadView(@ModelAttribute("searchVO") UserManageVO userManageVO, Model model) throws Exception {
 		return "mng/usr/EgovMberExcelUpload";
 	}
-	/**
-	 * 사용자 엑셀파일을 일괄 업로드한다.
-	 * @param userManageVO
-	 * @param request
-	 * @param commandMap
-	 * @param model
-	 * @return "mng/usr/EgovMberExcelUpload"
-	 * @throws Exception
-	 */
+	//사용자 엑셀파일을 일괄 업로드한다.
 	@SuppressWarnings("unchecked")
 	@RequestMapping(value = "/mng/usr/EgovMberExcelUpload.do")
 	public String EgovMberExcelUpload(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") UserManageVO userManageVO, Model model) throws Exception {
base/src/main/java/egovframework/com/msi/web/ContentsServiceController.java
--- base/src/main/java/egovframework/com/msi/web/ContentsServiceController.java
+++ base/src/main/java/egovframework/com/msi/web/ContentsServiceController.java
@@ -16,8 +16,8 @@
 
 import egovframework.com.cop.bbs.service.BoardMasterVO;
 import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSManageService;
 import egovframework.com.msi.service.ContentsServiceVO;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.mpm.service.MpmService;
@@ -45,10 +45,10 @@
 	Logger logger = LoggerFactory.getLogger(this.getClass());
 
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService bbsMngService;
+	private BBSManageService bbsMngService;
 	
 	@Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
 	
 	@Resource(name = "IndvdlestbsService")
     private EgovIndvdlestbsService indvdlestbsService;
base/src/main/java/egovframework/com/msi/web/SearchServiceController.java
--- base/src/main/java/egovframework/com/msi/web/SearchServiceController.java
+++ base/src/main/java/egovframework/com/msi/web/SearchServiceController.java
@@ -14,7 +14,7 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import egovframework.com.cop.bbs.service.BoardVO;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
+import egovframework.com.cop.bbs.service.BBSManageService;
 import egovframework.com.cop.cmy.service.EgovCommunityManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.sit.service.SiteManageService;
@@ -41,7 +41,7 @@
 	SiteManageService siteManageService;
 	
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService bbsMngService;
+	private BBSManageService bbsMngService;
 	
 	@Resource(name = "EgovCommunityManageService")
     private EgovCommunityManageService cmmntyService;
base/src/main/java/egovframework/com/msi/web/TemplateServiceController.java
--- base/src/main/java/egovframework/com/msi/web/TemplateServiceController.java
+++ base/src/main/java/egovframework/com/msi/web/TemplateServiceController.java
@@ -11,8 +11,8 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import egovframework.com.cmm.service.Globals;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
-import egovframework.com.cop.bbs.service.EgovBBSManageService;
+import egovframework.com.cop.bbs.service.BBSCtgryService;
+import egovframework.com.cop.bbs.service.BBSManageService;
 import egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper;
 import egovframework.com.sym.mpm.service.MpmService;
 import egovframework.com.sym.mpm.service.MpmVO;
@@ -35,14 +35,11 @@
 	@Resource(name = "mpmService")
 	private MpmService mpmService;
 
-	@Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
-
 	@Resource(name = "propertiesService")
 	protected EgovPropertyService propertyService;
 
 	@Resource(name = "EgovBBSManageService")
-	private EgovBBSManageService          bbsMngService;
+	private BBSManageService bbsMngService;
 
 	@Resource(name = "bannerService")
     BannerService bannerService;
base/src/main/java/egovframework/com/sym/sit/service/impl/SiteManageServiceImpl.java
--- base/src/main/java/egovframework/com/sym/sit/service/impl/SiteManageServiceImpl.java
+++ base/src/main/java/egovframework/com/sym/sit/service/impl/SiteManageServiceImpl.java
@@ -13,7 +13,7 @@
 import org.springframework.stereotype.Service;
 
 import egovframework.com.cmm.service.Globals;
-import egovframework.com.cop.bbs.service.EgovBBSAttributeManageService;
+import egovframework.com.cop.bbs.service.BBSAttributeManageService;
 import egovframework.com.sym.mpm.service.MpmService;
 import egovframework.com.sym.mpm.service.MpmVO;
 import egovframework.com.sym.sit.service.SiteManageService;
@@ -37,7 +37,7 @@
 	private MpmService mpmService;
     
     @Resource(name = "bbsAttributeManageService")
-	private EgovBBSAttributeManageService bbsAttrbService;
+	private BBSAttributeManageService bbsAttrbService;
     
     @Resource(name="siteManageIdGnrService")
 	private EgovIdGnrService idgenService;
base/src/main/java/egovframework/com/uss/umt/web/EgovUserInfoController.java
--- base/src/main/java/egovframework/com/uss/umt/web/EgovUserInfoController.java
+++ base/src/main/java/egovframework/com/uss/umt/web/EgovUserInfoController.java
@@ -37,7 +37,6 @@
 import egovframework.com.uss.umt.service.EgovUserManageService;
 import egovframework.rte.fdl.property.EgovPropertyService;
 import egovframework.rte.fdl.string.EgovStringUtil;
-import egovframework.rte.psl.dataaccess.util.EgovMap;
 import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
 import net.sf.json.JSONObject;
 import egovframework.com.utl.cas.service.EgovSessionCookieUtil;
@@ -50,9 +49,7 @@
 import com.adobe.xmp.impl.Base64;
 
 import egovframework.com.cmm.EgovMessageSource;
-import egovframework.com.cop.bbs.service.Ctgry;
-import egovframework.com.cop.bbs.service.CtgryMaster;
-import egovframework.com.cop.bbs.service.EgovBBSCtgryService;
+import egovframework.com.cop.bbs.service.BBSCtgryService;
 import egovframework.com.ems.service.DirectMailService;
 import egovframework.com.ems.service.MailMessageVO;
 
@@ -75,9 +72,6 @@
 
 	@Resource(name = "siteManageService")
 	private SiteManageService siteManageService;
-	
-	@Resource(name = "EgovBBSCtgryService")
-    private EgovBBSCtgryService egovBBSCtgryService;
 	
 	@Resource(name = "egovMessageSource")
 	EgovMessageSource egovMessageSource;
@@ -168,23 +162,7 @@
 	@RequestMapping("/uss/umt/user/EgovUserInsertView.do")
      public String insertUserView(@ModelAttribute("userManageVO") UserManageVO userManageVO, HttpServletRequest request, ModelMap model)throws Exception {
 		
-		//언어코드
-		Ctgry ctgry = new Ctgry();
-		ctgry.setCtgrymasterId("CTGMST_0000000000002");
-		model.addAttribute("languageList", egovBBSCtgryService.selectComtnbbsctgryList(ctgry));
-		
-		CmmnDetailCodeVO codeVO = new CmmnDetailCodeVO();
-		//학교목록
-		codeVO.setCodeId("COM041");
-		model.addAttribute("schoolList", cmmUseService.selectCmmCodeDetail(codeVO));
-		
-		//국제전화번호
-		codeVO.setCodeId("COM040");
-		model.addAttribute("telNumList", cmmUseService.selectCmmCodeDetail(codeVO));
-    	
-		//인증API서비스ID
-		model.addAttribute("serviceId", propertiesService.getString("hufs.user.serviceid"));
-		model.addAttribute("authUri", propertiesService.getString("hufs.user.authUri"));
+
 		
         return "cmm/uss/umt/EgovUserInsert";
     }
@@ -547,12 +525,7 @@
 		
     }
 	
-	/**
-     * 사용자정보 수정 폼 화면으로 이동한다.
-     * @param model 화면모델
-     * @return cmm/uss/umt/EgovUserUpdate
-     * @throws Exception
-     */
+	//사용자정보 수정 폼 화면으로 이동한다.
 	@RequestMapping(value = "/uss/umt/cmm/EgovUserUpdateForm.do")
     public String EgovUserUpdateForm(
     		@ModelAttribute("searchVO") UserDefaultVO searchVO, 
@@ -578,11 +551,6 @@
 		//학교목록
 		codeVO.setCodeId("COM041");
 		model.addAttribute("schoolList", cmmUseService.selectCmmCodeDetail(codeVO));
-		
-		//언어코드
-		Ctgry ctgry = new Ctgry();
-		ctgry.setCtgrymasterId("CTGMST_0000000000002");
-		model.addAttribute("languageList", egovBBSCtgryService.selectComtnbbsctgryList(ctgry));
 		
 		//사진경로
 		model.addAttribute("MembersFileStoreWebPath", propertiesService.getString("Members.fileStoreWebPath"));
@@ -820,11 +788,7 @@
         	// 재직상태
         	voComCode.setCodeId("LMS40");
         	model.addAttribute("workStatusList", cmmUseService.selectCmmCodeDetail(voComCode));
-        	
-            // 주관기관
-        	Ctgry ctgry = new Ctgry();
-            ctgry.setCtgrymasterId("CTGMST_0000000000009");
-          	model.addAttribute("deptList", egovBBSCtgryService.selectComtnbbsctgryList(ctgry));
+
         }
        
 		return "usr/EgovMemberList";
@@ -851,12 +815,7 @@
 		 	model.addAttribute("curriculumList", userManageService.selectUserCurriculumList(userManageVO));
 		 	
 		 	model.addAttribute("mypageFlag", request.getParameter("type"));
-		 	
-		 	// 세부전공 (언어)
-		 	Ctgry ctgry = new Ctgry();
- 			ctgry.setCtgrymasterId("CTGMST_0000000000002");
- 			model.addAttribute("langList", egovBBSCtgryService.selectComtnbbsctgryList(ctgry));
- 
+
 		 return "usr/EgovMemberView";
 	}
 	 
 
base/src/main/resources/egovframework/mapper/mysql/cop/bbs/BBSCtgryMaster_SQL.xml (added)
+++ base/src/main/resources/egovframework/mapper/mysql/cop/bbs/BBSCtgryMaster_SQL.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="egovframework.com.cop.bbs.service.impl.BBSCtgryMasterMapper">
+
+	<resultMap id="comtnbbsctgrymaster" type="egovframework.com.cop.bbs.service.CtgryMasterVO">
+		<result property="siteId" column="SITE_ID"/>
+		<result property="sysTyCode" column="SYS_TY_CODE"/>
+		<result property="ctgrymasterId" column="CTGRYMASTER_ID"/>
+		<result property="ctgrymasterNm" column="CTGRYMASTER_NM"/>
+		<result property="creatDt" column="CREAT_DT"/>
+	</resultMap>
+
+
+	<insert id="insertComtnbbsctgrymaster">
+		INSERT INTO comtnbbsctgrymaster(
+			SITE_ID
+			, SYS_TY_CODE
+			, CTGRYMASTER_ID
+			, CTGRYMASTER_NM
+			, CREAT_DT
+
+
+
+			, USE_AT
+		) VALUES (
+		   	IFNULL(NULLIF(#{siteId},''),'SITE_000000000000001')
+	   		, IFNULL(NULLIF(#{sysTyCode},''),'SYS01')
+	   		,#{ctgrymasterId}
+	   		, #{ctgrymasterNm}
+	   		, SYSDATE()
+	   		, 'Y'
+	   	)
+	</insert>
+
+	<update id="updateComtnbbsctgrymaster">
+		UPDATE comtnbbsctgrymaster SET
+		   SITE_ID = IFNULL(NULLIF(#{siteId},''),'SITE_000000000000001')
+		  , SYS_TY_CODE = IFNULL(NULLIF(#{sysTyCode},''),'SYS01')
+		  , CTGRYMASTER_NM=#{ctgrymasterNm}
+		WHERE CTGRYMASTER_ID=#{ctgrymasterId}
+		  AND SITE_ID = IFNULL(NULLIF(#{siteId},''),'SITE_000000000000001')
+		  AND SYS_TY_CODE = IFNULL(NULLIF(#{sysTyCode},''),'SYS01')
+	</update>
+
+	<delete id="deleteComtnbbsctgrymaster">
+		UPDATE comtnbbsctgrymaster SET
+		   USE_AT='N'
+		WHERE CTGRYMASTER_ID=#{ctgrymasterId}
+	</delete>
+
+	<select id="selectComtnbbsctgrymaster" resultMap="comtnbbsctgrymaster">
+		SELECT
+			SITE_ID
+			 , SYS_TY_CODE
+			 , CTGRYMASTER_ID
+			 , CTGRYMASTER_NM
+			 , CREAT_DT
+		FROM comtnbbsctgrymaster
+		WHERE CTGRYMASTER_ID=#{ctgrymasterId}
+	</select>
+
+	<select id="selectCtgrymasterId" resultMap="comtnbbsctgrymaster">
+		SELECT
+			SITE_ID
+			 , SYS_TY_CODE
+			 , CTGRYMASTER_ID
+			 , CTGRYMASTER_NM
+			 , CREAT_DT
+		FROM comtnbbsctgrymaster
+		WHERE SITE_ID = IFNULL(NULLIF(#{siteId},''),'SITE_000000000000001')
+		  AND SYS_TY_CODE = IFNULL(NULLIF(#{sysTyCode},''),'SYS01')
+		  AND USE_AT = 'Y'
+	</select>
+
+	<select id="selectComtnbbsctgrymasterList" parameterType="egovframework.com.cop.bbs.service.CtgryMasterVO" resultMap="comtnbbsctgrymaster">
+		SELECT
+			SITE_ID
+			, SYS_TY_CODE
+			, CTGRYMASTER_ID
+			, CTGRYMASTER_NM
+			, CREAT_DT
+		FROM comtnbbsctgrymaster
+
+		<include refid="selectComtnbbsctgrymasterWhere"></include>
+
+		ORDER BY CTGRYMASTER_ID DESC
+		LIMIT #{recordCountPerPage} OFFSET #{firstIndex}
+	</select>
+
+	<select id="selectComtnbbsctgrymasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.CtgryMasterVO" resultType="int">
+		SELECT
+			COUNT(*)
+		FROM comtnbbsctgrymaster
+		<include refid="selectComtnbbsctgrymasterWhere"></include>
+	</select>
+
+	<sql id="selectComtnbbsctgrymasterWhere">
+		<where>
+			SITE_ID = IFNULL(NULLIF(#{siteId},''),'SITE_000000000000001')
+			AND SYS_TY_CODE = IFNULL(NULLIF(#{sysTyCode},''),'SYS01')
+			AND USE_AT = 'Y'
+			<if test='searchCondition == "0"'>
+				AND CTGRYMASTER_NM LIKE CONCAT('%',#{searchKeyword},'%')
+			</if>
+		</where>
+	</sql>
+
+	<select id="selectCtgrymasterList" parameterType="egovframework.com.cop.bbs.service.CtgryMasterVO" resultMap="comtnbbsctgrymaster">
+		SELECT
+			SITE_ID
+			, SYS_TY_CODE
+			, CTGRYMASTER_ID
+			, CTGRYMASTER_NM
+			, CREAT_DT
+		FROM comtnbbsctgrymaster
+		<include refid="selectComtnbbsctgrymasterWhere"></include>
+		ORDER BY CTGRYMASTER_ID DESC
+	</select>
+
+</mapper>
 
base/src/main/resources/egovframework/mapper/mysql/cop/bbs/BBSCtgry_SQL.xml (added)
+++ base/src/main/resources/egovframework/mapper/mysql/cop/bbs/BBSCtgry_SQL.xml
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="egovframework.com.cop.bbs.service.impl.BBSCtgryMapper">
+
+	<resultMap id="comtnbbsctgry" type="egovframework.com.cop.bbs.service.CtgryVO">
+		<result property="ctgryId" column="CTGRY_ID"/>
+		<result property="ctgrymasterId" column="CTGRYMASTER_ID"/>
+		<result property="upperCtgryId" column="UPPER_CTGRY_ID"/>
+		<result property="ctgryNm" column="CTGRY_NM"/>
+		<result property="sortOrdr" column="SORT_ORDR"/>
+		<result property="useAt" column="USE_AT"/>
+		<result property="ctgryPathByName" column="CTGRY_PATH_BY_NAME"/>
+		<result property="ctgryPathById" column="CTGRY_PATH_BY_ID"/>
+		<result property="ctgryLevel" column="CTGRY_LEVEL"/>
+		<result property="ctgryCn" column="CTGRY_CN"/>
+		<result property="ctgryVal" column="CTGRY_VAL"/>
+	</resultMap>
+
+	<resultMap id="sortInfoMap" type="egovframework.com.cop.bbs.service.CtgryVO">
+		<result property="ctgryId" column="CTGRY_ID"/>
+		<result property="sortOrdr" column="SORT_ORDR"/>
+	</resultMap>
+
+
+	<insert id="insertComtnbbsctgry">
+		<selectKey resultType="int" keyProperty="sortOrdr">
+			SELECT CAST(IFNULL(NULLIF(COUNT(*),''), 0) AS UNSIGNED) + 1
+			FROM comtnbbsctgry
+			WHERE UPPER_CTGRY_ID = #{upperCtgryId}
+		</selectKey>
+
+		INSERT INTO comtnbbsctgry(
+		 	 CTGRY_ID
+			, CTGRYMASTER_ID
+			, UPPER_CTGRY_ID
+			, CTGRY_NM
+			, SORT_ORDR
+			, CTGRY_LEVEL
+			, CTGRY_CN
+			, CTGRY_VAL
+			, USE_AT
+		) VALUES (
+			#{ctgryId}
+			, #{ctgrymasterId}
+			, #{upperCtgryId}
+			, REPLACE(#{ctgryNm}, '/', '-')
+			, #{sortOrdr}
+			, #{ctgryLevel}
+			, #{ctgryCn}
+			, #{ctgryVal}
+			, 'Y'
+		)
+	</insert>
+
+	<update id="updateComtnbbsctgry">
+		UPDATE comtnbbsctgry SET
+			UPPER_CTGRY_ID = #{upperCtgryId}
+		  , CTGRY_NM = REPLACE(#{ctgryNm}, '/', '-')
+		  , SORT_ORDR = #{sortOrdr}
+		  , CTGRY_CN = #{ctgryCn}
+		  , CTGRY_VAL = #{ctgryVal}
+		WHERE CTGRY_ID=#{ctgryId}
+	</update>
+
+	<delete id="deleteComtnbbsctgry">
+		UPDATE comtnbbsctgry SET
+		 	USE_AT='N'
+		WHERE CTGRY_ID=#{ctgryId}
+		   OR UPPER_CTGRY_ID = #{ctgryId}
+	</delete>
+
+	<select id="selectComtnbbsctgry" resultMap="comtnbbsctgry">
+		SELECT
+			CTGRY_ID
+			 , CTGRYMASTER_ID
+			 , UPPER_CTGRY_ID
+			 , CTGRY_NM
+			 , SORT_ORDR
+			 , USE_AT
+			 , NULL AS CTGRY_PATH_BY_NAME
+			 , NULL AS CTGRY_PATH_BY_ID
+			 , 1 AS CTGRY_LEVEL
+			 , CTGRY_CN
+			 , CTGRY_VAL
+		FROM comtnbbsctgry
+		WHERE CTGRY_ID=#{ctgryId}
+		  AND USE_AT = 'Y'
+	</select>
+
+	<select id="selectComtnbbsctgryList" parameterType="egovframework.com.cop.bbs.service.CtgryVO" resultMap="comtnbbsctgry">
+		SELECT * FROM (
+			  SELECT
+				  CTGRY_ID
+				   , CTGRYMASTER_ID
+				   , UPPER_CTGRY_ID
+				   , CTGRY_NM
+				   , SORT_ORDR
+				   , USE_AT
+				   , uf_category_connect_by_path('>', CTGRYMASTER_ID, CTGRY_ID, 2) AS CTGRY_PATH_BY_NAME
+				   , uf_category_connect_by('>', CTGRYMASTER_ID, CTGRY_ID, 2) AS CTGRY_PATH_BY_ID
+				   , CTGRY_LEVEL
+				   , CAST(uf_category_sort(CTGRYMASTER_ID, CTGRY_ID) AS UNSIGNED) AS SORT
+				   , CTGRY_CN
+				   , CTGRY_VAL
+			  FROM comtnbbsctgry
+			  WHERE CTGRYMASTER_ID = #{ctgrymasterId}
+				AND USE_AT = 'Y'
+		) A
+		ORDER BY CAST(SORT  AS unsigned) ASC
+	</select>
+
+	<select id="selectComtnbbsctgryListTotCnt" parameterType="egovframework.com.cop.bbs.service.CtgryVO" resultType="int">
+		<!-- SELECT
+            COUNT(*)
+        FROM COMTNBBSCTGRY
+        WHERE USE_AT = 'Y'
+            AND CTGRYMASTER_ID = #ctgrymasterId#
+         -->
+	</select>
+
+	<select id="selectComtnbbsctgryLevel" parameterType="egovframework.com.cop.bbs.service.CtgryVO" resultType="int">
+		SELECT
+			MAX(CTGRY_LEVEL)
+		FROM comtnbbsctgry
+		WHERE CTGRYMASTER_ID = #{ctgrymasterId}
+			AND USE_AT = 'Y'
+		<!--
+        SELECT
+            CTGRY_LEVEL
+        FROM COMTNBBSCTGRY
+        WHERE CTGRY_ID = #ctgryId#
+         -->
+	</select>
+
+	<select id="selectTargetSortOrdr" parameterType="egovframework.com.cop.bbs.service.CtgryVO" resultMap="sortInfoMap">
+		SELECT
+			SUBSTR(A, 11) AS CTGRY_ID,
+			TO_NUMBER(SUBSTR(A, 0, 10)) AS SORT_ORDR
+		FROM
+		(
+			SELECT
+			    <choose>
+					<when test='sortTyCode == "U"'>
+						COALESCE(MAX(LPAD(SORT_ORDR, 10, '0') || CTGRY_ID), 1) AS A
+					</when>
+					<when test='sortTyCode == "D"'>
+						COALESCE(MIN(LPAD(SORT_ORDR, 10, '0') || CTGRY_ID), 1) AS A
+					</when>
+				</choose>
+			FROM comtnbbsctgry
+			WHERE USE_AT = 'Y'
+			AND LEVEL = 1
+				<choose>
+					<when test='sortTyCode == "U"'>
+						AND <![CDATA[ SORT_ORDR < #{sortOrdr} ]]>
+					</when>
+					<when test='sortTyCode == "D"'>
+						AND <![CDATA[ SORT_ORDR > #{sortOrdr} ]]>
+					</when>
+				</choose>
+			START WITH UPPER_CTGRY_ID = #{upperCtgryId}
+			CONNECT BY PRIOR CTGRY_ID = UPPER_CTGRY_ID
+		) X
+		WHERE A IS NOT NULL
+	</select>
+
+	<update id="updateSortOrdr" parameterType="egovframework.com.cop.bbs.service.CtgryVO">
+		UPDATE comtnbbsctgry SET
+			<choose>
+				<when test='sortTyCode == "U"'>
+					SORT_ORDR = SORT_ORDR - 1
+				</when>
+				<when test='sortTyCode == "D"'>
+					SORT_ORDR = SORT_ORDR + 1
+				</when>
+			</choose>
+		WHERE CTGRY_ID = #{ctgryId}
+	</update>
+
+	<update id="updateSiblingsSortOrdr" parameterType="egovframework.com.cop.bbs.service.CtgryVO">
+		UPDATE comtnbbsctgry SET
+			<choose>
+				<when test='sortTyCode == "U"'>
+					SORT_ORDR = SORT_ORDR + 1
+				</when>
+				<when test='sortTyCode == "D"'>
+					SORT_ORDR = SORT_ORDR - 1
+				</when>
+			</choose>
+		WHERE UPPER_CTGRY_ID = #{upperCtgryId}
+		AND CTGRY_ID != #{ctgryId}
+			<choose>
+				<when test='sortTyCode == "U"'>
+					AND SORT_ORDR = #{sortOrdr} - 1
+				</when>
+				<when test='sortTyCode == "D"'>
+					AND SORT_ORDR = #{sortOrdr} + 1
+				</when>
+			</choose>
+	</update>
+	<!--
+	<select id="selectComtnbbsctgryList" parameterType="String" resultMap="comtnbbsctgry">
+		SELECT
+			CTGRY_ID
+			 , CTGRYMASTER_ID
+			 , UPPER_CTGRY_ID
+			 , CTGRY_NM
+			 , SORT_ORDR
+			 , USE_AT
+			 , SYS_CONNECT_BY_PATH(CTGRY_NM, '>') AS CTGRY_PATH_BY_NAME
+			 , SYS_CONNECT_BY_PATH(CTGRY_ID, '>') AS CTGRY_PATH_BY_ID
+			 , LEVEL - 1 AS CTGRY_LEVEL
+			 , CTGRY_CN
+			 , CTGRY_VAL
+		FROM comtnbbsctgry
+		WHERE CTGRYMASTER_ID = #{ctgrymasterId}
+		  AND USE_AT = 'Y'
+			START WITH UPPER_CTGRY_ID IS NULL
+		CONNECT BY PRIOR CTGRY_ID = UPPER_CTGRY_ID
+		ORDER SIBLINGS BY SORT_ORDR ASC
+
+	</select>
+	-->
+	<select id="selectComtnbbsctgryNextLevel" parameterType="egovframework.com.cop.bbs.service.CtgryVO" resultType="int">
+		SELECT CAST(IFNULL(NULLIF(CTGRY_LEVEL,''), 0) AS UNSIGNED) + 1
+			FROM comtnbbsctgry
+		WHERE CTGRY_ID = #{upperCtgryId}
+	</select>
+
+</mapper>
 
base/src/main/resources/egovframework/mapper/mysql/cop/com/BbsSourcHistory_SQL_Mysql.xml (deleted)
--- base/src/main/resources/egovframework/mapper/mysql/cop/com/BbsSourcHistory_SQL_Mysql.xml
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
-
-<sqlMap namespace="BbsSourcHistoryDAO">
-	
-	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
-	<typeAlias  alias="BbssourcVO" type="egovframework.com.cop.com.service.BbsSourcVO"/>
-	
-	<resultMap id="bbssourcHistory" class="egovframework.com.cop.com.service.BbsSourc">
-		<result property="bbsSourcHistId" column="BBS_SOURC_HIST_ID" columnIndex="1"/>
-		<result property="bbsSourcId" column="BBS_SOURC_ID" columnIndex="2"/>
-		<result property="listSourc" column="LIST_SOURC" columnIndex="3"/>
-		<result property="viewSourc" column="VIEW_SOURC" columnIndex="4"/>
-		<result property="formSourc" column="FORM_SOURC" columnIndex="5"/>
-		<result property="cmSourc" column="CM_SOURC" columnIndex="6"/>
-		<result property="prevewFileNm" column="PREVEW_FILE_NM" columnIndex="7"/>
-		<result property="lastUpdusrId" column="LAST_UPDUSR_ID" columnIndex="8"/>
-		<result property="lastUpdusrPnttm" column="LAST_UPDUSR_PNTTM" columnIndex="9"/>
-		<result property="sourcSeCode" column="SOURC_SE_CODE" columnIndex="10"/>
-	</resultMap>
-	
-	<resultMap id="bbssourcHistoryList" class="egovframework.com.cop.com.service.BbsSourc">
-		<result property="bbsSourcHistId" column="BBS_SOURC_HIST_ID" columnIndex="1"/>
-		<result property="bbsSourcId" column="BBS_SOURC_ID" columnIndex="2"/>
-		<result property="prevewFileNm" column="PREVEW_FILE_NM" columnIndex="3"/>
-		<result property="lastUpdusrId" column="LAST_UPDUSR_ID" columnIndex="4"/>
-		<result property="lastUpdusrPnttm" column="LAST_UPDUSR_PNTTM" columnIndex="5"/>
-	</resultMap>
-	
-	<insert id="BbsSourcHistoryDAO.insertBbsSourcHistory">
-		<![CDATA[
-			INSERT INTO comthbbssourchistory 
-				( BBS_SOURC_HIST_ID
-				  , BBS_SOURC_ID
-				  , SOURC_SE_CODE
-				  , LIST_SOURC
-				  , VIEW_SOURC
-				  , FORM_SOURC
-				  , CM_SOURC
-				  , PREVEW_FILE_NM
-				  , LAST_UPDUSR_ID
-				  , LAST_UPDUSR_PNTTM )
-			VALUES ( #bbsSourcHistId#
-			 	  , #bbsSourcId#
-			 	  , #sourcSeCode#
-				  , #listSourc#
-				  , #viewSourc#
-				  , #formSourc#
-				  , #cmSourc#
-				  , #prevewFileNm#
-				  , #lastUpdusrId#
-				  , SYSDATE() )
-		]]>
-	</insert>
-
-	 
-	<delete id="BbsSourcHistoryDAO.deleteBbsSourcHistory">
-		<![CDATA[
-			DELETE FROM comthbbssourchistory 
-			WHERE BBS_SOURC_HIST_ID=#bbsSourcHistId#
-		]]>
-	</delete>
-	
-	<select id="BbsSourcHistoryDAO.selectBbsSourcHistory" resultMap="bbssourcHistory">
-		<![CDATA[
-			SELECT
-				BBS_SOURC_HIST_ID
-				, BBS_SOURC_ID
-				, LIST_SOURC
-				, VIEW_SOURC
-				, FORM_SOURC
-				, CM_SOURC
-				, PREVEW_FILE_NM
-				, LAST_UPDUSR_ID
-				, LAST_UPDUSR_PNTTM
-				, SOURC_SE_CODE
-			FROM comthbbssourchistory
-			WHERE BBS_SOURC_HIST_ID=#bbsSourcHistId#
-		]]>
-	</select>
-	
-	<select id="BbsSourcHistoryDAO.selectBbsSourcHistoryList" parameterClass="BbssourcVO" resultMap="bbssourcHistoryList">
-			SELECT
-				BBS_SOURC_HIST_ID
-				, BBS_SOURC_ID
-				, PREVEW_FILE_NM
-				, LAST_UPDUSR_ID
-				, LAST_UPDUSR_PNTTM
-			FROM comthbbssourchistory
-			WHERE BBS_SOURC_ID = #bbsSourcId#
-			ORDER BY BBS_SOURC_HIST_ID DESC
-			LIMIT #recordCountPerPage# OFFSET #firstIndex#
-	</select>	
-	
-	<select id="BbsSourcHistoryDAO.selectBbsSourcHistoryListCnt" parameterClass="BbssourcVO" resultClass="int">
-			SELECT COUNT(*) totcnt
-			FROM comthbbssourchistory
-			WHERE BBS_SOURC_ID = #bbsSourcId#
-	</select>
-
-</sqlMap>
base/src/main/resources/egovframework/spring/context-idgen.xml
--- base/src/main/resources/egovframework/spring/context-idgen.xml
+++ base/src/main/resources/egovframework/spring/context-idgen.xml
@@ -495,9 +495,7 @@
         <property name="tableName"  value="BBS_CMT_NO"/>
     </bean>
     <!-- BBS Cate -->
-    <bean name="egovBBSCtgryMstrIdGnrService"
-		class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
-		destroy-method="destroy">
+    <bean name="bbsCtgryMstrIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService" destroy-method="destroy">
 		<property name="dataSource" ref="dataSource" />
 		<property name="strategy" ref="bbsCtgryMstrStrategy" />
 		<property name="blockSize" 	value="1"/>
base/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql.xml
--- base/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql.xml
+++ base/src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql.xml
@@ -49,8 +49,6 @@
 
 	<sqlMap resource="egovframework/sqlmap/mysql/cop/bbs/EgovBoard_SQL_Mysql.xml"/>
 	<sqlMap resource="egovframework/sqlmap/mysql/cop/bbs/EgovBBSComment_SQL_Mysql.xml"/>
-	<sqlMap resource="egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgryMaster_SQL_Mysql.xml"/>
-	<sqlMap resource="egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgry_SQL_Mysql.xml"/>
 
 	
 </sqlMapConfig>
 
base/src/main/resources/egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgryMaster_SQL_Mysql.xml (deleted)
--- base/src/main/resources/egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgryMaster_SQL_Mysql.xml
@@ -1,133 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
-
-<sqlMap namespace="Comtnbbsctgrymaster">
-	
-	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
-	<typeAlias  alias="comtnbbsctgrymasterSerarchVO" type="egovframework.com.cop.bbs.service.CtgryMaster"/>
-	
-	<resultMap id="comtnbbsctgrymaster" class="egovframework.com.cop.bbs.service.CtgryMaster">
-		<result property="siteId" column="SITE_ID" columnIndex="1"/>
-		<result property="sysTyCode" column="SYS_TY_CODE" columnIndex="2"/>
-		<result property="ctgrymasterId" column="CTGRYMASTER_ID" columnIndex="3"/>
-		<result property="ctgrymasterNm" column="CTGRYMASTER_NM" columnIndex="4"/>
-		<result property="creatDt" column="CREAT_DT" columnIndex="5"/>
-	</resultMap>
-	
-	<insert id="comtnbbsctgrymasterDAO.insertComtnbbsctgrymaster_S">
-		<![CDATA[
-			INSERT INTO comtnbbsctgrymaster 
-				( SITE_ID
-				  , SYS_TY_CODE
-				  , CTGRYMASTER_ID
-				  , CTGRYMASTER_NM
-				  , CREAT_DT
-				  , USE_AT )
-			VALUES ( 
-				  IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				  , IFNULL(NULLIF(#sysTyCode#,''),'SYS01')
-			 	  ,#ctgrymasterId#
-				  , #ctgrymasterNm#
-				  , SYSDATE()
-				  , 'Y' )
-		]]>
-	</insert>
-	
-	<update id="comtnbbsctgrymasterDAO.updateComtnbbsctgrymaster_S">
-		<![CDATA[
-			UPDATE comtnbbsctgrymaster
-				SET SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-					, SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01')
-					, CTGRYMASTER_NM=#ctgrymasterNm#
-			WHERE CTGRYMASTER_ID=#ctgrymasterId#
-				AND SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01')
-		]]>
-	</update>
-	
-	<delete id="comtnbbsctgrymasterDAO.deleteComtnbbsctgrymaster_S">
-		<![CDATA[
-			UPDATE comtnbbsctgrymaster
-				SET USE_AT='N'
-			WHERE CTGRYMASTER_ID=#ctgrymasterId#
-				AND SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001')
-		]]>
-	</delete>
-	
-	<select id="comtnbbsctgrymasterDAO.selectComtnbbsctgrymaster_S" resultMap="comtnbbsctgrymaster">
-		<![CDATA[
-			SELECT
-				SITE_ID
-				, SYS_TY_CODE
-				, CTGRYMASTER_ID
-				, CTGRYMASTER_NM
-				, CREAT_DT
-			FROM comtnbbsctgrymaster
-			WHERE CTGRYMASTER_ID=#ctgrymasterId#
-				AND SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01')
-		]]>
-	</select>
-	
-	<select id="comtnbbsctgrymasterDAO.selectCtgrymasterId" resultMap="comtnbbsctgrymaster">
-			SELECT
-				SITE_ID
-				, SYS_TY_CODE
-				, CTGRYMASTER_ID
-				, CTGRYMASTER_NM
-				, CREAT_DT
-			FROM comtnbbsctgrymaster
-			WHERE SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01')
-				AND USE_AT = 'Y'
-	</select>
-	
-	<select id="comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterList_D" parameterClass="comtnbbsctgrymasterSerarchVO" resultMap="comtnbbsctgrymaster">
-			SELECT
-				SITE_ID
-				, SYS_TY_CODE
-				, CTGRYMASTER_ID
-				, CTGRYMASTER_NM
-				, CREAT_DT
-			FROM comtnbbsctgrymaster
-			WHERE
-				SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01') 
-				AND USE_AT = 'Y'
-			<isEqual prepend="AND" property="searchCondition" compareValue="0">
-				<![CDATA[	CTGRYMASTER_NM LIKE CONCAT('%',#searchKeyword#,'%') 		]]>
-			</isEqual>
-			ORDER BY CTGRYMASTER_ID DESC 
-			LIMIT #recordCountPerPage# OFFSET #firstIndex#
-	</select>	
-	<select id="comtnbbsctgrymasterDAO.selectComtnbbsctgrymasterListTotCnt_S" parameterClass="comtnbbsctgrymasterSerarchVO" resultClass="int">
-			SELECT
-					COUNT(*)
-			FROM comtnbbsctgrymaster
-			WHERE 
-				SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01') 
-				AND USE_AT = 'Y'
-			<isEqual prepend="AND" property="searchCondition" compareValue="0">
-				<![CDATA[	CTGRYMASTER_NM LIKE CONCAT('%',#searchKeyword#,'%') 		]]>
-			</isEqual>
-	</select>
-	
-	<select id="comtnbbsctgrymasterDAO.selectCtgrymasterList" parameterClass="comtnbbsctgrymasterSerarchVO" resultMap="comtnbbsctgrymaster">
-			SELECT
-				SITE_ID
-				, SYS_TY_CODE
-				, CTGRYMASTER_ID
-				, CTGRYMASTER_NM
-				, CREAT_DT
-			FROM comtnbbsctgrymaster
-			WHERE
-				SITE_ID = IFNULL(NULLIF(#siteId#,''),'SITE_000000000000001') 
-				AND SYS_TY_CODE = IFNULL(NULLIF(#sysTyCode#,''),'SYS01') 
-				AND USE_AT = 'Y'
-			<isEqual prepend="AND" property="searchCondition" compareValue="0">
-				<![CDATA[	CTGRYMASTER_NM LIKE CONCAT('%',#searchKeyword#,'%') 		]]>
-			</isEqual>
-			ORDER BY CTGRYMASTER_ID DESC
-	</select>
-</sqlMap>
 
base/src/main/resources/egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgry_SQL_Mysql.xml (deleted)
--- base/src/main/resources/egovframework/sqlmap/mysql/cop/bbs/EgovBBSCtgry_SQL_Mysql.xml
@@ -1,208 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
-
-<sqlMap namespace="Comtnbbsctgry">
-	
-	<typeAlias  alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap"/>
-	<typeAlias  alias="comtnbbsctgrySerarchVO" type="egovframework.com.cop.bbs.service.Ctgry"/>
-	<typeAlias  alias="BoardVO" type="egovframework.com.cop.bbs.service.BoardVO"/>
-	
-	<resultMap id="comtnbbsctgry" class="egovframework.com.cop.bbs.service.Ctgry">
-		<result property="ctgryId" column="CTGRY_ID" columnIndex="1"/>
-		<result property="ctgrymasterId" column="CTGRYMASTER_ID" columnIndex="2"/>
-		<result property="upperCtgryId" column="UPPER_CTGRY_ID" columnIndex="3"/>
-		<result property="ctgryNm" column="CTGRY_NM" columnIndex="4"/>
-		<result property="sortOrdr" column="SORT_ORDR" columnIndex="5"/>
-		<result property="useAt" column="USE_AT" columnIndex="6"/>
-		<result property="ctgryPathByName" column="CTGRY_PATH_BY_NAME" columnIndex="7"/>
-		<result property="ctgryPathById" column="CTGRY_PATH_BY_ID" columnIndex="8"/>
-		<result property="ctgryLevel" column="CTGRY_LEVEL" columnIndex="9"/>
-		<result property="ctgryCn" column="CTGRY_CN" columnIndex="10"/>
-		<result property="ctgryVal" column="CTGRY_VAL" columnIndex="11"/>
-	</resultMap>
-	
-	<resultMap id="sortInfoMap" class="egovframework.com.cop.bbs.service.Ctgry">
-		<result property="ctgryId" column="CTGRY_ID" columnIndex="1"/>
-		<result property="sortOrdr" column="SORT_ORDR" columnIndex="2"/>
-	</resultMap>
-	
-	<insert id="comtnbbsctgryDAO.insertComtnbbsctgry_S">
-		<selectKey resultClass="int" keyProperty="sortOrdr">
-			SELECT CAST(IFNULL(NULLIF(COUNT(*),''), 0) AS UNSIGNED) + 1
-			  FROM comtnbbsctgry
-			WHERE UPPER_CTGRY_ID = #upperCtgryId#
-	    </selectKey>
-	    
-			INSERT INTO comtnbbsctgry 
-				( CTGRY_ID
-				  , CTGRYMASTER_ID
-				  , UPPER_CTGRY_ID
-				  , CTGRY_NM
-				  , SORT_ORDR
-				  , CTGRY_LEVEL
-				  , CTGRY_CN
-				  , CTGRY_VAL
-				  , USE_AT )
-			VALUES ( #ctgryId#
-				  , #ctgrymasterId#
-				  , #upperCtgryId#
-				  , REPLACE(#ctgryNm#, '/', '-')
-				  , #sortOrdr#
-				  , #ctgryLevel#
-				  , #ctgryCn#
-				  , #ctgryVal#
-				  , 'Y' )
-	</insert>
-	
-	<update id="comtnbbsctgryDAO.updateComtnbbsctgry_S">
-		<![CDATA[
-			UPDATE comtnbbsctgry
-			SET 
-				UPPER_CTGRY_ID = #upperCtgryId#
-				, CTGRY_NM = REPLACE(#ctgryNm#, '/', '-')
-				, SORT_ORDR = #sortOrdr#
-				, CTGRY_CN = #ctgryCn#
-				, CTGRY_VAL = #ctgryVal#
-			WHERE CTGRY_ID=#ctgryId#
-		]]>
-	</update>
-	
-	<delete id="comtnbbsctgryDAO.deleteComtnbbsctgry_S">
-		<![CDATA[
-			UPDATE comtnbbsctgry
-			SET USE_AT='N'
-			WHERE CTGRY_ID=#ctgryId#
-			OR UPPER_CTGRY_ID = #ctgryId#
-		]]>
-	</delete>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgry_S" resultMap="comtnbbsctgry">
-		<![CDATA[
-			SELECT
-				CTGRY_ID
-				, CTGRYMASTER_ID
-				, UPPER_CTGRY_ID
-				, CTGRY_NM
-				, SORT_ORDR
-				, USE_AT
-				, NULL AS CTGRY_PATH_BY_NAME
-				, NULL AS CTGRY_PATH_BY_ID
-				, 1 AS CTGRY_LEVEL
-				, CTGRY_CN
-				, CTGRY_VAL
-			FROM comtnbbsctgry
-			WHERE CTGRY_ID=#ctgryId#
-				AND USE_AT = 'Y'
-		]]>
-	</select>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgryList_D" parameterClass="comtnbbsctgrySerarchVO" resultMap="comtnbbsctgry">
-		SELECT * FROM (
-			SELECT
-				CTGRY_ID
-				, CTGRYMASTER_ID
-				, UPPER_CTGRY_ID
-				, CTGRY_NM
-				, SORT_ORDR
-				, USE_AT
-				, uf_category_connect_by_path('>', CTGRYMASTER_ID, CTGRY_ID, 2) AS CTGRY_PATH_BY_NAME
-       			, uf_category_connect_by('>', CTGRYMASTER_ID, CTGRY_ID, 2) AS CTGRY_PATH_BY_ID
-				, CTGRY_LEVEL
-				, CAST(uf_category_sort(CTGRYMASTER_ID, CTGRY_ID) AS UNSIGNED) AS SORT
-				, CTGRY_CN
-				, CTGRY_VAL
-			FROM comtnbbsctgry
-			WHERE CTGRYMASTER_ID = #ctgrymasterId#
-				AND USE_AT = 'Y'
-		) A
-		ORDER BY CAST(SORT  AS unsigned) ASC
-	</select>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgryListTotCnt_S" parameterClass="comtnbbsctgrySerarchVO" resultClass="int">
-			<!-- SELECT
-				COUNT(*)
-			FROM COMTNBBSCTGRY
-			WHERE USE_AT = 'Y'
-				AND CTGRYMASTER_ID = #ctgrymasterId#
-			 -->
-	</select>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgryLevel" parameterClass="comtnbbsctgrySerarchVO" resultClass="int">
-			SELECT
-				MAX(CTGRY_LEVEL)
-			FROM comtnbbsctgry
-			WHERE CTGRYMASTER_ID = #ctgrymasterId#
-			AND USE_AT = 'Y'
-			<!-- 
-			SELECT
-				CTGRY_LEVEL
-			FROM COMTNBBSCTGRY
-			WHERE CTGRY_ID = #ctgryId#
-			 -->
-	</select>
-	
-	<select id="comtnbbsctgryDAO.selectTargetSortOrdr" parameterClass="comtnbbsctgrySerarchVO" resultMap="sortInfoMap">
-		SELECT 
-			SUBSTR(A, 11) AS CTGRY_ID,
-			TO_NUMBER(SUBSTR(A, 0, 10)) AS SORT_ORDR
-		FROM
-		(
-            SELECT 
-             	<isEqual property="sortTyCode" compareValue="U">COALESCE(MAX(LPAD(SORT_ORDR, 10, '0') || CTGRY_ID), 1) AS A </isEqual> 
-				<isEqual property="sortTyCode" compareValue="D">COALESCE(MIN(LPAD(SORT_ORDR, 10, '0') || CTGRY_ID), 1) AS A </isEqual>
-            FROM comtnbbsctgry
-            WHERE USE_AT = 'Y'    
-                AND LEVEL = 1      
-                <isEqual property="sortTyCode" compareValue="U" prepend="AND"><![CDATA[ SORT_ORDR < #sortOrdr# ]]></isEqual> 
-				<isEqual property="sortTyCode" compareValue="D" prepend="AND"><![CDATA[ SORT_ORDR > #sortOrdr# ]]></isEqual>   
-            START WITH UPPER_CTGRY_ID = #upperCtgryId#
-            CONNECT BY PRIOR CTGRY_ID = UPPER_CTGRY_ID			
-		) X
-		WHERE A IS NOT NULL
-	</select>
-	
-	<update id="comtnbbsctgryDAO.updateSortOrdr" parameterClass="comtnbbsctgrySerarchVO">
-			UPDATE comtnbbsctgry SET 
-				<isEqual property="sortTyCode" compareValue="U">SORT_ORDR = SORT_ORDR - 1</isEqual> 
-				<isEqual property="sortTyCode" compareValue="D">SORT_ORDR = SORT_ORDR + 1</isEqual>
-			WHERE CTGRY_ID = #ctgryId#
-	</update>
-	
-	<update id="comtnbbsctgryDAO.updateSiblingsSortOrdr" parameterClass="comtnbbsctgrySerarchVO">
-			UPDATE comtnbbsctgry SET
-				<isEqual property="sortTyCode" compareValue="U">SORT_ORDR = SORT_ORDR + 1</isEqual> 
-				<isEqual property="sortTyCode" compareValue="D">SORT_ORDR = SORT_ORDR - 1</isEqual>
-			WHERE UPPER_CTGRY_ID = #upperCtgryId#
-				AND CTGRY_ID != #ctgryId#
-			<isEqual property="sortTyCode" compareValue="U"> AND SORT_ORDR = #sortOrdr# - 1</isEqual> 
-			<isEqual property="sortTyCode" compareValue="D"> AND SORT_ORDR = #sortOrdr# + 1</isEqual>
-	</update>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgryList" parameterClass="String" resultMap="comtnbbsctgry">
-			SELECT
-				CTGRY_ID
-				, CTGRYMASTER_ID
-				, UPPER_CTGRY_ID
-				, CTGRY_NM
-				, SORT_ORDR
-				, USE_AT
-				, SYS_CONNECT_BY_PATH(CTGRY_NM, '>') AS CTGRY_PATH_BY_NAME
-		   	   	, SYS_CONNECT_BY_PATH(CTGRY_ID, '>') AS CTGRY_PATH_BY_ID
-		   	    , LEVEL - 1 AS CTGRY_LEVEL
-		   	    , CTGRY_CN
-		   	    , CTGRY_VAL
-			FROM comtnbbsctgry
-			WHERE CTGRYMASTER_ID = #ctgrymasterId#
-				AND USE_AT = 'Y'
-			START WITH UPPER_CTGRY_ID IS NULL
-		    CONNECT BY PRIOR CTGRY_ID = UPPER_CTGRY_ID
-		    ORDER SIBLINGS BY SORT_ORDR ASC
-
-	</select>
-	
-	<select id="comtnbbsctgryDAO.selectComtnbbsctgryNextLevel" parameterClass="comtnbbsctgrySerarchVO" resultClass="int">
-			SELECT CAST(IFNULL(NULLIF(CTGRY_LEVEL,''), 0) AS UNSIGNED) + 1
-			  FROM comtnbbsctgry
-			WHERE CTGRY_ID = #upperCtgryId#
-	</select>
-</sqlMap>
 
base/src/main/webapp/WEB-INF/jsp/egovframework/cop/ctg/EgovBBSCtgryMasterList02.jsp (deleted)
--- base/src/main/webapp/WEB-INF/jsp/egovframework/cop/ctg/EgovBBSCtgryMasterList02.jsp
@@ -1,364 +0,0 @@
-<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
-<%@ page import="egovframework.com.cmm.service.EgovProperties"%>
-<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
-<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
-<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
-<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
-<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
-
-<c:import url="/msi/tmplatHead.do" charEncoding="utf-8">
-	<c:param name="isMainSite">Y</c:param>
-	<c:param name="contentLineAt">Y</c:param>
-	<c:param name="siteId" value="SITE_000000000000001"/>
-</c:import>
-
-          <div class="btn-group-wrap mb-20">
-            <div class="left-area">
-              <button type="button" class="btn-outline btn-md">엑셀 다운로드</button>
-            </div>
-          </div>
-          <div class="table-scroll-wrap">
-            <div class="tbl-main">
-              <!-- 테이블영역-->
-              <table class="common-table-wrap ">
-                <colgroup>
-					<col width="110px;"/>
-					<col width="200px;"/>
-					<col width="120px"/>
-					<col width="130px"/>
-					<col width="180px"/>
-					<col width="140px"/>
-					<col width="50px"/>
-					<col width="190px"/>
-					<col width="50px"/>
-					<col width="90px"/>
-					<col width="60px"/>
-					<col width="*"/>
-					<col width="50px"/>
-					<col width="50px"/>
-					<col width="50px"/>
-					<col width="90px"/>
-					<col width="90px"/>
-					<col width="100px"/>
-					<col width="60px"/>
-					<col width="50px"/>
-					<col width="90px"/>
-					<col width="110px"/>
-					<col width="80px"/>
-					<col width="110px"/>
-					<col width="180px"/>
-					<col width="120px"/>
-				</colgroup>
-                <thead> 
-                  <tr class='bg-light-gray font-700'>
-						<th rowspan="3" class="incarnadine">이수구분</th>
-						<th rowspan="3" class="incarnadine">관리구분</th>
-						<th rowspan="3" class="incarnadine">강의유형</th>
-						<th rowspan="3" class="incarnadine">비강의유형</th>
-						<th rowspan="3" class="incarnadine">평가</th>
-						<th rowspan="2" colspan="2" class="purple">언어코드</th>
-						<th rowspan="2" colspan="2" class="purple">주관기관</th>
-						<th rowspan="2" colspan="3" class="whiteblue">수료기준</th>
-						<th colspan="3" class="green">성적기준</th>
-						<th rowspan="2" colspan="2" class="pink">총괄평가기준</th>
-						<th rowspan="3" class="gray">수업영역</th>
-						<th rowspan="2" colspan="2" class="blue">레벨</th>
-						<th rowspan="2" colspan="2" class="purple2">대상</th>
-						<th rowspan="3" class="gray">학기</th>
-						<th rowspan="3" class="blue2">교육장소</th>
-						<th rowspan="2" colspan="2" class="purple2">사업비</th>
-					</tr>
-					<tr class='bg-light-gray font-700'>
-						<th colspan="2" class="green">Letter Grade</th>
-						<th rowspan="2" class="green">P/F</th>
-					</tr>
-					<tr class='bg-light-gray font-700'>
-						<th class="purple">구분</th>
-						<th class="purple">코드</th>
-						<th class="purple">구분</th>
-						<th class="purple">코드</th>
-						<th class="whiteblue">구분</th>
-						<th class="whiteblue">기준</th>
-						<th class="whiteblue">설명</th>
-						<th class="green">등급</th>
-						<th class="green">평점</th>
-						<th class="pink">1depth</th>
-						<th class="pink">2depth</th>
-						<th class="blue">1depth</th>
-						<th class="blue">2depth</th>
-						<th class="purple2">본교생여부<br/>(Y/N)</th>
-						<th class="purple2"></th>
-						<th class="purple2">1depth</th>
-						<th class="purple2">2depth</th>
-					</tr>
-                </thead>
-                <tbody>
-                  <%-- Letter Grade 등급 --%>
-					<c:set var="lgTypeListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000011}">
-							<c:if test="${result.upperCtgryId eq 'CTG_0000000000000090'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="lgTypeList" value="${fn:split(lgTypeListSplit,',')}"/>
-					
-					<%-- Letter Grade 평점 --%>
-					<c:set var="lgValListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000011}">
-							<c:if test="${result.upperCtgryId eq 'CTG_0000000000000090'}">
-								,${result.ctgryVal}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="lgValList" value="${fn:split(lgValListSplit,',')}"/>
-					
-					<%-- P/F --%>
-					<c:set var="pfListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000011}">
-							<c:if test="${result.upperCtgryId eq 'CTG_0000000000000091'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="pfList" value="${fn:split(pfListSplit,',')}"/>
-					
-					<%-- 총괄평가기준 Depth1 --%>
-					<c:set var="totalD1ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000012}">
-							<c:if test="${result.ctgryLevel eq '1'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="totalD1List" value="${fn:split(totalD1ListSplit,',')}"/>
-					
-					<%-- 총괄평가기준 Depth2 --%>
-					<c:set var="totalD2ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000012}">
-							<c:if test="${result.ctgryLevel eq '2'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="total2DList" value="${fn:split(totalD2ListSplit,',')}"/>
-					
-					<%-- 레벨 Depth1 --%>
-					<c:set var="lvlD1ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000014}">
-							<c:if test="${result.ctgryLevel eq '1'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="lvlD1List" value="${fn:split(lvlD1ListSplit,',')}"/>
-					
-					<%-- 레벨 Depth2 --%>
-					<c:set var="lvlD2ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000014}">
-							<c:if test="${result.ctgryLevel eq '2'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="lvlD2List" value="${fn:split(lvlD2ListSplit,',')}"/>
-					
-					<%-- 사업비 Depth1 --%>
-					<c:set var="feeD1ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000018}">
-							<c:if test="${result.ctgryLevel eq '1'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="feeD1List" value="${fn:split(feeD1ListSplit,',')}"/>
-					
-					<%-- 사업비 Depth2 --%>
-					<c:set var="feeD2ListSplit">
-						<c:forEach var="result" items="${resultList.CTGMST_0000000000018}">
-							<c:if test="${result.ctgryLevel eq '2'}">
-								,${result.ctgryNm}
-							</c:if>
-						</c:forEach>
-					</c:set>
-					<c:set var="feeD2List" value="${fn:split(feeD2ListSplit,',')}"/>
-					
-					<c:forEach var="i" begin="1" end="${listSize - 2}" step="1" varStatus="status">
-						<tr>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000003" data-name="이수구분">
-									<c:out value="${resultList.CTGMST_0000000000003[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000005" data-name="관리구분">
-									<c:out value="${resultList.CTGMST_0000000000005[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000006" data-name="강의유형">
-									<c:out value="${resultList.CTGMST_0000000000006[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000007" data-name="비강의유형">
-									<c:out value="${resultList.CTGMST_0000000000007[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000008" data-name="평가">
-									<c:out value="${resultList.CTGMST_0000000000008[i].ctgryNm}"/>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000002" data-name="언어코드">
-									<c:out value="${resultList.CTGMST_0000000000002[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000002" data-name="언어코드">
-									<c:out value="${resultList.CTGMST_0000000000002[i].ctgryId}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000009" data-name="주관기관">
-									<c:out value="${resultList.CTGMST_0000000000009[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000009" data-name="주관기관">
-									<c:out value="${resultList.CTGMST_0000000000009[i].ctgryId}"/>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000010" data-name="수료기준">
-									<c:out value="${resultList.CTGMST_0000000000010[i].ctgryNm}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000010" data-name="수료기준">
-									<c:out value="${resultList.CTGMST_0000000000010[i].ctgryVal}"/>
-								</a>
-							</td>
-							<td class="tit">
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000010" data-name="수료기준">
-									<c:out value="${resultList.CTGMST_0000000000010[i].ctgryCn}"/>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000011" data-name="성적기준">
-									<c:out value="${lgTypeList[i-1]}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000011" data-name="성적기준">
-									<c:out value="${lgValList[i-1]}"/>
-								</a>
-							</td>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000011" data-name="성적기준">
-									<c:out value="${pfList[i-1]}"/>
-								</a>
-							</td>
-							
-							<c:if test="${i ne 2 and i ne 3}">
-								<td <c:if test="${i eq 1}">rowspan="3"</c:if>>
-									<a href="#" class="btn_code" data-id="CTGMST_0000000000012" data-name="총괄평가기준">
-										<c:choose>
-											<c:when test="${i > 1}"><c:out value="${totalD1List[i-3]}"/></c:when>
-											<c:otherwise><c:out value="${totalD1List[i-1]}"/></c:otherwise>
-										</c:choose>
-									</a>
-								</td>
-							</c:if>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000012" data-name="총괄평가기준">
-									<c:out value="${total2DList[i-1]}"/>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000013" data-name="수업영역">
-									<c:out value="${resultList.CTGMST_0000000000013[i].ctgryNm}"/>
-								</a>
-							</td>
-							
-							<c:if test="${i ne 2 and i ne 3 and i ne 5 and i ne 7}">
-								<td <c:if test="${i eq 1}">rowspan="3"</c:if> <c:if test="${i eq 4 or i eq 6}">rowspan="2"</c:if>>
-									<a href="#" class="btn_code" data-id="CTGMST_0000000000014" data-name="레벨">
-										<c:choose>
-											<c:when test="${i eq 1}"><c:out value="${lvlD1List[i-1]}"/></c:when>
-											<c:when test="${i eq 4}"><c:out value="${lvlD1List[i-3]}"/></c:when>
-											<c:when test="${i eq 6}"><c:out value="${lvlD1List[i-4]}"/></c:when>
-										</c:choose>
-									</a>
-								</td>
-							</c:if>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000014" data-name="레벨">
-									<c:out value="${lvlD2List[i-1]}"/>
-								</a>
-							</td>
-							
-							
-							<c:if test="${i eq 1 or i eq 4 or i > 6}">
-								<td <c:if test="${i eq 1 or i eq 4 }">rowspan="3"</c:if>>
-									<a href="#" class="btn_code" data-id="CTGMST_0000000000015" data-name="대상">
-										<c:choose>
-											<c:when test="${i eq 1}">일반(N)</c:when>
-											<c:when test="${i eq 4}">본교생(Y)</c:when>
-										</c:choose>
-									</a>
-								</td>
-							</c:if>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000015" data-name="대상">
-									<c:choose>
-										<c:when test="${i < 4}"><c:out value="${resultList.CTGMST_0000000000015[i].ctgryNm}"/></c:when>
-										<c:when test="${i > 3}"><c:out value="${resultList.CTGMST_0000000000015[i-3].ctgryNm}"/></c:when>
-									</c:choose>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000016" data-name="학기">
-									<c:out value="${resultList.CTGMST_0000000000016[i].ctgryNm}"/>
-								</a>
-							</td>
-							
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000017" data-name="교육장소">
-									<c:out value="${resultList.CTGMST_0000000000017[i].ctgryNm}"/>
-								</a>
-							</td>
-							
-							<c:if test="${i eq 1 or i eq 8 or i > 14}">
-								<td <c:if test="${i eq 1 or i eq 8}">rowspan="7"</c:if>>
-									<a href="#" class="btn_code" data-id="CTGMST_0000000000018" data-name="사업비">
-										<c:choose>
-											<c:when test="${i eq 1}"><c:out value="${feeD1List[0]}"/></c:when>
-											<c:when test="${i eq 8}"><c:out value="${feeD1List[1]}"/></c:when>
-											<c:when test="${i eq 15}"><c:out value="${feeD1List[2]}"/></c:when>
-										</c:choose>
-									</a>
-								</td>
-							</c:if>
-							<td>
-								<a href="#" class="btn_code" data-id="CTGMST_0000000000018" data-name="사업비">
-									<c:out value="${feeD2List[i-1]}"/>
-								</a>
-							</td>
-							
-						</tr>
-					</c:forEach>
-                </tbody>
-              </table>
-            </div>
-          </div>
-        </div>
-
-      
-<c:import url="/template/bottom.do" charEncoding="utf-8"/>	(파일 끝에 줄바꿈 문자 없음)
Add a comment
List