OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -45,6 +45,7 @@
                    getChildSectorListCallBack : getChildSectorListCallBack,
                    getRegionListCallBack : getRegionListCallBack,
                    getStatusListCallBack : getStatusListCallBack,
                    getIssueTypeOfProject : getIssueTypeOfProject
                };
                $scope.vm = {
@@ -97,6 +98,8 @@
                    companyTel : "",  // 업체 전화번호
                    companyEmail : "",  // 업체 이메일
                    companyUrl : "", // 업체 url
                    ipStart : "", //ip시작주소
                    ipEnd : "", //ip종료주소
                    companyMemo : "",  // 업체 비고
                    ispId : -1, // ISP ID
                    ispName : "", // ISP 명
@@ -203,6 +206,8 @@
                        } else {
                            //  이슈 유형에 연결된 사용자 정의 필드 가져오기
                            $scope.fn.getIssueTypeCustomFields();
                            //  선택한 프로젝트에 속해있는 이슈유형만 보여주기
                            $scope.fn.getIssueTypeOfProject();
                        }
                    }
                });
@@ -434,7 +439,16 @@
                }
                // 업종(대분류) autocomplete page 업데이트
                function getParentSectorListCallBack(result) {
                function getParentSectorListCallBack(result, value) {
                    if (value === "") {
                        $scope.vm.form.parentSectorId = "";
                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
                            $scope.vm.form.parentSectors[0].id = "";
                        }
                        $scope.vm.form.childSectorId = "";
                        $scope.vm.form.childSector = "";
                        $scope.vm.form.childSectors = [];
                    }
                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
                }
@@ -473,6 +487,8 @@
                        $scope.vm.companyTel = result[0].tel;
                        $scope.vm.companyEmail = result[0].email;
                        $scope.vm.companyUrl = result[0].url;
                        $scope.vm.ipStart = result[0].ipStart;
                        $scope.vm.ipEnd = result[0].ipEnd;
                        $scope.vm.companyMemo = result[0].memo;
                        $scope.vm.form.companyTypeId = result[0].companyTypeId;
                        $scope.vm.form.parentSectorId = result[0].parentSectorId;
@@ -601,6 +617,8 @@
                        companyTel : $scope.vm.companyTel,
                        companyEmail :$scope.vm.companyEmail,
                        companyUrl : $scope.vm.companyUrl,
                        ipStart :$scope.vm.ipStart,
                        ipEnd :$scope.vm.ipEnd,
                        companyMemo : $scope.vm.companyMemo,
                        companyTypeId : (function () {
                            var companyTypeId = -1;
@@ -745,6 +763,8 @@
                                    tel : $scope.vm.companyTel,
                                    email :$scope.vm.companyEmail,
                                    url :$scope.vm.companyUrl,
                                    ipStart :$scope.vm.ipStart,
                                    ipEnd :$scope.vm.ipEnd,
                                    memo : $scope.vm.companyMemo,
                                    companyTypeId : $scope.vm.form.companyTypeId,
                                    parentSectorId : $scope.vm.form.parentSectorId,
@@ -916,6 +936,39 @@
                        if (result.data.message.status === "success") {
                            $scope.vm.issueTypes = result.data.data;
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패
                        }
                        deferred.resolve(result.data.data);
                    });
                    return deferred.promise;
                }
                //  선택한 프로젝트에 속해있는 이슈유형만 보여주기
                function getIssueTypeOfProject() {
                    var deferred = $q.defer();
                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.vm.issueTypes = result.data.data;
                            //  option 빈값 방지
                            if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) {
                                let chk = 0;
                                angular.forEach($scope.vm.issueTypes, function (issueType) {
                                    if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) {
                                        chk ++;
                                    }
                                });
                                if (chk === 0) {
                                    $scope.vm.form.issueTypeId = null;
                                }
                            }
                        }
                        else {
                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패
@@ -1120,6 +1173,9 @@
                            $scope.vm.projectName = $rootScope.workProject.name;
                            $scope.vm.form.projects = [];
                            $scope.vm.form.projects.push($rootScope.workProject);
                        } else {
                            $scope.vm.projectName = parameter.project.name;
                            $scope.vm.form.projects.push(parameter.project);
                        }
                        // 현재 이슈타입 유형 설정
                        var id = $rootScope.getCurrentIssueTypeId();
@@ -1128,6 +1184,10 @@
                        } else {
                            $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                        }
                        //  프로젝트의 이슈유형 set
                        $scope.fn.getIssueTypeOfProject();
                        // 이슈유형, 프로젝트 set 한 후에 사용자정의필드 set
                        $scope.fn.getIssueTypeCustomFields();
                        $log.debug("promises 결과 ", results);
                    });
                }