OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-11-19 4cef9a63afe347bcc007f2f18c21da69b346da64
src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -19,10 +19,10 @@
                    formCheck : formCheck,  //  폼 체크
                    getUserListCallBack : getUserListCallBack,  //  담당자 autocomplete 페이징
                    getProjectListCallBack : getProjectListCallBack,    //  프로젝트 autocomplete 페이징
                    getCompanyFieldListCallBack : getCompanyFieldListCallBack,    // 업체정보 autocomplete 페이징
                    getIssueCompanyFieldListCallBack : getIssueCompanyFieldListCallBack,    // 업체정보 autocomplete 페이징
                    getIssueDepartmentListCallBack : getIssueDepartmentListCallBack,    // 담당자 -> 담당부서 autocomplete 페이징
                    getIspFieldListCallBack : getIspFieldListCallBack,    // ISP정보 autocomplete 페이징
                    getHostingFieldListCallBack : getHostingFieldListCallBack,    // 호스팅정보 autocomplete 페이징
                    getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,    // ISP정보 autocomplete 페이징
                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,    // 호스팅정보 autocomplete 페이징
                    getOptionColor : getOptionColor,    //  우선순위, 중요도 색상으로 Select 태그 적용
                    onFileSelect : onFileSelect,    //  파일 첨부
                    infiniteAddForm : infiniteAddForm,  //  계속 생성
@@ -42,9 +42,9 @@
                        title : "",    //  제목
                        description : "",   //  내용
                        projects : [],  //  프로젝트
                        companyFields : [], // 업체정보
                        ispFields : [], // ISP 정보
                        hostingFields : [], // 호스팅정보
                        issueCompanyFields : [], // 업체정보
                        issueIspFields : [], // ISP 정보
                        issueHostingFields : [], // 호스팅정보
                        issueTypeId : "",   //  이슈 유형 아이디
                        priorityId : "",    //  우선순위 아이디
                        severityId : "",    //  중요도 아이디
@@ -60,23 +60,26 @@
                    projectName : "",   //  프로젝트 명 검색
                    userName : "",  //  사용자 검색
                    departmentName : "",  // 부서명 검색
                    companyId : -1, // 부서 ID
                    companyName : "",   // 업체명 검색
                    companyCode : "",   // 업체 코드
                    companyManager : "",   // 업체 담당자
                    companyTel : "",  // 업체 전화번호
                    companyEmail : "",  // 업체 이메일
                    companyMemo : "",  // 업체 비고
                    ispId : -1, // ISP ID
                    ispName : "", // ISP 명
                    ispCode : "", // ISP 코드
                    ispManager : "", // ISP 담당자
                    ispTel : "", // ISP 전화번호
                    ispEmail : "", // ISP 이메일
                    ispMemo : "", // ISP 비고
                    hostingId : -1, // 호스팅 ID
                    hostingName : "", // 호스팅명 검색
                    hostingManager : "", // 호스팅 담당자
                    hostingTel : "", // 호스팅 전화번호
                    hostingEmail : "", // 호스팅 이메일
                    hostingMemo : "", // 호스팅 비고
                    hostingMemo :"", // 호스팅 비고
                    autoCompletePage : {
                        user : {
                            page : 0,
@@ -311,7 +314,7 @@
                }
                //  업체정보 autocomplete page 업데이트
                function getCompanyFieldListCallBack(result) {
                function getIssueCompanyFieldListCallBack(result) {
                    $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage;
                }
@@ -321,12 +324,12 @@
                }
                // ISP정보 autocomplete page 업데이트
                function getIspFieldListCallBack(result) {
                function getIssueIspFieldListCallBack(result) {
                    $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
                }
                // 호스팅정보 autocomplete page 업데이트
                function getHostingFieldListCallBack(result) {
                function getIssueHostingFieldListCallBack(result) {
                    $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
                }
@@ -340,6 +343,7 @@
                // 업체정보 결과 값 Event 처리(set)
                $scope.$on("companyFieldEvent", function (event, result) {
                    $scope.vm.companyId = result[0].id;
                    $scope.vm.companyManager = result[0].manager;
                    $scope.vm.companyTel = result[0].tel;
                    $scope.vm.companyEmail = result[0].email;
@@ -349,6 +353,7 @@
                // ISP정보 결과 값 Event 처리(set)
                $scope.$on("ispFieldEvent", function (event, result) {
                    $scope.vm.ispId = result[0].id;
                    $scope.vm.ispCode = result[0].code;
                    $scope.vm.ispManager = result[0].manager;
                    $scope.vm.ispTel = result[0].tel;
@@ -358,6 +363,7 @@
                // 호스팅정보 결과 값 Event 처리(set)
                $scope.$on("hostingFieldEvent", function (event, result) {
                    $scope.vm.hostingId = result[0].id;
                    $scope.vm.hostingCode = result[0].code;
                    $scope.vm.hostingManager = result[0].manager;
                    $scope.vm.hostingTel = result[0].tel;
@@ -372,22 +378,6 @@
                    var content = {
                        title : $rootScope.preventXss($scope.vm.form.title),    //  제목
                        description : $rootScope.preventXss($scope.vm.form.description),   //  내용
                        //
                        // companyManager : $rootScope.preventXss($scope.vm.companyManager),   //  내용
                        // companyTel : $rootScope.preventXss($scope.vm.companyTel),   //  내용
                        // companyEmail : $rootScope.preventXss($scope.vm.companyEmail),   //  내용
                        // companyMemo : $rootScope.preventXss($scope.vm.companyMemo),   //  내용
                        ispCode : $rootScope.preventXss($scope.vm.ispCode),   //  내용
                        ispManager : $rootScope.preventXss($scope.vm.ispManager),   //  내용
                        ispTel : $rootScope.preventXss($scope.vm.ispTel),   //  내용
                        ispEmail : $rootScope.preventXss($scope.vm.ispEmail),   //  내용
                        ispMemo : $rootScope.preventXss($scope.vm.ispMemo),   //  내용
                        hostingCode : $rootScope.preventXss($scope.vm.hostingCode ),   //  내용
                        hostingManager : $rootScope.preventXss($scope.vm.hostingManager),   //  내용
                        hostingTel : $rootScope.preventXss($scope.vm.hostingTel),   //  내용
                        hostingEmail : $rootScope.preventXss($scope.vm.hostingEmail),   //  내용
                        hostingMemo : $rootScope.preventXss($scope.vm.hostingMemo),   //  내용
                        //
                        projectId : (function () {   //  프로젝트 아이디
                            var projectId = "";
@@ -400,26 +390,26 @@
                        issueTypeId : $scope.vm.form.issueTypeId,   //  이슈 유형 아이디
                        priorityId : $scope.vm.form.priorityId,    //  우선순위 아이디
                        severityId : $scope.vm.form.severityId,    //  중요도 아이디
                        companyId : (function () {   //  프로젝트 아이디
                            var companyId = "";
                            if ($scope.vm.form.companyFields.length > 0) {
                                companyId = $scope.vm.form.companyFields[0].id;
                        companyId : (function () {   //  업체 아이디
                            var companyId = -1;
                            if ($scope.vm.form.issueCompanyFields.length > 0) {
                                companyId = $scope.vm.form.issueCompanyFields[0].id;
                            }
                            return companyId;
                        })(),
                        ispId : (function () {
                            var ispId = "";
                            if ($scope.vm.form.ispFields.length > 0) {
                                ispId = $scope.vm.form.ispFields[0].id;
                        ispId : (function () {  // ISP 아이디
                            var ispId = -1;
                            if ($scope.vm.form.issueIspFields.length > 0) {
                                ispId = $scope.vm.form.issueIspFields[0].id;
                            }
                            return ispId;
                        })(),
                        hostingId : (function () {
                            var hostingId = "";
                            if ($scope.vm.form.hostingFields.length > 0) {
                                hostingId = $scope.vm.form.hostingFields[0].id;
                        hostingId : (function () {  // Hosting 아이디
                            var hostingId = -1;
                            if ($scope.vm.form.issueHostingFields.length > 0) {
                                hostingId = $scope.vm.form.issueHostingFields[0].id;
                            }
                            return hostingId;
                        })(),
@@ -443,6 +433,7 @@
                            return departmentIds;
                        })(),
                        attachedFileIds : (function () {
                            var attachedFileIds = [];
@@ -454,79 +445,69 @@
                            return attachedFileIds;
                        })(),
                        startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
                        detectingDateRange : $scope.vm.form.detectingDateRange,
                        companyFields : (function () {
                            var companyFields = [];
                        issueCompanyFields : (function () {
                            var issueCompanyFields = [];
                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
                                var companyField = $scope.vm.form.issueCompanyFields[0];
                            angular.forEach($scope.vm.form.companyFields, function (companyField) {
                                var useValues = [];
                                issueCompanyFields.push({
                                    id : companyField.id,
                                    companyId : $scope.vm.companyId,
                                    name : $scope.vm.companyName,
                                    manager : $scope.vm.companyManager,
                                    tel : $scope.vm.companyTel,
                                    email :$scope.vm.companyEmail,
                                    memo : $scope.vm.companyMemo
                                });
                            }
                                if (angular.isArray(companyField.useValues)) {
                                    angular.forEach(companyField.useValues, function (useValue) {
                                        useValues.push(useValue.value);
                                    });
                                }
                                else {
                                    useValues.push(companyField.useValues);
                                }
                                //  useValues 를 배열로 변환한다.
                                var temp = angular.copy(companyField);
                                temp.useValues = useValues;
                                companyFields.push(temp);
                            });
                            return companyFields;
                            return issueCompanyFields;
                        })(),
                        ispFields : (function () {
                            var ispFields = [];
                        issueIspFields : (function () {
                            var issueIspFields = [];
                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
                                var ispField = $scope.vm.form.issueIspFields[0];
                            angular.forEach($scope.vm.form.ispFields, function (ispField) {
                                var useValues = [];
                                issueIspFields[0] = {
                                    id : ispField.id,
                                    ispId : $scope.vm.ispId,
                                    name : $scope.vm.ispName,
                                    code : $scope.vm.ispCode,
                                    manager : $scope.vm.ispManager,
                                    tel : $scope.vm.ispTel,
                                    email :$scope.vm.ispEmail,
                                    memo : $scope.vm.ispMemo
                                };
                                if (angular.isArray(ispField.useValues)) {
                                    angular.forEach(ispField.useValues, function (useValue) {
                                        useValues.push(useValue.value);
                                    });
                                }
                                else {
                                    useValues.push(ispField.useValues);
                                }
                            }
                                //  useValues 를 배열로 변환한다.
                                var temp = angular.copy(ispField);
                                temp.useValues = useValues;
                                ispFields.push(temp);
                            });
                            return ispFields;
                            return issueIspFields;
                        })(),
                        hostingFields : (function () {
                            var hostingFields = [];
                        issueHostingFields : (function () {
                            var issueHostingFields = [];
                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
                            angular.forEach($scope.vm.form.hostingFields, function (hostingField) {
                                var useValues = [];
                                var hostingField = $scope.vm.form.issueHostingFields[0];
                                if (angular.isArray(hostingField.useValues)) {
                                    angular.forEach(hostingField.useValues, function (useValue) {
                                        useValues.push(useValue.value);
                                    });
                                }
                                else {
                                    useValues.push(hostingField.useValues);
                                }
                                issueHostingFields[0] = {
                                    id : hostingField.id,
                                    hostingId : $scope.vm.hostingId,
                                    name : $scope.vm.hostingName,
                                    code : $scope.vm.hostingCode,
                                    manager : $scope.vm.hostingManager,
                                    tel : $scope.vm.hostingTel,
                                    email :$scope.vm.hostingEmail,
                                    memo : $scope.vm.hostingMemo
                                };
                            }
                                //  useValues 를 배열로 변환한다.
                                var temp = angular.copy(hostingField);
                                temp.useValues = useValues;
                                hostingFields.push(temp);
                            });
                            return hostingFields;
                            return issueHostingFields;
                        })(),
                        issueCustomFields : (function () {    //  이슈에서 사용되는 사용자 정의 필드
@@ -571,7 +552,7 @@
                                else {
                                    $scope.fn.cancel();
                                    if ($state.current.name !== "issues.list") {
                                    if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") {
                                        $state.go("issues.list");
                                    }
                                }