From 752e277acb5e46f7d1720b2296e118c123b750cc Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 08 12월 2021 13:44:08 +0900
Subject: [PATCH] 연관이슈 삭제 시 발생하는 오류 해결

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java      |   15 +++++++++++++++
 src/main/webapp/scripts/app/issue/issueAddRelation.controller.js       |   13 ++++++-------
 src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java |    2 ++
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java
index 6b14f74..5841d1b 100644
--- a/src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java
@@ -7,4 +7,6 @@
 
 public interface IssueRelationRepository extends JpaRepository<IssueRelation, Long> {
     List<IssueRelation> findAllByIssueId(Long issueId);
+
+    List<IssueRelation> findByRelationIssueId(Long relationIssueId);
 }
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 416ded3..cc34278 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -17,6 +17,7 @@
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.IssueMapper;
 import kr.wisestone.owl.mapper.ProjectMapper;
+import kr.wisestone.owl.repository.IssueRelationRepository;
 import kr.wisestone.owl.repository.IssueRepository;
 import kr.wisestone.owl.repository.UserDepartmentRepository;
 import kr.wisestone.owl.repository.WorkflowDepartmentRepository;
@@ -153,6 +154,9 @@
 
     @Autowired
     private IssueRelationService issueRelationService;
+
+    @Autowired
+    private IssueRelationRepository issueRelationRepository;
 
     @Autowired
     private ExcelView excelView;
@@ -2074,6 +2078,17 @@
             this.attachedFileService.removeAttachedFiles(attachedFileIds);
         }
 
+        // 吏��슱 �씠�뒋媛� �뿰愿��씠�뒋�씤吏� 泥댄겕 �썑 �뿰愿��씠�뒋 �뀒�씠釉붿뿉�꽌�룄 �궘�젣�븳�떎.
+        List<IssueRelation> issueRelationList = this.issueRelationRepository.findByRelationIssueId(issueId);
+        if (issueRelationList != null && issueRelationList.size() > 0) {
+            for(IssueRelation issueRelation : issueRelationList){
+                StringBuilder sb = new StringBuilder();
+                issueHistoryService.detectRelationIssue(IssueHistoryType.DELETE, issueRelation, sb);
+                issueHistoryService.addIssueHistory(issueRelation.getIssue(), IssueHistoryType.MODIFY, sb.toString());
+                this.issueRelationRepository.delete(issueRelation);
+            }
+        }
+
         //  �씠�뒋 �깮�꽦, �궘�젣�떆 �삁�빟 �씠硫붿씪�뿉 �벑濡앺빐�넃�뒗�떎.
         this.reservationIssueEmail(issue, EmailType.ISSUE_REMOVE);
         //  �씠�뒋 �궘�젣
diff --git a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
index d2e4567..e8a2959 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -640,10 +640,10 @@
                             $scope.fn.cancel();
 
                             //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
-                            // $rootScope.$broadcast("getIssueDetail", {
-                            //     id : parameter.id
-                            // });
-                            $scope.fn.getIssueDetail($rootScope.currentDetailIssueId);
+                            $rootScope.$broadcast("getIssueDetail", {
+                                id : parameter.id
+                            });
+
                             $rootScope.$broadcast("getIssueList");
                         }
                         else {
@@ -665,7 +665,7 @@
                     var contents = {
                         //relationIssueType : $scope.vm.form.relationIssueTypeId,
                         relationIssueType : $scope.vm.relationIssueType.id,
-                        //issueId : $rootScope.currentDetailIssueId,
+                        // issueId : $rootScope.currentDetailIssueId,
                         issueId :  parameter.id,
                         relationIssueId : relId,
                         priorityName : $scope.vm.priorityName
@@ -676,8 +676,7 @@
                         $resourceProvider.getPageContent(0, 10))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            // $scope.fn.getIssueDetail();
-                            $scope.fn.getIssueDetail($rootScope.currentDetailIssueId);
+                            $scope.fn.getIssueDetail();
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "�뿰愿��씪媛� �깮�꽦 �떎�뙣"

--
Gitblit v1.8.0