From 4ab15ca2bb74d0d33d1325d849422635b9d415b1 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 07 2월 2022 15:31:39 +0900 Subject: [PATCH] 업체 임포트 시 코드 보완 --- src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java | 38 +++++++++++++----- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 57 ++++++++++++++++++---------- src/main/java/kr/wisestone/owl/constant/MsgConstants.java | 1 src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties | 3 + 4 files changed, 66 insertions(+), 33 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java index 0e8834c..5db2622 100644 --- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java +++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java @@ -177,6 +177,7 @@ public static final String EXCEL_IMPORT_SEVERITY_IS_NULL = "EXCEL_IMPORT_SEVERITY_IS_NULL"; // �떎�쓬 �뿊�� �씪�씤�뿉�꽌 以묒슂�룄 紐낆씠 �엯�젰�릺吏� �븡�븯�뒿�땲�떎. 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_START = "EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY_START"; // �떎�쓬 �뿊�� �씪�씤�뿉�꽌 醫낅즺�씪�� �엯�젰 �릺�뼱�엳�쑝�굹, �떆�옉�씪�� �엯�젰�릺吏� �븡�븯�뒿�땲�떎. 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 diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java index 56499a8..eda71d1 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -442,19 +442,34 @@ * @param cell Cell * @return boolean */ - private Boolean cellNullCheck (Cell cell) { - if (cell != null && cell.getStringCellValue() != null) { - cell.setCellValue(cell.getStringCellValue().trim());//�� 媛� 怨듬갚 �젣嫄� + private Boolean cellNullCheck (Cell cell, int rowIndex) { + boolean result = false; + + // 臾몄옄�삎�떇�씤吏� 泥댄겕 + 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, rowIndex)); } - return cell != null && cell.getStringCellValue() != null && !cell.getStringCellValue().equals("") && cell.getCellType() != Cell.CELL_TYPE_BLANK; + + // 怨듬갚 �젣嫄� + if (cell != null && cell.getCellType() == cell.CELL_TYPE_STRING && cell.getStringCellValue() != null) { + cell.setCellValue(cell.getStringCellValue().trim()); + } + + if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK && cell.getCellType() == cell.CELL_TYPE_STRING + && cell.getStringCellValue() != null && !cell.getStringCellValue().equals("")) { + result = true; + } + + return result; } - private void telTypeCheck (Cell cell, int rowIndex) { - if (cell.getCellType() != cell.CELL_TYPE_STRING) { + /*private void telTypeCheck (Cell cell, int rowIndex) { + if (cell != null && cell.getCellType() != cell.CELL_TYPE_STRING) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_TEL_NOT_STRING_TYPE, rowIndex)); } - } + }*/ // �뿊�� �븘�뱶�뿉 �엳�뒗 �젙蹂대�� �뾽泥� form �쑝濡� �삷湲대떎. private CompanyFieldForm setCompanyFieldFormToExcelField(Row row, int rowIndex, Map<String, IspField> ispFieldMaps, Map<String, HostingField> hostingFieldMaps, @@ -474,85 +489,85 @@ case 1: // url - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormUrl(cell, companyFieldForm, rowIndex); } break; case 2: // isp紐� - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormIspName(cell, ispFieldMaps, companyFieldForm, rowIndex); } break; case 3: // �샇�뒪�똿紐� - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormHostingName(cell, hostingFieldMaps, companyFieldForm, rowIndex); } break; case 4: // �뿰�씫泥� - if (cellNullCheck(cell)) { - this.telTypeCheck(cell, rowIndex); // �뀓�뒪�듃 �삎�떇 泥댄겕 + if (cellNullCheck(cell, rowIndex)) { + //this.telTypeCheck(cell, rowIndex); this.setCompanyFormTel(cell, companyFieldForm, rowIndex); } break; case 5: // �씠硫붿씪 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormEmail(cell, companyFieldForm, rowIndex); } break; case 6: // �떞�떦�옄 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormManager(cell, companyFieldForm, rowIndex); } break; case 7: // 湲곗뾽援щ텇 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormCompanyType(cell, companyTypeMaps, companyFieldForm, rowIndex); } break; case 8: // �뾽醫�(��遺꾨쪟) - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormParentSector(cell, parentSectorMaps, companyFieldForm, rowIndex); } break; case 9: // �뾽醫�(以묐텇瑜�) - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormChildSector(cell, childSectorMaps, companyFieldForm, rowIndex); } break; case 10: // 吏��뿭 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormRegion(cell, regionMaps, companyFieldForm, rowIndex); } break; case 11: // �긽�깭 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormStatus(cell, statusMaps, companyFieldForm, rowIndex); } break; case 12: // 鍮꾧퀬 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setCompanyFormMemo(cell, companyFieldForm, rowIndex); } break; @@ -683,7 +698,7 @@ } private void setCompanyFormName(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) { - if (!cellNullCheck(cell)) { + if (!cellNullCheck(cell, rowIndex)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_COMPANY_NAME_IS_NULL, rowIndex)); } 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 1802cb4..8e87053 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java @@ -3454,15 +3454,25 @@ * @param cell Cell * @return boolean */ - private Boolean cellNullCheck (Cell cell) { + private Boolean cellNullCheck (Cell cell, int rowIndex) { + boolean result = false; + + // 臾몄옄�삎�떇�씤吏� 泥댄겕 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)); + this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_NOT_STRING_TYPE, rowIndex)); } + // 怨듬갚 �젣嫄� if (cell != null && cell.getStringCellValue() != null) { - cell.setCellValue(cell.getStringCellValue().trim());//�� 媛� 怨듬갚 �젣嫄� + cell.setCellValue(cell.getStringCellValue().trim()); } - return cell != null && cell.getStringCellValue() != null && !cell.getStringCellValue().equals("") && cell.getCellType() != Cell.CELL_TYPE_BLANK; + + if (cell != null && cell.getCellType() != Cell.CELL_TYPE_BLANK && cell.getCellType() == cell.CELL_TYPE_STRING + && cell.getStringCellValue() != null && !cell.getStringCellValue().equals("")) { + result = true; + } + + return result; } // �뿊�� �븘�뱶�뿉 �엳�뒗 �젙蹂대�� �씠�뒋 form �쑝濡� �삷湲대떎. @@ -3485,7 +3495,7 @@ break; case 1: // �궡�슜 - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { issueForm.setDescription(CommonUtil.convertExcelStringToCell(cell)); } else { // null �엯�젰 諛⑹� @@ -3521,19 +3531,19 @@ break; case 6: // �뾽泥대�� IssueForm �뿉 ���옣�븳�떎. - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setIssueFormCompanyField(cell, companyFieldMaps, issueForm, rowIndex); } break; case 7: // ISP瑜� IssueForm �뿉 ���옣�븳�떎. - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setIssueFormIspField(cell, ispFieldMaps, issueForm, rowIndex); } break; case 8: // �샇�뒪�똿�쓣 IssueForm �뿉 ���옣�븳�떎. - if (cellNullCheck(cell)) { + if (cellNullCheck(cell, rowIndex)) { this.setIssueFormHostingField(cell, hostingFieldMaps, issueForm, rowIndex); } break; @@ -3587,7 +3597,7 @@ // �씠�뒋 �젣紐⑹쓣 IssueForm �뿉 ���옣�븳�떎. private void setIssueFormTitle(Cell cell, IssueForm issueForm, int rowIndex) { - if (!cellNullCheck(cell)) { + if (!cellNullCheck(cell, rowIndex)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_ISSUE_TITLE_IS_NULL, rowIndex)); } @@ -3635,7 +3645,7 @@ // �슦�꽑�닚�쐞瑜� IssueForm �뿉 ���옣�븳�떎. private void setIssueFormPriority(Cell cell, Map<String, Priority> priorityMaps, IssueForm issueForm, int rowIndex) { - if (!cellNullCheck(cell)) { + if (!cellNullCheck(cell, rowIndex)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PRIORITY_IS_NULL, rowIndex)); } @@ -3652,7 +3662,7 @@ // 以묒슂�룄瑜� IssueForm �뿉 ���옣�븳�떎. private void setIssueFormSeverity(Cell cell, Map<String, Severity> severityMaps, IssueForm issueForm, int rowIndex) { - if (!cellNullCheck(cell)) { + if (!cellNullCheck(cell, rowIndex)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_SEVERITY_IS_NULL, rowIndex)); } @@ -3710,6 +3720,12 @@ issueForm.setStartDate(DateUtil.convertDateToStr(startDate, "yyyy-MM-dd")); } else { issueForm.setCompleteDate(DateUtil.convertDateToStr(startDate, "yyyy-MM-dd")); + + // 醫낅즺�씪留� �엯�젰 �뻽�쓣 寃쎌슦 + if (issueForm.getCompleteDate() != null && issueForm.getStartDate() == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY_START, rowIndex)); + } try { // �궇吏� �쑀�슚�꽦 泥댄겕 diff --git a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties index ebc051c..a27bbd4 100644 --- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties +++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties @@ -181,6 +181,7 @@ 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_VALIDITY_EMPTY_START=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC885\uB8CC\uC77C\uC740 \uC785\uB825 \uB418\uC5B4\uC788\uC73C\uB098, \n \uC2DC\uC791\uC77C\uC740 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \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. @@ -199,7 +200,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. +EXCEL_IMPORT_NOT_STRING_TYPE=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC140 \uC11C\uC2DD\uC758 \uD615\uC2DD\uC774 \uBB38\uC790 \uD615\uC2DD\uC774 \uC544\uB2D9\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} 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. -- Gitblit v1.8.0