OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-21 13df3419f367b1448a844120840459a17df02f3a
src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -24,6 +24,7 @@
                    add : add,   //  이슈 생성
                    modify : modify,    //  이슈 수정
                    addRelationIssueForm : addRelationIssueForm,    //  연관 이슈 추가
                    addDownIssueForm : addDownIssueForm,    //  하위 이슈 추가
                    modifyMultiIssueStatus : modifyMultiIssueStatus,    //  이슈 다중 상태 변경
                    removes : removes,  //  이슈 삭제
                    addIssueTableConfig : addIssueTableConfig,    //  이슈 목록 테이블 설정
@@ -47,6 +48,7 @@
                //  변수
                $scope.vm = {
                    projectId : "",
                    issueTypeId : "",
                    partnerVos : "",
                    search : {
@@ -90,7 +92,8 @@
                    issueTableConfigs : [],  //  이슈 테이블 설정
                    issueTreeConfigs : [],  //  이슈 테이블 설정
                    parentIssueId : "",
                    hideIssue : false,
                    hideCompleteIssue : false,
                    hideDownIssue : true,
                    listMode : 0, // 목록 모드 0:기본 리스트 1:트리구조 리스트
                };
@@ -101,10 +104,20 @@
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                // 이슈목록 새로고침 목록 갱신
                $scope.$on("findIssueListOK", function (event, args) {
                    if (args != null) {
                        $scope.fn.startExecute();
                    }
                });
                //  이슈 목록 데이터 갱신
                $scope.$on("getIssueList", function () {
                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                });
                // 이슈 목록 새로고침
                $rootScope.$on("getIssueList", function (event, args) {})
                //  이슈 테이블 설정 정보 갱신
                $scope.$on("getIssueTableConfigs", function () {
@@ -119,7 +132,6 @@
                $scope.$on("searchIssueList", function (event, args) {
                    $scope.vm.search.keyWord = args.keyWord;
                    $scope.fn.getPageList(0);
                    $rootScope.isMainSearch = false;
                });
                //  검색 조건을 기억한다. - 적용 보류
@@ -320,6 +332,7 @@
                        case "ISSUE_TITLE" :   //  이슈 제목
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("issue.issueTitle")
                                .setDName("issueTitle")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -329,7 +342,7 @@
                        case "PRIORITY" :   //  우선순위
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.priority")
                                .setDName("priorityName")
                                .setDName("priority")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -338,22 +351,25 @@
                        case "SEVERITY" :   //  중요도
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.importance")
                                .setDName("severityName")
                                .setDName("severity")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("COMMON_SEVERITY"));
                            break;
                        case "ISSUE_TYPE" : //  이슈 타입
                        case "ISSUE_TYPE" : //  이슈 유형
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("issue.issueType")
                                .setDName("issueType")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDName("issueTypeName"));
                                .setDRenderer("COMMON_ISSUE_TYPE"));
                            break;
                        case "ASSIGNEE_TEAM" :   //  담당부서
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.assigneeTeam")
                                .setDName("assigneeTeam")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -362,6 +378,7 @@
                        case "REGISTER" :   //  등록자
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.register")
                                .setDName("register")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -370,6 +387,7 @@
                        case "PERIOD" : //  기간
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.period")
                                .setDName("period")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -385,6 +403,7 @@
                        case "COUNT_DOWN_ISSUE" : //  하위 이슈 개수
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.countDownIssue")
                                .setDName("countDownIssue")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
@@ -402,6 +421,7 @@
                                $scope.vm.tableConfigs.push($tableProvider.config()
                                    .setHName(customField.name)
                                    .setDType("renderer")
                                    .setDName("customFieldName" + [count])
                                    .setHWidth("bold " + issueTableConfig.width)
                                    .setDAlign("text-center")
                                    .setColumnHint(customField)
@@ -441,7 +461,8 @@
                        endStartDate : "",
                        beginCompleteDate : "",
                        endCompleteDate : "",
                        hideIssue : $scope.vm.hideIssue,
                        hideCompleteIssue: $scope.vm.hideCompleteIssue,
                        hideDownIssue : $scope.vm.hideDownIssue,
                        isTree : $scope.vm.listMode === 1,
                        projectIds : (function () {
                            var projectIds = [];
@@ -574,8 +595,12 @@
                        selectedPage = 0;
                    }
                    if ($scope.vm.hideIssue) {
                        $scope.vm.hideIssue = true;
                    if ($scope.vm.hideCompleteIssue) {
                        $scope.vm.hideCompleteIssue = true;
                    }
                    if ($scope.vm.hideDownIssue) {
                        $scope.vm.hideDownIssue = true;
                    }
                    //  현재 페이지 정보
                    var currentPage = 0;
@@ -588,15 +613,13 @@
                        currentPage = selectedPage;
                    }
                    // 검색 기본값 세팅
                    $scope.vm.search.issueTypeIds = [];
                    $scope.vm.projects = [];
                    if (!$rootScope.isMainSearch) {
                        // 메뉴에서 선택된 이슈 유형을 기본으로 추가
                        if ($rootScope.issueTypeMenu != null) {
                            // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
                            //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
                            $scope.vm.search.issueTypeIds.push({
                                fieldKey: $rootScope.issueTypeMenu.id,
@@ -624,12 +647,16 @@
                        if (result.data.message.status === "success") {
                            if (result.data.data !=  null && result.data.data.length > 0) {
                                //var resultSize = result.data.data.length;
                                for (var i = 0; i < result.data.data.length; i++) {
                                    if (result.data.data[i].parentIssueId != null) {
                                    /*if (result.data.data[i].parentIssueId != null) {//하위이슈는 리스트에서 삭제
                                        result.data.data.splice(i, 1);
                                    }else if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0
                                            && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) {
                                        i--;
                                    }else*/
                                    if ($scope.vm.search.issueTypeIds !== null && $scope.vm.search.issueTypeIds.length > 0
                                                && result.data.data[i].issueTypeId !== $scope.vm.search.issueTypeIds[0].fieldKey) { //이슈타입 체크
                                        result.data.data.splice(i, 1);
                                        i--;
                                    }
                                }
                            }
@@ -733,6 +760,7 @@
                    angular.forEach($scope.vm.responseData.data, function (data) {
                        if (data.checked) {
                            issueIds.push(data.id);
                            $scope.vm.projectId = data.projectId;
                        }
                    });
@@ -749,7 +777,8 @@
                        resolve : {
                            parameter : function () {
                                return {
                                    issueIds : issueIds
                                    issueIds : issueIds,
                                    projectId : $scope.vm.projectId
                                };
                            }
                        }
@@ -778,6 +807,22 @@
                        templateUrl : 'views/issue/issueAddRelation.html',
                        size : "lg",
                        controller : 'issueAddRelationController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
                                return {
                                    id : id,
                                };
                            }
                        }
                    });
                }
                function addDownIssueForm(id) {
                    $uibModal.open({
                        templateUrl : 'views/issue/issueAddDown.html',
                        size : "lg",
                        controller : 'issueAddDownController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
@@ -1248,6 +1293,12 @@
                    });
                }
                // this.router.navigate(['path/to'])
                //     .then(() => {
                //         window.location.reload();
                //     });
                $scope.fn.startExecute();
            }