
--- src/main/java/com/ajin/ajinerp/master/account/dao/AccountDAO.java
+++ src/main/java/com/ajin/ajinerp/master/account/dao/AccountDAO.java
... | ... | @@ -18,6 +18,14 @@ |
18 | 18 |
|
19 | 19 |
/** |
20 | 20 |
* @author 박민혁 |
21 |
+ * @since 2024.03.14 |
|
22 |
+ * |
|
23 |
+ * 계정 과목 정보 검색 |
|
24 |
+ */ |
|
25 |
+ List<AccountVO> searchAccountList(AccountVO accountVO) throws Exception; |
|
26 |
+ |
|
27 |
+ /** |
|
28 |
+ * @author 박민혁 |
|
21 | 29 |
* @since 2024.03.13 |
22 | 30 |
* |
23 | 31 |
* 계정 과목 정보 단일 조회 |
... | ... | @@ -32,4 +40,13 @@ |
32 | 40 |
*/ |
33 | 41 |
int mergeAccountData(AccountVO accountVO) throws Exception; |
34 | 42 |
|
43 |
+ /** |
|
44 |
+ * @author 박민혁 |
|
45 |
+ * @since 2024.03.13 |
|
46 |
+ * |
|
47 |
+ * 계정 과목 정보 삭제 |
|
48 |
+ */ |
|
49 |
+ int deleteAccountData(String accode) throws Exception; |
|
50 |
+ |
|
51 |
+ |
|
35 | 52 |
} |
--- src/main/java/com/ajin/ajinerp/master/account/service/AccountService.java
+++ src/main/java/com/ajin/ajinerp/master/account/service/AccountService.java
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 |
import com.ajin.ajinerp.common.vo.CustomeResultMap; |
4 | 4 |
import com.ajin.ajinerp.master.account.vo.AccountVO; |
5 | 5 |
|
6 |
+import java.util.List; |
|
7 |
+ |
|
6 | 8 |
public interface AccountService { |
7 | 9 |
/** |
8 | 10 |
* @author 박민혁 |
... | ... | @@ -14,11 +16,34 @@ |
14 | 16 |
|
15 | 17 |
/** |
16 | 18 |
* @author 박민혁 |
19 |
+ * @since 2024.03.14 |
|
20 |
+ * |
|
21 |
+ * 계정 과목 정보 검색 |
|
22 |
+ */ |
|
23 |
+ CustomeResultMap searchAccountList(AccountVO accountVO) throws Exception; |
|
24 |
+ |
|
25 |
+ /** |
|
26 |
+ * @author 박민혁 |
|
17 | 27 |
* @since 2024.03.13 |
18 | 28 |
* |
19 | 29 |
* 계정 과목 정보 단일 조회 |
20 | 30 |
*/ |
21 | 31 |
CustomeResultMap getAccountData(AccountVO accountVO) throws Exception; |
22 | 32 |
|
33 |
+ /** |
|
34 |
+ * @author 박민혁 |
|
35 |
+ * @since 2024.03.13 |
|
36 |
+ * |
|
37 |
+ * 계정 과목 정보 추가 및 수정 |
|
38 |
+ */ |
|
39 |
+ CustomeResultMap mergeAccountData(AccountVO accountVO) throws Exception; |
|
40 |
+ |
|
41 |
+ /** |
|
42 |
+ * @author 박민혁 |
|
43 |
+ * @since 2024.03.13 |
|
44 |
+ * |
|
45 |
+ * 계정 과목 정보 삭제 |
|
46 |
+ */ |
|
47 |
+ CustomeResultMap deleteAccountData(String accode) throws Exception; |
|
23 | 48 |
|
24 | 49 |
} |
--- src/main/java/com/ajin/ajinerp/master/account/service/impl/AccountServiceImpl.java
+++ src/main/java/com/ajin/ajinerp/master/account/service/impl/AccountServiceImpl.java
... | ... | @@ -38,6 +38,20 @@ |
38 | 38 |
|
39 | 39 |
/** |
40 | 40 |
* @author 박민혁 |
41 |
+ * @since 2024.03.14 |
|
42 |
+ * |
|
43 |
+ * 계정 과목 정보 검색 |
|
44 |
+ */ |
|
45 |
+ @Override |
|
46 |
+ public CustomeResultMap searchAccountList(AccountVO accountVO) throws Exception{ |
|
47 |
+ List<AccountVO> accountList = accountDAO.searchAccountList(accountVO); |
|
48 |
+ CustomeResultMap resultMap = new CustomeResultMap(); |
|
49 |
+ resultMap.getResultData().put("accountList",accountList); |
|
50 |
+ return resultMap; |
|
51 |
+ } |
|
52 |
+ |
|
53 |
+ /** |
|
54 |
+ * @author 박민혁 |
|
41 | 55 |
* @since 2024.03.13 |
42 | 56 |
* |
43 | 57 |
* 계정 과목 정보 단일 조회 |
... | ... | @@ -50,4 +64,31 @@ |
50 | 64 |
return resultMap; |
51 | 65 |
|
52 | 66 |
} |
67 |
+ |
|
68 |
+ /** |
|
69 |
+ * @author 박민혁 |
|
70 |
+ * @since 2024.03.13 |
|
71 |
+ * |
|
72 |
+ * 계정 과목 정보 추가 및 수정 |
|
73 |
+ */ |
|
74 |
+ @Override |
|
75 |
+ public CustomeResultMap mergeAccountData(AccountVO accountVO) throws Exception{ |
|
76 |
+ CustomeResultMap resultMap = new CustomeResultMap(); |
|
77 |
+ resultMap.getResultData().put("result", accountDAO.mergeAccountData(accountVO) == 1); |
|
78 |
+ return resultMap; |
|
79 |
+ } |
|
80 |
+ |
|
81 |
+ /** |
|
82 |
+ * @author 박민혁 |
|
83 |
+ * @since 2024.03.13 |
|
84 |
+ * |
|
85 |
+ * 계정 과목 정보 삭제 |
|
86 |
+ */ |
|
87 |
+ @Override |
|
88 |
+ public CustomeResultMap deleteAccountData(String accode) throws Exception{ |
|
89 |
+ CustomeResultMap resultMap = new CustomeResultMap(); |
|
90 |
+ resultMap.getResultData().put("result", accountDAO.deleteAccountData(accode) == 1); |
|
91 |
+ return resultMap; |
|
92 |
+ } |
|
93 |
+ |
|
53 | 94 |
} |
--- src/main/java/com/ajin/ajinerp/master/account/vo/AccountVO.java
+++ src/main/java/com/ajin/ajinerp/master/account/vo/AccountVO.java
... | ... | @@ -9,8 +9,7 @@ |
9 | 9 |
* |
10 | 10 |
* 계정 과목 정보 VO |
11 | 11 |
*/ |
12 |
-@Getter |
|
13 |
-@Setter |
|
12 |
+@Getter @Setter |
|
14 | 13 |
public class AccountVO { |
15 | 14 |
// 계정코드 |
16 | 15 |
private String accode; |
... | ... | @@ -53,7 +52,7 @@ |
53 | 52 |
// 동변불공제발생계정(계산서) |
54 | 53 |
private String bgcard; |
55 | 54 |
// 동변불공제발생계정(법인카드) |
56 |
- private String bggygu; |
|
55 |
+ private String bgtaxx; |
|
57 | 56 |
// 차변금액발생여부(Y.발생) |
58 | 57 |
private String drmtgu; |
59 | 58 |
// 대변금액발생여부(Y.발생) |
--- src/main/java/com/ajin/ajinerp/master/account/web/AccountController.java
+++ src/main/java/com/ajin/ajinerp/master/account/web/AccountController.java
... | ... | @@ -4,10 +4,7 @@ |
4 | 4 |
import com.ajin.ajinerp.master.account.service.AccountService; |
5 | 5 |
import com.ajin.ajinerp.master.account.vo.AccountVO; |
6 | 6 |
import lombok.RequiredArgsConstructor; |
7 |
-import org.springframework.web.bind.annotation.GetMapping; |
|
8 |
-import org.springframework.web.bind.annotation.PostMapping; |
|
9 |
-import org.springframework.web.bind.annotation.RequestBody; |
|
10 |
-import org.springframework.web.bind.annotation.RestController; |
|
7 |
+import org.springframework.web.bind.annotation.*; |
|
11 | 8 |
|
12 | 9 |
@RestController |
13 | 10 |
@RequiredArgsConstructor |
... | ... | @@ -28,6 +25,18 @@ |
28 | 25 |
|
29 | 26 |
/** |
30 | 27 |
* @author 박민혁 |
28 |
+ * @since 2024.03.14 |
|
29 |
+ * |
|
30 |
+ * 계정 과목 정보 검색 |
|
31 |
+ */ |
|
32 |
+ @PostMapping(value = "/searchAccountList.json") |
|
33 |
+ public CustomeResultMap searchAccountList(@RequestBody AccountVO accountVO) throws Exception{ |
|
34 |
+ CustomeResultMap map = accountService.searchAccountList(accountVO); |
|
35 |
+ return map; |
|
36 |
+ } |
|
37 |
+ |
|
38 |
+ /** |
|
39 |
+ * @author 박민혁 |
|
31 | 40 |
* @since 2024.03.13 |
32 | 41 |
* |
33 | 42 |
* 계정 과목 정보 단일 조회 |
... | ... | @@ -38,4 +47,27 @@ |
38 | 47 |
return map; |
39 | 48 |
} |
40 | 49 |
|
50 |
+ /** |
|
51 |
+ * @author 박민혁 |
|
52 |
+ * @since 2024.03.13 |
|
53 |
+ * |
|
54 |
+ * 계정 과목 정보 추가 및 수정 |
|
55 |
+ */ |
|
56 |
+ @PostMapping(value = "/mergeAccountData.json") |
|
57 |
+ public CustomeResultMap mergeAccountData(@RequestBody AccountVO accountVO) throws Exception{ |
|
58 |
+ CustomeResultMap map = accountService.mergeAccountData(accountVO); |
|
59 |
+ return map; |
|
60 |
+ } |
|
61 |
+ /** |
|
62 |
+ * @author 박민혁 |
|
63 |
+ * @since 2024.03.13 |
|
64 |
+ * |
|
65 |
+ * 계정 과목 정보 삭제 |
|
66 |
+ */ |
|
67 |
+ @DeleteMapping(value = "/deleteAccountData.json") |
|
68 |
+ public CustomeResultMap deleteAccountData(@RequestBody String accode) throws Exception{ |
|
69 |
+ CustomeResultMap map = accountService.deleteAccountData(accode); |
|
70 |
+ return map; |
|
71 |
+ } |
|
72 |
+ |
|
41 | 73 |
} |
--- src/main/resources/spring/mapper/account/account-SQL.xml
+++ src/main/resources/spring/mapper/account/account-SQL.xml
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 |
<result property="blcard" column="BLCARD"/> |
26 | 26 |
<result property="blgygu" column="BLGYGU"/> |
27 | 27 |
<result property="bgcard" column="BGCARD"/> |
28 |
- <result property="bggygu" column="BGGYGU"/> |
|
28 |
+ <result property="bgtaxx" column="BGTAXX"/> |
|
29 | 29 |
<result property="drmtgu" column="DRMTGU"/> |
30 | 30 |
<result property="crmtgu" column="CRMTGU"/> |
31 | 31 |
<result property="exchgu" column="EXCHGU"/> |
... | ... | @@ -64,14 +64,84 @@ |
64 | 64 |
ORDER BY A.ACCODE |
65 | 65 |
</select> |
66 | 66 |
|
67 |
+ <!-- 계정 과목 찾기 --> |
|
68 |
+ <select id="searchAccountList" parameterType="AccountVO" resultMap="ac01001TResult"> |
|
69 |
+ SELECT A.*, |
|
70 |
+ NVL(B.ACNAME, '') AS BLTXNM, |
|
71 |
+ NVL(C.ACNAME, '') AS BLCDNM, |
|
72 |
+ NVL(D.ACNAME, '') AS BGTXNM, |
|
73 |
+ NVL(E.ACNAME, '') AS BGCDNM |
|
74 |
+ FROM ( |
|
75 |
+ SELECT A.*, |
|
76 |
+ CASE WHEN A.DCGUBN = '1' THEN '1. 차변' |
|
77 |
+ WHEN A.DCGUBN = '2' THEN '2. 대변' |
|
78 |
+ ELSE A.DCGUBN |
|
79 |
+ END AS DCGUNM, |
|
80 |
+ CASE WHEN A.SEMUGU = '1' THEN '매출' |
|
81 |
+ WHEN A.SEMUGU = '2' THEN '매입' |
|
82 |
+ ELSE A.SEMUGU |
|
83 |
+ END AS SEMUNM |
|
84 |
+ FROM AC01001T A |
|
85 |
+ ) A |
|
86 |
+ LEFT OUTER JOIN AC01001T B ON B.ACCODE = A.BLTAXX |
|
87 |
+ LEFT OUTER JOIN AC01001T C ON C.ACCODE = A.BLCARD |
|
88 |
+ LEFT OUTER JOIN AC01001T D ON D.ACCODE = A.BGTAXX |
|
89 |
+ LEFT OUTER JOIN AC01001T E ON E.ACCODE = A.BGCARD |
|
90 |
+ WHERE (A.ACCODE || A.ACNAME) LIKE '%' || #{acname} || '%' |
|
91 |
+ ORDER BY A.ACCODE |
|
92 |
+ </select> |
|
93 |
+ |
|
67 | 94 |
<!-- 계정 과목 단일 정보 확인 --> |
68 |
- <select id="getAccountData" parameterType="String" resultType="AccountVO"> |
|
95 |
+ <select id="getAccountData" parameterType="AccountVO" resultType="AccountVO"> |
|
69 | 96 |
SELECT A.* |
70 | 97 |
FROM AC01001T A |
71 |
- WHERE A.ACCODE = #{ACCODE} |
|
98 |
+ WHERE A.ACCODE = #{accode} |
|
72 | 99 |
</select> |
73 | 100 |
|
74 | 101 |
<!-- 계정 과목 정보 추가 및 수정 --> |
102 |
+ <insert id="mergeAccountData" parameterType="AccountVO"> |
|
103 |
+ MERGE INTO AC01001T A |
|
104 |
+ USING DUAL |
|
105 |
+ ON (A.ACCODE = #{accode}) |
|
106 |
+ WHEN MATCHED THEN |
|
107 |
+ UPDATE SET |
|
108 |
+ A.ACNAME = #{acname}, |
|
109 |
+ A.DCGUBN = #{dcgubn}, |
|
110 |
+ A.DRMTGU = #{drmtgu}, |
|
111 |
+ A.CRMTGU = #{crmtgu}, |
|
112 |
+ A.BLGUBN = #{blgubn}, |
|
113 |
+ A.CUSTGU = #{custgu}, |
|
114 |
+ A.GYJNGU = #{gyjngu}, |
|
115 |
+ A.JUNGGU = #{junggu}, |
|
116 |
+ A.JDATGU = #{jdatgu}, |
|
117 |
+ A.SYBUGU = #{sybugu}, |
|
118 |
+ A.GOMTGU = #{gomtgu}, |
|
119 |
+ A.EXCHGU = #{exchgu}, |
|
120 |
+ A.PAPEGU = #{papegu}, |
|
121 |
+ A.JIBLGU = #{jiblgu}, |
|
122 |
+ A.BLTAXX = #{bltaxx}, |
|
123 |
+ A.BLCARD = #{blcard}, |
|
124 |
+ A.BGTAXX = #{bgtaxx}, |
|
125 |
+ A.BGCARD = #{bgcard}, |
|
126 |
+ A.BLGYGU = #{blgygu}, |
|
127 |
+ A.WONJGU = #{wonjgu}, |
|
128 |
+ A.SEMUGU = #{semugu}, |
|
129 |
+ A.IDUPTX = #{iduptx}, |
|
130 |
+ A.DTMUPT = SYSDATE, |
|
131 |
+ A.TMLUPT = #{tmlupt} |
|
132 |
+ WHEN NOT MATCHED THEN |
|
133 |
+ INSERT (ACCODE, ACNAME, DCGUBN, DRMTGU, CRMTGU, BLGUBN, CUSTGU, GYJNGU, JUNGGU, JDATGU, |
|
134 |
+ SYBUGU, GOMTGU, EXCHGU, PAPEGU, JIBLGU, BLTAXX, BLCARD, BGTAXX, BGCARD, |
|
135 |
+ BLGYGU, WONJGU, SEMUGU, IDREGX, DTMREG, TMLREG, IDUPTX, DTMUPT, TMLUPT) |
|
136 |
+ VALUES (#{accode}, #{acname}, #{dcgubn}, #{drmtgu}, #{crmtgu}, #{blgubn}, #{custgu}, |
|
137 |
+ #{gyjngu}, #{junggu}, #{jdatgu}, #{sybugu}, #{gomtgu}, #{exchgu}, #{papegu}, |
|
138 |
+ #{jiblgu}, #{bltaxx}, #{blcard}, #{bgtaxx}, #{bgcard}, #{blgygu}, #{wonjgu}, |
|
139 |
+ #{semugu}, #{idregx}, SYSDATE, #{tmlreg}, #{iduptx}, SYSDATE, #{tmlupt}) |
|
140 |
+ </insert> |
|
75 | 141 |
|
76 |
- |
|
142 |
+ <!-- 계정 과목 정보 삭제 --> |
|
143 |
+ <delete id="deleteAccountData" parameterType="String"> |
|
144 |
+ DELETE FROM AC01001T |
|
145 |
+ WHERE ACCODE = #{accode} |
|
146 |
+ </delete> |
|
77 | 147 |
</mapper>(파일 끝에 줄바꿈 문자 없음) |
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?