From d3d9848c0833a0835eb2fac8345c0e406e066535 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 금, 11 3월 2022 15:50:43 +0900
Subject: [PATCH] 이슈 상세페이지 - 하위이슈: 완료이슈 숨기기 기능 추가

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
index 6cd7ff7..bdbb163 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -1661,6 +1661,7 @@
         IssueVo issueVo = new IssueVo();
         Pageable relPageable = issueCondition.getRelPageable();
         Pageable downPageable = issueCondition.getDownPageable();
+        boolean hideCompleteIssue = issueCondition.getHideCompleteIssue();
 
         if (issueCondition.getId() != null) {
             Issue issue = this.getIssue(issueCondition.getId());
@@ -1692,11 +1693,11 @@
                     this.setAttachedFiles(issue, issueVo);  //  泥⑤� �뙆�씪 �젙蹂� �뀑�똿
                     this.setIssueCustomFields(issue, issueVo);  //  �궗�슜�옄 �젙�쓽 �븘�뱶 媛� �젙蹂� �뀑�똿
                     this.setRelationIssue(issue, issueVo);        //�뿰愿� �씪媛� �뀑�똿
-                    this.setDownIssues(issue, issueVo); //�븯�쐞 �씠�뒋 �꽭�똿
+                    this.setDownIssues(issue, issueVo, hideCompleteIssue); //�븯�쐞 �씠�뒋 �꽭�똿
                     break;
 
                 case "02": //  �봽濡쒖젥�듃, �씠�뒋 �쑀�삎, �씠�뒋 �긽�깭,  �슦�꽑�닚�쐞, 以묒슂�룄, �떞�떦�옄, 泥⑤��뙆�씪, �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂�, �뙎湲�, 湲곕줉�쓣 �뀑�똿�븳�떎.
-                    this.setIssueDetail(issueVo, issue, user);    //  �씠�뒋 �긽�꽭 �젙蹂대�� �뀑�똿�븳�떎.
+                    this.setIssueDetail(issueVo, issue, user, hideCompleteIssue);    //  �씠�뒋 �긽�꽭 �젙蹂대�� �뀑�똿�븳�떎.
                     this.setIssueTableConfigs(issue, issueVo, issueCondition);
                     issueVo.setProjectVo(ConvertUtil.copyProperties(issue.getProject(), ProjectVo.class));
                     break;
@@ -1731,6 +1732,10 @@
 
     // �븯�쐞 �씠�뒋 �젙蹂대�� �뀑�똿�븳�떎
     private void setDownIssues(Issue issue, IssueVo issueVo) {
+        setDownIssues(issue, issueVo, false);
+    }
+
+    private void setDownIssues(Issue issue, IssueVo issueVo, boolean hideCompleteIssue) {
         Page<Issue> downIssues = null;
 
         List<Issue> downIssueList = this.issueRepository.findByParentIssueId(issue.getId());
@@ -1740,7 +1745,13 @@
                 startPage = (int) Math.floor(issueVo.getDownPage()/issueVo.getDownPageSize());
             }
             Pageable pageable = PageRequest.of(startPage, issueVo.getDownPageSize());
-            downIssues = this.issueRepository.findByParentIssueId(issue.getId(), pageable);
+
+            if(hideCompleteIssue){
+                downIssues = this.issueRepository.findByParentIssueId(issue.getId(), IssueStatusType.CLOSE, pageable);
+            }else {
+                downIssues = this.issueRepository.findByParentIssueId(issue.getId(), pageable);
+            }
+
         }
         if(downIssues != null){
             issueVo.setDownTotalPage(downIssues.getTotalPages());
@@ -1778,6 +1789,12 @@
     @Override
     @Transactional(readOnly = true)
     public void setIssueDetail(IssueVo issueVo, Issue issue, User user) {
+        setIssueDetail(issueVo, issue, user, false);
+    }
+
+    @Override
+    @Transactional(readOnly = true)
+    public void setIssueDetail(IssueVo issueVo, Issue issue, User user, boolean hideCompleteIssue) {
         //  �씠�뒋 �닔�젙 沅뚰븳�쓣 媛뽮퀬 �엳�뒗吏� �솗�씤
         if (this.checkHasPermission(issueVo, issueVo.getUserVos(), user, issueVo.getDepartmentVos())) {
             issueVo.setModifyPermissionCheck(Boolean.TRUE);
@@ -1796,7 +1813,7 @@
         this.setAttachedFiles(issue, issueVo);  //  泥⑤� �뙆�씪 �젙蹂� �뀑�똿
         this.setIssueCustomFields(issue, issueVo);  //  �궗�슜�옄 �젙�쓽 �븘�뱶 媛� �젙蹂� �뀑�똿
         this.setRelationIssue(issue, issueVo);        //�뿰愿� �씪媛� �뀑�똿
-        this.setDownIssues(issue, issueVo); //�븯�쐞 �씪媛� �꽭�똿
+        this.setDownIssues(issue, issueVo, hideCompleteIssue); //�븯�쐞 �씪媛� �꽭�똿
         this.setIssueComments(issue, issueVo);  //  �뙎湲� �젙蹂� �뀑�똿
         this.setIssueHistory(issue, issueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
 

--
Gitblit v1.8.0