From 1dad4d94cc415d2f8092aff0368744289337f504 Mon Sep 17 00:00:00 2001
From: 박지현 <jhpark@maprex.co.kr>
Date: 화, 22 2월 2022 14:29:43 +0900
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/kr/wisestone/owl/service/impl/IssueRelationServiceImpl.java |   45 +++++++++++++++++++++------------------------
 1 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueRelationServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueRelationServiceImpl.java
index 3782207..3dc754c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueRelationServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueRelationServiceImpl.java
@@ -55,29 +55,25 @@
             issueRelation.setRelationIssueType(condition.getRelationIssueType());
 
             issueRelationRepository.saveAndFlush(issueRelation);
+
+            StringBuilder sb = new StringBuilder();
+            issueHistoryService.detectRelationIssue(IssueHistoryType.ADD, issueRelation, sb);
+            issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
         }
     }
 
     // �뿰愿� �씪媛� 媛��졇�삤湲�
     @Override
     public List<IssueVo> findRelationIssue(Map<String, Object> resJsonData, IssueRelationCondition condition, Pageable pageable) {
-        List<IssueRelation> issueRelations = issueRelationRepository.findAllByIssueId(condition.getIssueId());
-        List<IssueVo> issueVos = new ArrayList<>();
+        List<IssueVo> issueVos = findRelationIssue(condition.getIssueId());
 
-        if (issueRelations != null) {
-            for (IssueRelation issueRelation : issueRelations) {
-                issueVos.add(ConvertUtil.copyProperties(issueRelation.getRelationIssue(), IssueVo.class));
-            }
-
-            int totalCount = issueVos.size();
-
-            resJsonData.put(Constants.RES_KEY_CONTENTS, issueVos);
-            resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
-                1, totalCount));
-        }
+        resJsonData.put(Constants.RES_KEY_CONTENTS, issueVos);
+        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
+            1, issueVos.size()));
 
         return  issueVos;
     }
+
 
     // �뿰愿� �씪媛� 媛��졇�삤湲�
     @Override
@@ -98,20 +94,21 @@
     @Override
     @Transactional
     public boolean removeRelationIssue(Map<String, Object> resJsonData, IssueRelationCondition condition) {
-        Long id = condition.getId();
-        if (id != null) {
-            IssueRelation issueRelation = findOne(id);
-            if (issueRelation != null) {
-                StringBuilder sb = new StringBuilder();
-                issueHistoryService.detectRelationIssue(IssueHistoryType.DELETE, issueRelation, sb);
-                issueHistoryService.addIssueHistory(issueRelation.getIssue(), IssueHistoryType.MODIFY, sb.toString());
+        //Long id = condition.getId();
+        List<Long> relRemoveIds = condition.getRemoveIds();
+        if (relRemoveIds != null && relRemoveIds.size() > 0) {
+            for (Long relId : relRemoveIds) {
+                IssueRelation issueRelation = findOne(relId);
+                if (issueRelation != null) {
+                    StringBuilder sb = new StringBuilder();
+                    issueHistoryService.detectRelationIssue(IssueHistoryType.DELETE, issueRelation, sb);
+                    issueHistoryService.addIssueHistory(issueRelation.getIssue(), IssueHistoryType.MODIFY, sb.toString());
 
-                this.issueRelationRepository.deleteById(id);
-
-                return true;
+                    this.issueRelationRepository.deleteById(relId);
+                }
             }
+            return true;
         }
-
         return false;
     }
 }

--
Gitblit v1.8.0