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