From 743fb98986d528be8b3b5bfd6d99fb1cabcd82b9 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 28 12월 2021 21:44:45 +0900 Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa --- src/main/webapp/scripts/app/issue/issueAdd.controller.js | 240 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 181 insertions(+), 59 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js index 5ad1972..6d498ec 100644 --- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js @@ -9,9 +9,9 @@ ], function (app, angular) { app.controller('issueAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$uibModal', '$injector', - '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'HostingField','Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state', + '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state', function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $uibModal, $injector, $controller, $tableProvider, SweetAlert, $timeout, - $stateParams, $q, Issue, User, AttachedFile, IssueType, HostingField, Priority, Severity, IssueTypeCustomField, $filter, $state) { + $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) { $scope.fn = { cancel : cancel, // �뙘�뾽 李� �떕湲� @@ -37,10 +37,12 @@ setIssueTypeTemplate : setIssueTypeTemplate, // �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲� startExecute : startExecute, // 而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔 containsPartner : containsPartner, - getPartners : getPartners + getPartners : getPartners, + getDepartments : getDepartments, }; $scope.vm = { + partnerVos : "", form : { title : "", // �젣紐� description : "", // �궡�슜 @@ -57,7 +59,8 @@ attachedFiles : [], // �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎. startCompleteDateRange : "", // �떆�옉�씪 ~ 醫낅즺�씪 detectingDateRange : "", // �깘吏��씪 - issueCustomFields : [] // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 + issueCustomFields : [], // �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶 + issueStatusId: "" }, infiniteAdd : false, // �뿰�냽 �깮�꽦 projectName : "", // �봽濡쒖젥�듃 紐� 寃��깋 @@ -68,6 +71,7 @@ companyManager : "", // �뾽泥� �떞�떦�옄 companyTel : "", // �뾽泥� �쟾�솕踰덊샇 companyEmail : "", // �뾽泥� �씠硫붿씪 + companyUrl : "", // �뾽泥� url companyMemo : "", // �뾽泥� 鍮꾧퀬 ispId : -1, // ISP ID ispName : "", // ISP 紐� @@ -75,12 +79,14 @@ ispManager : "", // ISP �떞�떦�옄 ispTel : "", // ISP �쟾�솕踰덊샇 ispEmail : "", // ISP �씠硫붿씪 + ispUrl : "", // url ispMemo : "", // ISP 鍮꾧퀬 hostingId : -1, // �샇�뒪�똿 ID hostingName : "", // �샇�뒪�똿紐� 寃��깋 hostingManager : "", // �샇�뒪�똿 �떞�떦�옄 hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇 hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪 + hostingUrl : "", // url hostingMemo :"", // �샇�뒪�똿 鍮꾧퀬 autoCompletePage : { @@ -119,6 +125,18 @@ fileTableConfigs : [], // �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉� }; + // �뿰愿� �씪媛� 愿��젴 + $scope.vm.relationIssueTypes = + [ + { id: 0, name: $filter("translate")("issue.relationIssueType1") }, + { id: 1, name: $filter("translate")("issue.relationIssueType2") }, + { id: 2, name: $filter("translate")("issue.relationIssueType3") }, + { id: 3, name: $filter("translate")("issue.relationIssueType4") }, + { id: 4, name: $filter("translate")("issue.relationIssueType5") }, + { id: 5, name: $filter("translate")("issue.relationIssueType6") } + ]; + $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0]; + angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); function getStartProjectListCallback(result){ @@ -131,15 +149,14 @@ // �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕 $scope.$watch("vm.form.projects", function (newValue, oldValue) { + + if (angular.isDefined(newValue)) { if (newValue.length < 1) { - $scope.vm.form.departments = []; - $scope.vm.form.issueCustomFields = []; - } - else { - if ($rootScope.isDefined($scope.vm.issueTypeId)) { - $scope.fn.getIssueTypeCustomFields(); - } + $scope.vm.form.users = []; + } else { + // �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲� + $scope.fn.getIssueTypeCustomFields(); } } }); @@ -330,6 +347,7 @@ }); } return result; + } // �떞�떦�옄 autocomplete page �뾽�뜲�씠�듃�듃 @@ -372,16 +390,58 @@ // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("companyFieldEvent", function (event, result) { + var ispFieldVo = result[0].ispFieldVo; + var hostingFieldVo = result[0].hostingFieldVo; + $scope.vm.companyId = result[0].id; $scope.vm.companyName = result[0].name; $scope.vm.companyManager = result[0].manager; $scope.vm.companyTel = result[0].tel; $scope.vm.companyEmail = result[0].email; + $scope.vm.companyUrl = result[0].url; $scope.vm.companyMemo = result[0].memo; + $scope.vm.ispId = ""; + $scope.vm.ispName = ""; + $scope.vm.ispCode = ""; + $scope.vm.ispManager = ""; + $scope.vm.ispTel = ""; + $scope.vm.ispEmail = ""; + $scope.vm.ispUrl = ""; + $scope.vm.ispMemo = ""; + + $scope.vm.hostingId = ""; + $scope.vm.hostingName = ""; + $scope.vm.hostingCode = ""; + $scope.vm.hostingManager = ""; + $scope.vm.hostingTel = ""; + $scope.vm.hostingEmail = ""; + $scope.vm.hostingUrl = ""; + $scope.vm.hostingMemo = ""; + + if (ispFieldVo != null){ + $scope.vm.ispId = ispFieldVo.id; + $scope.vm.ispName = ispFieldVo.name; + $scope.vm.ispCode = ispFieldVo.code; + $scope.vm.ispManager = ispFieldVo.manager; + $scope.vm.ispTel = ispFieldVo.tel; + $scope.vm.ispEmail = ispFieldVo.email; + $scope.vm.ispUrl = ispFieldVo.url; + $scope.vm.ispMemo = ispFieldVo.memo; + } + if (hostingFieldVo != null){ + $scope.vm.hostingId = hostingFieldVo.id; + $scope.vm.hostingName = hostingFieldVo.name; + $scope.vm.hostingCode = hostingFieldVo.code; + $scope.vm.hostingManager = hostingFieldVo.manager; + $scope.vm.hostingTel = hostingFieldVo.tel; + $scope.vm.hostingEmail = hostingFieldVo.email; + $scope.vm.hostingUrl = hostingFieldVo.url; + $scope.vm.hostingMemo = hostingFieldVo.memo; + } }); - // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set) + //ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set) $scope.$on("ispFieldEvent", function (event, result) { $scope.vm.ispId = result[0].id; $scope.vm.ispName = result[0].name; @@ -389,6 +449,7 @@ $scope.vm.ispManager = result[0].manager; $scope.vm.ispTel = result[0].tel; $scope.vm.ispEmail = result[0].email; + $scope.vm.ispUrl = result[0].url; $scope.vm.ispMemo = result[0].memo; }); @@ -400,6 +461,7 @@ $scope.vm.hostingManager = result[0].manager; $scope.vm.hostingTel = result[0].tel; $scope.vm.hostingEmail = result[0].email; + $scope.vm.hostingUrl = result[0].url; $scope.vm.hostingMemo = result[0].memo; }); @@ -427,7 +489,7 @@ companyId : (function () { // �뾽泥� �븘�씠�뵒 var companyId = -1; - if ($scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { companyId = $scope.vm.form.issueCompanyFields[0].id; } return companyId; @@ -435,7 +497,11 @@ ispId : (function () { // ISP �븘�씠�뵒 var ispId = -1; - if ($scope.vm.form.issueIspFields.length > 0) { + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields[0].ispId != null){ + ispId = $scope.vm.form.issueCompanyFields[0].ispId; + } + }else if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) { ispId = $scope.vm.form.issueIspFields[0].id; } return ispId; @@ -443,7 +509,11 @@ hostingId : (function () { // Hosting �븘�씠�뵒 var hostingId = -1; - if ($scope.vm.form.issueHostingFields.length > 0) { + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) { + if ($scope.vm.form.issueCompanyFields[0].hostingId != null){ + hostingId = $scope.vm.form.issueCompanyFields[0].hostingId; + } + }else if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) { hostingId = $scope.vm.form.issueHostingFields[0].id; } return hostingId; @@ -480,67 +550,82 @@ return attachedFileIds; })(), - issueCompanyFields : (function () { var issueCompanyFields = []; if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){ var companyField = $scope.vm.form.issueCompanyFields[0]; - 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, + url :$scope.vm.companyUrl, memo : $scope.vm.companyMemo }); } - return issueCompanyFields; })(), + companyName : $scope.vm.companyName, + companyManager : $scope.vm.companyManager, + companyTel : $scope.vm.companyTel, + companyEmail :$scope.vm.companyEmail, + companyUrl :$scope.vm.companyUrl, + companyMemo : $scope.vm.companyMemo, issueIspFields : (function () { var issueIspFields = []; - if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 + && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null + || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){ var ispField = $scope.vm.form.issueIspFields[0]; - - issueIspFields[0] = { - id : ispField.id, + issueIspFields.push({ ispId : $scope.vm.ispId, name : $scope.vm.ispName, code : $scope.vm.ispCode, manager : $scope.vm.ispManager, tel : $scope.vm.ispTel, email :$scope.vm.ispEmail, + url :$scope.vm.ispUrl, memo : $scope.vm.ispMemo - }; - + }); } - return issueIspFields; })(), + ispName : $scope.vm.ispName, + ispCode : $scope.vm.ispCode, + ispManager : $scope.vm.ispManager, + ispTel : $scope.vm.ispTel, + ispEmail :$scope.vm.ispEmail, + ispUrl :$scope.vm.ispUrl, + ispMemo : $scope.vm.ispMemo, issueHostingFields : (function () { var issueHostingFields = []; - if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ - + if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 + && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null + || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){ var hostingField = $scope.vm.form.issueHostingFields[0]; - 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, + url :$scope.vm.hostingUrl, memo : $scope.vm.hostingMemo }; } - return issueHostingFields; })(), + hostingName : $scope.vm.hostingName, + hostingCode : $scope.vm.hostingCode, + hostingManager : $scope.vm.hostingManager, + hostingTel : $scope.vm.hostingTel, + hostingEmail :$scope.vm.hostingEmail, + hostingUrl :$scope.vm.hostingUrl, + hostingMemo : $scope.vm.hostingMemo, startCompleteDateRange : $scope.vm.form.startCompleteDateRange, detectingDateRange : $scope.vm.form.detectingDateRange, @@ -579,27 +664,30 @@ }, fileFormDataName : "file" }).then(function (result) { - if (result.data.message.status === "success") { - // �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬. - if ($scope.vm.infiniteAdd) { - $scope.fn.infiniteAddForm(); - } - else { - $scope.fn.cancel(); + if (result.data.message.status === "success") { - if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") { - $state.go("issues.list"); - } - } - - $rootScope.$broadcast("getIssueList", {}); + // �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬. + if ($scope.vm.infiniteAdd) { + $scope.fn.infiniteAddForm(); } else { - SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣 + $scope.fn.cancel(); + + if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") { + $state.go($state.current, {}, {reload : true}); + // $state.go("issues.list"); + // $state.go("dashboards.dashboard") + } } - $rootScope.spinner = false; - }); + $rootScope.$broadcast("getIssueList", {}); + } + else { + SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣 + } + + $rootScope.spinner = false; + }); } // �뙘�뾽 李� �떕湲� @@ -687,9 +775,16 @@ if (result.data.message.status === "success") { + $scope.vm.form.issueCustomFields = []; angular.forEach(result.data.data, function (issueTypeCustomField) { switch (issueTypeCustomField.customFieldVo.customFieldType) { case "INPUT" : + case "NUMBER" : + case "DATETIME" : + case "IP_ADDRESS" : + case "EMAIL" : + case "SITE" : + case "TEL" : issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue; break; case "SINGLE_SELECT" : @@ -708,7 +803,6 @@ }); break; } - $scope.vm.form.issueCustomFields.push(issueTypeCustomField); }); } @@ -763,17 +857,40 @@ } function getPartners() { - - HostingField.getPartnerList($resourceProvider.getContent( - {}, + if($scope.vm.form.issueTypeId === ""){ + $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id + } + var content = { + issueTypeId : $scope.vm.form.issueTypeId, + }; + Issue.findPartners($resourceProvider.getContent( + content, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { - $scope.vm.partnerVos = result.data.content; + $scope.vm.partnerVos = result.data.data; + } + }); + } + + function getDepartments() { + if($scope.vm.form.issueTypeId === ""){ + $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id + } + var content = { + issueTypeId : $scope.vm.form.issueTypeId, + }; + Issue.findReadyDepartments($resourceProvider.getContent( + content, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + angular.forEach(result.data.data, function (department) { + department.byName = department.departmentName; + $scope.vm.form.departments.push(department); + }); } }); } - // 理쒖큹 �떎�뻾 function startExecute() { @@ -781,21 +898,26 @@ var promises = { getIssueTypes : $scope.fn.getIssueTypes(), getPriorities : $scope.fn.getPriorities(), - getSeverities : $scope.fn.getSeverities() + getSeverities : $scope.fn.getSeverities(), + getPartners : $scope.fn.getPartners(), + getDepartments : $scope.fn.getDepartments() }; $q.all(promises).then(function (results) { // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙 if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { $scope.vm.projectName = $rootScope.workProject.name; - $scope.fn.projects = []; - $scope.fn.projects.push($rootScope.workProject); - $scope.fn.getProjectList($scope.vm.projectName, $scope.vm.form.projects, $scope.vm.autoCompletePage.project.page, getStartProjectListCallback); + $scope.vm.form.projects = []; + $scope.vm.form.projects.push($rootScope.workProject); } - + // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙 + var id = $rootScope.getCurrentIssueTypeId(); + if (id != null) { + $scope.vm.form.issueTypeId = id.toString(); + } $log.debug("promises 寃곌낵 ", results); }); } $scope.fn.startExecute(); }]); - }); + }); \ No newline at end of file -- Gitblit v1.8.0