| | |
| | | package kr.wisestone.owl.service.impl; |
| | | |
| | | import com.google.common.collect.Lists; |
| | | import kr.wisestone.owl.constant.MsgConstants; |
| | | import kr.wisestone.owl.domain.*; |
| | | import kr.wisestone.owl.domain.enumType.CustomFieldType; |
| | | import kr.wisestone.owl.domain.enumType.IssueHistoryType; |
| | | import kr.wisestone.owl.exception.OwlRuntimeException; |
| | | import kr.wisestone.owl.mapper.IssueCustomFieldValueMapper; |
| | | import kr.wisestone.owl.repository.IssueCustomFieldValueRepository; |
| | | import kr.wisestone.owl.service.*; |
| | |
| | | } |
| | | |
| | | if (issueCustomFieldValues.size() > 0) { |
| | | this.issueCustomFieldValueRepository.saveAll(issueCustomFieldValues); |
| | | try { |
| | | this.issueCustomFieldValueRepository.saveAll(issueCustomFieldValues); |
| | | } catch (Exception ex) { |
| | | throw new OwlRuntimeException( |
| | | this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_NOT_EXIST)); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | switch (CustomFieldType.valueOf(issueCustomFieldValueCondition.getCustomFieldType())) { |
| | | case INPUT: |
| | | case NUMBER: |
| | | case DATETIME: |
| | | case IP_ADDRESS: |
| | | case EMAIL: |
| | | case SITE: |
| | | case TEL: |
| | | result = this.issueCustomFieldValueMapper.findLikeUseValue(issueCustomFieldValueCondition); |
| | | break; |
| | | case MULTI_SELECT: |
| | |
| | | return customFieldSearch; |
| | | } |
| | | |
| | | @Override |
| | | public Map<String, Object> find(IssueCustomFieldValueCondition issueCustomFieldValueCondition) { |
| | | if (issueCustomFieldValueCondition.getUseValues().size() > 0 || !StringUtils.isEmpty(issueCustomFieldValueCondition.getUseValue())) { |
| | | issueCustomFieldValueCondition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); |
| | | |
| | | // 사용자 정의 필드 값 검색 시작 |
| | | Map<String, Object> result = new HashMap<>(); |
| | | |
| | | switch (CustomFieldType.valueOf(issueCustomFieldValueCondition.getCustomFieldType())) { |
| | | case INPUT: |
| | | result = this.issueCustomFieldValueMapper.findLikeUseValue(issueCustomFieldValueCondition); |
| | | break; |
| | | case MULTI_SELECT: |
| | | case SINGLE_SELECT: |
| | | result = this.issueCustomFieldValueMapper.findByUseValue(issueCustomFieldValueCondition); |
| | | break; |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // 이슈에서 저장한 사용자 정의 필드 값을 조회한다. |
| | | @Override |
| | | @Transactional(readOnly = true) |