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/java/kr/wisestone/owl/web/condition/IssueCondition.java |   13 +++++++++++++
 src/main/webapp/views/issue/issueListNormal.html                 |    4 ++++
 src/main/resources/mybatis/query-template/issue-template.xml     |   20 ++++++++++++++++----
 src/main/webapp/scripts/app/issue/issueList.controller.js        |    8 +++++++-
 4 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
index 911ce7d..9ba5dfc 100644
--- a/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
+++ b/src/main/java/kr/wisestone/owl/web/condition/IssueCondition.java
@@ -52,6 +52,7 @@
     private List<Long> statusIds = Lists.newArrayList();
     private List<Long> excludeIds = Lists.newArrayList();
     private List<Long> myDepartmentIds; // �궡媛� �냽�빐�엳�뒗 遺��꽌 ID
+    private Boolean hideIssue;
 
     public IssueCondition(){}
     //  ���떆蹂대뱶 �쐞湲곌�由� �쐞�젽�뿉�꽌 �궗�슜
@@ -171,6 +172,10 @@
 
         if (MapUtil.getLong(conditions, "issueId") != null) {
             condition.setId(MapUtil.getLong(conditions, "issueId"));
+        }
+
+        if (MapUtil.getBoolean(conditions, "hideIssue")) {
+            condition.setHideIssue(MapUtil.getBoolean(conditions, "hideIssue"));
         }
 
         return condition;
@@ -483,4 +488,12 @@
     public void setMyDepartmentIds(List<Long> myDepartmentIds) {
         this.myDepartmentIds = myDepartmentIds;
     }
+
+    public Boolean getHideIssue() {
+        return hideIssue;
+    }
+
+    public void setHideIssue(Boolean hideIssue) {
+        this.hideIssue = hideIssue;
+    }
 }
diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml
index de85a12..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
@@ -192,7 +196,6 @@
             </when>
         </choose>
         AND issue.parent_issue_id IS NULL
-        AND issue_status.issue_status_type != 'CLOSE'
         AND issue.reverse_index <![CDATA[ < ]]> 0
         AND workspace.id = #{workspaceId}
         GROUP BY issue.id
@@ -301,6 +304,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="myDepartmentIds.size != 0">
                 AND isd.department_id IN
@@ -384,7 +391,6 @@
             </when>
         </choose>
         AND issue.parent_issue_id IS NULL
-        AND issue_status.issue_status_type != 'CLOSE'
         AND issue.reverse_index <![CDATA[ < ]]> 0
         AND workspace.id = #{workspaceId}
         GROUP BY issue.id
@@ -535,7 +541,6 @@
         LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id
         WHERE 1=1
         AND issue.parent_issue_id IS NULL
-        AND iss.issue_status_type != 'CLOSE'
         <if test="title != null and !title.equals('') ">
             AND issue.title like CONCAT('%',#{title},'%')
         </if>
@@ -570,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>
@@ -661,7 +670,6 @@
         LEFT OUTER JOIN issue_status iss ON iss.id = issue.issue_status_id
         WHERE 1=1
         AND issue.parent_issue_id IS NULL
-        AND iss.issue_status_type != 'CLOSE'
         <if test="title != null and !title.equals('') ">
             AND issue.title like CONCAT('%',#{title},'%')
         </if>
@@ -698,6 +706,10 @@
             ANd issue.complete_date <![CDATA[ <= ]]> #{endCompleteDate}
         </if>
 
+        <if test="hideIssue != null and hideIssue == true">
+            AND iss.issue_status_type != 'CLOSE'
+        </if>
+
         <choose>
             <when test="myDepartmentIds.size != 0">
                 AND isd.department_id IN
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index c596f5d..7cbdfe6 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -84,7 +84,8 @@
                     registers : [], //  �벑濡앹옄
                     customFields : [],  //  �궗�슜�옄 �젙�쓽 �븘�뱶
                     issueTableConfigs : [],  //  �씠�뒋 �뀒�씠釉� �꽕�젙
-                    parentIssueId : ""
+                    parentIssueId : "",
+                    hideIssue : false
                 };
 
                 //  �뀒�씠釉� �씠踰ㅽ듃
@@ -365,6 +366,7 @@
                         endStartDate : "",
                         beginCompleteDate : "",
                         endCompleteDate : "",
+                        hideIssue : $scope.vm.hideIssue,
                         projectIds : (function () {
                             var projectIds = [];
 
@@ -490,6 +492,10 @@
                     if (selectedPage < 0) {
                         selectedPage = 0;
                     }
+
+                    if ($scope.vm.hideIssue) {
+                        $scope.vm.hideIssue = true;
+                    }
                     //  �쁽�옱 �럹�씠吏� �젙蹂�
                     var currentPage = 0;
 
diff --git a/src/main/webapp/views/issue/issueListNormal.html b/src/main/webapp/views/issue/issueListNormal.html
index 7575114..8bf619b 100644
--- a/src/main/webapp/views/issue/issueListNormal.html
+++ b/src/main/webapp/views/issue/issueListNormal.html
@@ -334,6 +334,10 @@
                                     <!--span class="badge-tip" function-tool-tip  data-placement="top" data-toggle="tooltip" data-original-title="�뿊�� �떎�슫濡쒕뱶, �씪愿� 蹂�寃� �벑 �떎�뼇�븳 湲곕뒫�쓣 �젣怨듯빀�땲�떎.">?</span-->
                                     <input type="hidden" name="conditions">
                                     <div class="btn-group">
+                                        <input type="checkbox" ng-model="vm.hideIssue"> �셿猷� �씠�뒋 �닲湲곌린
+                                        <button type="button" ng-click="fn.getPageList(0)">�깉濡쒓퀬移�</button>
+                                    </div>
+                                    <div class="btn-group">
                                         <button aria-expanded="false" aria-haspopup="true"
                                                 tabindex="-1"
                                                 class="btn btn-secondary dropdown-toggle"

--
Gitblit v1.8.0