From a227dd7df7f84a5cfb7218042a6f844991dcfb96 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 09 2월 2022 14:53:41 +0900
Subject: [PATCH] - isp, 호스팅 엑셀 import 기능 추가

---
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java |  209 +++++++++++++++++++++++++--------------------------
 1 files changed, 102 insertions(+), 107 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 f0b018b..32d6003 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -355,7 +355,7 @@
         }
     }
 
-    //  �뿊�� import 濡� �씠�뒋瑜� �벑濡앺븳�떎.
+    //  �뿊�� import 濡� �뾽泥대�� �벑濡앺븳�떎.
     @Override
     @Transactional
     public void importExcel(MultipartFile multipartFile) throws Exception {
@@ -440,38 +440,53 @@
     }
 
     /**
+     * cell String�쑝濡� 蹂��솚 �븿�닔
+     * @param cell Cell
+     * @param isNull boolean
+     * @return String
+     */
+    private String stringToCell (Cell cell, boolean isNull) {
+        String cellStr = "";
+        if (!isNull) {
+            cellStr = CommonUtil.convertExcelStringToCell(cell);
+            //  怨듬갚 �젣嫄�
+            cell.setCellValue(cellStr.trim());
+        } else {
+            cell.setCellValue(cellStr);
+        }
+        return cellStr;
+    }
+
+    /**
      * cell NULL 泥댄겕 �븿�닔
      * @param cell Cell
      * @return boolean
      */
-    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));
+    private Boolean cellNullCheck (Cell cell) {
+        int cellType = cell.getCellType();
+        if (cellType < Cell.CELL_TYPE_BLANK) {
+            if (cellType == Cell.CELL_TYPE_STRING) {
+                if (cell.getStringCellValue() != null && !cell.getStringCellValue().equals("")) {
+                    return false;
+                }
+            } else {
+                return false;
+            }
         }
-
-        //  怨듬갚 �젣嫄�
-        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;
+        return true;
     }
 
-    /*private void telTypeCheck (Cell cell, int rowIndex) {
+    /**
+     * �쟾�솕踰덊샇 CellType 泥댄겕 �븿�닔
+     * @param cell Cell
+     * @param rowIndex int
+     */
+    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,
@@ -483,121 +498,111 @@
 
         for (int cellIndex = 0; cellIndex < headers.size(); cellIndex++) {
             Cell cell = row.getCell(cellIndex);
+
+            String cellStr = "";
+            boolean isNull = true;
+
+            if (cell != null) {
+                isNull = cellNullCheck(cell);
+                cellStr = stringToCell(cell, isNull); //cell�쓣 String�쑝濡� 蹂��솚
+            }
+
             switch (cellIndex) {
                 case 0:
                     //  �뾽泥대챸
-                    this.setCompanyFormName(cell, companyFieldForm, rowIndex);
+                    if (isNull) {
+                        throw new OwlRuntimeException(
+                                this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_COMPANY_NAME_IS_NULL, rowIndex));
+                    }
+                    this.setCompanyFormName(cellStr, companyFieldForm);
                     break;
 
                 case 1:
                     //  url
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormUrl(cell, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormUrl(cellStr, companyFieldForm, isNull);
                     break;
 
                 case 2:
                     // isp紐�
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormIspName(cell, ispFieldMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormIspName(cellStr, ispFieldMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 3:
                     // �샇�뒪�똿紐�
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormHostingName(cell, hostingFieldMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormHostingName(cellStr, hostingFieldMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 4:
                     // �뿰�씫泥�
-                    if (cellNullCheck(cell, rowIndex)) {
-                        //this.telTypeCheck(cell, rowIndex);
-                        this.setCompanyFormTel(cell, companyFieldForm, rowIndex);
-                    }
+                    telTypeCheck(cell, rowIndex);
+                    this.setCompanyFormTel(cellStr, companyFieldForm, isNull);
                     break;
 
                 case 5:
                     // �씠硫붿씪
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormEmail(cell, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormEmail(cellStr, companyFieldForm, isNull);
                     break;
 
                 case 6:
                     // �떞�떦�옄
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormManager(cell, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormManager(cellStr, companyFieldForm, isNull);
                     break;
 
                 case 7:
                     // 湲곗뾽援щ텇
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormCompanyType(cell, companyTypeMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormCompanyType(cellStr, companyTypeMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 8:
                     // �뾽醫�(��遺꾨쪟)
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormParentSector(cell, parentSectorMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormParentSector(cellStr, parentSectorMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 9:
                     // �뾽醫�(以묐텇瑜�)
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormChildSector(cell, childSectorMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormChildSector(cellStr, childSectorMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 10:
                     // 吏��뿭
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormRegion(cell, regionMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormRegion(cellStr, regionMaps, companyFieldForm, rowIndex, isNull);
                     break;
 
                 case 11:
                     // �긽�깭
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormStatus(cell, statusMaps, companyFieldForm, rowIndex);
-                    }
+                    this.setCompanyFormStatus(cellStr, statusMaps, companyFieldForm, isNull);
                     break;
 
                 case 12:
                     // 鍮꾧퀬
-                    if (cellNullCheck(cell, rowIndex)) {
-                        this.setCompanyFormMemo(cell, companyFieldForm, rowIndex);
-                    }
-                    break;
+                    this.setCompanyFormMemo(cellStr, companyFieldForm, isNull);
             }
         }
 
         return companyFieldForm;
     }
 
-    private void setCompanyFormMemo(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        companyFieldForm.setMemo(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormMemo(String cellStr, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
+            companyFieldForm.setMemo(cellStr);
+        }
     }
 
-    private void setCompanyFormStatus(Cell cell, Map<String, Map<String, Object>> statusMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            Map<String, Object> statusMap = statusMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormStatus(String cellStr, Map<String, Map<String, Object>> statusMaps, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
+            Map<String, Object> statusMap = statusMaps.get(cellStr);
             if (MapUtil.getLong(statusMap, "id") != null) {
                 companyFieldForm.setStatusId(MapUtil.getLong(statusMap, "id"));
             } else {
                 companyFieldForm.setStatusId(120L);
             }
-            companyFieldForm.setStatusName(CommonUtil.convertExcelStringToCell(cell));
+            companyFieldForm.setStatusName(cellStr);
         }
     }
 
-    private void setCompanyFormRegion(Cell cell, Map<String, Map<String, Object>> regionMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            Map<String, Object> regionMap = regionMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormRegion(String cellStr, Map<String, Map<String, Object>> regionMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            Map<String, Object> regionMap = regionMaps.get(cellStr);
             if (regionMap == null) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_REGION_NOT_EXIST, rowIndex));
@@ -606,9 +611,9 @@
         }
     }
 
-    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));
+    private void setCompanyFormChildSector(String cellStr, Map<String, Map<String, Object>> childSectorMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            Map<String, Object> childSectorMap = childSectorMaps.get(cellStr);
 
             //  ��遺꾨쪟 �뾾�씠 以묐텇瑜섎쭔 �엯�젰�뻽�쓣寃쎌슦
             if (companyFieldForm.getParentSectorId() == null) {
@@ -626,9 +631,9 @@
         }
     }
 
-    private void setCompanyFormParentSector(Cell cell, Map<String, Map<String, Object>> parentSectorMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            Map<String, Object> parentSectorMap = parentSectorMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormParentSector(String cellStr, Map<String, Map<String, Object>> parentSectorMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            Map<String, Object> parentSectorMap = parentSectorMaps.get(cellStr);
             if (parentSectorMap == null) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_PARENT_SECTOR_NOT_EXIST, rowIndex));
@@ -637,9 +642,9 @@
         }
     }
 
-    private void setCompanyFormCompanyType(Cell cell, Map<String, Map<String, Object>> companyTypeMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            Map<String, Object> companyTypeMap = companyTypeMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormCompanyType(String cellStr, Map<String, Map<String, Object>> companyTypeMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            Map<String, Object> companyTypeMap = companyTypeMaps.get(cellStr);
             if (companyTypeMap == null) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_COMPANY_TYPE_NOT_EXIST, rowIndex));
@@ -648,25 +653,23 @@
         }
     }
 
-    private void setCompanyFormManager(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            companyFieldForm.setManager(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormManager(String manager, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
+            companyFieldForm.setManager(manager);
         }
     }
 
-    private void setCompanyFormEmail(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            String email = CommonUtil.convertExcelStringToCell(cell);
-            if (CommonUtil.convertExcelStringToCell(cell).contains(" ")) {
-                email = CommonUtil.convertExcelStringToCell(cell).replace(" ", "");
+    private void setCompanyFormEmail(String email, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
+            if (email.contains(" ")) {
+                email = email.replace(" ", "");
             }
             companyFieldForm.setEmail(email);
         }
     }
 
-    private void setCompanyFormTel(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            String tel = CommonUtil.convertExcelStringToCell(cell);
+    private void setCompanyFormTel(String tel, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
             if (tel.contains("-")) {
                 tel = tel.replace("-", "");
             }
@@ -677,9 +680,9 @@
         }
     }
 
-    private void setCompanyFormHostingName(Cell cell, Map<String, HostingField> hostingFieldMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            HostingField hostingField = hostingFieldMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormHostingName(String cellStr, Map<String, HostingField> hostingFieldMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            HostingField hostingField = hostingFieldMaps.get(cellStr);
             if (hostingField == null) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_HOSTING_NOT_EXIST, rowIndex));
@@ -688,9 +691,9 @@
         }
     }
 
-    private void setCompanyFormIspName(Cell cell, Map<String, IspField> ispFieldMaps, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            IspField ispField = ispFieldMaps.get(CommonUtil.convertExcelStringToCell(cell));
+    private void setCompanyFormIspName(String cellStr, Map<String, IspField> ispFieldMaps, CompanyFieldForm companyFieldForm, int rowIndex, boolean isNull) {
+        if (!isNull) {
+            IspField ispField = ispFieldMaps.get(cellStr);
             if (ispField == null) {
                 throw new OwlRuntimeException(
                         this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_ISP_NOT_EXIST, rowIndex));
@@ -699,22 +702,14 @@
         }
     }
 
-    private void setCompanyFormName(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (!cellNullCheck(cell, rowIndex)) {
-            throw new OwlRuntimeException(
-                    this.messageAccessor.getMessage(MsgConstants.EXCEL_IMPORT_COMPANY_NAME_IS_NULL, rowIndex));
-        }
-
-        String title = CommonUtil.convertExcelStringToCell(cell);
-
+    private void setCompanyFormName(String title, CompanyFieldForm companyFieldForm) {
         //  �뾽泥대챸 �쑀�슚�꽦 泥댄겕
         this.verifyTitle(title, null);
         companyFieldForm.setName(title);
     }
 
-    private void setCompanyFormUrl(Cell cell, CompanyFieldForm companyFieldForm, int rowIndex) {
-        if (cell != null) {
-            String url = CommonUtil.convertExcelStringToCell(cell);
+    private void setCompanyFormUrl(String url, CompanyFieldForm companyFieldForm, boolean isNull) {
+        if (!isNull) {
             if (url.contains(" ")) {
                 url = url.replace(" ", "");
             }

--
Gitblit v1.8.0