From 5fec5801b937a2270920787891e39a8504cdf53f Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 금, 03 12월 2021 15:00:44 +0900
Subject: [PATCH] 사용자 정의 필드 사용중일때 삭제 불가하게 수정

---
 src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
index 8bafa4e..31af4eb 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java
@@ -11,6 +11,7 @@
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.CustomFieldMapper;
 import kr.wisestone.owl.repository.CustomFieldRepository;
+import kr.wisestone.owl.repository.IssueTypeCustomFieldRepository;
 import kr.wisestone.owl.service.*;
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.MapUtil;
@@ -45,6 +46,9 @@
 
     @Autowired
     private CustomFieldRepository customFieldRepository;
+
+    @Autowired
+    private IssueTypeCustomFieldRepository issueTypeCustomFieldRepository;
 
     @Autowired
     private CustomFieldMapper customFieldMapper;
@@ -318,10 +322,18 @@
     public void removeCustomFields(CustomFieldForm customFieldForm) {
         //  �궗�슜�븯怨� �엳�뒗 �뾽臾� 怨듦컙�씠 �솢�꽦 �긽�깭�씤吏� �솗�씤�븳�떎. �궗�슜 怨듦컙�뿉�꽌 濡쒓렇�씤�븳 �궗�슜�옄媛� 鍮꾪솢�꽦�씤吏� �솗�씤�븳�떎.
         this.workspaceService.checkUseWorkspace();
-
-        if (customFieldForm.getRemoveIds().size() < 1) {
+        List<Long> removeIds = customFieldForm.getRemoveIds();
+        if (removeIds.size() < 1) {
             throw new OwlRuntimeException(
                     this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_REMOVE_NOT_SELECT));
+        }else {
+            for (Long id : removeIds) {
+                Long count = this.issueTypeCustomFieldRepository.countByCustomFieldId(id);
+                if (count > 0){
+                    throw new OwlRuntimeException(
+                            this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_USED_DATA_REMOVE));
+                }
+            }
         }
 
         for (Long projectId : customFieldForm.getRemoveIds()) {
@@ -329,6 +341,7 @@
         }
 
 //        this.customFieldRepository.flush();
+        this.customFieldRepository.flush();
     }
 
     private void removeCustomFields(Long customFieldId) {
@@ -336,6 +349,7 @@
         customField.setUse(UseType.N.toString());
         this.customFieldRepository.saveAndFlush(customField);
 //        this.customFieldRepository.delete(customField);
+       this.customFieldRepository.delete(customField);
     }
 
     //  �씠�뒋 �뿊�� import �뿉�꽌 �궗�슜�븳�떎.

--
Gitblit v1.8.0