From fd8fdf9441329845ff78d3ae4274f107e3e6ba4d Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 29 11월 2021 17:59:00 +0900
Subject: [PATCH] 이슈 목록 - '이슈 제목' 검색 조건 추가

---
 src/main/resources/mybatis/query-template/issue-template.xml |   35 ++++++++++++++++++++---------------
 1 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml
index 7f2c8b5..c11a20c 100644
--- a/src/main/resources/mybatis/query-template/issue-template.xml
+++ b/src/main/resources/mybatis/query-template/issue-template.xml
@@ -31,7 +31,7 @@
         severity.id as severityId,
         severity.name as severityName,
         severity.color as severityColor,
-        issue_custom.use_value AS useValue,
+        GROUP_CONCAT(issue_custom.use_value) AS useValue,
         IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount,
         IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount
         FROM issue issue FORCE INDEX(reverseIndex)
@@ -50,21 +50,25 @@
         temp_issue_comment on (temp_issue_comment.issue_id = issue.id)
         LEFT OUTER JOIN user user ON issue_user.user_id = user.id
         WHERE 1=1
-        <if test="title != null and !title.equals('') ">
+        <if test="keyWord != null and !keyWord.equals('') ">
+            AND issue.title like CONCAT('%',#{keyWord},'%')
+            OR issue.description like CONCAT('%',#{keyWord},'%')
+            OR issue.start_date like CONCAT('%',#{keyWord},'%')
+            OR issue.complete_date like CONCAT('%',#{keyWord},'%')
+            OR issue.issue_number like CONCAT('%',#{keyWord},'%')
+            OR issue.register_date like CONCAT('%',#{keyWord},'%')
+            OR project.name like CONCAT('%',#{keyWord},'%')
+            OR project.project_key like CONCAT('%',#{keyWord},'%')
+            OR issue_type.name like CONCAT('%',#{keyWord},'%')
+            OR issue_status.issue_status_type like CONCAT('%',#{keyWord},'%')
+            OR issue_status.name like CONCAT('%',#{keyWord},'%')
+            OR priority.name like CONCAT('%',#{keyWord},'%')
+            OR severity.name like CONCAT('%',#{keyWord},'%')
+            OR issue_custom.use_value like CONCAT('%',#{keyWord},'%')
+        </if>
+
+        <if test="title != null and !title.equals('')">
             AND issue.title like CONCAT('%',#{title},'%')
-            OR issue.description like CONCAT('%',#{title},'%')
-            OR issue.start_date like CONCAT('%',#{title},'%')
-            OR issue.complete_date like CONCAT('%',#{title},'%')
-            OR issue.issue_number like CONCAT('%',#{title},'%')
-            OR issue.register_date like CONCAT('%',#{title},'%')
-            OR project.name like CONCAT('%',#{title},'%')
-            OR project.project_key like CONCAT('%',#{title},'%')
-            OR issue_type.name like CONCAT('%',#{title},'%')
-            OR issue_status.issue_status_type like CONCAT('%',#{title},'%')
-            OR issue_status.name like CONCAT('%',#{title},'%')
-            OR priority.name like CONCAT('%',#{title},'%')
-            OR severity.name like CONCAT('%',#{title},'%')
-            OR issue_custom.use_value like CONCAT('%',#{title},'%')
         </if>
 
         <if test="description != null and !description.equals('')">
@@ -189,6 +193,7 @@
         </choose>
         AND issue.reverse_index <![CDATA[ < ]]> 0
         AND workspace.id = #{workspaceId}
+        GROUP BY issue.id
         ORDER BY issue.register_date DESC
         <if test="page != null and !page.equals('')">
             limit #{pageSize} offset #{page};

--
Gitblit v1.8.0