From 64e60497047f9bf85e0fcff2e6c0718b8eb16af2 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 목, 06 1월 2022 18:04:09 +0900 Subject: [PATCH] - 엑셀 임포트시 워크플로우에 담당부서가 없을경우도 등록 가능하게 수정 - 엑셀 임포트시 상위이슈 선택 안해도 등록 가능 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 26 +++++++++++++++++++------- src/main/webapp/views/issue/issueExcelImport.html | 3 +-- src/main/webapp/scripts/app/issue/issueImportExcel.controller.js | 12 +++++++++--- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java index 1ec2a43..557f603 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -2966,7 +2966,7 @@ Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); // �씠�뒋瑜� �꽔�쑝�젮�뒗 �뾽臾� 怨듦컙 // �씠�뒋�쓽 二쇱슂 �냽�꽦�쓣 map �뿉 ���옣�븯�뿬 �뿊�� import �뿉�꽌 吏��젙�븳 ���긽(�씠�뒋 �냽�꽦)�쓣 鍮좊Ⅴ寃� 李얠쓣 �닔 �엳寃� �븳�떎. - this.IssueAttributeMapToList(priorityMaps, severityMaps, departmentMaps, customFieldMaps, issueTypeCustomFieldMaps); + this.IssueAttributeMapToList(issueForm, priorityMaps, severityMaps, departmentMaps, customFieldMaps, issueTypeCustomFieldMaps); // 0.237 - 0.230 List<IssueForm> issueForms = Lists.newArrayList(); @@ -3047,7 +3047,9 @@ issue.setIssueType(issueType); issue.setProject(project); issue.setIssueNumber(issueNumber); - issue.setParentIssue(this.getIssue(saveIssueForm.getParentIssueId())); + if (saveIssueForm.getParentIssueId() != null && saveIssueForm.getParentIssueId() > -1) { + issue.setParentIssue(this.getIssue(saveIssueForm.getParentIssueId())); + } issue = this.issueRepository.saveAndFlush(issue); @@ -3058,10 +3060,12 @@ issueDepartment.setWorkspace(workspace); List<Long> departmentsIds = this.workflowDepartmentService.findFirstDepartmentIds(workflow); - for (Long departmentId : departmentsIds) { - issueDepartment.setDepartment(this.departmentService.getDepartment(departmentId)); + if (departmentsIds != null && departmentsIds.size() > 0) { + for (Long departmentId : departmentsIds) { + issueDepartment.setDepartment(this.departmentService.getDepartment(departmentId)); + } + issue.addIssueDepartment(issueDepartment); } - issue.addIssueDepartment(issueDepartment); saveIssueForm.setIssueStatusId(issueStatus.getId()); } @@ -3206,8 +3210,16 @@ } // �씠�뒋�쓽 二쇱슂 �냽�꽦�쓣 map �뿉 ���옣�븯�뿬 �뿊�� import �뿉�꽌 吏��젙�븳 ���긽(�씠�뒋 �냽�꽦)�쓣 鍮좊Ⅴ寃� 李얠쓣 �닔 �엳寃� �븳�떎. - private void IssueAttributeMapToList(Map<String, Priority> priorityMaps, Map<String, Severity> severityMaps, + private void IssueAttributeMapToList(IssueForm issueForm, Map<String, Priority> priorityMaps, Map<String, Severity> severityMaps, Map<String, DepartmentVo> departmentMaps, Map<String, CustomField> customFieldMaps,Map<String, Long> issueTypeCustomFieldMaps) { + + Project project = this.projectService.getProject(issueForm.getProjectId()); + + for (IssueTypeCustomField issueTypeCustomField : project.getIssueTypeCustomFields()) { + // 鍮좊Ⅴ寃� 李얘린 �쐞�빐 �씠�뒋 ���엯 �븘�씠�뵒 + �궗�슜�옄 �젙�쓽 �븘�뱶 �븘�씠�뵒瑜� �궎濡� �븳�떎. + String makeKey = issueTypeCustomField.getIssueType().getId().toString() + issueTypeCustomField.getCustomField().getId().toString(); + issueTypeCustomFieldMaps.put(makeKey, issueTypeCustomField.getId()); + } // �슦�꽑�닚�쐞瑜� 諛붾줈 李얠쓣 �닔 �엳寃� 以�鍮� List<Priority> priorities = this.priorityService.findByWorkspaceId(); @@ -3392,7 +3404,7 @@ // 媛믪씠 怨듬갚�씠硫� 以묒� String cellValue = CommonUtil.convertExcelStringToCell(cell); - if (StringUtils.isEmpty(cellValue)) { + if (StringUtils.isEmpty(cellValue) || !cell.toString().equals("null")) { return; } diff --git a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js index b4983b4..202c00a 100644 --- a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js +++ b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js @@ -94,9 +94,9 @@ return false; } - if ($scope.vm.form.issues == null || $scope.vm.form.issues.length === 0) { + /*if ($scope.vm.form.issues == null || $scope.vm.form.issues.length === 0) { return false; - } + }*/ if ($scope.vm.form.file.length < 1) { return true; @@ -117,7 +117,13 @@ content : { projectId : $scope.vm.form.projects[0].id, issueTypeId : $scope.vm.form.issueTypeId, - parentIssueId : $scope.vm.form.issues[0].id + parentIssueId : (function () { + var id = -1; + if ($scope.vm.form.issues != null) { + id = $scope.vm.form.issues[0].id + } + return id; + })() } }, fileFormDataName : "file" diff --git a/src/main/webapp/views/issue/issueExcelImport.html b/src/main/webapp/views/issue/issueExcelImport.html index 6b27056..44b0440 100644 --- a/src/main/webapp/views/issue/issueExcelImport.html +++ b/src/main/webapp/views/issue/issueExcelImport.html @@ -26,8 +26,7 @@ type : '', maxlength : 200, autoResize : true, stopRemoveBodyEvent : true }"></js-autocomplete-single> </div> - <label><span translate="issue.parentIssue">�긽�쐞 �씠�뒋</span> <code - class="highlighter-rouge">*</code></label> + <label><span translate="issue.parentIssue">�긽�쐞 �씠�뒋</span></label> <js-autocomplete-single data-input-name="issue" selected-model="vm.form.issues" search="vm.issueName" -- Gitblit v1.8.0