OWL ITS + 탐지시스템(인터넷 진흥원)
jhjang
2021-11-26 577502fbd1ec01a3023ca0eb515ab6ec52d67a5e
src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -22,6 +22,7 @@
                var UserWorkspace = $injector.get("UserWorkspace");
                var IspField = $injector.get("IspField");
                var HostingField = $injector.get("HostingField");
                var IssueType = $injector.get("IssueType");
                var $log = $injector.get("$log");
                var SweetAlert = $injector.get("SweetAlert");
@@ -31,10 +32,12 @@
                $scope.fn.getIssueList = getIssueList;  //  일감 목록 정보를 조회한다.
                $scope.fn.getWorkflowList = getWorkflowList;    //  워크플로우 목록 정보를 조회한다.
                $scope.fn.getUserDepartmentList = getUserDepartmentList;    //  부서 목록 정보를 조회한다.
                $scope.fn.getCompanyFieldList = getCompanyFieldList;    //  업체 목록 정보를 조회한다.
                $scope.fn.getIssueCompanyFieldList = getIssueCompanyFieldList;    //  업체 목록 정보를 조회한다.
                $scope.fn.getIssueDepartmentList = getIssueDepartmentList;    //  담당자 -> 담당부서 목록 정보를 조회한다.
                $scope.fn.getIspFieldList = getIspFieldList;    //  ISP 목록 정보를 조회한다.
                $scope.fn.getHostingFieldList = getHostingFieldList;    //  호스팅 목록 정보를 조회한다.
                $scope.fn.getIssueIspFieldList = getIssueIspFieldList;    //  ISP 목록 정보를 조회한다.
                $scope.fn.getIssueHostingFieldList = getIssueHostingFieldList;    //  호스팅 목록 정보를 조회한다.
                $scope.fn.getCompanyList = getCompanyList;          // 업체/isp/호스팅 목록 조회
                $scope.fn.getIssueTypeList = getIssueTypeList;          // 이슈 유형 목록 조회
                function getUserList(query, excludeList, page, callBack) {
                    var conditions = {
@@ -218,7 +221,7 @@
                    return deferred.promise;
                }
                function getCompanyFieldList(query, excludeList, page, callBack) {
                function getIssueCompanyFieldList(query, excludeList, page, callBack) {
                    var conditions = {
                        companyName : query,
                        excludeIds : (function () {
@@ -257,6 +260,17 @@
                    var conditions = {
                        departmentName : query,
                        userId : $rootScope.user.id,
                        projectId : (function () {
                            var projectId = "";
                            if ($rootScope.isDefined($scope.vm.form)) {
                                angular.forEach($scope.vm.form.projects, function (project) {
                                    projectId = project.id;
                                });
                            }
                            return projectId;
                        })(),
                        excludeIds : (function () {
                            var excludeIds = [];
@@ -271,8 +285,8 @@
                    var deferred = $q.defer();
                    UserWorkspace.departmentFind($resourceProvider.getContent(         //  페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다.
                    //프로젝트에 속해있는 담당부서 찾기
                    UserWorkspace.findProjectDepartment($resourceProvider.getContent(         //  페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다.
                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if ($rootScope.isDefined(callBack)) {
@@ -289,7 +303,7 @@
                    return deferred.promise;
                }
                function getIspFieldList(query, excludeList, page, callBack) {
                function getIssueIspFieldList(query, excludeList, page, callBack) {
                    var conditions = {
                        ispName : query,
                        excludeIds : (function () {
@@ -304,8 +318,6 @@
                    };
                    var deferred = $q.defer();
                    IspField.find($resourceProvider.getContent(         //  페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다.
                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
@@ -324,7 +336,7 @@
                    return deferred.promise;
                }
                function getHostingFieldList(query, excludeList, page, callBack) {
                function getIssueHostingFieldList(query, excludeList, page, callBack) {
                    var conditions = {
                        hostingName : query,
                        excludeIds : (function () {
@@ -357,6 +369,73 @@
                    return deferred.promise;
                }
                function getCompanyList(query, excludeList, page, callBack) {
                    var conditions = {
                        hostingName : query,
                        excludeIds : (function () {
                            var excludeIds = [];
                            angular.forEach(excludeList, function (exclude) {
                                excludeIds.push(exclude.id);
                            });
                            return excludeIds;
                        })()
                    };
                    var deferred = $q.defer();
                    HostingField.getCompanyList($resourceProvider.getContent(         //  페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다.
                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if ($rootScope.isDefined(callBack)) {
                                callBack(result);
                            }
                            deferred.resolve(result.data.content);
                        }
                        else {
                            SweetAlert.swal($filter("translate")("common.failedToProjectListLookUp"), result.data.message.message, "error"); // "프로젝트 목록 조회 실패"
                        }
                    });
                    return deferred.promise;
                }
                function getIssueTypeList(query, excludeList, page, callBack) {
                    var conditions = {
                        name : query,
                        excludeIds : (function () {
                            var excludeIds = [];
                            angular.forEach(excludeList, function (exclude) {
                                excludeIds.push(exclude.id);
                            });
                            return excludeIds;
                        })()
                    };
                    var deferred = $q.defer();
                    IssueType.find($resourceProvider.getContent(         //  페이징 업데이트가 필요한 컴포넌트 일경우, page 업데이트가 있을 경우 기본 10개씩 가져오고 아닐경우 25개씩 가져온다.
                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
                        if (result.data.message.status === "success") {
                            if ($rootScope.isDefined(callBack)) {
                                callBack(result);
                            }
                            deferred.resolve(result.data.data);
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // "이슈 유형 목록 조회 실패"
                        }
                    });
                    return deferred.promise;
                }
            }
        ]);
    }