2024-08-30 코드관리 작업 중
This commit is contained in:
parent
021124da57
commit
f2c0cc76d5
@ -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;
|
||||
}
|
||||
|
||||
@ -0,0 +1,488 @@
|
||||
<?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="code">
|
||||
<!-- 상단 -->
|
||||
<sql id="Header2">
|
||||
SELECT * FROM
|
||||
(
|
||||
SELECT ROW_.*, ROWNUM AS RNUM FROM
|
||||
(
|
||||
</sql>
|
||||
|
||||
<!-- 하단 -->
|
||||
<sql id="bottom2">
|
||||
) ROW_
|
||||
)
|
||||
WHERE RNUM > #{pageStart} AND #{perPageNum} >= ROWNUM
|
||||
</sql>
|
||||
|
||||
<select id="codelist" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT
|
||||
<![CDATA[
|
||||
CODE_IDX,
|
||||
CODE_NAME,
|
||||
MEMBER_ID,
|
||||
MEMBER_NAME,
|
||||
CODE_ORDER,
|
||||
CODE_STATUS,
|
||||
TO_CHAR(CODE_REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS CODE_REGDATE,
|
||||
CODE_DEPTH,
|
||||
CODE_IDXS,
|
||||
CODE_PARENT_IDX,
|
||||
CASE WHEN T1.CODE_DEPTH = 1 THEN
|
||||
(SELECT COUNT(*) FROM C_CODE T3 WHERE T3.CODE_DEPTH = T1.CODE_DEPTH AND T3.CODE_ORDER < T1.CODE_ORDER)
|
||||
ELSE
|
||||
(SELECT COUNT(*) FROM C_CODE T3 WHERE T3.CODE_DEPTH = T1.CODE_DEPTH AND T3.CODE_ORDER < T1.CODE_ORDER
|
||||
AND T3.CODE_PARENT_IDX = T1.CODE_PARENT_IDX )
|
||||
END AS CODE_UP,
|
||||
CASE WHEN T1.CODE_DEPTH = 1 THEN
|
||||
(SELECT COUNT(*) FROM C_CODE T3 WHERE T3.CODE_DEPTH = T1.CODE_DEPTH AND
|
||||
T3.CODE_ORDER > T1.CODE_ORDER)
|
||||
ELSE
|
||||
(SELECT COUNT(*) FROM C_CODE T3 WHERE T3.CODE_DEPTH = T1.CODE_DEPTH AND
|
||||
T3.CODE_ORDER > T1.CODE_ORDER
|
||||
AND T3.CODE_PARENT_IDX = T1.CODE_PARENT_IDX)
|
||||
END AS CODE_DOWN
|
||||
]]>
|
||||
FROM C_CODE T1 LEFT JOIN T_MEMBER T2
|
||||
ON T1.MEMBER_IDX = T2.MEMBER_IDX
|
||||
<if test='column neq null and column neq "" and search neq null and search neq ""'>
|
||||
<choose>
|
||||
<when test='column eq "CODE_NAME"'>
|
||||
WHERE CODE_NAME LIKE '%'||#{search}||'%'
|
||||
</when>
|
||||
<when test='column eq "MEMBER_NAME"'>
|
||||
WHERE MEMBER_NAME LIKE '%'||#{search}||'%'
|
||||
</when>
|
||||
<otherwise>
|
||||
WHERE CODE_NAME LIKE '%'||#{search}||'%' OR MEMBER_NAME LIKE '%'||#{search}||'%'
|
||||
</otherwise>
|
||||
</choose>
|
||||
</if>
|
||||
ORDER BY CODE_ORDER ASC
|
||||
</select>
|
||||
|
||||
<select id="selectListCnt" parameterType="egovMap" resultType="int">
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM C_CODE
|
||||
</select>
|
||||
|
||||
<select id="codeInfo" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT
|
||||
T1.CODE_IDX AS CODE_IDX,
|
||||
T1.MEMBER_IDX AS MEMBER_IDX,
|
||||
T1.CODE_NAME AS CODE_NAME,
|
||||
T1.CODE_IDXS AS CODE_IDXS,
|
||||
T1.CODE_IDX1 AS CODE_IDX1,
|
||||
T1.CODE_IDX2 AS CODE_IDX2,
|
||||
T1.CODE_IDX3 AS CODE_IDX3,
|
||||
T1.CODE_IDX4 AS CODE_IDX4,
|
||||
T1.CODE_IDX5 AS CODE_IDX5,
|
||||
T1.CODE_PARENT_IDX AS CODE_PARENT_IDX,
|
||||
T1.CODE_DEPTH AS CODE_DEPTH,
|
||||
T1.CODE_ORDER AS CODE_ORDER,
|
||||
TO_CHAR(T1.CODE_REGDATE) AS CODE_REGDATE,
|
||||
T1.CODE_STATUS AS CODE_STATUS,
|
||||
T2.MEMBER_NAME AS MEMBER_NAME
|
||||
FROM C_CODE T1 LEFT JOIN T_MEMBER T2
|
||||
ON T1.MEMBER_IDX = T2.MEMBER_IDX
|
||||
WHERE T1.CODE_IDX = #{dataIdx}
|
||||
</select>
|
||||
|
||||
<update id="codeUpdate" parameterType="egovMap">
|
||||
UPDATE C_CODE
|
||||
SET MEMBER_IDX = #{memberIdx},
|
||||
CODE_NAME = #{codeName},
|
||||
CODE_MODDATE = SYSDATE
|
||||
WHERE CODE_IDX = #{dataIdx}
|
||||
</update>
|
||||
|
||||
<select id="codeParentInfo" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT A.* FROM
|
||||
(SELECT
|
||||
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,
|
||||
TO_CHAR(CODE_REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS CODE_REGDATE,
|
||||
CODE_STATUS
|
||||
FROM C_CODE
|
||||
WHERE CODE_PARENT_IDX = #{codeParentIdx}
|
||||
ORDER BY CODE_IDX1 DESC, CODE_IDX2 DESC, CODE_IDX3 DESC, CODE_IDX4 DESC, CODE_IDX5 DESC) A
|
||||
WHERE ROWNUM = 1
|
||||
</select>
|
||||
|
||||
<select id="codeIdxsInfo" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT
|
||||
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,
|
||||
TO_CHAR(CODE_REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS CODE_REGDATE,
|
||||
CODE_STATUS
|
||||
FROM C_CODE
|
||||
WHERE CODE_IDXS = #{codeParentIdx}
|
||||
</select>
|
||||
|
||||
<select id="codeOrderInfo" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT TO_CHAR(A.CODE_ORDER) AS CODE_ORDER FROM
|
||||
(SELECT
|
||||
CODE_ORDER
|
||||
FROM C_CODE
|
||||
<where>
|
||||
<choose>
|
||||
<when test='codeDepth eq "1"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
</when>
|
||||
<when test='codeDepth eq "2"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
AND CODE_IDX2 = SUBSTR(#{codeIdxs}, 3 , 2)
|
||||
</when>
|
||||
<when test='codeDepth eq "3"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
AND CODE_IDX2 = SUBSTR(#{codeIdxs}, 3 , 2)
|
||||
AND CODE_IDX3 = SUBSTR(#{codeIdxs}, 5 , 2)
|
||||
</when>
|
||||
<when test='codeDepth eq "4"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
AND CODE_IDX2 = SUBSTR(#{codeIdxs}, 3 , 2)
|
||||
AND CODE_IDX3 = SUBSTR(#{codeIdxs}, 5 , 2)
|
||||
AND CODE_IDX4 = SUBSTR(#{codeIdxs}, 7 , 2)
|
||||
</when>
|
||||
<when test='codeDepth eq "5"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
AND CODE_IDX2 = SUBSTR(#{codeIdxs}, 3 , 2)
|
||||
AND CODE_IDX3 = SUBSTR(#{codeIdxs}, 5 , 2)
|
||||
AND CODE_IDX4 = SUBSTR(#{codeIdxs}, 7 , 2)
|
||||
AND CODE_IDX5 = SUBSTR(#{codeIdxs}, 9 , 2)
|
||||
</when>
|
||||
|
||||
<when test='codeDepth eq "0"'>
|
||||
AND CODE_IDX1 = SUBSTR(#{codeIdxs}, 1 , 2)
|
||||
AND CODE_IDX2 = SUBSTR(#{codeIdxs}, 3 , 2)
|
||||
</when>
|
||||
|
||||
</choose>
|
||||
<if test='codeIdxs'>
|
||||
</if>
|
||||
ORDER BY CODE_ORDER DESC
|
||||
</where>
|
||||
) A
|
||||
WHERE ROWNUM = 1
|
||||
</select>
|
||||
|
||||
|
||||
<select id="codeCodeOrderSelList" parameterType="egovMap" resultType="egovMap">
|
||||
SELECT
|
||||
CODE_IDX
|
||||
FROM C_CODE
|
||||
WHERE CODE_ORDER >= #{codeOrder}
|
||||
ORDER BY CODE_ORDER ASC
|
||||
</select>
|
||||
|
||||
|
||||
<update id="codeCodeOrderUpdate" parameterType="egovMap">
|
||||
UPDATE C_CODE
|
||||
<set>
|
||||
<if test='orderType eq "plus"'>
|
||||
CODE_ORDER = CODE_ORDER+1
|
||||
</if>
|
||||
<if test='orderType eq "minus"'>
|
||||
CODE_ORDER = CODE_ORDER-1
|
||||
</if>
|
||||
<if test='orderType eq "minuss"'>
|
||||
CODE_ORDER = CODE_ORDER+#{codeListCnt}
|
||||
</if>
|
||||
</set>
|
||||
<where>
|
||||
CODE_IDX IN
|
||||
<foreach collection="arrList" item="item" open="(" separator="," close=")">
|
||||
#{item}
|
||||
</foreach>
|
||||
</where>
|
||||
</update>
|
||||
|
||||
|
||||
<update id="codeUpDown" parameterType="egovMap">
|
||||
MERGE
|
||||
INTO C_CODE A
|
||||
USING (SELECT CODE_IDX, CODE_ORDER FROM
|
||||
(SELECT
|
||||
CODE_IDX,
|
||||
<if test='orderType eq "down"'>
|
||||
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 <![CDATA[ > ]]> (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
|
||||
</if>
|
||||
<if test='orderType eq "up"'>
|
||||
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 <![CDATA[ < ]]> (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
|
||||
</if>
|
||||
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,
|
||||
<if test='orderType eq "down"'>
|
||||
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 <![CDATA[ > ]]> (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))||'%')
|
||||
</if>
|
||||
<if test='orderType eq "up"'>
|
||||
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 <![CDATA[ < ]]> (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))||'%')
|
||||
</if>
|
||||
) B
|
||||
ON (A.CODE_IDX = B.CODE_IDX)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET A.CODE_ORDER = B.CODE_ORDER
|
||||
</update>
|
||||
|
||||
|
||||
<update id="codeUpList" parameterType="egovMap">
|
||||
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 <![CDATA[ > ]]> (SELECT CODE_ORDER FROM C_CODE WHERE CODE_IDX = #{codeIdx})
|
||||
</update>
|
||||
|
||||
<delete id="codeDelte" parameterType="egovMap">
|
||||
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})||'%')
|
||||
</delete>
|
||||
|
||||
<insert id="codeInsertCode" parameterType="egovMap">
|
||||
<selectKey keyProperty="codeIdx" resultType="int" order="BEFORE">
|
||||
SELECT C_CODE_SEQ.NEXTVAL FROM DUAL
|
||||
</selectKey>
|
||||
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})
|
||||
</insert>
|
||||
|
||||
|
||||
<update id="codeStatus" parameterType="egovMap">
|
||||
UPDATE C_CODE
|
||||
SET
|
||||
MEMBER_IDX = #{memberIdx}, CODE_STATUS = #{codeStatus},
|
||||
CODE_MODDATE = SYSDATE
|
||||
WHERE CODE_IDX = #{codeIdx}
|
||||
</update>
|
||||
|
||||
|
||||
|
||||
<insert id="codeCodeHistory" parameterType="egovMap">
|
||||
<selectKey keyProperty="codeHistoryIdx" resultType="int" order="BEFORE">
|
||||
SELECT C_CODE_HISTORY_SEQ.NEXTVAL FROM DUAL
|
||||
</selectKey>
|
||||
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',
|
||||
<if test='codeDepth eq 1'>
|
||||
''
|
||||
</if>
|
||||
<if test='codeDepth > 1'>
|
||||
A.CODE_NAME
|
||||
</if>
|
||||
<if test='codeDepth > 2'>
|
||||
||' > '||B.CODE_NAME
|
||||
</if>
|
||||
<if test='codeDepth > 3'>
|
||||
||' > '||C.CODE_NAME
|
||||
</if>
|
||||
<if test='codeDepth > 4'>
|
||||
||' > '||D.CODE_NAME
|
||||
</if>
|
||||
) AS CODE_NAME
|
||||
FROM
|
||||
C_CODE
|
||||
<if test='codeDepth > 1'>
|
||||
,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 2)||'00000000') A
|
||||
<if test='codeDepth > 2'>
|
||||
,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 4)||'000000') B
|
||||
<if test='codeDepth > 3'>
|
||||
,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 6)||'0000') C
|
||||
<if test='codeDepth > 4'>
|
||||
,(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = SUBSTR((SELECT CODE_IDXS FROM C_CODE WHERE CODE_IDX = #{dataIdx}), 1 , 8)||'00') D
|
||||
</if>
|
||||
</if>
|
||||
</if>
|
||||
</if>
|
||||
WHERE CODE_IDX = #{dataIdx}))
|
||||
</insert>
|
||||
|
||||
<select id="codehistoryPagingList" parameterType="egovMap" resultType="egovMap">
|
||||
<include refid="Header2"/>
|
||||
SELECT
|
||||
CODE_PARENT_NAME,
|
||||
CODE_NAME_BEFORE,
|
||||
CODE_NAME_AFTER,
|
||||
DECODE(CODE_HISTORY_TYPE, 'I', '저장', 'U', '수정', 'D', '삭제') AS CODE_HISTORY_TYPE,
|
||||
(SELECT MEMBER_NAME FROM T_MEMBER WHERE MEMBER_IDX = A.MEMBER_IDX) AS MEMBER_NAME,
|
||||
TO_CHAR(CODE_HISTORY_REGDATE, 'YYYY-MM-DD HH24:MI:SS') AS CODE_HISTORY_REGDATE
|
||||
FROM C_CODE_HISTORY A
|
||||
<include refid="bottom2"/>
|
||||
</select>
|
||||
|
||||
<select id="codehistoryPagingListTot" parameterType="egovMap" resultType="int">
|
||||
SELECT
|
||||
COUNT(*) AS TOTCNT
|
||||
FROM C_CODE_HISTORY A
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
162
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/historyList.jsp
Normal file
162
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/historyList.jsp
Normal file
@ -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" %>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
});
|
||||
|
||||
function searchCode(page){
|
||||
$("#page").val(page);
|
||||
alert(page);
|
||||
var f = $("#frm");
|
||||
f.action = "/gtm/case/code/historyList/historylist.do";
|
||||
f.submit();
|
||||
}
|
||||
|
||||
function loadPaging() {
|
||||
var page = $("#page").val();
|
||||
var url = "";
|
||||
$("#type").val("S");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/historylistTot.do";
|
||||
XHR(url, param, function(r){
|
||||
var iPage = page;
|
||||
var iTotCnt = r.data.totcnt;
|
||||
//$("#totcnt").text(iTotCnt);
|
||||
var pageSize = 5;
|
||||
var pageBlock = 5;
|
||||
|
||||
$('.wrap-paging').jqueryPager({pageSize: pageSize,
|
||||
pageBlock: pageBlock,
|
||||
currentPage: iPage,
|
||||
pageTotal: iTotCnt,
|
||||
clickEvent: 'searchCode'});
|
||||
});
|
||||
}
|
||||
</script>
|
||||
<form:form name="frm" id="frm" action="/gtm/case/code/historyList/historylist.do" method="post">
|
||||
<input type="hidden" id="type" name="type" value=""/>
|
||||
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
|
||||
<div class="page-title-wrap clear">
|
||||
<div class="page-title-inner">
|
||||
<h3 class="page-title">자주하는 질문(${menuName})</h3>
|
||||
<div class="tooltipBox type01">
|
||||
<button type="button" class="page-tip">페이지안내</button>
|
||||
<div class="tooltipText">
|
||||
<p>자주하는 질문(${menuName})에 대한 목록 화면 입니다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sch-content-wrap clear">
|
||||
<form name="searchFrm" id="searchFrm" action="" method="get">
|
||||
<input type="hidden" name="setIdx" value="${param.setIdx}">
|
||||
<input type="hidden" name="faqSeq" id="faqSeq" value="">
|
||||
<input type="hidden" name="page" id="page" value="${pageMaker.cri.page}">
|
||||
<fieldset>
|
||||
<select name="searchType" id="searchType" class="sch-select" title="자료유형 선택">
|
||||
<option value="title" <c:if test="${param.searchType == 'title'}">selected="selected"</c:if>>제목</option>
|
||||
<option value="content" <c:if test="${param.searchType == 'content'}">selected="selected"</c:if>>내용</option>
|
||||
</select>
|
||||
<input type="text" name="searchTilte" value="${param.searchTilte}" class="sch-text" title="제목검색">
|
||||
<button type="button" class="btn-page-sch" title="검색 완료 버튼" onclick="goPage('search', '')">검색</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-wrap">
|
||||
<div class="table-layout br-none">
|
||||
<table>
|
||||
<caption>자주하는질문 테이블입니다.</caption>
|
||||
<colgroup>
|
||||
<col class="item-mobile-hidden" style="width:5%">
|
||||
<col class="title">
|
||||
<col class="item-mobile-hidden" style="width:10%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
|
||||
<tr>
|
||||
<th scope="col" class="item-mobile-hidden">번호</th>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col" class="item-mobile-hidden">조회수</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:forEach items="${data}" var="params" varStatus="status">
|
||||
<tr>
|
||||
<td class="item-mobile-hidden"></td>
|
||||
<td><a href="javascript:goPage('view', '');"><c:out value="${params.codeParentName}"/></a></td>
|
||||
<td class="item-mobile-hidden"></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="change-state-area" style="overflow: hidden;">
|
||||
<div align="right">
|
||||
<button type="button" onclick="goPage('write', '')" class="btn-change-state" style="background-color: #5e66ab;">글쓰기</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 페이징 -->
|
||||
<div class="pagination-container">
|
||||
<div class="pagination-inner clear">
|
||||
<div class='pagination-control prev clear'>
|
||||
<a class='first-btn' href="javascript:goPage('paging', '1')" title="첫페이지"></a>
|
||||
<c:choose>
|
||||
<c:when test="${pageMaker.prev}">
|
||||
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page - 1}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a class='prev-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="이전페이지"><img src="/img/common/list_navi2.gif" alt="이전 목록으로 이동" /></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</div>
|
||||
|
||||
<ul class='pagination clear'>
|
||||
<c:forEach begin="${pageMaker.startPage}" end="${pageMaker.endPage }" var="idx">
|
||||
<c:choose>
|
||||
<c:when test="${idx == pageMaker.cri.page }">
|
||||
<li><a class='on' href="javascript:goPage('paging', '${idx}')" title="현재페이지">${idx}</a></li>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<li><a href="javascript:goPage('paging', '${idx}')" title="${idx}페이지">${idx}</a></li>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
|
||||
<div class='pagination-control next clear'>
|
||||
<c:choose>
|
||||
<c:when test="${pageMaker.next}">
|
||||
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page + 1}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<a class='next-btn' href="javascript:goPage('paging', '${pageMaker.cri.page}')" title="다음페이지"><img src="/img/common/list_navi3.gif" alt="다음 목록으로 이동" /></a>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<a class='last-btn' href="javascript:goPage('paging', '${pageMaker.endPage}')" title="마지막페이지"><img src="/img/common/list_navi4.gif" alt="마지막 목록으로 이동" /></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 페이징 END -->
|
||||
|
||||
<script type="text/javascript">
|
||||
function goPage(type, param){
|
||||
if(type == 'search'){
|
||||
$("#page").val("1");
|
||||
$("#searchFrm").attr("action","/gtm/case/faqBbs/list.do");
|
||||
$("#searchFrm").submit();
|
||||
}else if(type == 'paging'){
|
||||
$("#page").val(param);
|
||||
$("#searchFrm").attr("action","/gtm/case/faqBbs/list.do");
|
||||
$("#searchFrm").submit();
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
</form:form>
|
||||
223
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/list.jsp
Normal file
223
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/list.jsp
Normal file
@ -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" %>
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$("#codeDelLi").hide();
|
||||
|
||||
$("#codeForm").click(function(){
|
||||
var url = $(this).attr("href");
|
||||
window.open(url,"popCodeChk","width=420, height=180, resizable=no, location=no, toolbar=no, menubar=no, status=no, scrollbars=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#codeDel").click(function(){
|
||||
if(confirm("해당 코드를 삭제하시겠습니까?")){
|
||||
//return false;
|
||||
$("#dataIdx").val($("#codeIdx").val());
|
||||
$("#codeHistoryType").val("D");
|
||||
|
||||
var url = "";
|
||||
$("#type").val("I");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/CodeHistory.do";
|
||||
XHR(url, param, function(r){
|
||||
var url = "";
|
||||
$("#type").val("U");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/UpList.do";
|
||||
XHR(url, param, function(r){
|
||||
var url = "";
|
||||
$("#type").val("D");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/Delte.do";
|
||||
XHR(url, param, function(r1){
|
||||
location.reload();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$(window).scroll(function(){
|
||||
$(".code").stop();
|
||||
$(".code").animate( { "top": $(document).scrollTop() + "px" }, 1000 );
|
||||
});
|
||||
});
|
||||
|
||||
function jf_codeClick(object, codeIdxs, codeIdx, codeDepth, codeName){
|
||||
|
||||
$(".trEffect").attr("style", "background-color: #F7F7F7");
|
||||
$(object).attr("style", "background-color: #C0E0EF");
|
||||
|
||||
if(codeIdxs == "0" || codeDepth == 1){
|
||||
$("#codeDelLi").hide();
|
||||
}else{
|
||||
$("#codeDelLi").show();
|
||||
}
|
||||
|
||||
// if(codeIdxs == "0"){
|
||||
// $("#codeDelLi").hide();
|
||||
// }else{
|
||||
// $("#codeDelLi").show();
|
||||
// }
|
||||
|
||||
if(codeDepth == "5"){
|
||||
$("#codeForm").hide();
|
||||
}else{
|
||||
$("#codeForm").show();
|
||||
}
|
||||
|
||||
$("#codeDepth").val(codeDepth);
|
||||
$("#codeIdx").val(codeIdx);
|
||||
$("#codeNameBefore").val(codeName);
|
||||
|
||||
$("#codeForm").attr("href", "/pop/code/write/popup.do?codeParentIdx="+codeIdxs+"&command=write");
|
||||
//$("#codeDel").attr("href", "/ecmc/code/process/jsp/LayOutPage.do?dataIdx="+codeIdx+"&command=delete&column='${column}'&search='${search}'");
|
||||
}
|
||||
|
||||
function jf_codeEdit(codeIdx, codeDepth){
|
||||
var url = "/pop/code/write/popup.do?dataIdx="+codeIdx+"&command=update"+"&codeDepth="+codeDepth;
|
||||
window.open(url,"popCodeChk","width=420, height=180, resizable=no, location=no, toolbar=no, menubar=no, status=no, scrollbars=no");
|
||||
return false;
|
||||
}
|
||||
|
||||
function jf_codeOrder(codeIdx, orderType){
|
||||
|
||||
if(confirm("해당 코드의 순서를 변경하시겠습니까?")){
|
||||
var url = "";
|
||||
$("#type").val("U");
|
||||
$("#codeIdx").val(codeIdx);
|
||||
$("#orderType").val(orderType);
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/UpDown.do";
|
||||
XHR(url, param, function(r){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function updateStatus(codeIdx, status){
|
||||
if(confirm("해당 코드상태를 변경하시겠습니까?")){
|
||||
var url = "";
|
||||
$("#type").val("U");
|
||||
$("#codeIdx").val(codeIdx);
|
||||
$("#codeStatus").val(status);
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/Status.do";
|
||||
XHR(url, param, function(r){
|
||||
location.reload();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function searchCode(){
|
||||
var f = $("#frm");
|
||||
f.action = "/gtm/case/code/list/list.do";
|
||||
f.submit();
|
||||
}
|
||||
|
||||
</script>
|
||||
<div class="iconmWrap code">
|
||||
<div class="icon_menu">
|
||||
<ul>
|
||||
<li class="margin30"><a href="/pop/code/write/popup.do?codeParentIdx=0&column=${column }&search=${search}&command=write" id="codeForm"><img src="/img/code/sub_icon_code_add.png" alt="코드추가"></a></li>
|
||||
<li id="codeDelLi"><a href="javascript:void(0);" id="codeDel"><img src="/img/code/sub_icon_code_del.png" alt="코드삭제"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form:form name="frm" id="frm" action="/gtm/case/code/list/list.do" method="post">
|
||||
<input type="hidden" id="type" name="type" value="" />
|
||||
<input type="hidden" id="codeDepth" name="codeDepth" value="" />
|
||||
<input type="hidden" id="codeIdx" name="codeIdx" value="" />
|
||||
<input type="hidden" id="dataIdx" name="dataIdx" value="" />
|
||||
<input type="hidden" id="codeStatus" name="codeStatus" value="" />
|
||||
<input type="hidden" id="orderType" name="orderType" value="" />
|
||||
<input type="hidden" id="codeHistoryType" name="codeHistoryType" value="" />
|
||||
<input type="hidden" id="codeNameAfter" name="codeNameAfter" value="" />
|
||||
<input type="hidden" id="codeNameBefore" name="codeNameBefore" value="" />
|
||||
|
||||
<article class="menu_on">
|
||||
<div class="titleWrap">
|
||||
<h1>코드관리 </h1>
|
||||
<div class="board_search">
|
||||
<div class="selstyle type1" style="width:150px;">
|
||||
<div>
|
||||
<select name="column" id="column" title="선택하세요." style="width:174px;">
|
||||
<option value="A" >전체</option>
|
||||
<option value="CODE_NAME" <c:if test="${column eq 'CODE_NAME'}">selected</c:if>>그룹명</option>
|
||||
<option value="MEMBER_NAME" <c:if test="${column eq 'MEMBER_NAME'}">selected</c:if>>관리자(ID)</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<input type="text" class="inpstyle type1" name="search" id="search" title="검색어를 입력하세요." style="width:200px;" value="${search}" />
|
||||
<span class="button small"><input type="submit" value="검색" /></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="listTable ac">
|
||||
<caption>그룹 목록의 그룹 ID, 그룹명, 관리자(ID), 등록일, 순서가 포함되어있습니다.</caption>
|
||||
<colgroup>
|
||||
<col style="width: auto;" />
|
||||
<col style="width: 8%;" />
|
||||
<col style="width: 10%;" />
|
||||
<col style="width: 8%;" />
|
||||
<col style="width: 8%;" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">그룹명</th>
|
||||
<th scope="col">관리자(ID)</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">순서</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
<c:if test="${not empty data}">
|
||||
<c:forEach items="${data}" var="params" varStatus="idx">
|
||||
<tr class="trEffect" onclick="javascript:jf_codeClick(this, '${params.codeIdxs}', '${params.codeIdx}', '${params.codeDepth}', '${params.codeName}');" >
|
||||
<td class="subj">
|
||||
<span class="menuedit sub${params.codeDepth}">
|
||||
<a href="javascript:jf_codeEdit('${params.codeIdx}', '${params.codeDepth}'); void(0);" id="${params.codeIdx}">${params.codeName}</a>
|
||||
</span>
|
||||
</td>
|
||||
<td>${params.memberName}(${params.memberId})</td>
|
||||
<td>${params.codeRegdate}</td>
|
||||
<td>
|
||||
<c:if test="${params.codeDepth > 1}">
|
||||
<c:if test="${params.codeUp > 0}">
|
||||
<a href="javascript:void(0);" onclick="jf_codeOrder('${params.codeIdx }', 'up');"><img src="/img/common/list_up_bt.gif" alt="위로 순서변경"></a>
|
||||
</c:if>
|
||||
<c:if test="${params.codeDown > 0}">
|
||||
|
||||
<a href="javascript:void(0);" onclick="jf_codeOrder('${params.codeIdx }', 'down');"><img src="/img/common/list_down_bt.gif" alt="아래로 순서변경"></a>
|
||||
</c:if>
|
||||
</c:if>
|
||||
</td>
|
||||
<td>
|
||||
<c:if test="${params.codeStatus eq 'U'}">
|
||||
<span class="button mini_green"><a href="javascript:void(0);" onclick="updateStatus('${params.codeIdx }', 'S');">ON</a></span>
|
||||
</c:if>
|
||||
<c:if test="${params.codeStatus ne 'U'}">
|
||||
<span class="button mini_red"><a href="javascript:void(0);" onclick="updateStatus('${params.codeIdx }', 'U');">OFF</a></span>
|
||||
</c:if>
|
||||
</td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${empty data}">
|
||||
<tr><td colspan="5">등록된 코드가 없습니다.</td></tr>
|
||||
</c:if>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</article>
|
||||
</form:form>
|
||||
371
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/write.jsp
Normal file
371
src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/code/write.jsp
Normal file
@ -0,0 +1,371 @@
|
||||
<%@ page contentType="text/html;charset=utf-8" %>
|
||||
<%@ page import="seed.utils.*" %>
|
||||
<!doctype html>
|
||||
<!--[if lt IE 7 ]><html class="ie ie6" lang="ko"><![endif]-->
|
||||
<!--[if IE 7 ]><html class="ie ie7" lang="ko"><![endif]-->
|
||||
<!--[if IE 8 ]><html class="ie ie8" lang="ko"><![endif]-->
|
||||
<!--[if (gtm IE 9)|!(IE)]><!--><html lang="ko"><!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="robots" content="noindex">
|
||||
<!--[if IE]>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<![endif]-->
|
||||
<title>사이트관리자 게시판 기능 카테고리관리 생성 페이지</title>
|
||||
|
||||
<link rel="shortcut icon" href="/img/favicon.ico" type="image/x-icon">
|
||||
<link rel="icon" href="/img/favicon.ico" type="image/x-icon">
|
||||
|
||||
<!-- css -->
|
||||
<link href="/css/total.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="/css/jquery-ui.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="/css/animate.css" rel="stylesheet" type="text/css"/>
|
||||
<!-- css -->
|
||||
|
||||
<!-- js -->
|
||||
<!--[if lte IE 9]>
|
||||
<script src="/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- js -->
|
||||
<script src="/js/jquery-1.9.1.min.js"></script>
|
||||
<!--<script src="/js/jquery-1.7.min.js"></script>-->
|
||||
<script src="/js/jquery-ui.min.js"></script>
|
||||
<script src="/js/jquery.number.min.js"></script>
|
||||
<script src="/js/jquery.cookie.js"></script>
|
||||
<script src="/js/slick.min.js"></script>
|
||||
<script src="/js/base64.js"></script>
|
||||
<script src="/js/common.js"></script>
|
||||
<script src="/js/lib/jquery.blockUI.js"></script>
|
||||
<script src="/js/jquery.form.js"></script>
|
||||
<script src="/js/date.format.js"></script>
|
||||
<script src="/js/browser.js"></script>
|
||||
<script src="/js/jquery.paging.js"></script>
|
||||
<script src="/js/jquery.slides.min.js"></script>
|
||||
<script src="/js/owl.carousel.min.js"></script>
|
||||
<script src="/js/jquery.mousewheel.min.js"></script>
|
||||
<script src="/js/common_XHR.js"></script>
|
||||
<!-- js -->
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
|
||||
if('${command}' == 'update'){
|
||||
var url = "";
|
||||
$("#type").val("S");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/Info.do";
|
||||
XHR(url, param, function(r){
|
||||
$("#codeName").val(r.data.codeName);
|
||||
$("#codeNameBefore").val(r.data.codeName);
|
||||
});
|
||||
}
|
||||
|
||||
$("#save").click(function(){
|
||||
if('${command}' == 'write'){
|
||||
var codeParentIdx = $("#codeParentIdx").val();
|
||||
var codeDepth = "0";
|
||||
var codeOrder = "0";
|
||||
var codeIdx1 = "";
|
||||
var codeIdx2 = "";
|
||||
var codeIdx3 = "";
|
||||
var codeIdx4 = "";
|
||||
var codeIdx5 = "";
|
||||
var codeStatus = "";
|
||||
var codeIdxs = "";
|
||||
|
||||
if(jQuery.trim($("#codeName").val()) == ""){
|
||||
alert("코드명을 입력해 주세요");
|
||||
$("#codeName").focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
var url = "";
|
||||
$("#type").val("S");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/ParentInfo.do";
|
||||
XHR(url, param, function(r){
|
||||
if(r.data == null){
|
||||
if(codeParentIdx != 0){
|
||||
url = "/gtm/case/code/ajax/IdxsInfo.do";
|
||||
$("#type").val("S");
|
||||
var param = jQuery('#frm').serialize();
|
||||
XHR(url, param, function(r1){
|
||||
codeDepth = r1.data.codeDepth+1;
|
||||
codeOrder = r1.data.codeOrder+1;
|
||||
codeIdx1 = r1.data.codeIdx1;
|
||||
codeIdx2 = r1.data.codeIdx2;
|
||||
codeIdx3 = r1.data.codeIdx3;
|
||||
codeIdx4 = r1.data.codeIdx4;
|
||||
codeIdx5 = r1.data.codeIdx5;
|
||||
codeStatus = r1.data.codeStatus;
|
||||
switch (codeDepth) {
|
||||
case 1:
|
||||
if(10 > (codeIdx1 *= 1)){
|
||||
codeIdx1 = "0"+((codeIdx1 *= 1)+1);
|
||||
}else{
|
||||
codeIdx1 = ((codeIdx1 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(10 > (codeIdx2 *= 1)){
|
||||
codeIdx2 = "0"+((codeIdx2 *= 1)+1);
|
||||
}else{
|
||||
codeIdx2 = ((codeIdx2 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(10 > (codeIdx3 *= 1)){
|
||||
codeIdx3 = "0"+((codeIdx3 *= 1)+1);
|
||||
}else{
|
||||
codeIdx3 = ((codeIdx3 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(10 > (codeIdx4 *= 1)){
|
||||
codeIdx4 = "0"+((codeIdx4 *= 1)+1);
|
||||
}else{
|
||||
codeIdx4 = ((codeIdx4 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(10 > (codeIdx5 *= 1)){
|
||||
codeIdx5 = "0"+((codeIdx5 *= 1)+1);
|
||||
}else{
|
||||
codeIdx5 = ((codeIdx5 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
codeIdxs = codeIdx1+codeIdx2+codeIdx3+codeIdx4+codeIdx5;
|
||||
insert(codeParentIdx, codeDepth, codeOrder, codeIdx1, codeIdx2, codeIdx3,
|
||||
codeIdx4, codeIdx5, codeStatus, codeIdxs);
|
||||
});
|
||||
}else{
|
||||
codeDepth = "1";
|
||||
codeOrder = "1";
|
||||
codeIdx1 = "01";
|
||||
codeIdx2 = "00";
|
||||
codeIdx3 = "00";
|
||||
codeIdx4 = "00";
|
||||
codeIdx5 = "00";
|
||||
codeStatus = "U";
|
||||
codeIdxs = codeIdx1+codeIdx2+codeIdx3+codeIdx4+codeIdx5;
|
||||
insert(codeParentIdx, codeDepth, codeOrder, codeIdx1, codeIdx2, codeIdx3,
|
||||
codeIdx4, codeIdx5, codeStatus, codeIdxs);
|
||||
}
|
||||
|
||||
}else{
|
||||
if(codeParentIdx == 0){
|
||||
codeDepth = 1;
|
||||
}else{
|
||||
codeDepth = r.data.codeDepth;
|
||||
}
|
||||
|
||||
codeIdx1 = r.data.codeIdx1;
|
||||
codeIdx2 = r.data.codeIdx2;
|
||||
codeIdx3 = r.data.codeIdx3;
|
||||
codeIdx4 = r.data.codeIdx4;
|
||||
codeIdx5 = r.data.codeIdx5;
|
||||
codeStatus = r.data.codeStatus;
|
||||
|
||||
switch (codeDepth) {
|
||||
case 1:
|
||||
if(10 > (codeIdx1 *= 1)){
|
||||
codeIdx1 = "0"+((codeIdx1 *= 1)+1);
|
||||
}else{
|
||||
codeIdx1 = ((codeIdx1 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if(10 > (codeIdx2 *= 1)){
|
||||
codeIdx2 = "0"+((codeIdx2 *= 1)+1);
|
||||
}else{
|
||||
codeIdx2 = ((codeIdx2 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if(10 > (codeIdx3 *= 1)){
|
||||
codeIdx3 = "0"+((codeIdx3 *= 1)+1);
|
||||
}else{
|
||||
codeIdx3 = ((codeIdx3 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if(10 > (codeIdx4 *= 1)){
|
||||
codeIdx4 = "0"+((codeIdx4 *= 1)+1);
|
||||
}else{
|
||||
codeIdx4 = ((codeIdx4 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if(10 > (codeIdx5 *= 1)){
|
||||
codeIdx5 = "0"+((codeIdx5 *= 1)+1);
|
||||
}else{
|
||||
codeIdx5 = ((codeIdx5 *= 1)+1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
url = "/gtm/case/code/ajax/OrderInfo.do";
|
||||
$("#type").val("S");
|
||||
$("#codeIdxs").val(r.data.codeIdxs);
|
||||
$("#codeDepth").val(codeDepth-1);
|
||||
var param = jQuery('#frm').serialize();
|
||||
XHR(url, param, function(r2){
|
||||
codeOrder = (r2.data.codeOrder *= 1)+1;
|
||||
codeIdxs = codeIdx1+codeIdx2+codeIdx3+codeIdx4+codeIdx5;
|
||||
insert(codeParentIdx, codeDepth, codeOrder, codeIdx1, codeIdx2, codeIdx3,
|
||||
codeIdx4, codeIdx5, codeStatus, codeIdxs);
|
||||
});
|
||||
}
|
||||
});
|
||||
}else if('${command}' == 'update'){
|
||||
var url = "";
|
||||
$("#type").val("U");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/Update.do";
|
||||
XHR(url, param, function(r){
|
||||
|
||||
$("#codeNameAfter").val($("#codeName").val());
|
||||
$("#codeHistoryType").val("U");
|
||||
var url = "";
|
||||
$("#type").val("I");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/CodeHistory.do";
|
||||
XHR(url, param, function(r){
|
||||
window.opener.location.reload();
|
||||
self.close();
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function insert(codeParentIdx, codeDepth, codeOrder, codeIdx1, codeIdx2, codeIdx3,
|
||||
codeIdx4, codeIdx5, codeStatus, codeIdxs){
|
||||
$("#codeParentIdx").val(codeParentIdx);
|
||||
$("#codeDepth").val(codeDepth);
|
||||
$("#codeOrder").val(codeOrder);
|
||||
$("#codeIdx1").val(codeIdx1);
|
||||
$("#codeIdx2").val(codeIdx2);
|
||||
$("#codeIdx3").val(codeIdx3);
|
||||
$("#codeIdx4").val(codeIdx4);
|
||||
$("#codeIdx5").val(codeIdx5);
|
||||
$("#codeStatus").val(codeStatus);
|
||||
$("#codeIdxs").val(codeIdxs);
|
||||
|
||||
$("#type").val("L");
|
||||
url = "/gtm/case/code/ajax/CodeOrderSelList.do";
|
||||
var param = jQuery('#frm').serialize();
|
||||
XHR(url, param, function(r3){
|
||||
var list = new Array();
|
||||
$.each(r3.data, function(k,v) {
|
||||
list.push(v.codeIdx);
|
||||
});
|
||||
|
||||
$("#arrList").val(list);
|
||||
url = "/gtm/case/code/ajax/CodeOrderUpdate.do";
|
||||
$("#orderType").val("plus");
|
||||
$("#codeListCnt").val("0");
|
||||
$("#type").val("U");
|
||||
var param = jQuery('#frm').serialize();
|
||||
XHR(url, param, function(r3){
|
||||
url = "/gtm/case/code/ajax/InsertCode.do";
|
||||
$("#type").val("I");
|
||||
var param = jQuery('#frm').serialize();
|
||||
XHR(url, param, function(r4){
|
||||
$("#dataIdx").val(r4.codeIdx);
|
||||
$("#codeNameAfter").val($("#codeName").val());
|
||||
$("#codeHistoryType").val("I");
|
||||
var url = "";
|
||||
$("#type").val("I");
|
||||
var param = jQuery('#frm').serialize();
|
||||
url = "/gtm/case/code/ajax/CodeHistory.do";
|
||||
XHR(url, param, function(r){
|
||||
window.opener.location.reload();
|
||||
self.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function JSONtoString(object) {
|
||||
var results = [];
|
||||
for (var property in object) {
|
||||
var value = object[property];
|
||||
if (value)
|
||||
results.push(property.toString() + ': ' + value);
|
||||
}
|
||||
|
||||
return '{' + results.join(', ') + '}';
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="seedPop">
|
||||
|
||||
<article class="menu_none">
|
||||
<div class="titleWrap">
|
||||
<h1>코드관리 상세정보</h1>
|
||||
</div>
|
||||
<div id="content">
|
||||
<form name="frm" id="frm" method="post">
|
||||
<input type="hidden" id="codeNameBefore" name="codeNameBefore" value="" />
|
||||
<input type="hidden" id="codeNameAfter" name="codeNameAfter" value="" />
|
||||
<input type="hidden" id="codeHistoryType" name="codeHistoryType" value="" />
|
||||
|
||||
<input type="hidden" id="column" name="column" value="${column}" />
|
||||
<input type="hidden" id="search" name="search" value="${search}" />
|
||||
<input type="hidden" id="dataIdx" name="dataIdx" value="${dataIdx}" />
|
||||
<input type="hidden" id="command" name="command" value="${command}" />
|
||||
<input type="hidden" id="type" name="type" value="" />
|
||||
|
||||
<!--
|
||||
-->
|
||||
<input type="hidden" id="codeParentIdx" name="codeParentIdx" value="${codeParentIdx}" />
|
||||
<!--
|
||||
<input type="hidden" id="codeParentIdx" name="codeParentIdx" value="0100000000" />
|
||||
-->
|
||||
<input type="hidden" id="codeDepth" name="codeDepth" value="${codeDepth }" />
|
||||
<input type="hidden" id="codeOrder" name="codeOrder" value="" />
|
||||
<input type="hidden" id="codeIdx1" name="codeIdx1" value="" />
|
||||
<input type="hidden" id="codeIdx2" name="codeIdx2" value="" />
|
||||
<input type="hidden" id="codeIdx3" name="codeIdx3" value="" />
|
||||
<input type="hidden" id="codeIdx4" name="codeIdx4" value="" />
|
||||
<input type="hidden" id="codeIdx5" name="codeIdx5" value="" />
|
||||
<input type="hidden" id="codeStatus" name="codeStatus" value="" />
|
||||
<input type="hidden" id="codeIdxs" name="codeIdxs" value="" />
|
||||
<input type="hidden" id="orderType" name="orderType" value="" />
|
||||
<input type="hidden" id="codeListCnt" name="codeListCnt" value="" />
|
||||
<input type="hidden" id="arrList" name="arrList" value="" />
|
||||
|
||||
|
||||
<table class="readTable">
|
||||
<caption>코드추가 및 수정화면입니다.</caption>
|
||||
<colgroup>
|
||||
<col style="width: 20%;" />
|
||||
<col style="width: auto;" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><label for="codeName">코드명 </label></th>
|
||||
<td><input type="text" class="bg_essential inpstyle type2" maxlength="100" name="codeName" id="codeName" title="코드명" value="${viewName}" required style="width:200px;" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="btArea bt_r">
|
||||
<!-- <span class="button big_green"><input type="submit" value="저장하기" /></span> -->
|
||||
<span class="button big_green"><a href="javascript:void(0);" id="save">저장하기</a></span>
|
||||
<span class="button big_gray"><a href="javascript:self.close();">닫기</a></span>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user