ads367 / AJIN-ERP star
박민혁 박민혁 2024-03-13
240313 박민혁 계정과목 정보 수정
@d7041e2759ee9448496308e5c827de26b0eb280f
src/main/java/com/ajin/ajinerp/master/account/dao/AccountDAO.java
--- src/main/java/com/ajin/ajinerp/master/account/dao/AccountDAO.java
+++ src/main/java/com/ajin/ajinerp/master/account/dao/AccountDAO.java
@@ -14,6 +14,22 @@
      *
      * 계정 과목 정보 조회
      */
-    List<AccountVO> getAccountData() throws Exception;
+    List<AccountVO> getAccountList() throws Exception;
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 단일 조회
+     */
+    AccountVO getAccountData(AccountVO accountVO) throws Exception;
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 추가 및 수정
+     */
+    int mergeAccountData(AccountVO accountVO) throws Exception;
 
 }
src/main/java/com/ajin/ajinerp/master/account/service/AccountService.java
--- src/main/java/com/ajin/ajinerp/master/account/service/AccountService.java
+++ src/main/java/com/ajin/ajinerp/master/account/service/AccountService.java
@@ -1,6 +1,7 @@
 package com.ajin.ajinerp.master.account.service;
 
 import com.ajin.ajinerp.common.vo.CustomeResultMap;
+import com.ajin.ajinerp.master.account.vo.AccountVO;
 
 public interface AccountService {
     /**
@@ -9,6 +10,15 @@
      *
      * 계정 과목 정보 조회
      */
-    CustomeResultMap getAccountData() throws Exception;
+    CustomeResultMap getAccountList() throws Exception;
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 단일 조회
+     */
+    CustomeResultMap getAccountData(AccountVO accountVO) throws Exception;
+
 
 }
src/main/java/com/ajin/ajinerp/master/account/service/impl/AccountServiceImpl.java
--- src/main/java/com/ajin/ajinerp/master/account/service/impl/AccountServiceImpl.java
+++ src/main/java/com/ajin/ajinerp/master/account/service/impl/AccountServiceImpl.java
@@ -29,11 +29,25 @@
      * 계정 과목 정보 조회
      */
     @Override
-    public CustomeResultMap getAccountData() throws Exception{
-        List<AccountVO> account = accountDAO.getAccountData();
+    public CustomeResultMap getAccountList() throws Exception{
+        List<AccountVO> accountList = accountDAO.getAccountList();
         CustomeResultMap resultMap = new CustomeResultMap();
-        resultMap.getResultData().put("account",account);
+        resultMap.getResultData().put("accountList",accountList);
         return resultMap;
     }
 
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 단일 조회
+     */
+    @Override
+    public CustomeResultMap getAccountData(AccountVO accountVO) throws Exception{
+        AccountVO account = accountDAO.getAccountData(accountVO);
+        CustomeResultMap resultMap = new CustomeResultMap();
+        resultMap.getResultData().put("account", account);
+        return resultMap;
+
+    }
 }
src/main/java/com/ajin/ajinerp/master/account/vo/AccountVO.java
--- src/main/java/com/ajin/ajinerp/master/account/vo/AccountVO.java
+++ src/main/java/com/ajin/ajinerp/master/account/vo/AccountVO.java
@@ -70,9 +70,16 @@
     private String semugu;
     // 프로젝트구분(업무구분:SM 분류코드:013)
     private String pjcode;
-
-    private String BLTXNM;
-    private String BGTXNM;
-    private String BLCDNM;
-    private String BGCDNM;
+    // 잔액 구분
+    private String dcgunm;
+    // 세무 계정
+    private String semunm;
+    // 동변계정(계산서)
+    private String bltxnm;
+    // 동변불공제계정(계산서)
+    private String bgtxnm;
+    // 동변계정(법인카드)
+    private String blcdnm;
+    // 동변불공제계정(법인카드)
+    private String bgcdnm;
 }
src/main/java/com/ajin/ajinerp/master/account/web/AccountController.java
--- src/main/java/com/ajin/ajinerp/master/account/web/AccountController.java
+++ src/main/java/com/ajin/ajinerp/master/account/web/AccountController.java
@@ -2,8 +2,11 @@
 
 import com.ajin.ajinerp.common.vo.CustomeResultMap;
 import com.ajin.ajinerp.master.account.service.AccountService;
+import com.ajin.ajinerp.master.account.vo.AccountVO;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 
 @RestController
@@ -17,10 +20,22 @@
      *
      * 계정 과목 정보 조회
      */
-    @GetMapping(value = "/getMemberById.json")
-    public CustomeResultMap getAccountData() throws Exception{
-        CustomeResultMap map = accountService.getAccountData();
+    @GetMapping(value = "/getAccountList.json")
+    public CustomeResultMap getAccountList() throws Exception{
+        CustomeResultMap map = accountService.getAccountList();
         return map;
-
     }
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 단일 조회
+     */
+    @PostMapping(value = "/getAccountData.json")
+    public CustomeResultMap getAccountData(@RequestBody AccountVO accountVO) throws Exception{
+        CustomeResultMap map = accountService.getAccountData(accountVO);
+        return map;
+    }
+
 }
src/main/resources/spring/mapper/account/account-SQL.xml
--- src/main/resources/spring/mapper/account/account-SQL.xml
+++ src/main/resources/spring/mapper/account/account-SQL.xml
@@ -3,7 +3,75 @@
 
 
 <mapper namespace="com.ajin.ajinerp.master.account.dao.AccountDAO">
-    <select id="">
+    <!-- 계정 과목 정보 매퍼 -->
+    <resultMap id="ac01001TResult" type="AccountVO">
+        <result property="accode" column="ACCODE"/>
+        <result property="acname" column="ACNAME"/>
+        <result property="dcgubn" column="DCGUBN"/>
+        <result property="blgubn" column="BLGUBN"/>
+        <result property="custgu" column="CUSTGU"/>
+        <result property="gyjngu" column="GYJNGU"/>
+        <result property="junggu" column="JUNGGU"/>
+        <result property="jdatgu" column="JDATGU"/>
+        <result property="sybugu" column="SYBUGU"/>
+        <result property="gomtgu" column="GOMTGU"/>
+        <result property="idregx" column="IDREGX"/>
+        <result property="dtmreg" column="DTMREG"/>
+        <result property="tmlreg" column="TMLREG"/>
+        <result property="iduptx" column="IDUPTX"/>
+        <result property="dtmupt" column="DTMUPT"/>
+        <result property="tmlupt" column="TMLUPT"/>
+        <result property="bltaxx" column="BLTAXX"/>
+        <result property="blcard" column="BLCARD"/>
+        <result property="blgygu" column="BLGYGU"/>
+        <result property="bgcard" column="BGCARD"/>
+        <result property="bggygu" column="BGGYGU"/>
+        <result property="drmtgu" column="DRMTGU"/>
+        <result property="crmtgu" column="CRMTGU"/>
+        <result property="exchgu" column="EXCHGU"/>
+        <result property="papegu" column="PAPEGU"/>
+        <result property="jiblgu" column="JIBLGU"/>
+        <result property="wonjgu" column="WONJGU"/>
+        <result property="semugu" column="SEMUGU"/>
+        <result property="pjcode" column="PJCODE"/>
+        <result property="dcgunm" column="DCGUNM" />
+        <result property="semunm" column="SEMUNM" />
+        <result property="bltxnm" column="BLTXNM" />
+        <result property="bgtxnm" column="BGTXNM" />
+        <result property="blcdnm" column="BLCDNM" />
+        <result property="bgcdnm" column="BGCDNM" />
+    </resultMap>
 
+    <!-- 계정 과목 정보 조회 -->
+    <select id="getAccountList" resultMap="ac01001TResult">
+        SELECT A.*,
+        NVL(B.ACNAME, '') AS BLTXNM,
+        NVL(C.ACNAME, '') AS BGTXNM,
+        NVL(D.ACNAME, '') AS BLCDNM,
+        NVL(E.ACNAME, '') AS BGCDNM
+        FROM (
+            SELECT A.*,
+            CASE WHEN A.DCGUBN = '1' THEN '1. 차변'
+            WHEN A.DCGUBN = '2' THEN '2. 대변' ELSE A.DCGUBN END AS DCGUNM,
+            CASE WHEN A.SEMUGU = '1' THEN '매출'
+            WHEN A.SEMUGU = '2' THEN '매입' ELSE A.SEMUGU END AS SEMUNM
+            FROM AC01001T A
+        ) A
+        LEFT OUTER JOIN (SELECT ACCODE, ACNAME FROM AC01001T) B ON B.ACCODE = A.BLTAXX
+        LEFT OUTER JOIN (SELECT ACCODE, ACNAME FROM AC01001T) C ON C.ACCODE = A.BGTAXX
+        LEFT OUTER JOIN (SELECT ACCODE, ACNAME FROM AC01001T) D ON D.ACCODE = A.BLCARD
+        LEFT OUTER JOIN (SELECT ACCODE, ACNAME FROM AC01001T) E ON E.ACCODE = A.BGCARD
+        ORDER BY A.ACCODE
     </select>
+
+    <!-- 계정 과목 단일 정보 확인 -->
+    <select id="getAccountData" parameterType="String" resultType="AccountVO">
+        SELECT A.*
+        FROM AC01001T A
+        WHERE A.ACCODE = #{ACCODE}
+    </select>
+
+    <!-- 계정 과목 정보 추가 및 수정 -->
+
+
 </mapper>
(No newline at end of file)
Add a comment
List