From bd78ee158df93958380a6cc2460316fd87ed9713 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 화, 08 2월 2022 11:39:08 +0900 Subject: [PATCH] - 이슈 임포트 시 IP주소 정규식 표현 체크 - 업체 추가 시 url을 입력하지 않을 경우 중복 체크 하는 오류 수정 --- src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java | 174 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 119 insertions(+), 55 deletions(-) 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 e6ee02f..f0b018b 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java @@ -81,8 +81,13 @@ // �뾽泥� 異붽� @Override public CompanyField addCompany(CompanyFieldForm companyFieldForm) { - // url �쑀�슚�꽦 泥댄겕 - this.verifyUrl(companyFieldForm.getUrl(), null); + // �뾽泥대챸 以묐났 泥댄겕 + this.verifyTitle(companyFieldForm.getName(), null); + + if (companyFieldForm.getUrl() != null) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl(), null); + } if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { String tels = companyFieldForm.getTelList().toString(); @@ -107,21 +112,22 @@ // url �쑀�슚�꽦 泥댄겕 private void verifyUrl(String url, Long id) { - if (StringUtils.isEmpty(url)) { + /*if (StringUtils.isEmpty(url)) { throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL)); - } - CompanyField companyField; + this.messageAccessor.getMessage(MsgConstants.COMPANY_NOT_URL)); + }*/ + if (!StringUtils.isEmpty(url)) { + CompanyField companyField; + if(id == null){ + companyField = this.companyFieldRepository.findByUrl(url); + } else { + companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id); + } - if(id == null){ - companyField = this.companyFieldRepository.findByUrl(url); - } else { - companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id); - } - - if (companyField != null) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL)); + if (companyField != null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANY_USED_URL)); + } } } @@ -218,8 +224,13 @@ // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎. @Override public void modifyCompany(CompanyFieldForm companyFieldForm) { - // url �쑀�슚�꽦 泥댄겕 - this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId()); + // �뾽泥대챸 �쑀�슚�꽦 泥댄겕 + this.verifyTitle(companyFieldForm.getName(), companyFieldForm.getId()); + + if (companyFieldForm.getUrl() != null) { + // url �쑀�슚�꽦 泥댄겕 + this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId()); + } if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) { String tels = companyFieldForm.getTelList().toString(); @@ -236,10 +247,12 @@ companyFieldForm.setEmail(emails.trim()); } - CompanyFieldCategory companyFieldCategory = this.companyFieldCategoryService.find(companyFieldForm.getChildSectorId()); - if (!companyFieldCategory.getParentId().equals(companyFieldForm.getParentSectorId())) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.PARENT_SECTOR_NOT_EQUAL)); + if (companyFieldForm.getChildSectorId() != null) { + CompanyFieldCategory companyFieldCategory = this.companyFieldCategoryService.find(companyFieldForm.getChildSectorId()); + if (companyFieldCategory != null && !companyFieldCategory.getParentId().equals(companyFieldForm.getParentSectorId())) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.PARENT_SECTOR_NOT_EQUAL)); + } } CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class); @@ -382,7 +395,7 @@ for (int rowIndex = 0; rowIndex < lastRowNum; rowIndex++) { // 0踰덉� �뿤�뜑�뒗 臾댁떆�븳�떎. Row row = sheet.getRow(rowIndex); - // �뿤�뜑 �젙蹂대�� 異붿텧�븳�떎 - �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� 媛��졇�삤湲� �쐞�빐 + // �뿤�뜑 �젙蹂대�� 異붿텧�븳�떎 if (rowIndex == 1) { for (int cellIndex = 0; cellIndex < row.getLastCellNum(); cellIndex++) { Cell cell = row.getCell(cellIndex); @@ -431,9 +444,34 @@ * @param cell Cell * @return boolean */ - private Boolean cellNullCheck (Cell cell) { - return cell != null && cell.getStringCellValue() != null && cell.getCellType() != Cell.CELL_TYPE_BLANK; + 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)); + } + + // 怨듬갚 �젣嫄� + 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 != 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, @@ -443,7 +481,6 @@ CompanyFieldForm companyFieldForm = new CompanyFieldForm(); companyFieldForm.setRegisterId(this.webAppUtil.getLoginId()); - // �젣紐�, �궡�슜, �봽濡쒖젥�듃 �궎, �씠�뒋 ���엯, �슦�꽑�닚�쐞, 以묒슂�룄, �떞�떦�옄, �떆�옉�씪, 醫낅즺�씪, �궗�슜�옄 �젙�쓽 �븘�뱶 for (int cellIndex = 0; cellIndex < headers.size(); cellIndex++) { Cell cell = row.getCell(cellIndex); switch (cellIndex) { @@ -454,81 +491,85 @@ case 1: // url - this.setCompanyFormUrl(cell, companyFieldForm, rowIndex); + 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)) { + 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; @@ -568,10 +609,19 @@ private void setCompanyFormChildSector(Cell cell, Map<String, Map<String, Object>> childSectorMaps, CompanyFieldForm companyFieldForm, int rowIndex) { if (cell != null) { Map<String, Object> childSectorMap = childSectorMaps.get(CommonUtil.convertExcelStringToCell(cell)); + + // ��遺꾨쪟 �뾾�씠 以묐텇瑜섎쭔 �엯�젰�뻽�쓣寃쎌슦 + if (companyFieldForm.getParentSectorId() == null) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PARENT_SECTOR_IS_NULL, rowIndex)); + } + + // 以묐텇瑜섍� ��遺꾨쪟�뿉 �냽�빐�엳吏� �븡�뒗 寃쎌슦 if (!companyFieldForm.getParentSectorId().equals(MapUtil.getLong(childSectorMap, "parentId"))) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PARENT_SECTOR_NOT_EQUAL, rowIndex)); } + companyFieldForm.setChildSectorId(MapUtil.getLong(childSectorMap, "id")); } } @@ -650,7 +700,7 @@ } private void setCompanyFormName(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) { - if (cell == null) { + if (!cellNullCheck(cell, rowIndex)) { throw new OwlRuntimeException( this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_COMPANY_NAME_IS_NULL, rowIndex)); } @@ -658,34 +708,48 @@ String title = CommonUtil.convertExcelStringToCell(cell); // �뾽泥대챸 �쑀�슚�꽦 泥댄겕 - this.verifyTitle(title); + this.verifyTitle(title, null); companyFieldForm.setName(title); } private void setCompanyFormUrl(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) { - if (cell == null) { - throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_URL_IS_NULL, rowIndex)); - } - String url = CommonUtil.convertExcelStringToCell(cell); - if (url.contains(" ")) { - url = url.replace(" ", ""); - } - this.verifyUrl(url, null); //url �쑀�슚�꽦 寃��궗 + if (cell != null) { + String url = CommonUtil.convertExcelStringToCell(cell); + if (url.contains(" ")) { + url = url.replace(" ", ""); + } + this.verifyUrl(url, null); //url �쑀�슚�꽦 寃��궗 - companyFieldForm.setUrl(url); + companyFieldForm.setUrl(url); + } } // �뾽泥대챸 �쑀�슚�꽦 泥댄겕 - private void verifyTitle(String title) { - if (StringUtils.isEmpty(title)) { + private void verifyTitle(String title, Long id) { + List<CompanyField> companyFields = new ArrayList<>(); + + // �뾽泥대챸 以묐났 泥댄겕 + + if (id != null) { //�닔�젙 �씪 寃쎌슦 + companyFields = this.companyFieldRepository.findByNameAndIdNot(title, id); + } else { // 異붽� �씪 寃쎌슦 + companyFields = this.companyFieldRepository.findByName(title); + } + if (companyFields != null && companyFields.size() > 0) { throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.ISSUE_NO_TITLE)); + this.messageAccessor.getMessage(MsgConstants.COMPANY_NAME_ALREADY_IN_USE)); } + // �뾽泥대챸 鍮덇컪 泥댄겕 + if (StringUtils.isEmpty(title)) { + throw new OwlRuntimeException( + this.messageAccessor.getMessage(MsgConstants.COMPANY_NO_TITLE)); + } + + // �뾽泥대챸 湲몄씠 泥댄겕 if (title.length() > 300) { throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.ISSUE_TITLE_MAX_LENGTH_OUT)); + this.messageAccessor.getMessage(MsgConstants.COMPANY_NAME_MAX_LENGTH_OUT)); } } @@ -817,13 +881,13 @@ public CompanyField getCompany(Long id) { if (id == null) { throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST)); + this.messageAccessor.getMessage(MsgConstants.COMPANY_NOT_EXIST)); } CompanyField companyField = this.findOne(id); if (companyField == null) { throw new OwlRuntimeException( - this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST)); + this.messageAccessor.getMessage(MsgConstants.COMPANY_NOT_EXIST)); } return companyField; } -- Gitblit v1.8.0