From 3325ed4b23ccf5cdd1a78507ff4a64ccd1ec59e6 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 09 12월 2021 15:30:35 +0900
Subject: [PATCH] 완료이슈 숨기기 기능

---
 src/main/resources/mybatis/query-template/issue-template.xml |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml
index bbf5ef7..5479d53 100644
--- a/src/main/resources/mybatis/query-template/issue-template.xml
+++ b/src/main/resources/mybatis/query-template/issue-template.xml
@@ -103,6 +103,10 @@
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
         </if>
 
+        <if test="hideIssue != null and hideIssue == true">
+            AND issue_status.issue_status_type != 'CLOSE'
+        </if>
+
         <choose>
             <when test="projectIds.size != 0">
                 AND project.id IN
@@ -240,7 +244,7 @@
         INNER JOIN priority priority FORCE INDEX(PRIMARY) ON issue.priority_id = priority.id
         INNER JOIN severity severity FORCE INDEX(PRIMARY) ON issue.severity_id = severity.id
         INNER JOIN issue_department isd ON isd.issue_id = issue.id
-        INNER JOIN department d ON d.id = isd.department_id
+        INNER JOIN user_department ud ON ud.department_id = isd.department_id
         LEFT OUTER JOIN issue_custom_field_value issue_custom FORCE INDEX(issueIdIndex) ON issue.id = issue_custom.issue_id
         LEFT OUTER JOIN (SELECT issue_id, COUNT(id) as attachedFileCount FROM attached_file GROUP BY issue_id)
         temp_attached_file on (temp_attached_file.issue_id = issue.id)
@@ -298,6 +302,10 @@
 
         <if test="endCompleteDate != null and !endCompleteDate.equals('')">
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
+        </if>
+
+        <if test="hideIssue != null and hideIssue == true">
+            AND issue_status.issue_status_type != 'CLOSE'
         </if>
 
         <choose>
@@ -530,6 +538,7 @@
         COUNT(DISTINCT issue.id)
         FROM issue issue
         LEFT OUTER JOIN issue_department isd ON issue.id = isd.issue_id
+        LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id
         WHERE 1=1
         AND issue.parent_issue_id IS NULL
         <if test="title != null and !title.equals('') ">
@@ -566,6 +575,10 @@
 
         <if test="endCompleteDate != null and !endCompleteDate.equals('')">
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
+        </if>
+
+        <if test="hideIssue != null and hideIssue == true">
+            AND iss.issue_status_type != 'CLOSE'
         </if>
 
         <choose>
@@ -654,6 +667,7 @@
         COUNT(DISTINCT issue.id)
         FROM issue issue
         LEFT OUTER JOIN issue_department isd ON issue.id = isd.issue_id
+        LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id
         WHERE 1=1
         AND issue.parent_issue_id IS NULL
         <if test="title != null and !title.equals('') ">
@@ -690,6 +704,10 @@
 
         <if test="endCompleteDate != null and !endCompleteDate.equals('')">
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
+        </if>
+
+        <if test="hideIssue != null and hideIssue == true">
+            AND iss.issue_status_type != 'CLOSE'
         </if>
 
         <choose>
@@ -959,12 +977,29 @@
     <!--    �듅�젙 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪씠 媛숈� �씠�뒋瑜� 議고쉶 -->
     <select id="findByCustomFieldValue" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.IssueCustomFieldValueCondition">
         SELECT
-        issue_custom.issue_id as id
+        issue_custom.issue_id as id,
+        iss.parent_issue_id as parentIssueId
         FROM issue_custom_field_value issue_custom
         INNER JOIN issue iss ON iss.id = issue_custom.issue_id
         WHERE 1=1
-        AND iss.parent_issue_id IS NULL
         AND issue_custom.use_value = #{useValue}
+        <choose>
+          <when test="useParentIssueId.equals(true)">
+              AND iss.parent_issue_id IS NULL
+          </when>
+          <otherwise>
+              AND iss.parent_issue_id IS NOT NULL
+          </otherwise>
+        </choose>
     </select>
 
+    <!--  醫낅즺 �븞�맂 �븯�쐞 �씠�뒋 媛��졇�삤湲� -->
+    <select id="findNotCompleteByParentIssueId" resultType="java.util.HashMap" parameterType="java.lang.Long">
+        SELECT
+        iss.id as id
+        FROM issue iss
+        INNER JOIN issue_status issueStatus on iss.issue_status_id = issueStatus.id
+        WHERE iss.parent_issue_id = #{parentIssueId}
+        AND issueStatus.issue_status_type != 'CLOSE'
+    </select>
 </mapper>

--
Gitblit v1.8.0