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