src/main/java/kr/wisestone/owl/constant/MsgConstants.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | ●●●●● 패치 | 보기 | raw | blame | 히스토리 | |
src/main/webapp/scripts/app/issue/issueImportExcel.controller.js | ●●●●● 패치 | 보기 | raw | blame | 히스토리 |
src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -178,6 +178,8 @@ public static final String EXCEL_IMPORT_SEVERITY_NOT_EXIST = "EXCEL_IMPORT_SEVERITY_NOT_EXIST"; // 다음 엑셀 라인에서 입력된 중요도 명으로 검색되는 우선순위가 없습니다. public static final String EXCEL_IMPORT_PERIOD_NOT_VALIDITY = "EXCEL_IMPORT_PERIOD_NOT_VALIDITY"; // 다음 엑셀 라인에서 입력한 시작일, 종료일에 문제가 있습니다. 시작일은 종료일보다 빨라야 합니다. public static final String EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY = "EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY"; // 다음 엑셀 라인에서 입력한 시작일, 종료일에 문제가 있습니다. 공백이 포함되어 있는지 확인 후 공백을 제거하세요. public static final String EXCEL_IMPORT_PERIOD_NOT_DASH = "EXCEL_IMPORT_PERIOD_NOT_DASH"; // 다음 엑셀 라인에서 입력한 시작일, 종료일에 문제가 있습니다. '-'이 포함되어 있는지 확인 후 '-'를 포함 시켜주세요. ex) 2022-01-01 public static final String EXCEL_IMPORT_DATETIME_NOT_DASH = "EXCEL_IMPORT_DATETIME_NOT_DASH"; // 다음 엑셀 라인에서 입력한 사용자 정의 필드에 문제가 있습니다. '-'이 포함되어 있는지 확인 후 '-'를 포함 시켜주세요. ex) 2022-01-01 public static final String EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY = "EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY"; // 다음 엑셀 라인에서 입력한 사용자 정의 필드 값이 유효하지 않습니다. public static final String EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST = "EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST"; // 등록하려는 사용자 정의 필드를 찾을 수 없습니다. 해당 사용자 정의필드의 이름이 변경되었거나 삭제되었습니다. @@ -189,6 +191,7 @@ public static final String EXCEL_IMPORT_PARENT_SECTOR_NOT_EQUAL = "EXCEL_IMPORT_PARENT_SECTOR_NOT_EQUAL"; // 다음 엑셀 라인에서 입력된 업종(중분류)은 업종(대분류)에 속해있지 않습니다. public static final String EXCEL_IMPORT_PARENT_SECTOR_IS_NULL = "EXCEL_IMPORT_PARENT_SECTOR_IS_NULL"; // 다음 엑셀 라인에서 업종(중분류)만 입력 했습니다. 업종(대분류)도 입력이 필요합니다. public static final String EXCEL_IMPORT_TEL_NOT_STRING_TYPE = "EXCEL_IMPORT_TEL_NOT_STRING_TYPE"; // 다음 엑셀 라인에서 입력된 연락처의 형식이 잘못 되었습니다. public static final String EXCEL_IMPORT_NOT_STRING_TYPE = "EXCEL_IMPORT_NOT_STRING_TYPE"; // 셀 서식의 형식이 문자 형식이 아닙니다. public static final String EXCEL_IMPORT_COMPANY_TYPE_NOT_EXIST = "EXCEL_IMPORT_COMPANY_TYPE_NOT_EXIST"; // 다음 엑셀 라인에서 입력된 기업구분명으로 검색되는 기업구분이 없습니다 public static final String EXCEL_IMPORT_PARENT_SECTOR_NOT_EXIST = "EXCEL_IMPORT_PARENT_SECTOR_NOT_EXIST"; // 다음 엑셀 라인에서 입력된 업종명으로 검색되는 업종(대분류)이 없습니다 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -3455,6 +3455,10 @@ * @return boolean */ private Boolean cellNullCheck (Cell cell) { if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK && cell.getCellType() != Cell.CELL_TYPE_STRING) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_NOT_STRING_TYPE)); } if (cell != null && cell.getStringCellValue() != null) { cell.setCellValue(cell.getStringCellValue().trim());//셀 값 공백 제거 } @@ -3505,13 +3509,13 @@ break;*/ case 4: // 시작일을 IssueForm 에 저장한다. if (cellNullCheck(cell)) { if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK) { this.setIssueFormPeriod(cell, issueForm, true, rowIndex); } break; case 5: // 종료일을 IssueForm 에 저장한다. if (cellNullCheck(cell)) { if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK) { this.setIssueFormPeriod(cell, issueForm, false, rowIndex); } break; @@ -3684,8 +3688,13 @@ // 값이 공백이면 중지 String cellValue = CommonUtil.convertExcelStringToCell(cell); if (StringUtils.isEmpty(cellValue) || !cell.toString().equals("null")) { if (StringUtils.isEmpty(cellValue) || cell.toString().equals("null")) { return; } if (cell.toString().length() < 10 && cell.toString().contains("-")) { //날짜 형식 체크 throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PERIOD_NOT_DASH, rowIndex)); } Date startDate; @@ -3715,7 +3724,7 @@ // 사용자 정의 필드 정보를 IssueForm 에 저장한다.- private void setIssueFormCustomFieldValue(Cell cell, Map<String, CustomField> customFieldMaps, IssueForm issueForm, String customFieldName, int rowIndex) { if (!cellNullCheck(cell)) { if (cell != null) { String cellValue = CommonUtil.convertExcelStringToCell(cell); Map<String, Object> issueCustomFieldMap = new HashMap<>(); CustomField customField = customFieldMaps.get(customFieldName); @@ -3745,6 +3754,10 @@ } if (customField.getCustomFieldType() == DATETIME) { //DATETIME일 경우 format 변경 if (cell.toString().length() < 10 && cell.toString().contains("-")) { //날짜 형식 체크 throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_DATETIME_NOT_DASH, rowIndex)); } Date date = cell.getDateCellValue(); cellValue = new SimpleDateFormat("yyyy-MM-dd H:mm:ss").format(date); } src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -181,6 +181,8 @@ EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST=\uB4F1\uB85D\uD558\uB824\uB294 \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uC0AC\uC6A9\uC790 \uC815\uC758\uD544\uB4DC\uC758 \uC774\uB984\uC774 \uBCC0\uACBD\uB418\uC5C8\uAC70\uB098 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_PERIOD_NOT_VALIDITY= \uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC2DC\uC791\uC77C, \uC885\uB8CC\uC77C\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uC2DC\uC791\uC77C\uC740 \uC885\uB8CC\uC77C\uBCF4\uB2E4 \uBE68\uB77C\uC57C \uD569\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC2DC\uC791\uC77C, \uC885\uB8CC\uC77C\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uACF5\uBC31\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778 \uD6C4 \uACF5\uBC31\uC744 \uC81C\uAC70\uD558\uC138\uC694. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_PERIOD_NOT_DASH=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC2DC\uC791\uC77C, \uC885\uB8CC\uC77C\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uB0A0\uC9DC \uD615\uC2DD\uC73C\uB85C \uC785\uB825 \uD574\uC8FC\uC138\uC694. ex) 2022-01-01 \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_DATETIME_NOT_DASH=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uB0A0\uC9DC \uD615\uC2DD\uC73C\uB85C \uC785\uB825 \uD574\uC8FC\uC138\uC694. ex) 2022-01-01 00:00:00 \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_MAX_ROWS_OVER = \uC5D1\uC140 \uC5C5\uB85C\uB4DC\uB85C \uC774\uC288 \uB4F1\uB85D\uC740 \uCD5C\uB300 1,000 \uAC74\uAE4C\uC9C0\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uB9CC\uC57D \uC791\uC131\uB41C \uC5D1\uC140\uC774 1,000 \uAC74 \uC774\uD558\uC77C \uACBD\uC6B0 \uC774 \uBA54\uC2DC\uC9C0\uAC00 \uD45C\uC2DC\uB418\uBA74 \uB9C8\uC9C0\uB9C9 \uC791\uC131\uB41C \uD589\uC774\uD6C4\uC758 \uBAA8\uB4E0 \uD589\uC744 \uC0AD\uC81C\uD55C \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694. RESERVATION_EMAIL_TITLE=[OWL ITS] \uC5B4\uC81C \uC774\uC288 \uBC0F \uD65C\uB3D9 \uD604\uD669\uC785\uB2C8\uB2E4. REALTIME_EMAIL_TITLE=[OWL ITS] \uC2E4\uC2DC\uAC04 \uC774\uC288 \uBC0F \uD65C\uB3D9 \uD604\uD669\uC785\uB2C8\uB2E4. @@ -197,6 +199,7 @@ EXCEL_IMPORT_REGION_NOT_EXIST=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC9C0\uC5ED\uBA85\uC73C\uB85C \uAC80\uC0C9\uB418\uB294 \uC9C0\uC5ED\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_PARENT_SECTOR_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC5C5\uC885(\uC911\uBD84\uB958)\uB9CC \uC785\uB825 \uD588\uC2B5\uB2C8\uB2E4. \n \uC5C5\uC885(\uB300\uBD84\uB958)\uB3C4 \uC785\uB825\uC774 \uD544\uC694\uD569\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_TEL_NOT_STRING_TYPE=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC5F0\uB77D\uCC98\uC758 \uD615\uC2DD\uC774 \uC798\uBABB \uB418\uC5C8\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} EXCEL_IMPORT_NOT_STRING_TYPE=\uC140 \uC11C\uC2DD\uC758 \uD615\uC2DD\uC774 \uBB38\uC790 \uD615\uC2DD\uC774 \uC544\uB2D9\uB2C8\uB2E4. ISSUE_RESERVATION_VALUE_INVALID=\uC774\uC288 \uBC1C\uC0DD \uC608\uC57D\uC77C\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. ISSUE_RESERVATION_NOT_EXIST=\uC774\uC288 \uBC1C\uC0DD \uC608\uC57D \uC815\uBCF4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. src/main/webapp/scripts/app/issue/issueImportExcel.controller.js
@@ -131,9 +131,11 @@ projectId : $scope.vm.form.projects[0].id, issueTypeId : $scope.vm.form.issueTypeId, parentIssueId : (function () { var id = -1; let id = -1; if ($rootScope.isDefined($scope.vm.form.issues)) { id = $scope.vm.form.issues[0].id if ($rootScope.isDefined($scope.vm.form.issues[0])) { id = $scope.vm.form.issues[0].id; } } return id; })()