From 20d2fc7868921587e7a0aafd0dc00690507bb6e9 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 수, 02 3월 2022 17:11:32 +0900 Subject: [PATCH] - 이슈 엑셀 임포트 속도 개선 --- src/main/webapp/scripts/app/issue/issueImportExcel.controller.js | 141 ++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 120 insertions(+), 21 deletions(-) diff --git a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js index 555dd12..5480e19 100644 --- a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js +++ b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js @@ -18,7 +18,8 @@ getIssueTypes : getIssueTypes, // �씠�뒋 ���엯 紐⑸줉 媛��졇�삤湲� makeSearchConditions : makeSearchConditions, // �꽑�깮�븳 議곌굔�쓣 json �쑝濡� 留뚮뱺�떎. onFileSelect : onFileSelect, // �뙆�씪 �뾽濡쒕뱶 - getIssueListCallBack : getIssueListCallBack // �씠�뒋 autocomplete page �뾽�뜲�씠�듃 + getIssueListCallBack : getIssueListCallBack, // �씠�뒋 autocomplete page �뾽�뜲�씠�듃 + startExecute : startExecute, // 而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔 }; $scope.vm = { @@ -31,6 +32,10 @@ }, projectName : "", autoCompletePage : { + issue : { + page : 0, + totalPage : 0 + }, project : { page : 0, totalPage : 0 @@ -48,6 +53,7 @@ $scope.$on("projectListEvent", function (event, result) { $scope.vm.form.projects = result; + $scope.vm.form.issues = ""; $scope.fn.getIssueTypes(); }); @@ -61,6 +67,25 @@ if (result.data.message.status === "success") { $scope.vm.issueTypes = result.data.data; + + // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙 + let currentIssueTypeId = $rootScope.getCurrentIssueTypeId(); + if (currentIssueTypeId != null) { + $scope.vm.form.issueTypeId = currentIssueTypeId.toString(); + } + + // 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.error($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message); // "�씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣" @@ -117,25 +142,87 @@ function formSubmit() { $rootScope.spinner = true; - Issue.importExcel({ - method : "POST", - file : $scope.vm.form.file, - // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 - fields : { - content : { - projectId : $scope.vm.form.projects[0].id, - issueTypeId : $scope.vm.form.issueTypeId, - parentIssueId : (function () { - var id = -1; - if ($scope.vm.form.issues != null) { - id = $scope.vm.form.issues[0].id - } - return id; - })() - } + let inheritYn = false; + // �븯�쐞�씠�뒋 �벑濡� & �뙆�듃�꼫 �젙蹂� �긽�냽 �씪 寃쎌슦 �븣由� 李� + if ($rootScope.isDefined($scope.vm.form.issues) && $rootScope.isDefined($scope.vm.form.issues[0]) + && $scope.vm.form.issues[0].inheritPartners != null && $scope.vm.form.issues[0].inheritPartners === true) { + + SweetAlert.swal({ + title : $filter("translate")("issue.addDownIssue"), // �븯�쐞 �씠�뒋 異붽� + text : $filter("translate")("issue.wantToInheritPartnersOfParentIssue"), // �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂�(�뾽泥�/ISP/�샇�뒪�똿)瑜� �쟻�슜�떆�궎寃좎뒿�땲源�? + type : "warning", + showCancelButton : true, + confirmButtonColor : "#DD6B55", + confirmButtonText : $filter("translate")("common.ok"), // �꽕 + cancelButtonText : $filter("translate")("common.no"), // �븘�땲�삤 + closeOnConfirm : false, + closeOnCancel : false }, - fileFormDataName : "file" - }).then(function (result) { + function (isConfirm) { + if (isConfirm) { + inheritYn = true; + } + SweetAlert.close(); + + Issue.importExcel({ + method : "POST", + file : $scope.vm.form.file, + // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 + fields : { + content : { + projectId : $scope.vm.form.projects[0].id, + issueTypeId : $scope.vm.form.issueTypeId, + parentIssueId : (function () { + let id = null; + if ($rootScope.isDefined($scope.vm.form.issues)) { + if ($rootScope.isDefined($scope.vm.form.issues[0])) { + id = $scope.vm.form.issues[0].id; + } + } + return id; + })(), + inheritYn : inheritYn + } + }, + fileFormDataName : "file", + }).then(function (result) { + if (result.data.message.status === "success") { + $timeout(function () { + SweetAlert.success($filter("translate")("issue.succeededIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �꽦怨� + $scope.fn.cancel(); + $rootScope.$broadcast("getIssueList"); + $rootScope.spinner = false; + }, 1000); + } + else { + SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣 + $rootScope.spinner = false; + } + }); + }); + } else { + Issue.importExcel({ + method : "POST", + file : $scope.vm.form.file, + // data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚 + fields : { + content : { + projectId : $scope.vm.form.projects[0].id, + issueTypeId : $scope.vm.form.issueTypeId, + parentIssueId : (function () { + let id = null; + if ($rootScope.isDefined($scope.vm.form.issues)) { + if ($rootScope.isDefined($scope.vm.form.issues[0])) { + id = $scope.vm.form.issues[0].id; + } + } + return id; + })(), + inheritYn : inheritYn + } + }, + fileFormDataName : "file", + }).then(function (result) { if (result.data.message.status === "success") { $timeout(function () { SweetAlert.success($filter("translate")("issue.succeededIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �꽦怨� @@ -149,6 +236,8 @@ $rootScope.spinner = false; } }); + } + } function cancel() { @@ -156,7 +245,17 @@ $uibModalInstance.dismiss('cancel'); } - // �씠�뒋 �쑀�삎 議고쉶 - $scope.fn.getIssueTypes(); + // 理쒖큹 �떎�뻾 + function startExecute() { + // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙 + if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { + $scope.vm.projectName = $rootScope.workProject.name; + $scope.vm.form.projects = []; + $scope.vm.form.projects.push($rootScope.workProject); + } + $scope.fn.getIssueTypes(); + } + + $scope.fn.startExecute(); }]); }); -- Gitblit v1.8.0