src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/common/common.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueAdd.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueImportExcel.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueManager.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/views/issue/issueExcelImport.html | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -46,8 +46,10 @@ import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.*; import static kr.wisestone.owl.domain.enumType.CustomFieldType.DATETIME; import static kr.wisestone.owl.domain.enumType.CustomFieldType.INPUT; @Service @@ -3338,6 +3340,15 @@ } } /** * cell NULL 체크 함수 * @param cell Cell * @return boolean */ private Boolean cellNullCheck (Cell cell) { return cell != null && cell.getStringCellValue() != null && cell.getCellType() != Cell.CELL_TYPE_BLANK; } // 엑셀 필드에 있는 정보를 이슈 form 으로 옮긴다. private IssueForm setIssueFormToExcelField(Row row, int rowIndex, Map<String, Priority> priorityMaps, Map<String, Severity> severityMaps, Map<String, DepartmentVo> departmentMaps, @@ -3356,7 +3367,7 @@ break; case 1: // 내용 if (cell != null) { if (cellNullCheck(cell)) { issueForm.setDescription(CommonUtil.convertExcelStringToCell(cell)); } else { // null 입력 방지 @@ -3380,13 +3391,13 @@ break;*/ case 4: // 시작일을 IssueForm 에 저장한다. if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK) { if (cellNullCheck(cell)) { this.setIssueFormPeriod(cell, issueForm, true, rowIndex); } break; case 5: // 종료일을 IssueForm 에 저장한다. if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK) { if (cellNullCheck(cell)) { this.setIssueFormPeriod(cell, issueForm, false, rowIndex); } break; @@ -3557,11 +3568,16 @@ case EMAIL: case SITE: case TEL: if (customField.getCustomFieldType() != INPUT && cellValue.length() > 100) { if (customField.getCustomFieldType() != INPUT && cellValue.length() > 100) { //INPUT 타입은 100자 제한 없음 throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT)); } if (customField.getCustomFieldType() == DATETIME) { //DATETIME일 경우 format 변경 Date date = cell.getDateCellValue(); cellValue = new SimpleDateFormat("yyyy-MM-dd H:mm:ss").format(date); } issueCustomFieldMap.put("customFieldId", customField.getId()); issueCustomFieldMap.put("useValue", cellValue); issueForm.addIssueCustomFields(issueCustomFieldMap); src/main/webapp/scripts/app/common/common.controller.js
@@ -111,6 +111,7 @@ $rootScope.issueTypeMenu = null; $rootScope.allIssueList = false; if (issueTypeId == null) { $rootScope.allIssueList = true; moveMenu("issues.list"); }else { for (var issueType of $rootScope.workIssueTypes) { src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -853,6 +853,7 @@ $scope.vm.form.projects.push(result.data.data); $scope.vm.projectName = result.data.data.name; $scope.fn.getIssueTypeOfProject(); $scope.fn.getIssueTypeCustomFields(); } } else { @@ -898,7 +899,6 @@ if (result.data.message.status === "success") { $scope.vm.issueTypes = result.data.data; //$scope.fn.getIssueTypeCustomFields(); } else { SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패 src/main/webapp/scripts/app/issue/issueImportExcel.controller.js
@@ -46,9 +46,17 @@ $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage; } $scope.$on("projectListEvent", function (event, result) { $scope.vm.form.projects = result; $scope.fn.getIssueTypes(); }); // 이슈 유형 목록 function getIssueTypes() { IssueType.find($resourceProvider.getContent({}, if (!$rootScope.isDefined($scope.vm.form.projects[0])) { return; } IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id}, $resourceProvider.getPageContent(0, 1000))).then(function (result) { if (result.data.message.status === "success") { src/main/webapp/scripts/app/issue/issueManager.controller.js
@@ -57,6 +57,7 @@ $scope.$on("getAllIssuePageList", function (event, args) { $scope.vm.pageTitle = $filter("translate")("common.allIssueList"); $rootScope.allIssueList = true; }); function start() { src/main/webapp/views/issue/issueExcelImport.html
@@ -22,6 +22,7 @@ page="vm.autoCompletePage.project.page" total-page="vm.autoCompletePage.project.totalPage" input-disabled="false" broad-cast="projectListEvent" extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '', type : '', maxlength : 200, autoResize : true, stopRemoveBodyEvent : true }"></js-autocomplete-single> </div>