OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-12-28 0f59a76b263ba6cd79380a729f38bfca92a907dd
src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -66,15 +66,13 @@
                        issueStatusIds : [],    //  이슈 상태 검색
                        issueTypeIds : []   //  이슈 유형 검색
                    },
                    searchAll : {
                        keyWord : "", //  전체 검색
                    },
                    searchView : false, //  상세 검색 조건 표시 여부
                    detailView : false, //  상세 모드 변경 값
                    page : {
                        selectedPage : 0,
                        selectedPageRowCount : String(10)
                    },
                    tableConfigs : [],  //  테이블 셋팅 정보
                    treeConfigs : [], // 트리 셋팅 정보
                    responseData : {
@@ -129,13 +127,9 @@
                });
                $scope.$on("changedIssueListMenu", function (event, args) {
                    $scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                });
                // 상단 검색시
                $rootScope.$on("searchIssueList", function (event, args) {
                    $scope.vm.searchAll.keyWord = args.keyWord;
                    $scope.fn.getPageList(0);
                    $scope.vm.search.keyWord = "";
                    $rootScope.isMainSearch = false;
                    //$scope.fn.getPageList($scope.vm.page.selectedPage - 1);
                });
                //  검색 조건을 기억한다. - 적용 보류
@@ -165,7 +159,7 @@
                }
                //  서버에 저장한 이슈 검색 조건을 가져온다.
                function getVmSearchObject() {
                function getVmSearchObject(keyWord = null) {
                    IssueSearch.detail($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 0))).then(function (result) {
@@ -179,9 +173,9 @@
                                // $scope.vm.projects = issueListSearchObject.projects;
                                // $scope.vm.registers = issueListSearchObject.registers;
                                $scope.fn.getPageList(0, true);
                                $scope.fn.getPageList(0, true, keyWord);
                            } else {
                                $scope.fn.getPageList(0);
                                $scope.fn.getPageList(0, false, keyWord);
                            }
                        }
                        else {
@@ -411,7 +405,35 @@
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setColumnTooltip("미완료 하위이슈/전체 하위이슈")
                                .setDRenderer("DOWN_ISSUE_COUNT"));
                            break;
                        case "COMPANY" :   //  업체
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.company")
                                .setDName("companyName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_COMPANY"));
                            break;
                        case "ISP" :   //  ISP
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.isp")
                                .setDName("ispName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_ISP"));
                            break;
                        case "HOSTING" :   //  HOSTING
                            $scope.vm.tableConfigs.push($tableProvider.config()
                                .setHName("common.hosting")
                                .setDName("hostingName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_HOSTING"));
                            break;
                    }
@@ -587,6 +609,7 @@
                    }
                    return conditions;
                }
                function getTreeList() {
@@ -594,14 +617,17 @@
                }
                //  이슈 목록을 조회한다.
                function getPageList(selectedPage, detail = false, keyWord = "") {
                function getPageList(selectedPage, detail = false, keyWord = null) {
                    $rootScope.spinner = true;  //  프로그래스 바
                    if (selectedPage < 0) {
                        selectedPage = 0;
                    }
                    if (keyWord !== "") {
                    if (keyWord != null) {
                        $scope.vm.search.keyWord = keyWord;
                        $rootScope.isMainSearch = true;
                        $rootScope.$broadcast("getPageListKeyWord", {keyWord: $scope.vm.search.keyWord});
                    }
                    if ($scope.vm.hideCompleteIssue) {
@@ -625,7 +651,7 @@
                    // 검색 기본값 세팅
                    $scope.vm.search.issueTypeIds = [];
                    $scope.vm.projects = [];
                    if ($scope.vm.searchAll.keyWord == null || $scope.vm.searchAll.keyWord === "") {
                    if (keyWord == null || keyWord === '') {
                        // 메뉴에서 선택된 이슈 유형을 기본으로 추가
                        if ($rootScope.issueTypeMenu != null) {
                            //$scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
@@ -651,6 +677,9 @@
                    //  이슈 검색 조건을 만든다.
                    var conditions = $scope.fn.makeSearchConditions();
                    if ($rootScope.previousGetParams != null)
                        $rootScope.previousGetParams = null;
                    Issue.find($resourceProvider.getContent(conditions,
                        $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) {
@@ -1078,13 +1107,16 @@
                    var deferred = $q.defer();
                    $scope.vm.partners = [];
                    Issue.findPartners($resourceProvider.getContent({},
                    Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()},
                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.partnerVos = result.data.content;
                            angular.forEach(result.data.data, function (partner) {
                                $scope.vm.partners.push(partner);
                            });
                            //$scope.vm.partnerVos = result.data.data;
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패
                            SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // 파트너 목록 조회 실패
                        }
                        deferred.resolve(result.data.data);
@@ -1170,7 +1202,6 @@
                                        break;
                                }
                                $scope.vm.customFields.push(customField);
                            });
                        }
@@ -1191,8 +1222,8 @@
                    if ($rootScope.issueTypeMenu != null){
                        var content = {
                            issueTypeId : $rootScope.issueTypeMenu.id
                            }
                            issueTypeId : $rootScope.getCurrentIssueTypeId()
                        }
                        IssueTableConfig.detail($resourceProvider.getContent(content,
                            $resourceProvider.getPageContent(0, 1000))).then(function (result) {
@@ -1257,13 +1288,21 @@
                //  최초 실행
                function startExecute() {
                    // 쿠키 읽기
                    var paramKeyWord = null;
                    var keyWord = $rootScope.getCookie("searchKeyword");
                    if (keyWord != null && keyWord !== '') {
                        paramKeyWord = keyWord;
                        $rootScope.deleteCookie("searchKeyword");
                    }
                    // 파라미터 읽기
                    var params = $rootScope.previousGetParams;
                    if ($rootScope.isDefined(params)) {
                        // $rootScope.$broadcast("makeIssueSearch", {  projectKey : params.projectKey, issueNumber : params.issueNumber });
                         if (params.keyWord != null) {
                             $scope.vm.searchAll.keyWord = params.keyWord;
                             getPageList(0,false, params.keyWord);
                             paramKeyWord = params.keyWord;
                         }else {
                            getDetailList(params.projectKey, params.issueNumber);
                            return;
@@ -1276,7 +1315,7 @@
                        getPriorities : $scope.fn.getPriorities(),
                        getSeverities : $scope.fn.getSeverities(),
                        getIssueStatuses : $scope.fn.getIssueStatuses(),
                        getCustomFields : $scope.fn.getCustomFields()
                        getCustomFields : $scope.fn.getCustomFields(),
                    };
                    $q.all(promises).then(function (results){
@@ -1301,7 +1340,7 @@
                            //  이슈 테이블 설정
                            $scope.fn.makeTableConfigs();
                            //  서버에 저장한 이슈 검색 조건을 가져와서 이슈 목록 검색을 진행한다.
                            $scope.fn.getVmSearchObject();
                            $scope.fn.getVmSearchObject(paramKeyWord);
                        });
                    });
                }