OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-08 752e277acb5e46f7d1720b2296e118c123b750cc
연관이슈 삭제 시 발생하는 오류 해결
3개 파일 변경됨
30 ■■■■ 파일 변경됨
src/main/java/kr/wisestone/owl/repository/IssueRelationRepository.java 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java 15 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueAddRelation.controller.js 13 ●●●● 패치 | 보기 | raw | blame | 히스토리
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);
}
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);
        //  이슈 삭제
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); // "연관일감 생성 실패"