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/web/condition/IssueCustomFieldValueCondition.java |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 79 insertions(+), 4 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCustomFieldValueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCustomFieldValueCondition.java
index 61d82dd..15d419f 100644
--- a/src/main/java/kr/wisestone/owl/web/condition/IssueCustomFieldValueCondition.java
+++ b/src/main/java/kr/wisestone/owl/web/condition/IssueCustomFieldValueCondition.java
@@ -6,18 +6,35 @@
 import kr.wisestone.owl.util.MapUtil;
 import org.apache.commons.lang3.StringUtils;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
 /**
+ * �씠�뒋 �궗�슜�옄 �젙�쓽 �븘�뱶 媛� 寃��깋 議곌굔 �겢�옒�뒪
  * Created by wisestone on 2018-06-07.
  */
 public class IssueCustomFieldValueCondition {
+    private Long issueTypeId;
     private Long workspaceId;
     private Long customFieldId;
     private String customFieldType;
-    private List<String> useValues = Lists.newArrayList();  //  �떒�씪, �떎以� �씪�븣 寃��깋 媛�
-    private String useValue;    //  �뀓�뒪�듃 �븘�뱶�씪 �븣 寃��깋 媛�
+    /**
+     * �궗�슜�옄 �젙�쓽 �븘�뱶 �궗�슜 媛�
+     */
+    private List<String> useValues = Lists.newArrayList();
+    /**
+     * �뀓�뒪�듃 �븘�뱶�씪 �븣 寃��깋 媛�
+     */
+    private String useValue;
+    private String useStartDateValue;
+    private String useEndDateValue;
+
+    private boolean useParentIssueId = true;
+    /**
+     * �씠�뒋 �긽�깭 �쑀�삎(READY / OPEN / CLOSE)
+     */
+    private String issueStatusType;
 
     public IssueCustomFieldValueCondition(){}
 
@@ -28,6 +45,11 @@
 
         switch(customFieldType) {
             case INPUT:
+            case NUMBER:
+            case IP_ADDRESS:
+            case EMAIL:
+            case SITE:
+            case TEL:
                 if (MapUtil.getStrings(conditions, "useValues") != null) {
                     //  怨듬갚�씠 �븘�땶 臾몄옄媛� �뱾�뼱�엳�쓣 �븣留� useValues 媛� �쑝濡� �뀑�똿�븳�떎.
                     for (String useValue : MapUtil.getStrings(conditions, "useValues")) {
@@ -38,13 +60,25 @@
                     }
                 }
                 break;
+            case DATETIME:
+                if (MapUtil.getStrings(conditions, "useValues") != null) {
+                    for (String useValue : MapUtil.getStrings(conditions, "useValues")) {
+                        if (!StringUtils.isEmpty(useValue)) {
+                            condition.setUseValue(useValue);
+                            List<String> customDateRange = Arrays.asList(useValue.split("~"));
+                            condition.setUseStartDateValue(customDateRange.get(0));
+                            condition.setUseEndDateValue(customDateRange.get(1));
+                        }
+                    }
+                }
+                break;
             case SINGLE_SELECT:
             case MULTI_SELECT:
                 if (MapUtil.getStrings(conditions, "useValues") != null) {
                     //  怨듬갚�씠 �븘�땶 臾몄옄媛� �뱾�뼱�엳�쓣 �븣留� useValues 媛� �쑝濡� �뀑�똿�븳�떎.
                     for (String useValue : MapUtil.getStrings(conditions, "useValues")) {
                         if (!StringUtils.isEmpty(useValue)) {
-                            condition.addUseValues(useValue);
+                            condition.addUseValue(useValue);
                         }
                     }
                 }
@@ -52,6 +86,22 @@
         }
 
         return condition;
+    }
+
+    public String getIssueStatusType() {
+        return issueStatusType;
+    }
+
+    public void setIssueStatusType(String issueStatusType) {
+        this.issueStatusType = issueStatusType;
+    }
+
+    public Long getIssueTypeId() {
+        return issueTypeId;
+    }
+
+    public void setIssueTypeId(Long issueTypeId) {
+        this.issueTypeId = issueTypeId;
     }
 
     public Long getWorkspaceId() {
@@ -78,7 +128,7 @@
         this.useValues = useValues;
     }
 
-    public void addUseValues(String useValue) {
+    public void addUseValue(String useValue) {
         this.useValues.add(useValue);
     }
 
@@ -90,6 +140,22 @@
         this.useValue = useValue;
     }
 
+    public String getUseStartDateValue() {
+        return useStartDateValue;
+    }
+
+    public void setUseStartDateValue(String useStartDateValue) {
+        this.useStartDateValue = useStartDateValue;
+    }
+
+    public String getUseEndDateValue() {
+        return useEndDateValue;
+    }
+
+    public void setUseEndDateValue(String useEndDateValue) {
+        this.useEndDateValue = useEndDateValue;
+    }
+
     public String getCustomFieldType() {
         return customFieldType;
     }
@@ -97,4 +163,13 @@
     public void setCustomFieldType(String customFieldType) {
         this.customFieldType = customFieldType;
     }
+
+    public boolean isUseParentIssueId() {
+        return useParentIssueId;
+    }
+
+    public void setUseParentIssueId(boolean useParentIssueId) {
+        this.useParentIssueId = useParentIssueId;
+    }
+
 }

--
Gitblit v1.8.0