하석형 하석형 06-19
250619 하석형 콘텐츠 중복검사 조건에서 본인 제외
@7c1d110af25bd4ebd93f80746987b4ad4df990c5
src/main/java/com/takensoft/cms/contsType/dao/ContsTypeDAO.java
--- src/main/java/com/takensoft/cms/contsType/dao/ContsTypeDAO.java
+++ src/main/java/com/takensoft/cms/contsType/dao/ContsTypeDAO.java
@@ -26,20 +26,20 @@
 public interface ContsTypeDAO {
 
     /**
-     * @param contsEngNm - 콘텐츠 영문명
+     * @param contsTypeVO - 콘텐츠 영문명
      * @return boolean - 콘텐츠 영문명 중복 검사 결과
      *
      * 콘텐츠 영문명 중복 확인
      */
-    boolean findByCheckContsEngNm(String contsEngNm);
+    boolean findByCheckContsEngNm(ContsTypeVO contsTypeVO);
 
     /**
-     * @param compnPath - 컴포넌트 URL
+     * @param contsTypeVO - 컴포넌트 URL
      * @return boolean - 컴포넌트 URL 중복 검사 결과
      *
      * 컴포넌트 URL 중복 확인
      */
-    boolean findByCheckCompnCrs(String compnPath);
+    boolean findByCheckCompnCrs(ContsTypeVO contsTypeVO);
 
     /**
      * @param contsTypeVO - 컨텐츠 유형 관리 객체
src/main/java/com/takensoft/cms/contsType/service/ContsTypeService.java
--- src/main/java/com/takensoft/cms/contsType/service/ContsTypeService.java
+++ src/main/java/com/takensoft/cms/contsType/service/ContsTypeService.java
@@ -27,7 +27,7 @@
      *
      * 콘텐츠 영문명 중복 검사
      */
-    boolean findByCheckContsEngNm(String contsEngNm);
+    boolean findByCheckContsEngNm(ContsTypeVO contsTypeVO);
 
     /**
      * @param compnPath - 컴포넌트 URL
@@ -35,7 +35,7 @@
      *
      * 컴포넌트 URL 중복 검사
      */
-    boolean findByCheckCompnCrs(String compnPath);
+    boolean findByCheckCompnCrs(ContsTypeVO contsTypeVO);
 
     /**
      * @param contsTypeVO - 콘텐츠 유형 VO
src/main/java/com/takensoft/cms/contsType/service/Impl/ContsTypeServiceImpl.java
--- src/main/java/com/takensoft/cms/contsType/service/Impl/ContsTypeServiceImpl.java
+++ src/main/java/com/takensoft/cms/contsType/service/Impl/ContsTypeServiceImpl.java
@@ -54,7 +54,7 @@
     private final VerificationService verificationService;
 
     /**
-     * @param contsEngNm - 콘텐츠 영문명
+     * @param contsTypeVO - 콘텐츠 영문명
      * @return boolean - 콘텐츠 영문명 중복 여부
      * @throws CustomDataDuplicationException - 데이터 중복 예외 발생 시
      * @throws DataAccessException - db 관련 예외 발생 시
@@ -63,9 +63,9 @@
      * 콘텐츠 영문명 중복 검사
      */
     @Override
-    public boolean findByCheckContsEngNm(String contsEngNm) {
+    public boolean findByCheckContsEngNm(ContsTypeVO contsTypeVO) {
         try {
-            boolean result = contsTypeDAO.findByCheckContsEngNm(contsEngNm);
+            boolean result = contsTypeDAO.findByCheckContsEngNm(contsTypeVO);
             if (result) {
                 throw new CustomDataDuplicationException("이미 사용 중인 콘텐츠 영문명입니다.", "Y");
             }
@@ -78,7 +78,7 @@
     }
 
     /**
-     * @param compnPath - 컴포넌트 URL
+     * @param contsTypeVO - 컴포넌트 URL
      * @return boolean - 컴포넌트 URL 중복 여부
      * @throws CustomDataDuplicationException - 데이터 중복 예외 발생 시
      * @throws DataAccessException - db 관련 예외 발생 시
@@ -87,9 +87,9 @@
      * 컴포넌트 URL 중복 검사
      */
     @Override
-    public boolean findByCheckCompnCrs(String compnPath) {
+    public boolean findByCheckCompnCrs(ContsTypeVO contsTypeVO) {
         try {
-            boolean result = contsTypeDAO.findByCheckCompnCrs(compnPath);
+            boolean result = contsTypeDAO.findByCheckCompnCrs(contsTypeVO);
             if (result) {
                 throw new CustomDataDuplicationException("이미 사용 중인 컴포넌트 URL입니다.", "Y");
             }
src/main/java/com/takensoft/cms/contsType/web/ContsTypeController.java
--- src/main/java/com/takensoft/cms/contsType/web/ContsTypeController.java
+++ src/main/java/com/takensoft/cms/contsType/web/ContsTypeController.java
@@ -45,9 +45,9 @@
     @PostMapping("/saveProc.json")
     public ResponseEntity<?> savePorc(@RequestBody ContsTypeVO contsTypeVO){
         // 콘텐츠 영문명 중복 검사
-        boolean isEngNmExist = contsTypeService.findByCheckContsEngNm(contsTypeVO.getContsEngNm());
+        boolean isEngNmExist = contsTypeService.findByCheckContsEngNm(contsTypeVO);
         // 컴포넌트 URL 중복 검사
-        boolean isCompnCrsExist = contsTypeService.findByCheckCompnCrs(contsTypeVO.getCompnPath());
+        boolean isCompnCrsExist = contsTypeService.findByCheckCompnCrs(contsTypeVO);
 
         // 콘텐츠 유형 등록
         HashMap<String, Object> result = contsTypeService.contsSave(contsTypeVO);
@@ -64,9 +64,9 @@
     @PostMapping("/updateProc.json")
     public ResponseEntity<?> updateProc(@RequestBody ContsTypeVO contsTypeVO) {
         // 콘텐츠 영문명 중복 검사
-        boolean isEngNmExist = contsTypeService.findByCheckContsEngNm(contsTypeVO.getContsEngNm());
+        boolean isEngNmExist = contsTypeService.findByCheckContsEngNm(contsTypeVO);
         // 컴포넌트 URL 중복 검사
-        boolean isCompnCrsExist = contsTypeService.findByCheckCompnCrs(contsTypeVO.getCompnPath());
+        boolean isCompnCrsExist = contsTypeService.findByCheckCompnCrs(contsTypeVO);
 
         // 콘텐츠 유형 수정 처리
         int result = contsTypeService.contsUpdate(contsTypeVO);
src/main/resources/mybatis/mapper/contsType/contsType-SQL.xml
--- src/main/resources/mybatis/mapper/contsType/contsType-SQL.xml
+++ src/main/resources/mybatis/mapper/contsType/contsType-SQL.xml
@@ -32,11 +32,12 @@
         작성일 : 2025.05.19
         내 용 : 콘텐츠 영문명 중복 확인
     -->
-    <select id="findByCheckContsEngNm" parameterType="String" resultType="boolean">
+    <select id="findByCheckContsEngNm" parameterType="ContsTypeVO" resultType="boolean">
         SELECT COUNT(conts_eng_nm)
         FROM conts_type_mng
         WHERE LOWER(conts_eng_nm) = LOWER(#{contsEngNm})
           AND use_yn = 'Y'
+          AND conts_id != #{contsId}
     </select>
 
     <!--
@@ -44,11 +45,12 @@
         작성일 : 2025.05.19
         내 용 : 컴포넌트 URL 중복 확인
     -->
-    <select id="findByCheckCompnCrs" parameterType="String" resultType="boolean">
+    <select id="findByCheckCompnCrs" parameterType="ContsTypeVO" resultType="boolean">
         SELECT COUNT(compn_path)
         FROM conts_type_mng
         WHERE LOWER(compn_path) = LOWER(#{compnPath})
           AND use_yn = 'Y'
+          AND conts_id != #{contsId}
     </select>
 
     <!--
Add a comment
List