| | |
| | | // 업체명 중복 체크 |
| | | this.verifyTitle(companyFieldForm.getName(), null); |
| | | |
| | | if (companyFieldForm.getIpStart() != null && companyFieldForm.getIpEnd() != null) { |
| | | // 아이피 유효성 체크 |
| | | this.verifyIp(companyFieldForm.getIpStart(), companyFieldForm.getIpEnd()); |
| | | } |
| | | |
| | | if (companyFieldForm.getUrl() != null) { |
| | | // url 유효성 체크 |
| | | this.verifyUrl(companyFieldForm.getUrl(), null); |
| | |
| | | return companyField; |
| | | } |
| | | |
| | | /** |
| | | * IP 유효성 체크 |
| | | * @param ip String |
| | | */ |
| | | private void verifyIp(String ip, String ip2) { |
| | | if (ip2 == null) { |
| | | if (!StringUtils.isEmpty(ip)) { |
| | | if (!Pattern.matches("^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\" + |
| | | ".(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$", ip)) { |
| | | throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.IP_NOT_INVALID)); |
| | | } |
| | | } |
| | | } else { |
| | | if (!StringUtils.isEmpty(ip)) { |
| | | long ipStart = ConvertUtil.ipToLong(ip); |
| | | long ipEnd = ConvertUtil.ipToLong(ip2); |
| | | if (ipEnd < ipStart) { |
| | | throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.IP_START_NOT_LARGER_THAN_END)); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // url 유효성 체크 |
| | | private void verifyUrl(String url, Long id) { |
| | | /*if (StringUtils.isEmpty(url)) { |
| | |
| | | this.messageAccessor.getMessage(MsgConstants.COMPANY_NOT_URL)); |
| | | }*/ |
| | | if (!StringUtils.isEmpty(url)) { |
| | | CompanyField companyField; |
| | | if(id == null){ |
| | | companyField = this.companyFieldRepository.findByUrl(url); |
| | | List<CompanyField> companyFieldList = Lists.newArrayList(); |
| | | CompanyFieldCondition condition = new CompanyFieldCondition(); |
| | | String[] urlArr = null; |
| | | List<String> urls = Lists.newArrayList(); |
| | | |
| | | if (url.contains(" ")) { |
| | | url = url.replace(" ",""); |
| | | } |
| | | if (url.contains(",")) { |
| | | urlArr = url.split(","); |
| | | urls.addAll(Arrays.asList(urlArr)); |
| | | } else { |
| | | companyField = this.companyFieldRepository.findByUrlAndIdNot(url,id); |
| | | urls.add(url); |
| | | } |
| | | |
| | | if (companyField != null) { |
| | | if (urls.size() > 0) { |
| | | condition.setUrl(urls); |
| | | |
| | | if(id == null){ |
| | | companyFieldList = this.companyFieldMapper.findByUrls(condition); |
| | | } else { |
| | | condition.setId(id); |
| | | companyFieldList = this.companyFieldMapper.findByUrlsAndIdNot(condition); |
| | | } |
| | | } |
| | | |
| | | if (companyFieldList != null && companyFieldList.size() > 0) { |
| | | throw new OwlRuntimeException( |
| | | this.messageAccessor.getMessage(MsgConstants.COMPANY_USED_URL)); |
| | | } |
| | |
| | | excelInfo.setFileName(this.messageAccessor.message("common.registerExcelCompanyField")); // 엑셀로 업체 등록하기 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 업체명 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyUrl"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // url |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyIpStart"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // ip 시작 주소 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyIpEnd"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // ip 종료 주소 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("isp.ispName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // isp명 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("Hosting.HostingName"), 20, ExportExcelAttrVo.ALIGN_CENTER)); // 호스팅명 |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("id", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER)); // 연락처 |
| | |
| | | if (rowIndex > 1) { |
| | | // 업체로 등록하기 위해 CompanyFieldForm 에 데이터를 셋팅한다. |
| | | CompanyFieldForm newCompanyFieldForm = this.setCompanyFieldFormToExcelField(row, (rowIndex + 1), ispFieldMaps, hostingFieldMaps, companyTypeMaps, parentSectorMaps, childSectorMaps, regionMaps, statusMaps, headers); |
| | | // ip 유효성 체크 |
| | | this.verifyIp(newCompanyFieldForm.getIpStart(), newCompanyFieldForm.getIpEnd()); |
| | | |
| | | companyFieldForms.add(newCompanyFieldForm); |
| | | } |
| | |
| | | break; |
| | | |
| | | case 2: |
| | | // ip시작주소 |
| | | this.setCompanyFormIpStart(cellStr, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 3: |
| | | // ip종료주소 |
| | | this.setCompanyFormIpEnd(cellStr, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 4: |
| | | // isp명 |
| | | this.setCompanyFormIspName(cellStr, ispFieldMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 3: |
| | | case 5: |
| | | // 호스팅명 |
| | | this.setCompanyFormHostingName(cellStr, hostingFieldMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 4: |
| | | case 6: |
| | | // 연락처 |
| | | telTypeCheck(cell, rowIndex); |
| | | this.setCompanyFormTel(cellStr, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 5: |
| | | case 7: |
| | | // 이메일 |
| | | this.setCompanyFormEmail(cellStr, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 6: |
| | | case 8: |
| | | // 담당자 |
| | | this.setCompanyFormManager(cellStr, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 7: |
| | | case 9: |
| | | // 기업구분 |
| | | this.setCompanyFormCompanyType(cellStr, companyTypeMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 8: |
| | | case 10: |
| | | // 업종(대분류) |
| | | this.setCompanyFormParentSector(cellStr, parentSectorMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 9: |
| | | case 11: |
| | | // 업종(중분류) |
| | | this.setCompanyFormChildSector(cellStr, childSectorMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 10: |
| | | case 12: |
| | | // 지역 |
| | | this.setCompanyFormRegion(cellStr, regionMaps, companyFieldForm, rowIndex, isNull); |
| | | break; |
| | | |
| | | case 11: |
| | | case 13: |
| | | // 상태 |
| | | this.setCompanyFormStatus(cellStr, statusMaps, companyFieldForm, isNull); |
| | | break; |
| | | |
| | | case 12: |
| | | case 14: |
| | | // 비고 |
| | | this.setCompanyFormMemo(cellStr, companyFieldForm, isNull); |
| | | } |
| | | } |
| | | |
| | | return companyFieldForm; |
| | | } |
| | | |
| | | private void setCompanyFormIpEnd(String ipEnd, CompanyFieldForm companyFieldForm, boolean isNull) { |
| | | if (!isNull) { |
| | | if (ipEnd.contains(" ")) { |
| | | ipEnd = ipEnd.replace(" ", ""); |
| | | } |
| | | this.verifyIp(ipEnd, null); //ip 유효성 검사 |
| | | |
| | | companyFieldForm.setIpEnd(ipEnd); |
| | | } |
| | | } |
| | | |
| | | private void setCompanyFormIpStart(String ipStart, CompanyFieldForm companyFieldForm, boolean isNull) { |
| | | if (!isNull) { |
| | | if (ipStart.contains(" ")) { |
| | | ipStart = ipStart.replace(" ", ""); |
| | | } |
| | | this.verifyIp(ipStart, null); //ip 유효성 검사 |
| | | |
| | | companyFieldForm.setIpStart(ipStart); |
| | | } |
| | | } |
| | | |
| | | private void setCompanyFormMemo(String cellStr, CompanyFieldForm companyFieldForm, boolean isNull) { |
| | |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("tel", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("email", this.messageAccessor.message("companyField.companyEmail"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("url", this.messageAccessor.message("companyField.companyUrl"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("ipRange", this.messageAccessor.message("companyField.companyIp"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("companyTypeName", this.messageAccessor.message("companyField.companyTypeName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("parentSectorName", this.messageAccessor.message("companyField.parentSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |
| | | excelInfo.addAttrInfos(new ExportExcelAttrVo("childSectorName", this.messageAccessor.message("companyField.childSectorName"), 10, ExportExcelAttrVo.ALIGN_CENTER)); |