
--- build/resources/main/mybatis/mapper/codeManage/codeManage-SQL.xml
+++ build/resources/main/mybatis/mapper/codeManage/codeManage-SQL.xml
... | ... | @@ -119,6 +119,9 @@ |
119 | 119 |
<select id="findChildCd" parameterType="String" resultType="CodeManageVO"> |
120 | 120 |
<include refid="selectCd" /> |
121 | 121 |
WHERE up_cd = #{cd} |
122 |
+ <if test="type =='user'"> |
|
123 |
+ AND use_yn = 'Y' |
|
124 |
+ </if> |
|
122 | 125 |
ORDER BY cd_sn |
123 | 126 |
</select> |
124 | 127 |
|
--- src/main/java/com/takensoft/cms/codeManage/dao/CodeManageDAO.java
+++ src/main/java/com/takensoft/cms/codeManage/dao/CodeManageDAO.java
... | ... | @@ -5,112 +5,147 @@ |
5 | 5 |
import com.takensoft.common.HierachyVO; |
6 | 6 |
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; |
7 | 7 |
|
8 |
+import java.util.HashMap; |
|
8 | 9 |
import java.util.List; |
10 |
+import java.util.Map; |
|
9 | 11 |
|
10 | 12 |
/** |
11 | 13 |
* @author : takensoft |
12 |
- * @since : 2024.04.09 |
|
14 |
+ * @since :2024.04.09 |
|
15 |
+ * @modification |
|
16 |
+ * since | author | description |
|
17 |
+ * 2024.04.09 | takensoft | 최초 등록 |
|
18 |
+ * 2024.04.15 | takensoft | update 추가 |
|
19 |
+ * 2024.04.23 | takensoft | deleteCd 추가 |
|
20 |
+ * 2024.04.24 | takensoft | findByTopNode, findChildNode 추가 |
|
21 |
+ * 2024.04.26 | takensoft | updateUpCd 추가 |
|
22 |
+ * 2024.05.10 | 박정하 | codeUpdateByHierachy 추가 |
|
23 |
+ * 2025.03.13 | 방선주 | 코드 리펙토링 |
|
13 | 24 |
* |
14 |
- * 공통코드 정보 관련 Mapper |
|
25 |
+ * 공통코드 정보 관련 DAO |
|
15 | 26 |
*/ |
16 | 27 |
@Mapper("codeManageDAO") |
17 | 28 |
public interface CodeManageDAO { |
18 | 29 |
/** |
19 |
- * @author takensoft |
|
20 |
- * @since 2024.04.09 |
|
30 |
+ * @param codeManageVO - 공통코드 객체 |
|
31 |
+ * @return boolean - 코드 중복 결과 |
|
32 |
+ * |
|
21 | 33 |
* 공통 코드 중복 검사 |
22 | 34 |
*/ |
23 | 35 |
boolean findByCheckCd(CodeManageVO codeManageVO); |
24 | 36 |
|
25 | 37 |
/** |
26 |
- * @author takensoft |
|
27 |
- * @since 2024.04.09 |
|
38 |
+ * @param codeManageVO - 공통코드 객체 |
|
39 |
+ * @return int - 공통 코드 등록 결과 |
|
40 |
+ * |
|
28 | 41 |
* 코드 등록 |
29 | 42 |
*/ |
30 | 43 |
int save(CodeManageVO codeManageVO); |
31 | 44 |
|
32 | 45 |
/** |
33 |
- * @author takensoft |
|
34 |
- * @since 2024.04.15 |
|
46 |
+ * @param codeManageVO - 공통코드 객체 |
|
47 |
+ * @return int - 공통 코드 수정 결과 |
|
48 |
+ * |
|
35 | 49 |
* 코드 수정 |
36 | 50 |
*/ |
37 | 51 |
int update(CodeManageVO codeManageVO); |
38 | 52 |
|
39 | 53 |
/** |
40 |
- * @author takensoft |
|
41 |
- * @since 2024.04.26 |
|
54 |
+ * @param codeManageVO - 공통코드 객체 |
|
55 |
+ * @return int - 상위 코드 수정에 따른 하위 코드 변경 결과 |
|
56 |
+ * |
|
42 | 57 |
* 상위코드가 수정됨에 따라 하위코드의 상위코드값 변경 |
43 | 58 |
*/ |
44 | 59 |
int updateUpCd(CodeManageVO codeManageVO); |
45 | 60 |
|
46 | 61 |
/** |
47 |
- * @author takensoft |
|
48 |
- * @since 2024.04.09 |
|
49 |
- * 코드 깊이 조회 |
|
62 |
+ * @param upCd - 상위 코드 명 |
|
63 |
+ * @return int - 상위 코드 깊이 |
|
64 |
+ * |
|
65 |
+ * 상위코드가 수정됨에 따라 하위코드의 상위코드값 변경 |
|
50 | 66 |
*/ |
51 | 67 |
int findByCdGrd(String upCd); |
52 | 68 |
|
53 | 69 |
/** |
54 |
- * @author takensoft |
|
55 |
- * @since 2024.04.09 |
|
70 |
+ * @param upCd - 상위 코드 명 |
|
71 |
+ * @return int - 코드 순서 |
|
72 |
+ * |
|
56 | 73 |
* 코드 순서 조회 |
57 | 74 |
*/ |
58 | 75 |
int findByCdSn(String upCd); |
59 | 76 |
|
60 | 77 |
/** |
61 |
- * @author takensoft |
|
62 |
- * @since 2024.04.09 |
|
78 |
+ * @param |
|
79 |
+ * @return List<CodeManageVO> - 공통코드 목록 |
|
80 |
+ * |
|
63 | 81 |
* 최상위 코드 조회 |
64 | 82 |
*/ |
65 | 83 |
List<CodeManageVO> findTopCd(); |
66 | 84 |
|
67 | 85 |
/** |
68 |
- * @author takensoft |
|
69 |
- * @since 2024.04.09 |
|
70 |
- * 하위 코드 조회[관리자용] |
|
86 |
+ * @param childMap - 상위 코드, type(mng, user) |
|
87 |
+ * @return List<CodeManageVO> - 하위 코드 목록 |
|
88 |
+ * |
|
89 |
+ * 하위 코드 조회 |
|
71 | 90 |
*/ |
72 |
- List<CodeManageVO> findChildCd(String cd); |
|
91 |
+ List<CodeManageVO> findChildCd(Map<String, Object> childMap); |
|
92 |
+ |
|
93 |
+// /** |
|
94 |
+// * @param cd - 상위 코드 명 |
|
95 |
+// * @return List<CodeManageVO> - 하위 코드 목록 |
|
96 |
+// * |
|
97 |
+// * 하위 코드 조회[관리자용] |
|
98 |
+// */ |
|
99 |
+// List<CodeManageVO> findChildCd(String cd); |
|
100 |
+ |
|
101 |
+// /** |
|
102 |
+// * @param cd - 상위 코드 명 |
|
103 |
+// * @return List<CodeManageVO> - 하위 코드 목록 |
|
104 |
+// * |
|
105 |
+// * 하위 코드 조회[사용자용] |
|
106 |
+// */ |
|
107 |
+// List<CodeManageVO> findChildCdUser(String cd); |
|
73 | 108 |
|
74 | 109 |
/** |
75 |
- * @author takensoft |
|
76 |
- * @since 2024.04.09 |
|
77 |
- * 하위 코드 조회[사용자용] |
|
78 |
- */ |
|
79 |
- List<CodeManageVO> findChildCdUser(String cd); |
|
80 |
- |
|
81 |
- /** |
|
82 |
- * @author takensoft |
|
83 |
- * @since 2024.04.09 |
|
110 |
+ * @param cd - 코드 명 |
|
111 |
+ * @return CodeManageVO - 상세 코드 정보 |
|
112 |
+ * |
|
84 | 113 |
* 코드 상세 조회 |
85 | 114 |
*/ |
86 | 115 |
CodeManageVO findByCd(String cd); |
87 | 116 |
|
88 | 117 |
/** |
89 |
- * @author takensoft |
|
90 |
- * @since 2024.04.23 |
|
118 |
+ * @param cd - 코드 명 |
|
119 |
+ * @return int - 삭제 결과 |
|
120 |
+ * |
|
91 | 121 |
* 코드 삭제 |
92 | 122 |
*/ |
93 | 123 |
int deleteCd(String cd); |
94 | 124 |
|
95 | 125 |
/************************************** Hierachy 전용 **************************************/ |
126 |
+ |
|
96 | 127 |
/** |
97 |
- * @author takensoft |
|
98 |
- * @since 2024.04.24 |
|
128 |
+ * @param |
|
129 |
+ * @return List<HierachyVO> - 공통 코드 목록 |
|
130 |
+ * |
|
99 | 131 |
* 최상위 코드 조회 |
100 | 132 |
*/ |
101 | 133 |
List<HierachyVO> findByTopNode(); |
134 |
+ |
|
102 | 135 |
/** |
103 |
- * @author takensoft |
|
104 |
- * @since 2024.04.24 |
|
136 |
+ * @param id - 상위 코드 명 |
|
137 |
+ * @return List<HierachyVO> - 공통 코드 목록 |
|
138 |
+ * |
|
105 | 139 |
* 하위 코드 조회 |
106 | 140 |
*/ |
107 | 141 |
List<HierachyVO> findChildNode(String id); |
108 | 142 |
/************************************** Hierachy 전용 **************************************/ |
109 | 143 |
|
110 | 144 |
/** |
111 |
- * @author 박정하 |
|
112 |
- * @since 2024.05.10 |
|
145 |
+ * @param codeManageVO - 공통코드 객체 |
|
146 |
+ * @return int - 공통 코드 수정 결과 |
|
147 |
+ * |
|
113 | 148 |
* 공통 코드 목록 정보 수정 (hierachyVO 사용) |
114 | 149 |
*/ |
115 |
- public int codeUpdateByHierachy(CodeManageVO codeManageVO) throws Exception; |
|
150 |
+ int codeUpdateByHierachy(CodeManageVO codeManageVO); |
|
116 | 151 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/codeManage/service/CodeManageService.java
+++ src/main/java/com/takensoft/cms/codeManage/service/CodeManageService.java
... | ... | @@ -7,100 +7,125 @@ |
7 | 7 |
import java.util.List; |
8 | 8 |
|
9 | 9 |
/** |
10 |
- * @author : takensoft |
|
11 |
- * @since : 2024.04.09 |
|
10 |
+ * @author takensoft |
|
11 |
+ * @since 2024.04.09 |
|
12 |
+ * @modification |
|
13 |
+ * since | author | description |
|
14 |
+ * 2024.04.09 | takensoft | 최초 등록 |
|
15 |
+ * 2024.04.15 | takensoft | cdUpdate, findByCdSystem 추가 |
|
16 |
+ * 2024.04.19 | takensoft | findByChildCdCache 추가 |
|
17 |
+ * 2024.04.23 | takensoft | cdDelete, findByTopNode, findChildNode 추가 |
|
18 |
+ * 2024.05.10 | 박정하 | updateList, updateChildNode 추가 |
|
19 |
+ * 2025.03.14 | 방선주 | 코드 리펙토링 |
|
12 | 20 |
* |
13 | 21 |
* 공통코드 정보 관련 인터페이스 |
14 | 22 |
*/ |
15 | 23 |
public interface CodeManageService { |
16 | 24 |
/** |
17 |
- * @author takensoft |
|
18 |
- * @since 2024.04.09 |
|
25 |
+ * @param codeManageVO - 공통 코드 객체 |
|
26 |
+ * @return boolean - 중복 여부 결과 |
|
27 |
+ * |
|
19 | 28 |
* 코드 중복 검사 |
20 | 29 |
*/ |
21 |
- public boolean findByCheckCd(CodeManageVO codeManageVO) throws Exception; |
|
30 |
+ boolean findByCheckCd(CodeManageVO codeManageVO); |
|
22 | 31 |
|
23 | 32 |
/** |
24 |
- * @author takensoft |
|
25 |
- * @since 2024.04.09 |
|
33 |
+ * @param codeManageVO - 공통 코드 객체 |
|
34 |
+ * @return int - 등록 결과 |
|
35 |
+ * |
|
26 | 36 |
* 코드 등록 |
27 | 37 |
*/ |
28 |
- public int cdSave(CodeManageVO codeManageVO) throws Exception; |
|
38 |
+ int cdSave(CodeManageVO codeManageVO); |
|
29 | 39 |
|
30 | 40 |
/** |
31 |
- * @author takensoft |
|
32 |
- * @since 2024.04.15 |
|
41 |
+ * @param codeManageVO - 공통 코드 객체 |
|
42 |
+ * @return int - 수정 결과 |
|
43 |
+ * |
|
33 | 44 |
* 코드 수정 |
34 | 45 |
*/ |
35 |
- public int cdUpdate(CodeManageVO codeManageVO) throws Exception; |
|
46 |
+ int cdUpdate(CodeManageVO codeManageVO); |
|
36 | 47 |
|
37 | 48 |
/** |
38 |
- * @author takensoft |
|
39 |
- * @since 2024.04.09 |
|
40 |
- * 전체 코드 조회 [관리자용 ] |
|
49 |
+ * @param |
|
50 |
+ * @return List<CodeManageVO> - 공통 코드 목록 |
|
51 |
+ * |
|
52 |
+ * 전체 코드 조회 [관리자용] |
|
41 | 53 |
*/ |
42 |
- public List<CodeManageVO> findTopCd() throws Exception; |
|
54 |
+ List<CodeManageVO> findTopCd(); |
|
43 | 55 |
|
44 | 56 |
/** |
45 |
- * @author takensoft |
|
46 |
- * @since 2024.04.09 |
|
57 |
+ * @param cd - 상위 코드 |
|
58 |
+ * @return List<CodeManageVO> - 공통 코드 목록 |
|
59 |
+ * |
|
47 | 60 |
* 하위 코드 조회 |
48 | 61 |
*/ |
49 |
- public List<CodeManageVO> findByChildCd(String cd) throws Exception; |
|
62 |
+ List<CodeManageVO> findByChildCd(String cd); |
|
50 | 63 |
|
51 | 64 |
/** |
52 |
- * @author takensoft |
|
53 |
- * @since 2024.04.09 |
|
65 |
+ * @param cd - 상위 코드 |
|
66 |
+ * @return CodeManageVO - 공통 코드 객체 |
|
67 |
+ * |
|
54 | 68 |
* 코드 상세 조회 |
55 | 69 |
*/ |
56 |
- public CodeManageVO findByCd(String cd) throws Exception; |
|
70 |
+ CodeManageVO findByCd(String cd); |
|
57 | 71 |
|
58 | 72 |
/** |
59 |
- * @author takensoft |
|
60 |
- * @since 2024.04.15 |
|
73 |
+ * @param cd - 상위 코드 |
|
74 |
+ * @return CodeManageVO - 공통 코드 객체 |
|
75 |
+ * |
|
61 | 76 |
* 특정 공통 목록 코드 조회(시스템 처리용) |
62 | 77 |
*/ |
63 |
- public CodeManageVO findByCdSystem(String cd) throws Exception; |
|
78 |
+ CodeManageVO findByCdSystem(String cd); |
|
64 | 79 |
|
65 | 80 |
/** |
66 |
- * @author takensoft |
|
67 |
- * @since 2024.04.19 |
|
81 |
+ * @param cd - 상위 코드 |
|
82 |
+ * @return List<CodeManageVO> - 공통 코드 목록 |
|
83 |
+ * |
|
68 | 84 |
* 하위 코드 조회(cache) |
69 | 85 |
*/ |
70 |
- public List<CodeManageVO> findByChildCdCache(String cd); |
|
86 |
+ List<CodeManageVO> findByChildCdCache(String cd); |
|
71 | 87 |
|
72 | 88 |
/** |
73 |
- * @author takensoft |
|
74 |
- * @since 2024.04.23 |
|
89 |
+ * @param cd - 공통 코드 명 |
|
90 |
+ * @return int - 삭제 결과 |
|
91 |
+ * |
|
75 | 92 |
* 코드 삭제 |
76 | 93 |
*/ |
77 |
- public int cdDelete(String cd) throws Exception; |
|
94 |
+ int cdDelete(String cd); |
|
78 | 95 |
|
79 | 96 |
/************************************** Hierachy 전용 **************************************/ |
97 |
+ |
|
80 | 98 |
/** |
81 |
- * @author takensoft |
|
82 |
- * @since 2024.04.24 |
|
99 |
+ * @param |
|
100 |
+ * @return List<HierachyVO> - 최상위 공통 코드 목록 |
|
101 |
+ * |
|
83 | 102 |
* 최상위 코드 조회 |
84 | 103 |
*/ |
85 |
- public List<HierachyVO> findByTopNode(); |
|
104 |
+ List<HierachyVO> findByTopNode(); |
|
105 |
+ |
|
86 | 106 |
/** |
87 |
- * @author takensoft |
|
88 |
- * @since 2024.04.24 |
|
107 |
+ * @param id - 상위 코드 |
|
108 |
+ * @return int - 삭제 결과 |
|
109 |
+ * |
|
89 | 110 |
* 하위 코드 조회 |
90 | 111 |
*/ |
91 |
- public List<HierachyVO> findChildNode(String id); |
|
112 |
+ List<HierachyVO> findChildNode(String id); |
|
92 | 113 |
/************************************** Hierachy 전용 **************************************/ |
93 | 114 |
|
94 | 115 |
/** |
95 |
- * @author 박정하 |
|
96 |
- * @since 2024.05.10 |
|
116 |
+ * @param deptList - 부서 리스트 |
|
117 |
+ * @return int - 수정 결과 |
|
118 |
+ * |
|
97 | 119 |
* 공통 코드 목록 수정 |
98 | 120 |
*/ |
99 |
- public int updateList(List<HierachyVO> deptList) throws Exception; |
|
121 |
+ int updateList(List<HierachyVO> deptList); |
|
122 |
+ |
|
100 | 123 |
/** |
101 |
- * @author 박정하 |
|
102 |
- * @since 2024.05.10 |
|
124 |
+ * @param childList - 부서 리스트 |
|
125 |
+ * @param upCodeManageVO - 상위 코드 객체 |
|
126 |
+ * @return int - 하위 코드 수정 결과 |
|
127 |
+ * |
|
103 | 128 |
* 하위 코드 수정 |
104 | 129 |
*/ |
105 |
- public int updateChildNode(List<HierachyVO> childList, CodeManageVO upCodeManageVO) throws Exception; |
|
130 |
+ int updateChildNode(List<HierachyVO> childList, CodeManageVO upCodeManageVO); |
|
106 | 131 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/codeManage/service/Impl/CodeManageServiceImpl.java
+++ src/main/java/com/takensoft/cms/codeManage/service/Impl/CodeManageServiceImpl.java
... | ... | @@ -4,6 +4,8 @@ |
4 | 4 |
import com.takensoft.cms.codeManage.service.CodeManageService; |
5 | 5 |
import com.takensoft.cms.codeManage.vo.CodeManageVO; |
6 | 6 |
import com.takensoft.cms.dept.vo.DeptVO; |
7 |
+import com.takensoft.common.exception.CustomInsertFailException; |
|
8 |
+import com.takensoft.common.exception.CustomUpdateFailException; |
|
7 | 9 |
import com.takensoft.common.util.JWTUtil; |
8 | 10 |
import com.takensoft.common.HierachyVO; |
9 | 11 |
import lombok.RequiredArgsConstructor; |
... | ... | @@ -11,18 +13,31 @@ |
11 | 13 |
import org.slf4j.Logger; |
12 | 14 |
import org.slf4j.LoggerFactory; |
13 | 15 |
import org.springframework.cache.annotation.Cacheable; |
16 |
+import org.springframework.dao.DataAccessException; |
|
14 | 17 |
import org.springframework.stereotype.Service; |
15 | 18 |
import org.springframework.transaction.annotation.Transactional; |
16 | 19 |
|
20 |
+import java.util.HashMap; |
|
17 | 21 |
import java.util.List; |
22 |
+import java.util.Map; |
|
18 | 23 |
|
19 | 24 |
/** |
20 | 25 |
* @author : takensoft |
21 |
- * @since : 2024.04.09 |
|
26 |
+ * @since :2024.04.09 |
|
27 |
+ * @modification |
|
28 |
+ * since | author | description |
|
29 |
+ * 2024.04.09 | takensoft | 최초 등록 |
|
30 |
+ * 2024.04.15 | takensoft | cdUpdate, findByCdSystem 추가 |
|
31 |
+ * 2024.04.19 | takensoft | findByChildCdCache, 추가 |
|
32 |
+ * 2024.04.23 | takensoft | cdDelete 추가 |
|
33 |
+ * 2024.04.24 | takensoft | findByTopNode, findChildNode |
|
34 |
+ * 2024.05.10 | 박정하 | updateList, updateChildNode 추가 |
|
35 |
+ * 2025.03.14 | 방선주 | 코드 리펙토링 |
|
36 |
+ * |
|
37 |
+ * EgovAbstractServiceImpl - 전자정부 프레임워크에서 제공하는 추상 서비스 구현 클래스 |
|
38 |
+ * CodeManageService - 공통코드 정보 관련 인터페이스 |
|
22 | 39 |
* |
23 | 40 |
* 공통코드 정보 관련 구현체 |
24 |
- * EgovAbstractServiceImpl : 전자정부 상속 |
|
25 |
- * AuthorService : 공통코드 정보 인터페이스 상속 |
|
26 | 41 |
*/ |
27 | 42 |
@Service("codeManageService") |
28 | 43 |
@RequiredArgsConstructor |
... | ... | @@ -33,172 +48,304 @@ |
33 | 48 |
private final CodeManageDAO codeManageDAO; |
34 | 49 |
|
35 | 50 |
/** |
36 |
- * @author takensoft |
|
37 |
- * @since 2024.04.09 |
|
51 |
+ * @param codeManageVO - 공통코드 정보 |
|
52 |
+ * @return boolean - 중복 여부 |
|
53 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
54 |
+ * @throws NullPointerException - Null 값이 발생할 경우 |
|
55 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
56 |
+ * |
|
38 | 57 |
* 코드 중복 검사 |
39 | 58 |
*/ |
40 | 59 |
@Override |
41 |
- public boolean findByCheckCd(CodeManageVO codeManageVO) throws Exception { |
|
42 |
- return codeManageDAO.findByCheckCd(codeManageVO); |
|
60 |
+ public boolean findByCheckCd(CodeManageVO codeManageVO) { |
|
61 |
+ try { |
|
62 |
+ return codeManageDAO.findByCheckCd(codeManageVO); |
|
63 |
+ } catch (DataAccessException dae) { |
|
64 |
+ throw dae; |
|
65 |
+ } catch (Exception e) { |
|
66 |
+ throw e; |
|
67 |
+ } |
|
43 | 68 |
} |
44 | 69 |
|
45 | 70 |
/** |
46 |
- * @author takensoft |
|
47 |
- * @since 2024.04.09 |
|
71 |
+ * @param codeManageVO - 공통코드 정보 |
|
72 |
+ * @return int - 등록 결과 |
|
73 |
+ * @throws CustomInsertFailException - 등록 실패 시 |
|
74 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
75 |
+ * @throws NullPointerException - Null 값이 발생할 경우 |
|
76 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
77 |
+ * |
|
48 | 78 |
* 코드 등록 |
49 | 79 |
*/ |
50 | 80 |
@Override |
51 |
- public int cdSave(CodeManageVO codeManageVO) throws Exception { |
|
52 |
- // 상위 코드가 존재 하는 경우 |
|
53 |
- if(codeManageVO.getUpCd() != null && !codeManageVO.getUpCd().equals("")) { |
|
54 |
- // 상위 메뉴 아이디 보다 깊이(레벨) 1 추가 |
|
55 |
- codeManageVO.setCdGrd(codeManageDAO.findByCdGrd(codeManageVO.getUpCd()) + 1); |
|
56 |
- // 동일한 깊이의 코드 순서 보다 1 추가 |
|
57 |
- codeManageVO.setCdSn(codeManageDAO.findByCdSn(codeManageVO.getUpCd()) + 1); |
|
58 |
- // 상위 코드가 존재 하지 않는 경우 |
|
59 |
- } else { |
|
60 |
- codeManageVO.setCdGrd(0); |
|
61 |
- codeManageVO.setCdSn(codeManageDAO.findByCdSn(null) + 1); |
|
81 |
+ public int cdSave(CodeManageVO codeManageVO){ |
|
82 |
+ try { |
|
83 |
+ // 상위 코드가 존재 하는 경우 |
|
84 |
+ if (codeManageVO.getUpCd() != null && !codeManageVO.getUpCd().equals("")) { |
|
85 |
+ // 상위 메뉴 아이디 보다 깊이(레벨) 1 추가 |
|
86 |
+ codeManageVO.setCdGrd(codeManageDAO.findByCdGrd(codeManageVO.getUpCd()) + 1); |
|
87 |
+ // 동일한 깊이의 코드 순서 보다 1 추가 |
|
88 |
+ codeManageVO.setCdSn(codeManageDAO.findByCdSn(codeManageVO.getUpCd()) + 1); |
|
89 |
+ // 상위 코드가 존재 하지 않는 경우 |
|
90 |
+ } else { |
|
91 |
+ codeManageVO.setCdGrd(0); |
|
92 |
+ codeManageVO.setCdSn(codeManageDAO.findByCdSn(null) + 1); |
|
93 |
+ } |
|
94 |
+ // 등록된 토큰에서 사용자 정보 조회 |
|
95 |
+ codeManageVO.setRgtr(jwtUtil.getWriter()); |
|
96 |
+ // 코드 등록 결과 |
|
97 |
+ int result = codeManageDAO.save(codeManageVO); |
|
98 |
+ if(result == 0) { |
|
99 |
+ throw new CustomInsertFailException("공통 코드 등록 실패"); |
|
100 |
+ } |
|
101 |
+ return result; |
|
102 |
+ } catch (DataAccessException dae) { |
|
103 |
+ throw dae; |
|
104 |
+ } catch (NullPointerException npe) { |
|
105 |
+ throw npe; |
|
106 |
+ } catch (Exception e) { |
|
107 |
+ throw e; |
|
62 | 108 |
} |
63 |
- // 등록된 토큰에서 사용자 정보 조회 |
|
64 |
- codeManageVO.setRgtr(jwtUtil.getWriter()); |
|
65 |
- return codeManageDAO.save(codeManageVO); |
|
66 | 109 |
} |
67 | 110 |
|
68 | 111 |
/** |
69 |
- * @author takensoft |
|
70 |
- * @since 2024.04.15 |
|
112 |
+ * @param codeManageVO - 공통코드 정보 |
|
113 |
+ * @return int - 등록 결과 |
|
114 |
+ * @throws CustomUpdateFailException - 수정 실패 시 |
|
115 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
116 |
+ * @throws NullPointerException - Null 값이 발생할 경우 |
|
117 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
118 |
+ * |
|
71 | 119 |
* 코드 수정 |
72 | 120 |
*/ |
73 | 121 |
@Override |
74 |
- public int cdUpdate(CodeManageVO codeManageVO) throws Exception { |
|
75 |
- // 등록된 토큰에서 사용자 정보 조회 |
|
76 |
- codeManageVO.setMdfr(jwtUtil.getWriter()); |
|
77 |
- // 코드 수정 |
|
78 |
- int result = codeManageDAO.update(codeManageVO); |
|
79 |
- // 해당 코드가 변경됨에 따라 하위 코드의 상위코드값 변경 |
|
80 |
- result += codeManageDAO.updateUpCd(codeManageVO); |
|
81 |
- return result; |
|
122 |
+ public int cdUpdate(CodeManageVO codeManageVO){ |
|
123 |
+ try { |
|
124 |
+ // 등록된 토큰에서 사용자 정보 조회 |
|
125 |
+ codeManageVO.setMdfr(jwtUtil.getWriter()); |
|
126 |
+ // 코드 수정 |
|
127 |
+ int result = codeManageDAO.update(codeManageVO); |
|
128 |
+ if(result == 0) { |
|
129 |
+ throw new CustomUpdateFailException("공통 코드 수정 실패"); |
|
130 |
+ } |
|
131 |
+ // 해당 코드가 변경됨에 따라 하위 코드의 상위 코드값 변경 |
|
132 |
+ int updateChild = codeManageDAO.updateUpCd(codeManageVO); |
|
133 |
+ if(updateChild == 0) { |
|
134 |
+ throw new CustomUpdateFailException("공통 코드 수정 실패"); |
|
135 |
+ } |
|
136 |
+ return result; |
|
137 |
+ } catch (DataAccessException dae) { |
|
138 |
+ throw dae; |
|
139 |
+ } catch (NullPointerException npe) { |
|
140 |
+ throw npe; |
|
141 |
+ } catch (Exception e) { |
|
142 |
+ throw e; |
|
143 |
+ } |
|
82 | 144 |
} |
83 | 145 |
|
84 | 146 |
/** |
85 |
- * @author takensoft |
|
86 |
- * @since 2024.04.09 |
|
87 |
- * 전체 코드 조회 [관리자용 ] |
|
147 |
+ * @param |
|
148 |
+ * @return List<CodeManageVO> - 공통 코드 목록 |
|
149 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
150 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
151 |
+ * |
|
152 |
+ * 전체 코드 조회 [관리자용] |
|
88 | 153 |
*/ |
89 | 154 |
@Override |
90 |
- public List<CodeManageVO> findTopCd() throws Exception { |
|
91 |
- // 상위 코드 조회 |
|
92 |
- List<CodeManageVO> topCdList = codeManageDAO.findTopCd(); |
|
93 |
- // 상위 코드에 따른 하위 코드 조회 |
|
94 |
- for(CodeManageVO codeManage : topCdList) { |
|
95 |
- List<CodeManageVO> childCd = findByChildCd(codeManage.getCd()); |
|
96 |
- codeManage.setChildCdList(childCd); |
|
155 |
+ public List<CodeManageVO> findTopCd(){ |
|
156 |
+ try { |
|
157 |
+ // 상위 코드 조회 |
|
158 |
+ List<CodeManageVO> topCdList = codeManageDAO.findTopCd(); |
|
159 |
+ // 상위 코드에 따른 하위 코드 조회 |
|
160 |
+ for (CodeManageVO codeManage : topCdList) { |
|
161 |
+ List<CodeManageVO> childCd = findByChildCd(codeManage.getCd()); |
|
162 |
+ codeManage.setChildCdList(childCd); |
|
163 |
+ } |
|
164 |
+ return topCdList; |
|
165 |
+ } catch (DataAccessException dae) { |
|
166 |
+ throw dae; |
|
167 |
+ } catch (Exception e) { |
|
168 |
+ throw e; |
|
97 | 169 |
} |
98 |
- return topCdList; |
|
99 | 170 |
} |
100 | 171 |
|
101 | 172 |
/** |
102 |
- * @author takensoft |
|
103 |
- * @since 2024.04.09 |
|
173 |
+ * @param cd - 상위 코드 |
|
174 |
+ * @return List<CodeManageVO> - 하위 코드 목록 |
|
175 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
176 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
177 |
+ * |
|
104 | 178 |
* 하위 코드 조회 |
105 | 179 |
*/ |
106 | 180 |
@Override |
107 |
- public List<CodeManageVO> findByChildCd(String cd) throws Exception { |
|
108 |
- List<CodeManageVO> childCdList = codeManageDAO.findChildCd(cd); |
|
109 |
- for(CodeManageVO codeManage : childCdList) { |
|
110 |
- List<CodeManageVO> childCd = findByChildCd(codeManage.getCd()); |
|
111 |
- codeManage.setChildCdList(childCd); |
|
181 |
+ public List<CodeManageVO> findByChildCd(String cd) { |
|
182 |
+ try { |
|
183 |
+ // 관리자 하위 코드 조회 |
|
184 |
+ Map<String, Object> childMap = new HashMap<>(); |
|
185 |
+ childMap.put("type", "mng"); |
|
186 |
+ childMap.put("cd", cd); |
|
187 |
+ |
|
188 |
+ List<CodeManageVO> childCdList = codeManageDAO.findChildCd(childMap); |
|
189 |
+ for (CodeManageVO codeManage : childCdList) { |
|
190 |
+ List<CodeManageVO> childCd = findByChildCd(codeManage.getCd()); |
|
191 |
+ codeManage.setChildCdList(childCd); |
|
192 |
+ } |
|
193 |
+ return childCdList; |
|
194 |
+ } catch (DataAccessException dae) { |
|
195 |
+ throw dae; |
|
196 |
+ } catch (Exception e) { |
|
197 |
+ throw e; |
|
112 | 198 |
} |
113 |
- return childCdList; |
|
114 | 199 |
} |
115 | 200 |
|
116 | 201 |
/** |
117 |
- * @author takensoft |
|
118 |
- * @since 2024.04.09 |
|
202 |
+ * @param cd - 공통코드 명 |
|
203 |
+ * @return LCodeManageVO - 공통 코드 상세 |
|
204 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
205 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
206 |
+ * |
|
119 | 207 |
* 코드 상세 조회 |
120 | 208 |
*/ |
121 | 209 |
@Override |
122 |
- public CodeManageVO findByCd(String cd) throws Exception { |
|
123 |
- return codeManageDAO.findByCd(cd); |
|
210 |
+ public CodeManageVO findByCd(String cd) { |
|
211 |
+ try { |
|
212 |
+ return codeManageDAO.findByCd(cd); |
|
213 |
+ } catch (DataAccessException dae) { |
|
214 |
+ throw dae; |
|
215 |
+ } catch (Exception e) { |
|
216 |
+ throw e; |
|
217 |
+ } |
|
124 | 218 |
} |
125 | 219 |
|
126 | 220 |
/** |
127 |
- * @author takensoft |
|
128 |
- * @since 2024.04.15 |
|
221 |
+ * @param cd - 공통코드 명 |
|
222 |
+ * @return LCodeManageVO - 공통 코드 상세 |
|
223 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
224 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
225 |
+ * |
|
129 | 226 |
* 특정 공통 목록 코드 조회(시스템 처리용) |
130 | 227 |
*/ |
131 | 228 |
@Override |
132 |
- public CodeManageVO findByCdSystem(String cd) throws Exception { |
|
133 |
- CodeManageVO codeManage = codeManageDAO.findByCd(cd); |
|
134 |
- codeManage.setChildCdList(findByChildCd(cd)); |
|
135 |
- return codeManage; |
|
229 |
+ public CodeManageVO findByCdSystem(String cd) { |
|
230 |
+ try { |
|
231 |
+ CodeManageVO codeManage = codeManageDAO.findByCd(cd); |
|
232 |
+ codeManage.setChildCdList(findByChildCd(cd)); |
|
233 |
+ return codeManage; |
|
234 |
+ } catch (DataAccessException dae) { |
|
235 |
+ throw dae; |
|
236 |
+ } catch (Exception e) { |
|
237 |
+ throw e; |
|
238 |
+ } |
|
136 | 239 |
} |
137 | 240 |
|
138 | 241 |
/** |
139 |
- * @author takensoft |
|
140 |
- * @since 2024.04.19 |
|
242 |
+ * @param cd - 공통코드 명 |
|
243 |
+ * @return List<CodeManageVO> - 공통 코드 상세 |
|
244 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
245 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
246 |
+ * |
|
141 | 247 |
* 하위 코드 조회(cache) |
142 | 248 |
*/ |
143 | 249 |
@Override |
144 | 250 |
@Cacheable(value = "findByChildCdCache", key = "#cd") |
145 | 251 |
public List<CodeManageVO> findByChildCdCache(String cd) { |
146 |
- LOGGER.info("Loading search conditions from the database for boardType: {}", cd); |
|
147 |
- return codeManageDAO.findChildCdUser(cd); |
|
252 |
+ try { |
|
253 |
+// return codeManageDAO.findChildCdUser(cd); |
|
254 |
+ // 사용자 하위 코드 조회 |
|
255 |
+ Map<String, Object> childMap = new HashMap<>(); |
|
256 |
+ childMap.put("type", "user"); |
|
257 |
+ childMap.put("cd", cd); |
|
258 |
+ return codeManageDAO.findChildCd(childMap); |
|
259 |
+ } catch (DataAccessException dae) { |
|
260 |
+ throw dae; |
|
261 |
+ } catch (Exception e) { |
|
262 |
+ throw e; |
|
263 |
+ } |
|
148 | 264 |
} |
149 | 265 |
|
150 | 266 |
/** |
151 |
- * @author takensoft |
|
152 |
- * @since 2024.04.23 |
|
267 |
+ * @param cd - 공통코드 명 |
|
268 |
+ * @return int - 삭제 결과 |
|
269 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
270 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
271 |
+ * |
|
153 | 272 |
* 코드 삭제 |
154 | 273 |
*/ |
155 | 274 |
@Override |
156 | 275 |
@Transactional(rollbackFor = Exception.class) |
157 |
- public int cdDelete(String cd) throws Exception { |
|
158 |
- return codeManageDAO.deleteCd(cd); |
|
276 |
+ public int cdDelete(String cd) { |
|
277 |
+ try { |
|
278 |
+ return codeManageDAO.deleteCd(cd); |
|
279 |
+ } catch (DataAccessException dae) { |
|
280 |
+ throw dae; |
|
281 |
+ } catch (Exception e) { |
|
282 |
+ throw e; |
|
283 |
+ } |
|
159 | 284 |
} |
160 | 285 |
/************************************** Hierachy 전용 **************************************/ |
286 |
+ |
|
161 | 287 |
/** |
162 |
- * @author takensoft |
|
163 |
- * @since 2024.04.24 |
|
288 |
+ * @param |
|
289 |
+ * @return List<HierachyVO> - 최상위 코드 목록 |
|
290 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
291 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
292 |
+ * |
|
164 | 293 |
* 최상위 코드 조회 |
165 | 294 |
*/ |
166 | 295 |
@Override |
167 | 296 |
public List<HierachyVO> findByTopNode() { |
168 |
- // 상위 코드 조회 |
|
169 |
- List<HierachyVO> topCdList = codeManageDAO.findByTopNode(); |
|
170 |
- // 상위 코드에 따른 하위 코드 조회 |
|
171 |
- for(HierachyVO hierachy : topCdList) { |
|
172 |
- List<HierachyVO> child = findChildNode(hierachy.getId()); |
|
173 |
- hierachy.setChildList(child); |
|
297 |
+ try { |
|
298 |
+ // 상위 코드 조회 |
|
299 |
+ List<HierachyVO> topCdList = codeManageDAO.findByTopNode(); |
|
300 |
+ // 상위 코드에 따른 하위 코드 조회 |
|
301 |
+ for (HierachyVO hierachy : topCdList) { |
|
302 |
+ List<HierachyVO> child = findChildNode(hierachy.getId()); |
|
303 |
+ hierachy.setChildList(child); |
|
304 |
+ } |
|
305 |
+ return topCdList; |
|
306 |
+ } catch (DataAccessException dae) { |
|
307 |
+ throw dae; |
|
308 |
+ } catch (Exception e) { |
|
309 |
+ throw e; |
|
174 | 310 |
} |
175 |
- return topCdList; |
|
176 | 311 |
} |
177 |
- |
|
178 | 312 |
/** |
179 |
- * @author takensoft |
|
180 |
- * @since 2024.04.24 |
|
313 |
+ * @param id - 상위 코드 |
|
314 |
+ * @return List<HierachyVO> - 하위 코드 목록 |
|
315 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
316 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
317 |
+ * |
|
181 | 318 |
* 하위 코드 조회 |
182 | 319 |
*/ |
183 | 320 |
@Override |
184 | 321 |
public List<HierachyVO> findChildNode(String id) { |
185 |
- List<HierachyVO> childList = codeManageDAO.findChildNode(id); |
|
186 |
- for(HierachyVO hierachyVO : childList) { |
|
187 |
- List<HierachyVO> child = findChildNode(hierachyVO.getId()); |
|
188 |
- hierachyVO.setChildList(child); |
|
322 |
+ try { |
|
323 |
+ List<HierachyVO> childList = codeManageDAO.findChildNode(id); |
|
324 |
+ for (HierachyVO hierachyVO : childList) { |
|
325 |
+ List<HierachyVO> child = findChildNode(hierachyVO.getId()); |
|
326 |
+ hierachyVO.setChildList(child); |
|
327 |
+ } |
|
328 |
+ return childList; |
|
329 |
+ } catch (DataAccessException dae) { |
|
330 |
+ throw dae; |
|
331 |
+ } catch (Exception e) { |
|
332 |
+ throw e; |
|
189 | 333 |
} |
190 |
- return childList; |
|
191 | 334 |
} |
192 | 335 |
/************************************** Hierachy 전용 **************************************/ |
193 | 336 |
|
194 | 337 |
/** |
195 |
- * @author 박정하 |
|
196 |
- * @since 2024.05.10 |
|
338 |
+ * @param deptList - 부서 코드 목록 |
|
339 |
+ * @return int - 부서 코드 수정 결과 |
|
340 |
+ * @throws CustomUpdateFailException - 수정 실패 시 |
|
341 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
342 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
343 |
+ * |
|
197 | 344 |
* 부서 코드 수정 (hierachyVO 사용) |
198 | 345 |
*/ |
199 | 346 |
@Override |
200 | 347 |
@Transactional(rollbackFor = Exception.class) |
201 |
- public int updateList(List<HierachyVO> deptList) throws Exception { |
|
348 |
+ public int updateList(List<HierachyVO> deptList) { |
|
202 | 349 |
int result = 0; |
203 | 350 |
String writer = jwtUtil.getWriter(); |
204 | 351 |
|
... | ... | @@ -212,6 +359,53 @@ |
212 | 359 |
vo.setCdGrd(0); |
213 | 360 |
vo.setCdSn(sn); |
214 | 361 |
vo.setMdfr(writer); |
362 |
+ |
|
363 |
+ int upCode = codeManageDAO.codeUpdateByHierachy(vo); |
|
364 |
+ if(upCode == 0) { |
|
365 |
+ throw new CustomUpdateFailException("부서 코드 수정 실패"); |
|
366 |
+ } |
|
367 |
+ result += upCode; |
|
368 |
+ |
|
369 |
+ // 하위 노드 수정 |
|
370 |
+ if (hierachyVO.getChildList() != null && hierachyVO.getChildList().size() > 0) { |
|
371 |
+ |
|
372 |
+ int childResult = updateChildNode(hierachyVO.getChildList(), vo); |
|
373 |
+ if(childResult == 0) { |
|
374 |
+ throw new CustomUpdateFailException("부서 코드 수정 실패"); |
|
375 |
+ } |
|
376 |
+ } |
|
377 |
+ sn++; |
|
378 |
+ } |
|
379 |
+ } |
|
380 |
+ return result; |
|
381 |
+ } |
|
382 |
+ |
|
383 |
+ /** |
|
384 |
+ * @param childList - 부서 코드 목록 |
|
385 |
+ * @param upCodeManageVO - 상위 코드 정보 |
|
386 |
+ * @return int - 부서 코드 수정 결과 |
|
387 |
+ * @throws CustomUpdateFailException - 수정 실패 시 |
|
388 |
+ * @throws DataAccessException - 데이터베이스 접근 예외 발생 시 |
|
389 |
+ * @throws Exception - 그 외 예외 발생 시 |
|
390 |
+ * |
|
391 |
+ * 하위 코드 수정 |
|
392 |
+ */ |
|
393 |
+ @Override |
|
394 |
+ public int updateChildNode(List<HierachyVO> childList, CodeManageVO upCodeManageVO){ |
|
395 |
+ try { |
|
396 |
+ int result = 0; |
|
397 |
+ String upDeptId = upCodeManageVO.getCd(); |
|
398 |
+ int grd = upCodeManageVO.getCdGrd() + 1; |
|
399 |
+ int sn = 1; |
|
400 |
+ String mdfr = upCodeManageVO.getMdfr(); |
|
401 |
+ for (HierachyVO hierachyVO : childList) { |
|
402 |
+ // 현재 노드 수정 |
|
403 |
+ CodeManageVO vo = new CodeManageVO(); |
|
404 |
+ vo.setCd(hierachyVO.getId()); |
|
405 |
+ vo.setUpCd(upDeptId); |
|
406 |
+ vo.setCdGrd(grd); |
|
407 |
+ vo.setCdSn(sn); |
|
408 |
+ vo.setMdfr(mdfr); |
|
215 | 409 |
result += codeManageDAO.codeUpdateByHierachy(vo); |
216 | 410 |
|
217 | 411 |
// 하위 노드 수정 |
... | ... | @@ -220,37 +414,11 @@ |
220 | 414 |
} |
221 | 415 |
sn++; |
222 | 416 |
} |
417 |
+ return result; |
|
418 |
+ } catch (DataAccessException dae) { |
|
419 |
+ throw dae; |
|
420 |
+ } catch (Exception e) { |
|
421 |
+ throw e; |
|
223 | 422 |
} |
224 |
- return result; |
|
225 |
- } |
|
226 |
- /** |
|
227 |
- * @author 박정하 |
|
228 |
- * @since 2024.05.10 |
|
229 |
- * 하위 코드 수정 |
|
230 |
- */ |
|
231 |
- @Override |
|
232 |
- public int updateChildNode(List<HierachyVO> childList, CodeManageVO upCodeManageVO) throws Exception { |
|
233 |
- int result = 0; |
|
234 |
- String upDeptId = upCodeManageVO.getCd(); |
|
235 |
- int grd = upCodeManageVO.getCdGrd() + 1; |
|
236 |
- int sn = 1; |
|
237 |
- String mdfr = upCodeManageVO.getMdfr(); |
|
238 |
- for(HierachyVO hierachyVO : childList) { |
|
239 |
- // 현재 노드 수정 |
|
240 |
- CodeManageVO vo = new CodeManageVO(); |
|
241 |
- vo.setCd(hierachyVO.getId()); |
|
242 |
- vo.setUpCd(upDeptId); |
|
243 |
- vo.setCdGrd(grd); |
|
244 |
- vo.setCdSn(sn); |
|
245 |
- vo.setMdfr(mdfr); |
|
246 |
- result += codeManageDAO.codeUpdateByHierachy(vo); |
|
247 |
- |
|
248 |
- // 하위 노드 수정 |
|
249 |
- if (hierachyVO.getChildList() != null && hierachyVO.getChildList().size() > 0) { |
|
250 |
- result += updateChildNode(hierachyVO.getChildList(), vo); |
|
251 |
- } |
|
252 |
- sn++; |
|
253 |
- } |
|
254 |
- return result; |
|
255 | 423 |
} |
256 | 424 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/codeManage/vo/CodeManageVO.java
+++ src/main/java/com/takensoft/cms/codeManage/vo/CodeManageVO.java
... | ... | @@ -11,6 +11,10 @@ |
11 | 11 |
/** |
12 | 12 |
* @author : takensoft |
13 | 13 |
* @since : 2024.04.09 |
14 |
+ * @modification |
|
15 |
+ * since | author | description |
|
16 |
+ * 2024.04.09 | takensoft | 최초 등록 |
|
17 |
+ * 2025.03.17 | 방선주 | 코드 리펙토링 |
|
14 | 18 |
* |
15 | 19 |
* 공통코드 정보 관련 VO |
16 | 20 |
*/ |
... | ... | @@ -19,68 +23,20 @@ |
19 | 23 |
@NoArgsConstructor |
20 | 24 |
@AllArgsConstructor |
21 | 25 |
public class CodeManageVO { |
22 |
- /** |
|
23 |
- * 코드 |
|
24 |
- */ |
|
25 |
- private String cd; |
|
26 |
- /** |
|
27 |
- * 변경전 코드 |
|
28 |
- */ |
|
29 |
- private String originCd; |
|
30 |
- /** |
|
31 |
- * 상위코드 |
|
32 |
- */ |
|
33 |
- private String upCd; |
|
34 |
- /** |
|
35 |
- * 상위코드명 |
|
36 |
- */ |
|
37 |
- private String upCdNm; |
|
38 |
- /** |
|
39 |
- * 코드명 |
|
40 |
- */ |
|
41 |
- private String cdNm; |
|
42 |
- /** |
|
43 |
- * 코드값 |
|
44 |
- */ |
|
45 |
- private String cdVl; |
|
46 |
- /** |
|
47 |
- * 코드설명 |
|
48 |
- */ |
|
49 |
- private String cdExpln; |
|
50 |
- /** |
|
51 |
- * 코드깊이(레벨) |
|
52 |
- */ |
|
53 |
- private int cdGrd; |
|
54 |
- /** |
|
55 |
- * 코드순서 |
|
56 |
- */ |
|
57 |
- private int cdSn; |
|
58 |
- /** |
|
59 |
- * 사용여부 |
|
60 |
- */ |
|
61 |
- private String useYn; |
|
62 |
- /** |
|
63 |
- * 시스템 제공 여부 |
|
64 |
- */ |
|
65 |
- private String sysPvsnYn; |
|
66 |
- /** |
|
67 |
- * 등록자 |
|
68 |
- */ |
|
69 |
- private String rgtr; |
|
70 |
- /** |
|
71 |
- * 등록일 |
|
72 |
- */ |
|
73 |
- private String regDt; |
|
74 |
- /** |
|
75 |
- * 수정자 |
|
76 |
- */ |
|
77 |
- private String mdfr; |
|
78 |
- /** |
|
79 |
- * 수정일 |
|
80 |
- */ |
|
81 |
- private String mdfcnDt; |
|
82 |
- /** |
|
83 |
- * 하위 코드 목록 |
|
84 |
- */ |
|
85 |
- private List<CodeManageVO> childCdList = new ArrayList<CodeManageVO>(); |
|
26 |
+ private String cd; // 코드 |
|
27 |
+ private String originCd; // 변경전 코드 |
|
28 |
+ private String upCd; // 상위코드 |
|
29 |
+ private String upCdNm; // 상위코드명 |
|
30 |
+ private String cdNm; // 코드명 |
|
31 |
+ private String cdVl; // 코드값 |
|
32 |
+ private String cdExpln; // 코드설명 |
|
33 |
+ private int cdGrd; // 코드깊이(레벨) |
|
34 |
+ private int cdSn; // 코드순서 |
|
35 |
+ private String useYn; // 사용여부 |
|
36 |
+ private String sysPvsnYn; // 시스템 제공 여부 |
|
37 |
+ private String rgtr; // 등록자 |
|
38 |
+ private String regDt; // 등록일 |
|
39 |
+ private String mdfr; // 수정자 |
|
40 |
+ private String mdfcnDt; // 수정일 |
|
41 |
+ private List<CodeManageVO> childCdList = new ArrayList<CodeManageVO>(); // 하위 코드 목록 |
|
86 | 42 |
} |
--- src/main/java/com/takensoft/cms/codeManage/web/CodeManageController.java
+++ src/main/java/com/takensoft/cms/codeManage/web/CodeManageController.java
... | ... | @@ -20,17 +20,14 @@ |
20 | 20 |
import java.util.Map; |
21 | 21 |
|
22 | 22 |
/** |
23 |
- * @author : takensoft |
|
24 |
- * @since : 2024.04.09 |
|
25 |
- * |
|
26 |
- * 공통코드 정보 관련 컨트롤러 |
|
27 |
- */ |
|
28 |
-/** |
|
29 | 23 |
* @author takensoft |
30 | 24 |
* @since 2024.04.09 |
31 | 25 |
* @modification |
32 | 26 |
* since | author | description |
33 | 27 |
* 2024.04.09 | takensoft | 최초 등록 |
28 |
+ * 2024.04.15 | takensoft | updateProc, deleteProc 추가 |
|
29 |
+ * 2024.05.10 | 박정하 | updateListProc |
|
30 |
+ * 2025.03.13 | 방선주 | 코드 리펙토링 |
|
34 | 31 |
* |
35 | 32 |
* 공통코드 정보 관련 컨트롤러 |
36 | 33 |
*/ |
... | ... | @@ -44,19 +41,15 @@ |
44 | 41 |
private final ResponseUtil resUtil; |
45 | 42 |
|
46 | 43 |
/** |
47 |
- * @author takensoft |
|
48 |
- * @since 2024.04.09 |
|
49 |
- * @param codeManageVO |
|
50 |
- * @return |
|
51 |
- * @throws Exception |
|
44 |
+ * @param codeManageVO - 등록할 공통코드 정보 |
|
45 |
+ * @return ResponseEntity - 등록 결과를 포함하는 응답 |
|
52 | 46 |
* |
53 | 47 |
* 공통코드 등록 |
54 | 48 |
*/ |
55 | 49 |
@PostMapping("/saveProc.json") |
56 |
- public ResponseEntity<?> saveProc(@RequestBody CodeManageVO codeManageVO) throws Exception { |
|
50 |
+ public ResponseEntity<?> saveProc(@RequestBody CodeManageVO codeManageVO){ |
|
57 | 51 |
// 코드 중복 검사 |
58 | 52 |
boolean isExistence = codeManageService.findByCheckCd(codeManageVO); |
59 |
- |
|
60 | 53 |
// 응답 처리 |
61 | 54 |
if(isExistence) { |
62 | 55 |
return resUtil.errorRes(MessageCode.COMMON_DUPLICATION_CODE); |
... | ... | @@ -64,24 +57,17 @@ |
64 | 57 |
|
65 | 58 |
// 코드 등록 |
66 | 59 |
int result = codeManageService.cdSave(codeManageVO); |
67 |
- if(result > 0) { |
|
68 |
- return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
69 |
- } else { |
|
70 |
- return resUtil.errorRes(MessageCode.COMMON_INSERT_FAIL); |
|
71 |
- } |
|
60 |
+ return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
72 | 61 |
} |
73 | 62 |
|
74 | 63 |
/** |
75 |
- * @author takensoft |
|
76 |
- * @since 2024.04.09 |
|
77 | 64 |
* @param |
78 |
- * @return |
|
79 |
- * @throws Exception |
|
65 |
+ * @return ResponseEntity - 공통코드 목록 조회 |
|
80 | 66 |
* |
81 | 67 |
* 공통코드 목록 조회 (관리자용) |
82 | 68 |
*/ |
83 | 69 |
@GetMapping(value = "/findAll.json") |
84 |
- public ResponseEntity<?> findAll() throws Exception { |
|
70 |
+ public ResponseEntity<?> findAll(){ |
|
85 | 71 |
// Tree용 |
86 | 72 |
List<HierachyVO> hierachyList = codeManageService.findByTopNode(); |
87 | 73 |
|
... | ... | @@ -94,16 +80,13 @@ |
94 | 80 |
} |
95 | 81 |
|
96 | 82 |
/** |
97 |
- * @author takensoft |
|
98 |
- * @since 2024.04.09 |
|
99 |
- * @param codeManageVO |
|
100 |
- * @return |
|
101 |
- * @throws Exception |
|
83 |
+ * @param codeManageVO - 공통코드 정보 |
|
84 |
+ * @return ResponseEntity - 공통코드 상세 조회 |
|
102 | 85 |
* |
103 | 86 |
* 공통코드 상세 조회 (관리자용) |
104 | 87 |
*/ |
105 | 88 |
@PostMapping("/findByCd.json") |
106 |
- public ResponseEntity<?> findByCd(@RequestBody CodeManageVO codeManageVO) throws Exception { |
|
89 |
+ public ResponseEntity<?> findByCd(@RequestBody CodeManageVO codeManageVO){ |
|
107 | 90 |
// 공통코드 조회 |
108 | 91 |
CodeManageVO code = codeManageService.findByCd(codeManageVO.getCd()); |
109 | 92 |
|
... | ... | @@ -115,16 +98,13 @@ |
115 | 98 |
} |
116 | 99 |
|
117 | 100 |
/** |
118 |
- * @author takensoft |
|
119 |
- * @since 2024.04.15 |
|
120 |
- * @param codeManageVO |
|
121 |
- * @return |
|
122 |
- * @throws Exception |
|
101 |
+ * @param codeManageVO - 공통코드 정보 |
|
102 |
+ * @return ResponseEntity - 공통코드 수정 결과를 포함하는 응답 |
|
123 | 103 |
* |
124 | 104 |
* 공통코드 수정 |
125 | 105 |
*/ |
126 | 106 |
@PostMapping("/updateProc.json") |
127 |
- public ResponseEntity<?> updateProc(@RequestBody CodeManageVO codeManageVO) throws Exception { |
|
107 |
+ public ResponseEntity<?> updateProc(@RequestBody CodeManageVO codeManageVO){ |
|
128 | 108 |
|
129 | 109 |
HttpHeaders headers = new HttpHeaders(); |
130 | 110 |
headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); |
... | ... | @@ -142,46 +122,31 @@ |
142 | 122 |
int result = codeManageService.cdUpdate(codeManageVO); |
143 | 123 |
|
144 | 124 |
// 응답 처리 |
145 |
- if(result > 0) { |
|
146 |
- return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
147 |
- } else { |
|
148 |
- return resUtil.errorRes(MessageCode.COMMON_UPDATE_FAIL); |
|
149 |
- } |
|
125 |
+ return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
150 | 126 |
} |
151 | 127 |
|
152 | 128 |
/** |
153 |
- * @author takensoft |
|
154 |
- * @since 2024.04.15 |
|
155 |
- * @param codeManageVO |
|
156 |
- * @return |
|
157 |
- * @throws Exception |
|
129 |
+ * @param codeManageVO - 공통코드 정보 |
|
130 |
+ * @return ResponseEntity - 공통코드 삭제 결과를 포함하는 응답 |
|
158 | 131 |
* |
159 |
- * 공통코드 삭제 |
|
132 |
+ * 공통 코드 삭제 |
|
160 | 133 |
*/ |
161 | 134 |
@PostMapping("/deleteProc.json") |
162 |
- public ResponseEntity<?> deleteProc(@RequestBody CodeManageVO codeManageVO) throws Exception { |
|
135 |
+ public ResponseEntity<?> deleteProc(@RequestBody CodeManageVO codeManageVO){ |
|
163 | 136 |
// 공통 코드 삭제(하위 항목 모두) |
164 | 137 |
int result = codeManageService.cdDelete(codeManageVO.getCd()); |
165 |
- |
|
166 | 138 |
// 응답 처리 |
167 |
- if(result > 0) { |
|
168 |
- return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
169 |
- } else { |
|
170 |
- return resUtil.errorRes(MessageCode.COMMON_DELETE_FAIL); |
|
171 |
- } |
|
139 |
+ return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
172 | 140 |
} |
173 | 141 |
|
174 | 142 |
/** |
175 |
- * @author takensoft |
|
176 |
- * @since 2024.04.09 |
|
177 |
- * @param codeManageVO |
|
178 |
- * @return |
|
179 |
- * @throws Exception |
|
143 |
+ * @param codeManageVO - 공통코드 정보 |
|
144 |
+ * @return ResponseEntity - 공통코드 상세 조회 |
|
180 | 145 |
* |
181 | 146 |
* 특정 공통 목록 코드 조회(시스템 처리용) |
182 | 147 |
*/ |
183 | 148 |
@PostMapping("/findByCdSystem.json") |
184 |
- public ResponseEntity<?> findByCdSystem(@RequestBody CodeManageVO codeManageVO) throws Exception { |
|
149 |
+ public ResponseEntity<?> findByCdSystem(@RequestBody CodeManageVO codeManageVO){ |
|
185 | 150 |
// 메뉴 조회 |
186 | 151 |
CodeManageVO code = codeManageService.findByCdSystem(codeManageVO.getCd()); |
187 | 152 |
|
... | ... | @@ -193,27 +158,17 @@ |
193 | 158 |
} |
194 | 159 |
|
195 | 160 |
/** |
196 |
- * @author 박정하 |
|
197 |
- * @since 2024.05.10 |
|
198 |
- * @param codeList |
|
199 |
- * @return |
|
200 |
- * @throws Exception |
|
161 |
+ * @param codeList - 수정할 공통코드 목록 |
|
162 |
+ * @return ResponseEntity - 수정 결과를 포함하는 응답 |
|
201 | 163 |
* |
202 | 164 |
* 공통 코드 목록 수정 |
203 | 165 |
*/ |
204 | 166 |
@PostMapping(value = "/updateListProc.json") |
205 |
- public ResponseEntity<?> updateListProc(@RequestBody List<HierachyVO> codeList) throws Exception { |
|
167 |
+ public ResponseEntity<?> updateListProc(@RequestBody List<HierachyVO> codeList){ |
|
206 | 168 |
// 공통 코드 목록 수정 |
207 | 169 |
int result = codeManageService.updateList(codeList); |
208 | 170 |
|
209 | 171 |
// 응답 처리 |
210 |
- HttpHeaders headers = new HttpHeaders(); |
|
211 |
- headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); |
|
212 |
- ResponseData responseData = new ResponseData(); |
|
213 |
- if(result > 0) { |
|
214 |
- return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
215 |
- } else { |
|
216 |
- return resUtil.errorRes(MessageCode.COMMON_UPDATE_FAIL); |
|
217 |
- } |
|
172 |
+ return resUtil.successRes(result, MessageCode.COMMON_SUCCESS); |
|
218 | 173 |
} |
219 | 174 |
}(파일 끝에 줄바꿈 문자 없음) |
--- src/main/java/com/takensoft/cms/contsType/web/ContsTypeController.java
+++ src/main/java/com/takensoft/cms/contsType/web/ContsTypeController.java
... | ... | @@ -39,6 +39,7 @@ |
39 | 39 |
* |
40 | 40 |
* 콘텐츠 유형 등록 |
41 | 41 |
*/ |
42 |
+ |
|
42 | 43 |
@PostMapping("/saveProc.json") |
43 | 44 |
public ResponseEntity<?> savePorc(@RequestBody ContsTypeVO contsTypeVO){ |
44 | 45 |
// 콘텐츠 유형 등록 |
--- src/main/resources/mybatis/mapper/codeManage/codeManage-SQL.xml
+++ src/main/resources/mybatis/mapper/codeManage/codeManage-SQL.xml
... | ... | @@ -119,20 +119,23 @@ |
119 | 119 |
<select id="findChildCd" parameterType="String" resultType="CodeManageVO"> |
120 | 120 |
<include refid="selectCd" /> |
121 | 121 |
WHERE up_cd = #{cd} |
122 |
+ <if test="type =='user'"> |
|
123 |
+ AND use_yn = 'Y' |
|
124 |
+ </if> |
|
122 | 125 |
ORDER BY cd_sn |
123 | 126 |
</select> |
124 | 127 |
|
125 |
- <!-- |
|
126 |
- 작성자 : takensoft |
|
127 |
- 작성일 : 2024.04.09 |
|
128 |
- 내 용 : 하위 코드 조회 [사용자용] |
|
129 |
- --> |
|
130 |
- <select id="findChildCdUser" parameterType="String" resultType="CodeManageVO"> |
|
131 |
- <include refid="selectCd" /> |
|
132 |
- WHERE up_cd = #{cd} |
|
133 |
- AND use_yn = 'Y' |
|
134 |
- ORDER BY cd_sn |
|
135 |
- </select> |
|
128 |
+<!-- <!–--> |
|
129 |
+<!-- 작성자 : takensoft--> |
|
130 |
+<!-- 작성일 : 2024.04.09--> |
|
131 |
+<!-- 내 용 : 하위 코드 조회 [사용자용]--> |
|
132 |
+<!-- –>--> |
|
133 |
+<!-- <select id="findChildCdUser" parameterType="String" resultType="CodeManageVO">--> |
|
134 |
+<!-- <include refid="selectCd" />--> |
|
135 |
+<!-- WHERE up_cd = #{cd}--> |
|
136 |
+<!-- AND use_yn = 'Y'--> |
|
137 |
+<!-- ORDER BY cd_sn--> |
|
138 |
+<!-- </select>--> |
|
136 | 139 |
|
137 | 140 |
<!-- |
138 | 141 |
작성자 : takensoft |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?