ads367 / AJIN-ERP star
박민혁 박민혁 2024-03-14
240314 박민혁 계정과목 정보
@2344a1d1f768be9b829c5352d3cc78a4f5e98e7c
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
@@ -18,6 +18,14 @@
 
     /**
      * @author 박민혁
+     * @since 2024.03.14
+     *
+     * 계정 과목 정보 검색
+     */
+    List<AccountVO> searchAccountList(AccountVO accountVO) throws Exception;
+
+    /**
+     * @author 박민혁
      * @since 2024.03.13
      *
      * 계정 과목 정보 단일 조회
@@ -32,4 +40,13 @@
      */
     int mergeAccountData(AccountVO accountVO) throws Exception;
 
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 삭제
+     */
+    int deleteAccountData(String accode) 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
@@ -3,6 +3,8 @@
 import com.ajin.ajinerp.common.vo.CustomeResultMap;
 import com.ajin.ajinerp.master.account.vo.AccountVO;
 
+import java.util.List;
+
 public interface AccountService {
     /**
      * @author 박민혁
@@ -14,11 +16,34 @@
 
     /**
      * @author 박민혁
+     * @since 2024.03.14
+     *
+     * 계정 과목 정보 검색
+     */
+    CustomeResultMap searchAccountList(AccountVO accountVO) throws Exception;
+
+    /**
+     * @author 박민혁
      * @since 2024.03.13
      *
      * 계정 과목 정보 단일 조회
      */
     CustomeResultMap getAccountData(AccountVO accountVO) throws Exception;
 
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 추가 및 수정
+     */
+    CustomeResultMap mergeAccountData(AccountVO accountVO) throws Exception;
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 삭제
+     */
+    CustomeResultMap deleteAccountData(String accode) 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
@@ -38,6 +38,20 @@
 
     /**
      * @author 박민혁
+     * @since 2024.03.14
+     *
+     * 계정 과목 정보 검색
+     */
+    @Override
+    public CustomeResultMap searchAccountList(AccountVO accountVO) throws Exception{
+        List<AccountVO> accountList = accountDAO.searchAccountList(accountVO);
+        CustomeResultMap resultMap = new CustomeResultMap();
+        resultMap.getResultData().put("accountList",accountList);
+        return resultMap;
+    }
+
+    /**
+     * @author 박민혁
      * @since 2024.03.13
      *
      * 계정 과목 정보 단일 조회
@@ -50,4 +64,31 @@
         return resultMap;
 
     }
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 추가 및 수정
+     */
+    @Override
+    public CustomeResultMap mergeAccountData(AccountVO accountVO) throws Exception{
+        CustomeResultMap resultMap = new CustomeResultMap();
+        resultMap.getResultData().put("result", accountDAO.mergeAccountData(accountVO) == 1);
+        return resultMap;
+    }
+
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 삭제
+     */
+    @Override
+    public CustomeResultMap deleteAccountData(String accode) throws Exception{
+        CustomeResultMap resultMap = new CustomeResultMap();
+        resultMap.getResultData().put("result", accountDAO.deleteAccountData(accode) == 1);
+        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
@@ -9,8 +9,7 @@
  *
  * 계정 과목 정보 VO
  */
-@Getter
-@Setter
+@Getter @Setter
 public class AccountVO {
     // 계정코드
     private String accode;
@@ -53,7 +52,7 @@
     // 동변불공제발생계정(계산서)
     private String bgcard;
     // 동변불공제발생계정(법인카드)
-    private String bggygu;
+    private String bgtaxx;
     // 차변금액발생여부(Y.발생)
     private String drmtgu;
     // 대변금액발생여부(Y.발생)
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
@@ -4,10 +4,7 @@
 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;
+import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequiredArgsConstructor
@@ -28,6 +25,18 @@
 
     /**
      * @author 박민혁
+     * @since 2024.03.14
+     *
+     * 계정 과목 정보 검색
+     */
+    @PostMapping(value = "/searchAccountList.json")
+    public CustomeResultMap searchAccountList(@RequestBody AccountVO accountVO) throws Exception{
+        CustomeResultMap map = accountService.searchAccountList(accountVO);
+        return map;
+    }
+
+    /**
+     * @author 박민혁
      * @since 2024.03.13
      *
      * 계정 과목 정보 단일 조회
@@ -38,4 +47,27 @@
         return map;
     }
 
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 추가 및 수정
+     */
+    @PostMapping(value = "/mergeAccountData.json")
+    public CustomeResultMap mergeAccountData(@RequestBody AccountVO accountVO) throws Exception{
+        CustomeResultMap map = accountService.mergeAccountData(accountVO);
+        return map;
+    }
+    /**
+     * @author 박민혁
+     * @since 2024.03.13
+     *
+     * 계정 과목 정보 삭제
+     */
+    @DeleteMapping(value = "/deleteAccountData.json")
+    public CustomeResultMap deleteAccountData(@RequestBody String accode) throws Exception{
+        CustomeResultMap map = accountService.deleteAccountData(accode);
+        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
@@ -25,7 +25,7 @@
         <result property="blcard" column="BLCARD"/>
         <result property="blgygu" column="BLGYGU"/>
         <result property="bgcard" column="BGCARD"/>
-        <result property="bggygu" column="BGGYGU"/>
+        <result property="bgtaxx" column="BGTAXX"/>
         <result property="drmtgu" column="DRMTGU"/>
         <result property="crmtgu" column="CRMTGU"/>
         <result property="exchgu" column="EXCHGU"/>
@@ -64,14 +64,84 @@
         ORDER BY A.ACCODE
     </select>
 
+    <!-- 계정 과목 찾기 -->
+    <select id="searchAccountList" parameterType="AccountVO" resultMap="ac01001TResult">
+        SELECT A.*,
+               NVL(B.ACNAME, '') AS BLTXNM,
+               NVL(C.ACNAME, '') AS BLCDNM,
+               NVL(D.ACNAME, '') AS BGTXNM,
+               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 AC01001T B ON B.ACCODE = A.BLTAXX
+        LEFT OUTER JOIN AC01001T C ON C.ACCODE = A.BLCARD
+        LEFT OUTER JOIN AC01001T D ON D.ACCODE = A.BGTAXX
+        LEFT OUTER JOIN AC01001T E ON E.ACCODE = A.BGCARD
+    WHERE (A.ACCODE || A.ACNAME) LIKE '%' || #{acname} || '%'
+        ORDER BY A.ACCODE
+    </select>
+
     <!-- 계정 과목 단일 정보 확인 -->
-    <select id="getAccountData" parameterType="String" resultType="AccountVO">
+    <select id="getAccountData" parameterType="AccountVO" resultType="AccountVO">
         SELECT A.*
         FROM AC01001T A
-        WHERE A.ACCODE = #{ACCODE}
+        WHERE A.ACCODE = #{accode}
     </select>
 
     <!-- 계정 과목 정보 추가 및 수정 -->
+    <insert id="mergeAccountData" parameterType="AccountVO">
+        MERGE INTO AC01001T A
+        USING DUAL
+        ON (A.ACCODE = #{accode})
+        WHEN MATCHED THEN
+            UPDATE SET
+                A.ACNAME = #{acname},
+                A.DCGUBN = #{dcgubn},
+                A.DRMTGU = #{drmtgu},
+                A.CRMTGU = #{crmtgu},
+                A.BLGUBN = #{blgubn},
+                A.CUSTGU = #{custgu},
+                A.GYJNGU = #{gyjngu},
+                A.JUNGGU = #{junggu},
+                A.JDATGU = #{jdatgu},
+                A.SYBUGU = #{sybugu},
+                A.GOMTGU = #{gomtgu},
+                A.EXCHGU = #{exchgu},
+                A.PAPEGU = #{papegu},
+                A.JIBLGU = #{jiblgu},
+                A.BLTAXX = #{bltaxx},
+                A.BLCARD = #{blcard},
+                A.BGTAXX = #{bgtaxx},
+                A.BGCARD = #{bgcard},
+                A.BLGYGU = #{blgygu},
+                A.WONJGU = #{wonjgu},
+                A.SEMUGU = #{semugu},
+                A.IDUPTX = #{iduptx},
+                A.DTMUPT = SYSDATE,
+                A.TMLUPT = #{tmlupt}
+        WHEN NOT MATCHED THEN
+            INSERT (ACCODE, ACNAME, DCGUBN, DRMTGU, CRMTGU, BLGUBN, CUSTGU, GYJNGU, JUNGGU, JDATGU,
+                    SYBUGU, GOMTGU, EXCHGU, PAPEGU, JIBLGU, BLTAXX, BLCARD, BGTAXX, BGCARD,
+                    BLGYGU, WONJGU, SEMUGU, IDREGX, DTMREG, TMLREG, IDUPTX, DTMUPT, TMLUPT)
+            VALUES (#{accode}, #{acname}, #{dcgubn}, #{drmtgu}, #{crmtgu}, #{blgubn}, #{custgu},
+                    #{gyjngu}, #{junggu}, #{jdatgu}, #{sybugu}, #{gomtgu}, #{exchgu}, #{papegu},
+                    #{jiblgu}, #{bltaxx}, #{blcard}, #{bgtaxx}, #{bgcard}, #{blgygu}, #{wonjgu},
+                    #{semugu}, #{idregx}, SYSDATE, #{tmlreg}, #{iduptx}, SYSDATE, #{tmlupt})
+    </insert>
 
-
+    <!-- 계정 과목 정보 삭제 -->
+    <delete id="deleteAccountData" parameterType="String">
+        DELETE FROM AC01001T
+        WHERE ACCODE = #{accode}
+    </delete>
 </mapper>
(파일 끝에 줄바꿈 문자 없음)
Add a comment
List