From 865e48b3de08f6d51b3e2fe3170585d535512961 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 10 1월 2022 14:10:04 +0900 Subject: [PATCH] 사용자 정의 필드(날짜) 기간 검색으로 변경 --- src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 45 insertions(+), 10 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java index 34e6886..d40b7b2 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCustomFieldValueServiceImpl.java @@ -1,9 +1,11 @@ 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.*; @@ -61,15 +63,17 @@ for (Map<String, Object> map : issueCustomFields) { Map<String, Object> result = new HashMap<>(); // customFieldVo �뿉�꽌 �궗�슜�옄 �젙�쓽 �븘�뱶�� �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� 媛��졇�삩�떎. - this.getCustomFieldAndIssueTypeCustomField(map, issue, result); - List<String> useValues = MapUtil.getStrings(map, "useValues"); + boolean useCustomField = this.getCustomFieldAndIssueTypeCustomField(map, issue, result); + if (useCustomField) { + List<String> useValues = MapUtil.getStrings(map, "useValues"); - if (useValues != null) { - for (String useValue : useValues) { - if (!StringUtils.isEmpty(useValue)) { - // Xss 怨듦꺽 諛⑹뼱瑜� �쐞�빐 script 怨듬갚�쑝濡� 移섑솚 - IssueCustomFieldValue issueCustomFieldValue = new IssueCustomFieldValue(issue, (CustomField)result.get("customField"), (IssueTypeCustomField)result.get("issueTypeCustomField"), useValue); - issueCustomFieldValues.add(issueCustomFieldValue); + if (useValues != null) { + for (String useValue : useValues) { + if (!StringUtils.isEmpty(useValue)) { + // Xss 怨듦꺽 諛⑹뼱瑜� �쐞�빐 script 怨듬갚�쑝濡� 移섑솚 + IssueCustomFieldValue issueCustomFieldValue = new IssueCustomFieldValue(issue, (CustomField) result.get("customField"), (IssueTypeCustomField) result.get("issueTypeCustomField"), useValue); + issueCustomFieldValues.add(issueCustomFieldValue); + } } } } @@ -82,13 +86,19 @@ // customFieldVo �뿉�꽌 �궗�슜�옄 �젙�쓽 �븘�뱶�� �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� 媛��졇�삩�떎. @Override - public void getCustomFieldAndIssueTypeCustomField(Map<String, Object> map, Issue issue, Map<String, Object> result) { + public boolean getCustomFieldAndIssueTypeCustomField(Map<String, Object> map, Issue issue, Map<String, Object> result) { Map<String, Object> customFieldMap = (Map<String, Object>) MapUtil.getObject(map, "customFieldVo"); CustomField customField = this.customFieldService.getCustomField(MapUtil.getLong(customFieldMap, "id")); IssueTypeCustomField issueTypeCustomField = this.issueTypeCustomFieldService.findByProjectIdAndIssueTypeIdAndCustomFieldId(issue.getProject().getId(), issue.getIssueType().getId(), customField.getId()); + if (issueTypeCustomField == null) { + // �꽕�젙�맂 �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�쓣�븣 + return false; + } result.put("customField", customField); result.put("issueTypeCustomField", issueTypeCustomField); + + return true; } // �씠�뒋�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 議고쉶�븳�떎. @@ -296,12 +306,14 @@ 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 DATETIME: + result = this.issueCustomFieldValueMapper.findDateTypeUseValue(issueCustomFieldValueCondition); break; case MULTI_SELECT: case SINGLE_SELECT: @@ -333,6 +345,29 @@ 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) -- Gitblit v1.8.0