diff --git a/src/main/java/seed/com/gtm/base/BaseController.java b/src/main/java/seed/com/gtm/base/BaseController.java
index 2e27d2a6..e61154be 100644
--- a/src/main/java/seed/com/gtm/base/BaseController.java
+++ b/src/main/java/seed/com/gtm/base/BaseController.java
@@ -341,7 +341,7 @@ public class BaseController {
log.warn(">>>>>>>>params<<<<<<<<<"+params);
mav.addAllObjects(params);
- mav.setViewName("/_extra/gtm/"+pageFolder+"/"+pageName);
+ mav.setViewName("/seed/_extra/gtm/"+pageFolder+"/"+pageName);
//return new ModelAndView("/_extra/gtm/"+pageFolder+"/"+pageName);
return mav;
}
diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/code/code_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/code/code_sql.xml
new file mode 100644
index 00000000..0de801f6
--- /dev/null
+++ b/src/main/resources/egovframework/sqlmap/config/mappers/code/code_sql.xml
@@ -0,0 +1,488 @@
+
+
+
+
+
+
+
+
+
+ ) ROW_
+ )
+ WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
+
+
+
+
+
+
+
+
+
+ UPDATE C_CODE
+ SET MEMBER_IDX = #{memberIdx},
+ CODE_NAME = #{codeName},
+ CODE_MODDATE = SYSDATE
+ WHERE CODE_IDX = #{dataIdx}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE C_CODE
+
+
+ CODE_ORDER = CODE_ORDER+1
+
+
+ CODE_ORDER = CODE_ORDER-1
+
+
+ CODE_ORDER = CODE_ORDER+#{codeListCnt}
+
+
+
+ CODE_IDX IN
+
+ #{item}
+
+
+
+
+
+
+ MERGE
+ INTO C_CODE A
+ USING (SELECT CODE_IDX, CODE_ORDER FROM
+ (SELECT
+ CODE_IDX,
+
+ CODE_ORDER+(SELECT
+ COUNT(*)
+ FROM C_CODE
+ WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = (SELECT CODE_IDX FROM (SELECT * FROM C_CODE
+ WHERE CODE_ORDER ]]> (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ AND CODE_IDX NOT IN (SELECT CODE_IDX
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+ ORDER BY CODE_ORDER ASC)
+ WHERE ROWNUM = 1))||'%')
+ AS CODE_ORDER
+
+
+ CODE_ORDER-(SELECT
+ COUNT(*)
+ FROM C_CODE
+ WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = (SELECT CODE_IDX FROM (SELECT * FROM C_CODE
+ WHERE CODE_ORDER (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ AND CODE_IDX NOT IN (SELECT CODE_IDX
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+ AND CODE_DEPTH = (SELECT CODE_DEPTH FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ ORDER BY CODE_ORDER DESC)
+ WHERE ROWNUM = 1))||'%')
+ AS CODE_ORDER
+
+ FROM (SELECT * FROM C_CODE WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2) FROM C_CODE WHERE CODE_IDX = #{codeIdx})||'%'))
+ UNION ALL
+ (SELECT
+ CODE_IDX,
+
+ CODE_ORDER-(SELECT
+ COUNT(*)
+ FROM (SELECT * FROM C_CODE WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2) FROM C_CODE WHERE CODE_IDX = #{codeIdx})||'%'))
+ AS CODE_ORDER
+ FROM C_CODE
+ WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = (SELECT CODE_IDX FROM (SELECT * FROM C_CODE
+ WHERE CODE_ORDER ]]> (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ AND CODE_IDX NOT IN (SELECT CODE_IDX
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+ ORDER BY CODE_ORDER ASC)
+ WHERE ROWNUM = 1))||'%')
+
+
+ CODE_ORDER+(SELECT
+ COUNT(*)
+ FROM (SELECT * FROM C_CODE WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2) FROM C_CODE WHERE CODE_IDX = #{codeIdx})||'%'))
+ AS CODE_ORDER
+ FROM C_CODE
+ WHERE CODE_IDXS LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = (SELECT CODE_IDX FROM (SELECT * FROM C_CODE
+ WHERE CODE_ORDER (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ AND CODE_IDX NOT IN (SELECT CODE_IDX
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+ AND CODE_DEPTH = (SELECT CODE_DEPTH FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+ ORDER BY CODE_ORDER DESC)
+ WHERE ROWNUM = 1))||'%')
+
+ ) B
+ ON (A.CODE_IDX = B.CODE_IDX)
+ WHEN MATCHED THEN
+ UPDATE SET A.CODE_ORDER = B.CODE_ORDER
+
+
+
+
+ UPDATE C_CODE SET CODE_ORDER = CODE_ORDER-(SELECT COUNT(*)
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+ WHERE CODE_ORDER ]]> (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
+
+
+
+ DELETE FROM C_CODE WHERE CODE_IDX IN (SELECT CODE_IDX
+ FROM C_CODE
+ WHERE CODE_IDXS
+ LIKE (SELECT SUBSTR(CODE_IDXS, 0, CODE_DEPTH * 2)
+ FROM C_CODE
+ WHERE CODE_IDX = #{codeIdx})||'%')
+
+
+
+
+ SELECT C_CODE_SEQ.NEXTVAL FROM DUAL
+
+ INSERT INTO C_CODE
+ (CODE_IDX,
+ MEMBER_IDX,
+ CODE_NAME,
+ CODE_IDXS,
+ CODE_IDX1,
+ CODE_IDX2,
+ CODE_IDX3,
+ CODE_IDX4,
+ CODE_IDX5,
+ CODE_PARENT_IDX,
+ CODE_DEPTH,
+ CODE_ORDER,
+ CODE_REGDATE,
+ CODE_MODDATE,
+ CODE_STATUS)
+ VALUES
+ (#{codeIdx},
+ #{memberIdx},
+ #{codeName},
+ #{codeIdxs},
+ #{codeIdx1},
+ #{codeIdx2},
+ #{codeIdx3},
+ #{codeIdx4},
+ #{codeIdx5},
+ #{codeParentIdx},
+ #{codeDepth},
+ #{codeOrder},
+ SYSDATE,
+ SYSDATE,
+ #{codeStatus})
+
+
+
+
+ UPDATE C_CODE
+ SET
+ MEMBER_IDX = #{memberIdx}, CODE_STATUS = #{codeStatus},
+ CODE_MODDATE = SYSDATE
+ WHERE CODE_IDX = #{codeIdx}
+
+
+
+
+
+
+ SELECT C_CODE_HISTORY_SEQ.NEXTVAL FROM DUAL
+
+ INSERT INTO C_CODE_HISTORY
+ (CODE_HISTORY_IDX,
+ CODE_NAME_BEFORE,
+ MEMBER_IDX,
+ CODE_HISTORY_TYPE,
+ CODE_NAME_AFTER,
+ CODE_IDXS,
+ CODE_HISTORY_REGDATE,
+ CODE_PARENT_NAME)
+ VALUES
+ (#{codeHistoryIdx},
+ #{codeNameBefore},
+ #{memberIdx},
+ #{codeHistoryType},
+ #{codeNameAfter},
+ (SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}),
+ SYSDATE,
+ (SELECT
+ DECODE(CODE_DEPTH, '1', 'ROOT',
+
+ ''
+
+
+ A.CODE_NAME
+
+
+ ||' > '||B.CODE_NAME
+
+
+ ||' > '||C.CODE_NAME
+
+
+ ||' > '||D.CODE_NAME
+
+ ) AS CODE_NAME
+ FROM
+ C_CODE
+
+ ,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 2)||'00000000') A
+
+ ,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 4)||'000000') B
+
+ ,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 6)||'0000') C
+
+ ,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 8)||'00') D
+
+
+
+
+ WHERE CODE_IDX = #{dataIdx}))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/historyList.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/historyList.jsp
new file mode 100644
index 00000000..6c9c6dec
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/historyList.jsp
@@ -0,0 +1,162 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+
+
+
+
+
+
+
자주하는 질문(${menuName})
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/list.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/list.jsp
new file mode 100644
index 00000000..03a6a204
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/list.jsp
@@ -0,0 +1,223 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/write.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/write.jsp
new file mode 100644
index 00000000..3d4274c4
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/write.jsp
@@ -0,0 +1,371 @@
+<%@ page contentType="text/html;charset=utf-8" %>
+<%@ page import="seed.utils.*" %>
+
+
+
+
+
+
+
+
+
+ 사이트관리자 게시판 기능 카테고리관리 생성 페이지
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file