OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-12-20 0e9a2d3cdad67b0c16d18bf349c14528f617aef0
src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -53,9 +53,9 @@
                $scope.fn.issueBack = issueBack;
                //  이슈 목록 컨트롤러 vm, fn 상속 중
                $scope.vm.viewer = {};
                $scope.vm.viewer = {};      // 현재 이슈
                $scope.vm.images = [];  //  첨부된 파일 중 이미지 파일
                $scope.vm.activeTab = "ALL";    //  활동 내역 탭
                $scope.vm.activeTab = "RECODE";    //  활동 내역 탭
                //  이슈 상태 변경 표시 여부
                $scope.vm.editor = {
                    issueStatus : false
@@ -81,6 +81,7 @@
                $scope.vm.form = {
                    issues : [], //연관 일감
                    issuesDown : [],  // 하위 일감
                    issuesDownStatus : [], //하위 이슈 상태
                    issueCompanyVos : [],
                    issueIspVos : [],
                    issueHostingVos : []
@@ -235,7 +236,7 @@
                }
                function getDownIssueListCallBack(result) {
                    $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
                    $scope.vm.autoCompletePageDown.issue.totalPage = result.data.page.totalPage;
                }
                //  테이블의 연관 이슈 컬럼을 만들어준다.
@@ -243,7 +244,6 @@
                    //  연관 이슈 컬럼
                    switch(Rel_issueTableConfig.key) {
                        // 연관 이슈 구분
                        case "RELATION_ISSUE_TYPE" :
                            $scope.vm.relTableConfigs.push($tableProvider.config()
@@ -477,14 +477,16 @@
                        .setHWidth("width-60-p bold")
                        .setHSort(false)
                        .setDRenderer("ISSUE_DOWN_MOVE"))
                    $scope.vm.downTableConfigs.push($tableProvider.config()
                        .setHName("issue.relationIssueDelete")
                        .setDType("renderer")
                        .setDAlign("text-center")
                        .setHWidth("width-20-p bold")
                        .setDRenderer("ISSUE_DOWN_DELETE")
                        .setHSort(false)
                        .setDAlign("text-center"))
                    if($scope.vm.viewer.modifyPermissionCheck){
                        $scope.vm.downTableConfigs.push($tableProvider.config()
                            .setHName("issue.relationIssueDelete")
                            .setDType("renderer")
                            .setDAlign("text-center")
                            .setHWidth("width-20-p bold")
                            .setDRenderer("ISSUE_DOWN_DELETE")
                            .setHSort(false)
                            .setDAlign("text-center"))
                    }
                    angular.forEach($scope.vm.downTableConfigs, function (Down_issueTableConfig) {
                        //  표시 대상인 컬럼만 화면에 그려준다.
@@ -497,6 +499,10 @@
                // 연관 이슈 테이블 설정
                function setRelTableConfigs(issueTableConfigVo) {
                    if (issueTableConfigVo == null) {
                        makeRelTableConfigs();
                        return;
                    }
                    var issueTableConfigs = issueTableConfigVo.issueTableConfigs;
                    //  연관 슈 목록 테이블 설정 값을 가져와서 적용한다.
@@ -548,6 +554,7 @@
                // 하위 이슈 상세 조회 결과 설정
                function setDownTableConfigs(issueTableConfigVo) {
                    if (issueTableConfigVo == null) return;
                    var issueTableConfigs = issueTableConfigVo.issueTableConfigs;
                    //  연관 슈 목록 테이블 설정 값을 가져와서 적용한다.
@@ -640,15 +647,20 @@
                        }
                    });
                }
                // todo 모르겠다.....
                 // 이슈명을 클릭하면 이슈 상세 정보를 조회한다.
                 // $rootScope.$on("getIssueDetail", function (event, args) {
                 //     $scope.vm.viewer.id = args["id"];
                 //     $scope.fn.getIssueDetail();
                 // });
                //  이슈명을 클릭하면 이슈 상세 정보를 조회한다.
                // $scope.$on("getIssueDetail", function (event, args) {
                //     $scope.vm.viewer.id = args["id"];
                //     $scope.fn.getIssueDetail();
                // });
                
                // 이메일 보낸후 상세화면 갱신
                // todo 이거 뭐지...
                //  $rootScope.$on("getIssueDetail", function (event, args) {
                //      $scope.fn.getIssueDetail();
                //  });
@@ -656,12 +668,6 @@
                $scope.$on("getIssueDetail", function (event, args) {
                    $scope.fn.getIssueDetail();
                });
                //  이슈명을 클릭하면 이슈 상세 정보를 조회한다.
                // $scope.$on("getIssueDetail", function (event, args) {
                //     $scope.vm.viewer.id = args["id"];
                //     $scope.fn.getIssueDetail();
                // });
                $scope.$watch(function() {
                    return $rootScope.currentDetailIssueId;
@@ -671,8 +677,6 @@
                        $scope.fn.getIssueDetail();
                    }
                }, true);
                //  초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다.
                function initReload() {
@@ -696,7 +700,8 @@
                            parameter : function () {
                                return {
                                    issueIds : [$scope.vm.viewer.id],
                                    projectId : $scope.vm.viewer.projectVo.id
                                    projectId : $scope.vm.viewer.projectVo.id,
                                    downIssuesStatus : $scope.vm.form.issuesDownStatus
                                };
                            }
                        }
@@ -752,10 +757,11 @@
                        resolve : {
                            parameter : function () {
                                return {
                                    departmentVos : [$scope.vm.form.issues[0].departmentVos],
                                    id : [$scope.vm.form.issues[0].id],
                                    projectId : [$scope.vm.form.issues[0].projectVo.id],
                                    project : [$scope.vm.form.issues[0].projectVo]
                                    departmentVos : $scope.vm.form.issues[0].departmentVos,
                                    id : $scope.vm.form.issues[0].id,
                                    projectId : $scope.vm.form.issues[0].projectVo.id,
                                    project : $scope.vm.form.issues[0].projectVo,
                                    issueTypeId : $scope.vm.form.issues[0].issueTypeVo.id
                                };
                            }
                        }
@@ -876,6 +882,7 @@
                                $scope.vm.form.issues = [];
                                $scope.vm.form.issues.push(result.data.data);
                                $scope.vm.form.issuesDown = [];
                                $scope.vm.form.issuesDownStatus = [];// 하위이슈 상태
                                $scope.vm.form.issuesDown.push(result.data.data);
                                var issueTableConfigVos = result.data.data.issueTableConfigVos;
@@ -888,6 +895,9 @@
                                        issueRelationVo.relationIssueTypeName = $scope.vm.relationIssueTypes[issueRelationVo.relationIssueType].name;
                                        $scope.vm.form.issues.push(issueRelationVo.issueRelation);
                                    });
                                    result.data.data.issueRelationVos.sort(function (a, b) {   //최근변경일 내림차순
                                        return a.modifyDate > b.modifyDate ? -1 : a.modifyDate < b.modifyDate ? 1 : 0;
                                    });
                                }
                                // 하위 이슈 반목문
@@ -895,7 +905,10 @@
                                    angular.forEach(result.data.data.issueDownVos, function (issueDownVo){
                                        //$scope.vm.form.issuesDown.push(issueDownVo.issueDown);
                                        $scope.vm.form.issuesDown.push(issueDownVo);
                                        $scope.vm.form.issuesDownStatus.push(issueDownVo.issueStatusVo.issueStatusType);
                                    });
                                    result.data.data.issueDownVos.sort(function (a, b) {   //최근변경일 내림차순
                                        return a.modifyDate > b.modifyDate ? -1 : a.modifyDate < b.modifyDate ? 1 : 0;
                                    });
                                }
                                $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
@@ -904,6 +917,7 @@
                                if ($rootScope.workProject.id > -1 && result.data.data.projectVo !== null) {
                                    $rootScope.changeLastProject(result.data.data.projectVo.id);
                                }
                            }
                        }
                        else {
@@ -986,8 +1000,61 @@
                //  활동 이력 만들기
                function makeActiveHistory() {
                    $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                    $scope.vm.viewer.activeHistory.sort(function (a, b) {
                    $scope.vm.viewer.activeParentHistory = "";
                    $scope.vm.viewer.activeHistory = "";
                    if ($scope.vm.viewer.issueDownVos != null && $scope.vm.viewer.issueDownVos.length > 0) {
                        $scope.vm.viewer.activeDownHistory = ""; //하위이슈 히스토리만
                        $scope.vm.viewer.downComment = ""; //하위이슈 댓글만
                        $scope.vm.viewer.activeDownAllHistory = ""; //하위이슈 히스토리+댓글
                        var downTitle = "";
                        var oriDownHistory = [];
                        var oriDownCommentHistory = [];
                        // 하위이슈 히스토리
                        for (var i=0; i<$scope.vm.viewer.issueDownVos.length; i++){
                            oriDownHistory.push($scope.vm.viewer.issueDownVos[i].issueHistoryVos);
                            oriDownCommentHistory.push($scope.vm.viewer.issueDownVos[i].issueCommentVos);
                        }
                        for (var i=0; i<oriDownHistory.length; i++){
                            if ($scope.vm.viewer.activeDownHistory === "") {
                                $scope.vm.viewer.activeDownHistory = oriDownHistory[i];
                            } else {
                                $scope.vm.viewer.activeDownHistory = $scope.vm.viewer.activeDownHistory.concat(oriDownHistory[i]);
                            }
                        }
                        for (var i=0; i<$scope.vm.viewer.activeDownHistory.length; i++){
                            downTitle = "<div class='dot' style='margin-bottom: -8px'>*하위이슈 : "+$scope.vm.viewer.activeDownHistory[i].title+"</div>";
                            $scope.vm.viewer.activeDownHistory[i].desc = downTitle + $scope.vm.viewer.activeDownHistory[i].description;
                        }
                        $scope.vm.viewer.activeDownHistory.sort(function (a, b) {   //내림차순
                            return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                        });
                        // 하위이슈 댓글 히스토리
                       for (var i=0; i<oriDownCommentHistory.length; i++) {
                           if ($scope.vm.viewer.downComment === "") {
                               $scope.vm.viewer.downComment = oriDownCommentHistory[i];
                           } else {
                               $scope.vm.viewer.downComment = $scope.vm.viewer.downComment.concat(oriDownCommentHistory[i]);
                           }
                       }
                       $scope.vm.viewer.issueDownVos.sort(function (a, b) {   //내림차순
                           return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                       });
                       $scope.vm.viewer.activeDownAllHistory = $scope.vm.viewer.downComment.concat($scope.vm.viewer.activeDownHistory);
                       $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                       $scope.vm.viewer.activeHistory = $scope.vm.viewer.activeParentHistory.concat($scope.vm.viewer.activeDownAllHistory);
                    }else {
                        $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                        $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                    }
                    $scope.vm.viewer.activeParentHistory.sort(function (a, b) {   //내림차순
                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                    });
                    $scope.vm.viewer.activeHistory.sort(function (a, b) {   //내림차순
                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                    });
                }
@@ -1041,7 +1108,6 @@
                                        $timeout(function () {
                                            SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공
                                        }, 100);
                                        $scope.fn.getCommentList();
                                    }
                                    else {
@@ -1064,6 +1130,7 @@
                        if (result.data.message.status === "success") {
                            $scope.vm.viewer.issueCommentVos = result.data.data;
                            $scope.fn.updateActiveHistory();
                        }
                        else {
                            SweetAlert.swal({