From 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 17 3월 2022 17:47:45 +0900
Subject: [PATCH] - api로 이슈 추가 시 url/ip로 업체 찾는 코드 수정

---
 src/main/java/kr/wisestone/owl/service/impl/CustomFieldServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 12 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 391ffcf..b541628 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;
@@ -110,12 +114,12 @@
 
         CustomField customField;
         Long workspaceId = this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId();
-
+        String useFlag = "Y";
         if (id == null) {
-            customField = this.customFieldRepository.findByNameAndWorkspaceId(name, workspaceId);
+            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, workspaceId, useFlag);
         }
         else {
-            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNot(name, workspaceId, id);
+            customField = this.customFieldRepository.findByNameAndWorkspaceIdAndIdNotAndUseFlag(name, workspaceId, id, useFlag);
         }
 
         if (customField != null) {
@@ -126,8 +130,8 @@
 
     //  �샃�뀡 媛� �쑀�슚 泥댄겕
     private void verifyOptions(CustomFieldForm customFieldForm) {
-        //  �궗�슜�옄 �젙�쓽 �븘�뱶 �쑀�삎�씠 �뀓�뒪�듃 �씪�븣�뒗 �샃�뀡 媛믪씠 議댁옱�븯硫� �븞�맂�떎.
-        if (CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.INPUT)) {
+        //  �궗�슜�옄 �젙�쓽 �븘�뱶 �쑀�삎�씠 �뀓�뒪�듃 �씪�븣�뒗 �샃�뀡 媛믪씠 議댁옱�븯硫� �븞�맂�떎. => �떒�씪�꽑�깮 �삉�뒗 �떎以묒꽑�깮 �븘�뱶媛� �븘�땺 寃쎌슦 �샃�뀡 媛� 議댁옱 �븯硫� �븞�릺�뒗 寃껋쑝濡� 蹂�寃�
+        if (!CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.MULTI_SELECT) && !CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.SINGLE_SELECT)) {
             if (customFieldForm.getOptions().size() > 0) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_OPTIONS_NOT_USE_INPUT_FIELD));
@@ -163,7 +167,6 @@
                         }
                         //  湲곕낯 媛믪쑝濡� 吏��젙�븳 媛믪씠 �샃�뀡�뿉 �엳�뒗吏� �솗�씤�븳�떎.
                         this.verifyOptionsDefaultValue(customFieldForm);
-
                         break;
                     case MULTI_SELECT:
                         //  湲곕낯 媛믪쑝濡� 吏��젙�븳 媛믪씠 �샃�뀡�뿉 �엳�뒗吏� �솗�씤�븳�떎.
@@ -287,9 +290,9 @@
 
     //  �궗�슜�옄 �젙�쓽 �븘�뱶 �쑀�삎�씠 �떒�씪, �떎以� �꽑�깮�뿉�꽌 臾몄옄�뿴濡� 蹂�寃쎈맆 寃쎌슦 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 珥덇린�솕�븳�떎.
     private void checkChangeCustomFieldType(CustomFieldForm customFieldForm, CustomField customField) {
-        if (!customField.getCustomFieldType().equals(CustomFieldType.INPUT)) {
+        if (customField.getCustomFieldType().equals(CustomFieldType.MULTI_SELECT) || customField.getCustomFieldType().equals(CustomFieldType.SINGLE_SELECT)) {
             //  �떒�씪, �떎以� �꽑�깮�뿉�꽌 臾몄옄�뿴 �븘�뱶濡� 蹂�寃쎈맂 寃쎌슦
-            if (CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.INPUT)) {
+            if (!CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.MULTI_SELECT) && !CustomFieldType.valueOf(customFieldForm.getCustomFieldType()).equals(CustomFieldType.SINGLE_SELECT)) {
                 customField.getCustomFieldValues().clear();
             }
         }
@@ -302,7 +305,6 @@
             throw new OwlRuntimeException(
                     this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_NOT_EXIST));
         }
-
 
         CustomField customField = this.findOne(id);
 
@@ -320,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()) {
@@ -331,6 +341,7 @@
         }
 
 //        this.customFieldRepository.flush();
+        this.customFieldRepository.flush();
     }
 
     private void removeCustomFields(Long customFieldId) {
@@ -338,13 +349,15 @@
         customField.setUse(UseType.N.toString());
         this.customFieldRepository.saveAndFlush(customField);
 //        this.customFieldRepository.delete(customField);
+       this.customFieldRepository.delete(customField);
     }
 
     //  �씠�뒋 �뿊�� import �뿉�꽌 �궗�슜�븳�떎.
     @Override
     @Transactional(readOnly = true)
     public CustomField findByName(String name) {
-        return this.customFieldRepository.findByNameAndWorkspaceId(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
+        String useFlag = "Y";
+        return this.customFieldRepository.findByNameAndWorkspaceIdAndUseFlag(name, this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), useFlag);
     }
 
     //  �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
@@ -383,6 +396,24 @@
                     case "MULTI_SELECT" :
                         customFieldTypeName = this.messageAccessor.message("common.multipleSelectionField"); // �떎以� �꽑�깮 �븘�뱶
                         break;
+                    case "NUMBER" :
+                        customFieldTypeName = this.messageAccessor.message("common.numberField"); // �닽�옄 �븘�뱶
+                        break;
+                    case "DATETIME" :
+                        customFieldTypeName = this.messageAccessor.message("common.datetimeField"); // �궇吏� �븘�뱶
+                        break;
+                    case "IP_ADDRESS" :
+                        customFieldTypeName = this.messageAccessor.message("common.ipAddressField"); // IP 二쇱냼 �븘�뱶
+                        break;
+                    case "EMAIL" :
+                        customFieldTypeName = this.messageAccessor.message("common.emailField"); // �씠硫붿씪 �븘�뱶
+                        break;
+                    case "SITE" :
+                        customFieldTypeName = this.messageAccessor.message("common.siteField"); // �솃�럹�씠吏� 二쇱냼 �븘�뱶
+                        break;
+                    case "TEL" :
+                        customFieldTypeName = this.messageAccessor.message("common.telField"); // �쟾�솕踰덊샇 �븘�뱶
+                        break;
                 }
             }
 

--
Gitblit v1.8.0