From 3b019e5599dfb5d368f4e8fd50fb557f4679a645 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 12 1월 2022 15:19:58 +0900
Subject: [PATCH] 업체/isp/호스팅 기능 개편

---
 src/main/java/kr/wisestone/owl/web/form/UsePartnerForm.java                             |   18 
 src/main/java/kr/wisestone/owl/web/controller/CompanyFieldCategoryController.java       |   44 
 src/main/java/kr/wisestone/owl/domain/CompanyField.java                                 |   60 +
 src/main/java/kr/wisestone/owl/mapper/CompanyFieldCategoryMapper.java                   |   22 
 src/main/java/kr/wisestone/owl/web/condition/CompanyFieldCategoryCondition.java         |  131 ++
 src/main/webapp/scripts/app/companyField/companyFieldList.controller.js                 |   50 
 src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js                       |  135 ++
 src/main/webapp/views/ispField/ispFieldModify.html                                      |   93 +
 src/main/java/kr/wisestone/owl/vo/CompanyFieldVo.java                                   |   91 +
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldCategoryServiceImpl.java        |   96 +
 src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java                    |   18 
 src/main/java/kr/wisestone/owl/service/CompanyFieldCategoryService.java                 |   22 
 src/main/java/kr/wisestone/owl/web/form/HostingFieldForm.java                           |    8 
 src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js                 |   25 
 src/main/java/kr/wisestone/owl/repository/CompanyFieldCategoryRepository.java           |   10 
 src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js      |    2 
 src/main/webapp/scripts/app/ispField/ispFieldList.controller.js                         |   25 
 src/main/java/kr/wisestone/owl/vo/CompanyFieldCategoryVo.java                           |   60 +
 src/main/webapp/scripts/main.js                                                         |    5 
 src/main/resources/migration/V1_3__insert_new_data.sql                                  |    7 
 src/main/webapp/views/hostingField/hostingFieldAdd.html                                 |   94 +
 src/main/java/kr/wisestone/owl/domain/enumType/CompanyFieldCategoryType.java            |   12 
 src/main/resources/mybatis/query-template/companyField-template.xml                     |    8 
 src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js               |  271 ++++
 src/main/webapp/views/ispField/ispFieldAdd.html                                         |   92 +
 src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js                  |  209 +++
 src/main/java/kr/wisestone/owl/constant/MsgConstants.java                               |    2 
 src/main/resources/mybatis/query-template/companyFieldCategory-template.xml             |   49 
 src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties                                  |    1 
 src/main/webapp/views/companyField/companyFieldModify.html                              |  369 +++--
 src/main/webapp/assets/styles/main.css                                                  |    4 
 src/main/webapp/scripts/components/utils/autoComplete.controller.js                     |   92 +
 src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js               |  135 ++
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java                |   94 +
 src/main/java/kr/wisestone/owl/web/form/IspFieldForm.java                               |    8 
 src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java                |   18 
 src/main/java/kr/wisestone/owl/web/form/CompanyFieldForm.java                           |   65 +
 src/main/webapp/i18n/ko/global.json                                                     |   23 
 src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js                          |   96 +
 src/main/webapp/views/hostingField/hostingFieldModify.html                              |   95 +
 src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java                         |   74 +
 src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js                  |   96 +
 src/main/webapp/WEB-INF/i18n/code_ko_KR.properties                                      |    5 
 src/main/webapp/views/companyField/companyFieldAdd.html                                 |  340 +++--
 src/main/webapp/scripts/components/companyFieldCategory/companyFieldCategory.service.js |   20 
 45 files changed, 2,656 insertions(+), 538 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
index 7c64dc2..b5c9a1e 100644
--- a/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
+++ b/src/main/java/kr/wisestone/owl/constant/MsgConstants.java
@@ -245,6 +245,8 @@
 
     public static final String EMAIL_TEMPLATE_NOT_EXIST = "EMAIL_TEMPLATE_NOT_EXIST"; //  �씠硫붿씪 �뀥�뵆由우쓣 李얠쓣�닔 �뾾�뒿�땲�떎.
 
+    public static final String PARENT_SECTOR_NOT_SELECT = "PARENT_SECTOR_NOT_SELECT";   // �뾽醫�(��遺꾨쪟)瑜� 癒쇱� �꽑�깮 �빐 二쇱꽭�슂.
+
     /**
      * api �뙆�씪誘명꽣 �삤瑜�(�씠�뒋���엯)
      */
diff --git a/src/main/java/kr/wisestone/owl/domain/CompanyField.java b/src/main/java/kr/wisestone/owl/domain/CompanyField.java
index d733e82..db28cbc 100644
--- a/src/main/java/kr/wisestone/owl/domain/CompanyField.java
+++ b/src/main/java/kr/wisestone/owl/domain/CompanyField.java
@@ -1,9 +1,6 @@
 package kr.wisestone.owl.domain;
 
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
+import javax.persistence.*;
 import java.io.Serializable;
 
 @Entity
@@ -21,6 +18,13 @@
     private String memo;
     private Long ispId;
     private Long hostingId;
+
+    private Long companyTypeId;
+    private Long parentSectorId;
+    private Long childSectorId;
+    private Long regionId;
+    private Long statusId;
+    private String statusName;
 
     public CompanyField() {}
 
@@ -95,4 +99,52 @@
     public void setHostingId(Long hostingId) {
         this.hostingId = hostingId;
     }
+
+    public Long getCompanyTypeId() {
+        return companyTypeId;
+    }
+
+    public void setCompanyTypeId(Long companyTypeId) {
+        this.companyTypeId = companyTypeId;
+    }
+
+    public Long getParentSectorId() {
+        return parentSectorId;
+    }
+
+    public void setParentSectorId(Long parentSectorId) {
+        this.parentSectorId = parentSectorId;
+    }
+
+    public Long getChildSectorId() {
+        return childSectorId;
+    }
+
+    public void setChildSectorId(Long childSectorId) {
+        this.childSectorId = childSectorId;
+    }
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    public Long getStatusId() {
+        return statusId;
+    }
+
+    public void setStatusId(Long statusId) {
+        this.statusId = statusId;
+    }
+
+    public String getStatusName() {
+        return statusName;
+    }
+
+    public void setStatusName(String statusName) {
+        this.statusName = statusName;
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java b/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java
new file mode 100644
index 0000000..28fcbfd
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/domain/CompanyFieldCategory.java
@@ -0,0 +1,74 @@
+package kr.wisestone.owl.domain;
+
+import jdk.nashorn.internal.objects.annotations.Getter;
+import jdk.nashorn.internal.objects.annotations.Setter;
+import kr.wisestone.owl.domain.enumType.CompanyFieldCategoryType;
+import kr.wisestone.owl.domain.enumType.IssueStatusType;
+
+import javax.persistence.*;
+import java.io.Serializable;
+@Entity
+public class CompanyFieldCategory extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+    private String typeCategory;
+    private String parentId;
+    private String useValue;
+    private String description;
+
+    @Enumerated(EnumType.STRING)
+    private CompanyFieldCategoryType companyFieldCategoryType;
+
+    public CompanyFieldCategory() {}
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getTypeCategory() {
+        return typeCategory;
+    }
+
+    public void setTypeCategory(String typeCategory) {
+        this.typeCategory = typeCategory;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getUseValue() {
+        return useValue;
+    }
+
+    public void setUseValue(String useValue) {
+        this.useValue = useValue;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public CompanyFieldCategoryType getCompanyFieldCategoryType() {
+        return companyFieldCategoryType;
+    }
+
+    public void setCompanyFieldCategoryType(CompanyFieldCategoryType companyFieldCategoryType) {
+        this.companyFieldCategoryType = companyFieldCategoryType;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/domain/enumType/CompanyFieldCategoryType.java b/src/main/java/kr/wisestone/owl/domain/enumType/CompanyFieldCategoryType.java
new file mode 100644
index 0000000..c5395d0
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/domain/enumType/CompanyFieldCategoryType.java
@@ -0,0 +1,12 @@
+package kr.wisestone.owl.domain.enumType;
+
+/**
+ * Created by wisestone on 2018-03-09.
+ */
+public enum CompanyFieldCategoryType {
+    COMPANYTYPE,
+    PARENTSECTOR,
+    CHILDSECTOR,
+    REGION,
+    STATUS
+}
diff --git a/src/main/java/kr/wisestone/owl/mapper/CompanyFieldCategoryMapper.java b/src/main/java/kr/wisestone/owl/mapper/CompanyFieldCategoryMapper.java
new file mode 100644
index 0000000..8f2baab
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/mapper/CompanyFieldCategoryMapper.java
@@ -0,0 +1,22 @@
+package kr.wisestone.owl.mapper;
+
+import kr.wisestone.owl.domain.CompanyFieldCategory;
+import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by wisestone on 2018-02-26.
+ */
+@Repository
+public interface CompanyFieldCategoryMapper {
+    List<Map<String, Object>> find(CompanyFieldCategoryCondition companyFieldCategoryCondition);
+
+    Long count(CompanyFieldCategoryCondition companyFieldCategoryCondition);
+
+    CompanyFieldCategory findById(Long id);
+
+}
diff --git a/src/main/java/kr/wisestone/owl/repository/CompanyFieldCategoryRepository.java b/src/main/java/kr/wisestone/owl/repository/CompanyFieldCategoryRepository.java
new file mode 100644
index 0000000..d041eb8
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/repository/CompanyFieldCategoryRepository.java
@@ -0,0 +1,10 @@
+package kr.wisestone.owl.repository;
+
+import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.domain.CompanyFieldCategory;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.repository.query.Param;
+
+public interface CompanyFieldCategoryRepository extends JpaRepository<CompanyFieldCategory, Long> {
+
+}
diff --git a/src/main/java/kr/wisestone/owl/service/CompanyFieldCategoryService.java b/src/main/java/kr/wisestone/owl/service/CompanyFieldCategoryService.java
new file mode 100644
index 0000000..6567213
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/CompanyFieldCategoryService.java
@@ -0,0 +1,22 @@
+package kr.wisestone.owl.service;
+
+import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.domain.CompanyFieldCategory;
+import kr.wisestone.owl.vo.CompanyFieldCategoryVo;
+import kr.wisestone.owl.vo.CompanyFieldVo;
+import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import kr.wisestone.owl.web.form.CompanyFieldForm;
+import org.springframework.data.domain.Pageable;
+import org.springframework.ui.Model;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+public interface CompanyFieldCategoryService {
+    List<CompanyFieldCategoryVo> find(Map<String, Object> resJsonData, CompanyFieldCategoryCondition condition, Pageable pageable);
+
+    CompanyFieldCategory find(Long id);
+}
diff --git a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldCategoryServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldCategoryServiceImpl.java
new file mode 100644
index 0000000..0601504
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldCategoryServiceImpl.java
@@ -0,0 +1,96 @@
+package kr.wisestone.owl.service.impl;
+
+import com.google.common.collect.Lists;
+import kr.wisestone.owl.common.ExcelConditionCheck;
+import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.constant.MsgConstants;
+import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.domain.CompanyFieldCategory;
+import kr.wisestone.owl.domain.HostingField;
+import kr.wisestone.owl.domain.IspField;
+import kr.wisestone.owl.exception.OwlRuntimeException;
+import kr.wisestone.owl.mapper.CompanyFieldCategoryMapper;
+import kr.wisestone.owl.mapper.CompanyFieldMapper;
+import kr.wisestone.owl.repository.CompanyFieldCategoryRepository;
+import kr.wisestone.owl.repository.CompanyFieldRepository;
+import kr.wisestone.owl.repository.HostingFieldRepository;
+import kr.wisestone.owl.repository.IspFieldRepository;
+import kr.wisestone.owl.service.*;
+import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.vo.*;
+import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import kr.wisestone.owl.web.condition.HostingFieldCondition;
+import kr.wisestone.owl.web.form.CompanyFieldForm;
+import kr.wisestone.owl.web.view.ExcelView;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.Model;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class CompanyFieldCategoryServiceImpl extends AbstractServiceImpl<CompanyFieldCategory, Long, JpaRepository<CompanyFieldCategory, Long>> implements CompanyFieldCategoryService {
+
+    @Autowired
+    private CompanyFieldCategoryRepository companyFieldCategoryRepository;
+
+    @Autowired
+    private CompanyFieldCategoryMapper companyFieldCategoryMapper;
+
+    @Override
+    protected JpaRepository<CompanyFieldCategory, Long> getRepository() {
+        return this.companyFieldCategoryRepository;
+    }
+
+    @Override
+    public List<CompanyFieldCategoryVo> find(Map<String, Object> resJsonData, CompanyFieldCategoryCondition condition, Pageable pageable) {
+        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
+        condition.setPageSize(pageable.getPageSize());
+
+        List<Map<String, Object>> results = Lists.newArrayList();
+        Long totalCount = 0L;
+
+        if (condition.getTypeCategory() != null && !condition.getTypeCategory().equals(""))  {
+            if(condition.getTypeCategory().equals("CHILDSECTOR")
+                    && (condition.getParentId() == null || condition.getParentId().equals(""))){
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.PARENT_SECTOR_NOT_SELECT));
+            }
+            results = this.companyFieldCategoryMapper.find(condition);
+            totalCount = this.companyFieldCategoryMapper.count(condition);
+        }
+
+        return this.convertCompanyFieldCategoryVoToMap(results, totalCount, pageable, resJsonData);
+    }
+
+    public CompanyFieldCategory find(Long id) {
+        return this.companyFieldCategoryMapper.findById(id);
+    }
+
+    //  寃��깋 寃곌낵瑜� Vo 濡� 蹂��솚�븳�떎.
+    private List<CompanyFieldCategoryVo> convertCompanyFieldCategoryVoToMap(List<Map<String, Object>> results, Long totalCount, Pageable pageable, Map<String, Object> resJsonData) {
+        List<CompanyFieldCategoryVo> companyFieldCategoryVos = Lists.newArrayList();
+
+        for (Map<String, Object> result : results) {
+            CompanyFieldCategoryVo companyFieldCategoryVo = ConvertUtil.convertMapToClass(result, CompanyFieldCategoryVo.class);
+            companyFieldCategoryVos.add(companyFieldCategoryVo);
+        }
+
+        int totalPage = (int) Math.ceil((totalCount - 1) / pageable.getPageSize()) + 1;
+
+        resJsonData.put(Constants.RES_KEY_CONTENTS, companyFieldCategoryVos);
+        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
+                totalPage, totalCount));
+
+        return companyFieldCategoryVos;
+    }
+}
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 8a39129..12d42d4 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -4,6 +4,8 @@
 import kr.wisestone.owl.repository.HostingFieldRepository;
 import kr.wisestone.owl.repository.IspFieldRepository;
 import kr.wisestone.owl.service.*;
+import kr.wisestone.owl.util.CommonUtil;
+import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition;
 import kr.wisestone.owl.web.condition.CompanyFieldCondition;
 import kr.wisestone.owl.web.form.CompanyFieldForm;
 import org.apache.commons.lang3.StringUtils;
@@ -26,10 +28,7 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 @Service
 public class CompanyFieldServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService {
@@ -53,6 +52,9 @@
     private HostingFieldService hostingFieldService;
 
     @Autowired
+    private CompanyFieldCategoryService companyFieldCategoryService;
+
+    @Autowired
     private UserService userService;
 
     @Autowired
@@ -74,6 +76,15 @@
     public CompanyField addCompany(CompanyFieldForm companyFieldForm) {
         //  url �쑀�슚�꽦 泥댄겕
         this.verifyUrl(companyFieldForm.getUrl(), null);
+
+        if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(companyFieldForm.getTelList());
+            companyFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(companyFieldForm.getEmailList());
+            companyFieldForm.setEmail(Arrays.toString(emails));
+        }
 
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
@@ -131,15 +142,46 @@
         Long companyId = companyFieldCondition.getId();
         if (companyId != null) {
             CompanyField companyField = this.getCompany(companyId);
-            if(companyField.getIspId() != null){
+            if(companyField.getIspId() != null && companyField.getIspId() != -1){
                 ispField = this.ispFieldRepository.getOne(companyField.getIspId());
             }
-            if(companyField.getHostingId() != null){
+            if(companyField.getHostingId() != null && companyField.getHostingId() != -1){
                 hostingField = this.hostingFieldRepository.getOne(companyField.getHostingId());
             }
             companyFieldVo = ConvertUtil.copyProperties(companyField, CompanyFieldVo.class);
             ispFieldVo = ConvertUtil.copyProperties(ispField, IspFieldVo.class);
             hostingFieldVo = ConvertUtil.copyProperties(hostingField, HostingFieldVo.class);
+
+            if (companyField.getCompanyTypeId() != null && companyField.getCompanyTypeId() != -1) {
+                CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyField.getCompanyTypeId());
+                if (companyType != null) {
+                    companyFieldVo.setCompanyTypeName(companyType.getUseValue());
+                }
+            }
+            if (companyField.getParentSectorId() != null && companyField.getParentSectorId() != -1) {
+                CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyField.getParentSectorId());
+                if (parentSector != null) {
+                    companyFieldVo.setParentSectorName(parentSector.getUseValue());
+                }
+            }
+            if (companyField.getChildSectorId() != null && companyField.getChildSectorId() != -1) {
+                CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyField.getChildSectorId());
+                if (childSector != null) {
+                    companyFieldVo.setChildSectorName(childSector.getUseValue());
+                }
+            }
+            if (companyField.getRegionId() != null && companyField.getRegionId() != -1) {
+                CompanyFieldCategory region = this.companyFieldCategoryService.find(companyField.getRegionId());
+                if (region != null) {
+                    companyFieldVo.setRegionName(region.getUseValue());
+                }
+            }
+            /*if (companyField.getStatusId() != null && companyField.getStatusId() != -1) {
+                CompanyFieldCategory status = this.companyFieldCategoryService.find(companyField.getStatusId());
+                if (status != null) {
+                    companyFieldVo.setStatusName(status.getUseValue());
+                }
+            }*/
 
             companyFieldVo.setIspFieldVo(ispFieldVo);
             companyFieldVo.setHostingFieldVo(hostingFieldVo);
@@ -152,6 +194,15 @@
     public void modifyCompany(CompanyFieldForm companyFieldForm) {
         //  url �쑀�슚�꽦 泥댄겕
         this.verifyUrl(companyFieldForm.getUrl(), companyFieldForm.getId());
+
+        if (companyFieldForm.getTelList() != null && companyFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(companyFieldForm.getTelList());
+            companyFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (companyFieldForm.getEmailList() != null && companyFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(companyFieldForm.getEmailList());
+            companyFieldForm.setEmail(Arrays.toString(emails));
+        }
 
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
@@ -198,6 +249,11 @@
         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("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));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("regionName", this.messageAccessor.message("companyField.regionName"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("statusName", this.messageAccessor.message("companyField.statusName"), 10, ExportExcelAttrVo.ALIGN_CENTER));
         excelInfo.addAttrInfos(new ExportExcelAttrVo("memo", this.messageAccessor.message("companyField.companyMemo"), 10, ExportExcelAttrVo.ALIGN_CENTER));
 
         excelInfo.setDatas(companyFieldVos);
@@ -212,6 +268,32 @@
 
         for (Map<String, Object> result : results) {
             CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class);
+
+            if (companyFieldVo.getCompanyTypeId() != null && companyFieldVo.getCompanyTypeId() != -1) {
+                CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyFieldVo.getCompanyTypeId());
+                if (companyType != null) {
+                    companyFieldVo.setCompanyTypeName(companyType.getUseValue());
+                }
+            }
+            if (companyFieldVo.getParentSectorId() != null && companyFieldVo.getParentSectorId() != -1) {
+                CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyFieldVo.getParentSectorId());
+                if (parentSector != null) {
+                    companyFieldVo.setParentSectorName(parentSector.getUseValue());
+                }
+            }
+            if (companyFieldVo.getChildSectorId() != null && companyFieldVo.getChildSectorId() != -1) {
+                CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyFieldVo.getChildSectorId());
+                if (childSector != null) {
+                    companyFieldVo.setChildSectorName(childSector.getUseValue());
+                }
+            }
+            if (companyFieldVo.getRegionId() != null && companyFieldVo.getRegionId() != -1) {
+                CompanyFieldCategory region = this.companyFieldCategoryService.find(companyFieldVo.getRegionId());
+                if (region != null) {
+                    companyFieldVo.setRegionName(region.getUseValue());
+                }
+            }
+
             if(companyFieldVo.getIspId() != null && companyFieldVo.getIspId() != -1){
                 IspField ispField = this.ispFieldService.getIsp(companyFieldVo.getIspId());
                 if(ispField != null){
diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
index d2038a4..73d49c4 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -58,6 +59,15 @@
     // Hosting 異붽�
     @Override
     public HostingField add(HostingFieldForm HostingFieldForm) {
+        if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(HostingFieldForm.getTelList());
+            HostingFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(HostingFieldForm.getEmailList());
+            HostingFieldForm.setEmail(Arrays.toString(emails));
+        }
+
         HostingField hostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class);
         if (hostingField.getCode() != null && !hostingField.getCode().equals("")) {
             hostingFieldRepository.saveAndFlush(hostingField);
@@ -100,6 +110,14 @@
     // Hosting �젙濡쒕�� �닔�젙�븳�떎.
     @Override
     public void modify(HostingFieldForm HostingFieldForm) {
+        if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(HostingFieldForm.getTelList());
+            HostingFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(HostingFieldForm.getEmailList());
+            HostingFieldForm.setEmail(Arrays.toString(emails));
+        }
         HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class);
         hostingFieldRepository.saveAndFlush(HostingField);
     }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
index 054459d..ff3f903 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
@@ -28,6 +28,7 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -58,6 +59,15 @@
     // Isp 異붽�
     @Override
     public IspField add(IspFieldForm IspFieldForm) {
+        if (IspFieldForm.getTelList() != null && IspFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(IspFieldForm.getTelList());
+            IspFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(IspFieldForm.getEmailList());
+            IspFieldForm.setEmail(Arrays.toString(emails));
+        }
+
         IspField ispField = ConvertUtil.copyProperties(IspFieldForm, IspField.class);
         if (ispField.getCode() != null && !ispField.getCode().equals("")) {
             ispFieldRepository.saveAndFlush(ispField);
@@ -100,7 +110,13 @@
     // Isp �젙濡쒕�� �닔�젙�븳�떎.
     @Override
     public void modify(IspFieldForm IspFieldForm) {
-        if(IspFieldForm.getUrl() != null){
+        if (IspFieldForm.getTelList() != null && IspFieldForm.getTelList().size() > 0) {
+            String[] tels = ConvertUtil.ToArray(IspFieldForm.getTelList());
+            IspFieldForm.setTel(Arrays.toString(tels));
+        }
+        if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) {
+            String[] emails = ConvertUtil.ToArray(IspFieldForm.getEmailList());
+            IspFieldForm.setEmail(Arrays.toString(emails));
         }
 
         IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class);
diff --git a/src/main/java/kr/wisestone/owl/vo/CompanyFieldCategoryVo.java b/src/main/java/kr/wisestone/owl/vo/CompanyFieldCategoryVo.java
new file mode 100644
index 0000000..86defa4
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/vo/CompanyFieldCategoryVo.java
@@ -0,0 +1,60 @@
+package kr.wisestone.owl.vo;
+
+public class CompanyFieldCategoryVo extends UsePartnerVo {
+
+    private Long id;
+    private String typeCategory;
+    private String parentId;
+    private String useValue;
+    private String description;
+
+    public CompanyFieldCategoryVo() {}
+
+    public CompanyFieldCategoryVo(String typeCategory, String parentId, String useValue) {
+        this.typeCategory = typeCategory;
+        this.parentId = parentId;
+        this.useValue = useValue;
+    }
+
+    @Override
+    public Long getId() {
+        return id;
+    }
+
+    @Override
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getTypeCategory() {
+        return typeCategory;
+    }
+
+    public void setTypeCategory(String typeCategory) {
+        this.typeCategory = typeCategory;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getUseValue() {
+        return useValue;
+    }
+
+    public void setUseValue(String useValue) {
+        this.useValue = useValue;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/vo/CompanyFieldVo.java b/src/main/java/kr/wisestone/owl/vo/CompanyFieldVo.java
index 5005a50..3ac93c8 100644
--- a/src/main/java/kr/wisestone/owl/vo/CompanyFieldVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/CompanyFieldVo.java
@@ -14,6 +14,17 @@
     private Long ispId;
     private Long hostingId;
 
+    private Long companyTypeId;
+    private Long parentSectorId;
+    private Long childSectorId;
+    private Long regionId;
+    private Long statusId;
+    private String companyTypeName;
+    private String parentSectorName;
+    private String childSectorName;
+    private String regionName;
+    private String statusName;
+
     private IspFieldVo ispFieldVo;
     private HostingFieldVo hostingFieldVo;
 
@@ -98,4 +109,84 @@
     public void setHostingId(Long hostingId) {
         this.hostingId = hostingId;
     }
+
+    public Long getCompanyTypeId() {
+        return companyTypeId;
+    }
+
+    public void setCompanyTypeId(Long companyTypeId) {
+        this.companyTypeId = companyTypeId;
+    }
+
+    public Long getParentSectorId() {
+        return parentSectorId;
+    }
+
+    public void setParentSectorId(Long parentSectorId) {
+        this.parentSectorId = parentSectorId;
+    }
+
+    public Long getChildSectorId() {
+        return childSectorId;
+    }
+
+    public void setChildSectorId(Long childSectorId) {
+        this.childSectorId = childSectorId;
+    }
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    public Long getStatusId() {
+        return statusId;
+    }
+
+    public void setStatusId(Long statusId) {
+        this.statusId = statusId;
+    }
+
+    public String getCompanyTypeName() {
+        return companyTypeName;
+    }
+
+    public void setCompanyTypeName(String companyTypeName) {
+        this.companyTypeName = companyTypeName;
+    }
+
+    public String getParentSectorName() {
+        return parentSectorName;
+    }
+
+    public void setParentSectorName(String parentSectorName) {
+        this.parentSectorName = parentSectorName;
+    }
+
+    public String getChildSectorName() {
+        return childSectorName;
+    }
+
+    public void setChildSectorName(String childSectorName) {
+        this.childSectorName = childSectorName;
+    }
+
+    public String getRegionName() {
+        return regionName;
+    }
+
+    public void setRegionName(String regionName) {
+        this.regionName = regionName;
+    }
+
+    public String getStatusName() {
+        return statusName;
+    }
+
+    public void setStatusName(String statusName) {
+        this.statusName = statusName;
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/web/condition/CompanyFieldCategoryCondition.java b/src/main/java/kr/wisestone/owl/web/condition/CompanyFieldCategoryCondition.java
new file mode 100644
index 0000000..9bf326b
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/condition/CompanyFieldCategoryCondition.java
@@ -0,0 +1,131 @@
+package kr.wisestone.owl.web.condition;
+
+import kr.wisestone.owl.util.ConvertUtil;
+
+import java.util.Map;
+
+public class CompanyFieldCategoryCondition {
+    private Long id;
+    private String typeCategory;
+    private String parentId;
+    private String useValue;
+    private String description;
+
+    private Long companyTypeId;
+    private Long parentSectorId;
+    private Long childSectorId;
+    private Long regionId;
+    private Long statusId;
+    private String statusName;
+
+    private Integer Page;
+    private Integer PageSize;
+
+    public static CompanyFieldCategoryCondition make(Map<String, Object> companyFieldCategoryCondition) {
+        return ConvertUtil.convertMapToClass(companyFieldCategoryCondition, CompanyFieldCategoryCondition.class);
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getTypeCategory() {
+        return typeCategory;
+    }
+
+    public void setTypeCategory(String typeCategory) {
+        this.typeCategory = typeCategory;
+    }
+
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    public String getUseValue() {
+        return useValue;
+    }
+
+    public void setUseValue(String useValue) {
+        this.useValue = useValue;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public Integer getPage() {
+        return Page;
+    }
+
+    public void setPage(Integer page) {
+        Page = page;
+    }
+
+    public Integer getPageSize() {
+        return PageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        PageSize = pageSize;
+    }
+
+    public Long getCompanyTypeId() {
+        return companyTypeId;
+    }
+
+    public void setCompanyTypeId(Long companyTypeId) {
+        this.companyTypeId = companyTypeId;
+    }
+
+    public Long getParentSectorId() {
+        return parentSectorId;
+    }
+
+    public void setParentSectorId(Long parentSectorId) {
+        this.parentSectorId = parentSectorId;
+    }
+
+    public Long getChildSectorId() {
+        return childSectorId;
+    }
+
+    public void setChildSectorId(Long childSectorId) {
+        this.childSectorId = childSectorId;
+    }
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    public Long getStatusId() {
+        return statusId;
+    }
+
+    public void setStatusId(Long statusId) {
+        this.statusId = statusId;
+    }
+
+    public String getStatusName() {
+        return statusName;
+    }
+
+    public void setStatusName(String statusName) {
+        this.statusName = statusName;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/web/controller/CompanyFieldCategoryController.java b/src/main/java/kr/wisestone/owl/web/controller/CompanyFieldCategoryController.java
new file mode 100644
index 0000000..466bd00
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/controller/CompanyFieldCategoryController.java
@@ -0,0 +1,44 @@
+package kr.wisestone.owl.web.controller;
+
+import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.service.CompanyFieldCategoryService;
+import kr.wisestone.owl.service.CompanyFieldService;
+import kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import kr.wisestone.owl.web.form.CompanyFieldForm;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Pageable;
+import org.springframework.http.MediaType;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.Map;
+
+@Controller
+public class CompanyFieldCategoryController extends BaseController{
+
+    @Autowired
+    private CompanyFieldCategoryService companyFieldCategoryService;
+
+    // 湲곗뾽援щ텇 議고쉶
+    @RequestMapping(value = "/CompanyFieldCategory/find", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> find(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        Pageable pageable = this.pageUtil.convertPageable(this.getPageVo(params));
+
+        this.companyFieldCategoryService.find(resJsonData, CompanyFieldCategoryCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable);
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+}
+
diff --git a/src/main/java/kr/wisestone/owl/web/form/CompanyFieldForm.java b/src/main/java/kr/wisestone/owl/web/form/CompanyFieldForm.java
index 4d7b4a0..7432c6c 100644
--- a/src/main/java/kr/wisestone/owl/web/form/CompanyFieldForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/CompanyFieldForm.java
@@ -4,16 +4,23 @@
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.MapUtil;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
 public class CompanyFieldForm extends UsePartnerForm {
     private String manager;
-    private String tel;
     private String url;
     private String memo;
+    private String tel;
     private Long ispId;
     private Long hostingId;
+    private Long companyTypeId;
+    private Long parentSectorId;
+    private Long childSectorId;
+    private Long regionId;
+    private Long statusId;
+    private String statusName;
 
     private List<Long> removeIds = Lists.newArrayList();
 
@@ -21,6 +28,14 @@
     }
     public static CompanyFieldForm make(Map<String, Object> params) {
         CompanyFieldForm form = ConvertUtil.convertMapToClass(params, CompanyFieldForm.class);
+
+        if (MapUtil.getStrings(params, "tels") != null) {
+            form.setTelList(MapUtil.getStrings(params, "tels"));
+        }
+
+        if (MapUtil.getStrings(params, "emails") != null) {
+            form.setEmailList(MapUtil.getStrings(params, "emails"));
+        }
 
         if (MapUtil.getLongs(params,"removeIds") != null) {
             form.setRemoveIds(MapUtil.getLongs(params, "removeIds"));
@@ -83,4 +98,52 @@
     public void setRemoveIds(List<Long> removeIds) {
         this.removeIds = removeIds;
     }
+
+    public Long getCompanyTypeId() {
+        return companyTypeId;
+    }
+
+    public void setCompanyTypeId(Long companyTypeId) {
+        this.companyTypeId = companyTypeId;
+    }
+
+    public Long getParentSectorId() {
+        return parentSectorId;
+    }
+
+    public void setParentSectorId(Long parentSectorId) {
+        this.parentSectorId = parentSectorId;
+    }
+
+    public Long getChildSectorId() {
+        return childSectorId;
+    }
+
+    public void setChildSectorId(Long childSectorId) {
+        this.childSectorId = childSectorId;
+    }
+
+    public Long getRegionId() {
+        return regionId;
+    }
+
+    public void setRegionId(Long regionId) {
+        this.regionId = regionId;
+    }
+
+    public Long getStatusId() {
+        return statusId;
+    }
+
+    public void setStatusId(Long statusId) {
+        this.statusId = statusId;
+    }
+
+    public String getStatusName() {
+        return statusName;
+    }
+
+    public void setStatusName(String statusName) {
+        this.statusName = statusName;
+    }
 }
diff --git a/src/main/java/kr/wisestone/owl/web/form/HostingFieldForm.java b/src/main/java/kr/wisestone/owl/web/form/HostingFieldForm.java
index 099b3f1..aed6f5e 100644
--- a/src/main/java/kr/wisestone/owl/web/form/HostingFieldForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/HostingFieldForm.java
@@ -20,6 +20,14 @@
     public static HostingFieldForm make(Map<String, Object> params) {
         HostingFieldForm form = ConvertUtil.convertMapToClass(params, HostingFieldForm.class);
 
+        if (MapUtil.getStrings(params, "tels") != null) {
+            form.setTelList(MapUtil.getStrings(params, "tels"));
+        }
+
+        if (MapUtil.getStrings(params, "emails") != null) {
+            form.setEmailList(MapUtil.getStrings(params, "emails"));
+        }
+
         if (MapUtil.getLongs(params,"removeIds") != null) {
             form.setRemoveIds(MapUtil.getLongs(params, "removeIds"));
         }
diff --git a/src/main/java/kr/wisestone/owl/web/form/IspFieldForm.java b/src/main/java/kr/wisestone/owl/web/form/IspFieldForm.java
index 6d5b3ea..54013ef 100644
--- a/src/main/java/kr/wisestone/owl/web/form/IspFieldForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/IspFieldForm.java
@@ -20,6 +20,14 @@
     public static IspFieldForm make(Map<String, Object> params) {
         IspFieldForm form = ConvertUtil.convertMapToClass(params, IspFieldForm.class);
 
+        if (MapUtil.getStrings(params, "tels") != null) {
+            form.setTelList(MapUtil.getStrings(params, "tels"));
+        }
+
+        if (MapUtil.getStrings(params, "emails") != null) {
+            form.setEmailList(MapUtil.getStrings(params, "emails"));
+        }
+
         if (MapUtil.getLongs(params,"removeIds") != null) {
             form.setRemoveIds(MapUtil.getLongs(params, "removeIds"));
         }
diff --git a/src/main/java/kr/wisestone/owl/web/form/UsePartnerForm.java b/src/main/java/kr/wisestone/owl/web/form/UsePartnerForm.java
index ddc5014..717a3cc 100644
--- a/src/main/java/kr/wisestone/owl/web/form/UsePartnerForm.java
+++ b/src/main/java/kr/wisestone/owl/web/form/UsePartnerForm.java
@@ -4,6 +4,7 @@
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.MapUtil;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -12,6 +13,8 @@
     private String name;
     private String email;
     private String emailTemplate;
+    private List<String> telList = new ArrayList<>();
+    private List<String> emailList = new ArrayList<>();
 
     public UsePartnerForm() {
     }
@@ -53,4 +56,19 @@
         this.emailTemplate = emailTemplate;
     }
 
+    public List<String> getTelList() {
+        return telList;
+    }
+
+    public void setTelList(List<String> telList) {
+        this.telList = telList;
+    }
+
+    public List<String> getEmailList() {
+        return emailList;
+    }
+
+    public void setEmailList(List<String> emailList) {
+        this.emailList = emailList;
+    }
 }
diff --git a/src/main/resources/migration/V1_3__insert_new_data.sql b/src/main/resources/migration/V1_3__insert_new_data.sql
index 7e83ca9..f624445 100644
--- a/src/main/resources/migration/V1_3__insert_new_data.sql
+++ b/src/main/resources/migration/V1_3__insert_new_data.sql
@@ -152,4 +152,9 @@
 ALTER TABLE `company_field` ADD COLUMN `parent_sector_id` bigint(11) NULL;
 ALTER TABLE `company_field` ADD COLUMN `child_sector_id` bigint(11) NULL;
 ALTER TABLE `company_field` ADD COLUMN `region_id` bigint(11) NULL;
-ALTER TABLE `company_field` ADD COLUMN `status_id` bigint(11) NULL;
\ No newline at end of file
+ALTER TABLE `company_field` ADD COLUMN `status_id` bigint(11) NULL;
+ALTER TABLE `company_field` ADD COLUMN `status_name` varchar(50) NULL;
+
+ALTER TABLE `company_field` MODIFY `tel` varchar(255);
+ALTER TABLE `isp_field` MODIFY `tel` varchar(255);
+ALTER TABLE `hosting_field` MODIFY `tel` varchar(255);
\ No newline at end of file
diff --git a/src/main/resources/mybatis/query-template/companyField-template.xml b/src/main/resources/mybatis/query-template/companyField-template.xml
index 2393acf..53496ef 100644
--- a/src/main/resources/mybatis/query-template/companyField-template.xml
+++ b/src/main/resources/mybatis/query-template/companyField-template.xml
@@ -13,7 +13,13 @@
         cf.url as url,
         cf.memo as memo,
         cf.isp_id as ispId,
-        cf.hosting_id as hostingId
+        cf.hosting_id as hostingId,
+        cf.company_type_id as companyTypeId,
+        cf.parent_sector_id as parentSectorId,
+        cf.child_sector_id as childSectorId,
+        cf.region_id as regionId,
+        cf.status_id as statusId,
+        cf.status_name as statusName
         FROM
         company_field cf
         WHERE 1=1
diff --git a/src/main/resources/mybatis/query-template/companyFieldCategory-template.xml b/src/main/resources/mybatis/query-template/companyFieldCategory-template.xml
new file mode 100644
index 0000000..0eacc70
--- /dev/null
+++ b/src/main/resources/mybatis/query-template/companyFieldCategory-template.xml
@@ -0,0 +1,49 @@
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="kr.wisestone.owl.mapper.CompanyFieldCategoryMapper">
+
+    <select id="find" resultType="java.util.HashMap" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCategoryCondition">
+        SELECT
+        cfc.id as id,
+        cfc.type_category as typeCategory,
+        cfc.parent_id as parentId,
+        cfc.use_value as useValue,
+        cfc.description as description
+        FROM
+        company_field_category cfc
+        WHERE cfc.type_category = #{typeCategory}
+        AND cfc.use_value != "吏곸젒�엯�젰"
+        <if test="parentId != '' and parentId != null">
+            AND cfc.parent_id = #{parentId}
+        </if>
+        <if test="useValue != '' and useValue != null">
+            AND cfc.use_value like CONCAT('%',#{useValue},'%')
+        </if>
+        ORDER BY cfc.id DESC
+        <if test="pageSize != '' and pageSize != null">
+            limit #{pageSize} offset #{page};
+        </if>
+    </select>
+
+    <select id="count" resultType="java.lang.Long" parameterType="kr.wisestone.owl.web.condition.CompanyFieldCondition">
+        SELECT
+        count(cfc.id)
+        FROM
+        company_field_category cfc
+        WHERE cfc.type_category = #{typeCategory}
+    </select>
+
+    <select id="findById" resultType="kr.wisestone.owl.domain.CompanyFieldCategory" parameterType="java.lang.Long">
+        SELECT
+        cfc.id as id,
+        cfc.type_category as typeCategory,
+        cfc.parent_id as parentId,
+        cfc.use_value as useValue,
+        cfc.description as description
+        FROM
+        company_field_category cfc
+        WHERE cfc.id = #{id}
+    </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties
index d5a7dc0..5132b05 100644
--- a/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties
+++ b/src/main/webapp/WEB-INF/i18n/code_ko_KR.properties
@@ -141,6 +141,11 @@
 companyField.companyTel=\uC804\uD654\uBC88\uD638
 companyField.companyEmail=\uC774\uBA54\uC77C
 companyField.companyUrl=url
+companyField.companyTypeName=\uAE30\uC5C5\uAD6C\uBD84
+companyField.parentSectorName=\uC5C5\uC885(\uB300\uBD84\uB958)
+companyField.childSectorName=\uC5C5\uC885(\uC911\uBD84\uB958)
+companyField.regionName=\uC9C0\uC5ED
+companyField.statusName=\uC0C1\uD0DC
 companyField.companyMemo=\uBE44\uACE0
 isp.ispName=ISP \uC774\uB984
 isp.ispCode=\uCF54\uB4DC
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 41d0054..23bcf21 100644
--- a/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
+++ b/src/main/webapp/WEB-INF/i18n/messages_ko_KR.properties
@@ -26,6 +26,7 @@
 PROJECT_NOT_INCLUDE_USER = \uC120\uD0DD\uD55C \uB2F4\uB2F9\uC790 \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uC0AC\uC6A9\uC790\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
 PROJECT_NOT_INCLUDE_DEPARTMENT = \uC120\uD0DD\uD55C \uBD80\uC11C \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uBD80\uC11C\uAC00 \uC788\uC2B5\uB2C8\uB2E4.
 PROJECT_USED_PROJECT_KEY = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4.
+PARENT_SECTOR_NOT_SELECT = \uC5C5\uC885(\uB300\uBD84\uB958)\uB97C \uBA3C\uC800 \uC120\uD0DD \uD574 \uC8FC\uC138\uC694.
 
 PAYMENT_TYPE_NOT_EXIST = \uACB0\uC81C \uBC29\uC2DD\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4.
 PAYMENT_NOT_EXIST = \uACB0\uC81C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.
diff --git a/src/main/webapp/assets/styles/main.css b/src/main/webapp/assets/styles/main.css
index 3105edb..3adeb1b 100644
--- a/src/main/webapp/assets/styles/main.css
+++ b/src/main/webapp/assets/styles/main.css
@@ -28561,6 +28561,10 @@
     margin-top: 20px !important;
 }
 
+.mt-25 {
+    margin-top: 25px !important;
+}
+
 .mt-30 {
     margin-top: 30px !important;
 }
diff --git a/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js b/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js
index 00505d3..33d11ed 100644
--- a/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js
+++ b/src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js
@@ -158,7 +158,7 @@
 
                 // 寃��깋�맂 �븘�씠�뀥 �겢由��떆 �엯�젰 �븘�뱶 �룷而ㅼ뒪 二쇨린
                 function searchInputField() {
-                    if ($scope.selectedModel.length > 0) {
+                    if (angular.isDefined($scope.selectedModel) && $scope.selectedModel.length > 0) {
                         $($element).find(".input-tag-search-field-readonly").focus();
                     }
                 }
diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json
index 92a5b7b..8e7bb48 100644
--- a/src/main/webapp/i18n/ko/global.json
+++ b/src/main/webapp/i18n/ko/global.json
@@ -867,6 +867,7 @@
         "failedToProjectListLookUp": "�봽濡쒖젥�듃 紐⑸줉 議고쉶 �떎�뙣",
         "failedToWorkflowListLookUp": "�썙�겕�뵆濡쒖슦 紐⑸줉 議고쉶 �떎�뙣",
         "failedToIssueListLookUp": "�씠�뒋 紐⑸줉 議고쉶 �떎�뙣",
+        "failedToCompanyCategoryListLookUp": "�뾽泥� 移댄뀒怨좊━ 紐⑸줉 議고쉶 �떎�뙣",
         "title": "�젣紐�",
         "number": "踰덊샇",
         "m": "�썡",
@@ -882,6 +883,11 @@
         "emptyIsp": "�꽑�깮�븷 �닔 �엳�뒗 ISP媛� �뾾�뒿�땲�떎.",
         "emptyHosting": "�꽑�깮�븷 �닔 �엳�뒗 HOSTING�씠 �뾾�뒿�땲�떎.",
         "emptyCustomField": "�꽑�깮�븷 �닔 �엳�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶媛� �뾾�뒿�땲�떎.",
+        "emptyCompanyType": "�꽑�깮�븷 �닔 �엳�뒗 湲곗뾽援щ텇�씠 �뾾�뒿�땲�떎.",
+        "emptyParentSector": "�꽑�깮�븷 �닔 �엳�뒗 �뾽醫�(��遺꾨쪟)�씠 �뾾�뒿�땲�떎.",
+        "emptyChildSector": "�꽑�깮�븷 �닔 �엳�뒗 �뾽醫�(以묐텇瑜�)�씠 �뾾�뒿�땲�떎.",
+        "emptyRegion": "�꽑�깮�븷 �닔 �엳�뒗 吏��뿭�씠 �뾾�뒿�땲�떎.",
+        "emptyStatus": "�꽑�깮�븷 �닔 �엳�뒗 �긽�깭媛� �뾾�뒿�땲�떎.",
         "department" : "遺��꽌",
         "level" : "�궗�슜�옄 �벑湲�",
         "manageDepartment": "遺��꽌 愿�由�",
@@ -969,11 +975,16 @@
         "domain" : "�룄硫붿씤",
         "url"   : "url",
         "ipAdress" : "ip二쇱냼",
-        "manager" : "�떞�떦�옄",
-        "tel" : "�쟾�솕踰덊샇",
+        "tel" : "�뿰�씫泥�",
         "code" : "肄붾뱶",
         "email" : "�씠硫붿씪",
         "memo" : "鍮꾧퀬",
+        "companyType" : "湲곗뾽援щ텇",
+        "parentSector" : "�뾽醫�(��遺꾨쪟)",
+        "childSector" : "�뾽醫�(以묐텇瑜�)",
+        "region" : "吏��뿭",
+        "status" : "�긽�깭",
+        "description" : "�꽕紐�",
         "failedToSelectCompanyFieldFullList" : "�뾽泥� 愿�由� 紐⑸줉 議고쉶 �떎�뙣",
         "delete" : "�뾽泥� �궘�젣",
         "wantToDeleteSelectCompanyField" : "�꽑�깮�븳 �뾽泥대�� �궘�젣�븯寃좎뒿�땲源�? �궘�젣�맂 �뾽泥대뒗 蹂듦뎄�븷 �닔 �뾾�뒿�땲�떎.",
@@ -981,7 +992,9 @@
         "failedToDetailCompanyFieldModify" : "�뾽泥� �긽�꽭 �젙蹂� 議고쉶 �떎�뙣",
         "pleaseEnterCompanyFieldName": "�뾽泥� �씠由꾩쓣 �엯�젰�븯�꽭�슂.",
         "enterSpecialCharacters": "�뾽泥� �씠由꾩뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰 �븷 �닔 �뾾�뒿�땲�떎.",
-        "invalidTelFormat": "�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂."
+        "invalidTelFormat": "�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.",
+        "writeCompanyTel": "�쟾�솕踰덊샇瑜� �엯�젰�빐二쇱꽭�슂.",
+        "writeTel": "�쟾�솕踰덊샇瑜� �엯�젰�븯�뀛�빞 異붽��븷�닔 �엳�뒿�땲�떎."
     },
     "ispField" : {
         "info": "ISP�젙蹂�",
@@ -990,7 +1003,7 @@
         "name" : "ISP�씠由�",
         "ispName" : "ISP紐�",
         "manager" : "�떞�떦�옄",
-        "tel" : "�쟾�솕踰덊샇",
+        "tel" : "�뿰�씫泥�",
         "code" : "肄붾뱶",
         "email" : "�씠硫붿씪",
         "memo" : "鍮꾧퀬",
@@ -1011,7 +1024,7 @@
         "manager" : "�샇�뒪�똿�씠由�",
         "hostingName" : "�샇�뒪�똿紐�",
         "manager" : "�떞�떦�옄",
-        "tel" : "�쟾�솕踰덊샇",
+        "tel" : "�뿰�씫泥�",
         "code" : "肄붾뱶",
         "email" : "�씠硫붿씪",
         "memo" : "鍮꾧퀬",
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
index 8da6eeb..0c14335 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
@@ -7,15 +7,24 @@
         'app'
     ],
     function (app) {
-        app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', '$filter', '$injector','$controller',
-            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, $filter, $injector, $controller) {
+        app.controller('companyFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$uibModalInstance', '$state', 'CompanyField', 'CompanyFieldCategory', '$filter', '$injector','$controller',
+            function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $uibModalInstance, $state, CompanyField, CompanyFieldCategory, $filter, $injector, $controller) {
 
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
                     formCheck : formCheck,   //  �뤌 泥댄겕
                     getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,
-                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack
+                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,
+                    getCompanyTypeListCallBack : getCompanyTypeListCallBack,
+                    getParentSectorListCallBack : getParentSectorListCallBack,
+                    getChildSectorListCallBack : getChildSectorListCallBack,
+                    getRegionListCallBack : getRegionListCallBack,
+                    getStatusListCallBack : getStatusListCallBack,
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -29,7 +38,28 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //鍮꾧퀬
+                        memo : "",  //鍮꾧퀬
+                        companyTypeId : "",
+                        companyType : "", //湲곗뾽援щ텇
+                        parentSectorId : "",
+                        parentSector : "", //�뾽醫�(��遺꾨쪟)
+                        childSectorId : "",
+                        childSector : "", //�뾽醫�(以묐텇瑜�)
+                        regionId : "",
+                        region : "", //吏��뿭
+                        statusId : "",
+                        status : "", //�긽�깭
+                        inputTels : [0], //�뿰�씫泥�
+                        tels : {},
+                        inputMails : [0], //�씠硫붿씪
+                        emails : {}
+                    },
+                    typeCategory : {
+                        companyType : "COMPANYTYPE",
+                        parentSector : "PARENTSECTOR",
+                        childSector : "CHILDSECTOR",
+                        region : "REGION",
+                        status : "STATUS"
                     },
                     autoCompletePage : {
                         ispField : {
@@ -37,6 +67,26 @@
                             totalPage : 0
                         },
                         hostingField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        companyType : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        parentSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        childSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        region : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        status : {
                             page : 0,
                             totalPage : 0
                         }
@@ -56,6 +106,31 @@
                     $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
                 }
 
+                // 湲곗뾽援щ텇 autocomplete page �뾽�뜲�씠�듃
+                function getCompanyTypeListCallBack(result) {
+                    $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽醫�(��遺꾨쪟) autocomplete page �뾽�뜲�씠�듃
+                function getParentSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽醫�(以묐텇瑜�) 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getChildSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage;
+                }
+
+                // 吏��뿭 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getRegionListCallBack(result) {
+                    $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage;
+                }
+
+                // �긽�깭 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getStatusListCallBack(result) {
+                    $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage;
+                }
+
                 //  �뤌 泥댄겕
                 function formCheck(formInvalid) {
                     if (formInvalid) {
@@ -71,8 +146,6 @@
                 $scope.$on("hostingFieldEvent", function (event, result) {
                     $scope.vm.form.hostingId = result[0].id;
                 });
-
-
 
                 //  �뤌 �쟾�넚
                 function formSubmit(condition) {
@@ -95,10 +168,80 @@
                             return hostingId;
                         })(),
                         manager : $scope.vm.form.manager,   //�떞�떦�옄
-                        tel : $scope.vm.form.tel,  //�쟾�솕踰덊샇
-                        email : $scope.vm.form.email,  //�씠硫붿씪
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $scope.vm.form.url, // url
-                        memo : $scope.vm.form.memo  //鍮꾧퀬
+                        memo : $scope.vm.form.memo,  //鍮꾧퀬
+                        companyTypeId : (function () {
+                            var companyTypeId = -1;
+                            if ($scope.vm.form.companyTypes != null) {
+                                companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            }
+                            return companyTypeId;
+                        })(),
+                        parentSectorId : (function () {
+                            var parentSectorId = -1;
+                            if ($scope.vm.form.parentSectors != null) {
+                                parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            }
+                            return parentSectorId;
+                        })(),
+                        childSectorId : (function () {
+                            var childSectorId = -1;
+                            if ($scope.vm.form.childSectors != null) {
+                                childSectorId = $scope.vm.form.childSectors[0].id;
+                            }
+                            return childSectorId;
+                        })(),
+                        regionId : (function () {
+                            var regionId = -1;
+                            if ($scope.vm.form.regions != null) {
+                                regionId = $scope.vm.form.regions[0].id;
+                            }
+                            return regionId;
+                        })(),
+                        statusId : (function () {
+                            var statusId = -1;
+                            if ($scope.vm.form.statuses != null) {
+                                statusId = $scope.vm.form.statuses[0].id;
+                            } else if ($scope.vm.form.status !== ""){
+                                statusId = 120; //吏곸젒�엯�젰 �씪 寃쎌슦
+                            }
+                            return statusId;
+                        })(),
+                        statusName : $scope.vm.form.status
                     };
 
                     CompanyField.add($resourceProvider.getContent(content,
@@ -118,6 +261,54 @@
 
                 }
 
+                // �뿰�씫泥� input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
+                }
+
                 //  �뙘�뾽 李� �떕湲�
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
index 3c387b3..902cadf 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldList.controller.js
@@ -97,6 +97,31 @@
                         .setDName("url")
                         .setDAlign("text-center"));
                     $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.companyType")
+                        .setHWidth("bold")
+                        .setDName("companyTypeName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.parentSector")
+                        .setHWidth("bold")
+                        .setDName("parentSectorName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.childSector")
+                        .setHWidth("bold")
+                        .setDName("childSectorName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.region")
+                        .setHWidth("bold")
+                        .setDName("regionName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
+                        .setHName("companyField.status")
+                        .setHWidth("bold")
+                        .setDName("statusName")
+                        .setDAlign("text-center"));
+                    $scope.vm.tableConfigs.push($tableProvider.config()
                         .setHName("companyField.memo")
                         .setHWidth("bold")
                         .setDName("memo")
@@ -130,10 +155,27 @@
                             $scope.vm.page.selectedPage = currentPage + 1;
                             
                             // �쟾�솕踰덊샇 議고쉶�떆 �븯�씠�뵂 異붽� �빐�꽌 議고쉶
-                            result.data.data.forEach(function (telData) {
-                                let hyphen = telData.tel.trim();
-                                let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
-                                telData.tel = phone;
+                            result.data.data.forEach(function (data) {
+                                if (data.tel != null && data.tel !== "") {
+                                    var tels = data.tel.substr(1, data.tel.indexOf("]")-1);
+                                    var telArr = tels.split(",");
+
+                                    for (var i = 0; i < telArr.length; i++) {
+                                        let hyphen = telArr[i].trim();
+                                        telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3");
+                                        if (telArr[i] === "") {
+                                            telArr.splice(i,1);
+                                        }
+                                    }
+                                    data.tel = telArr.join();
+                                }
+                            });
+
+                            // �씠硫붿씪 議고쉶�떆 諛곗뿴 �삎�깭 �젣嫄�
+                            result.data.data.forEach(function (data) {
+                                if (data.email != null && data.email !== "") {
+                                    data.email = data.email.substr(1, data.email.indexOf("]")-1);
+                                }
                             });
 
                             $scope.vm.responseData = result.data;
diff --git a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
index 6b99e3c..6042b36 100644
--- a/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -17,7 +17,16 @@
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getIssueIspFieldListCallBack : getIssueIspFieldListCallBack,
-                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack
+                    getIssueHostingFieldListCallBack : getIssueHostingFieldListCallBack,
+                    getCompanyTypeListCallBack : getCompanyTypeListCallBack,
+                    getParentSectorListCallBack : getParentSectorListCallBack,
+                    getChildSectorListCallBack : getChildSectorListCallBack,
+                    getRegionListCallBack : getRegionListCallBack,
+                    getStatusListCallBack : getStatusListCallBack,
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -32,7 +41,28 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //硫붾え(鍮꾧퀬)
+                        memo : "",  //硫붾え(鍮꾧퀬)
+                        companyTypeId : "",
+                        companyType : "", //湲곗뾽援щ텇
+                        parentSectorId : "",
+                        parentSector : "", //�뾽醫�(��遺꾨쪟)
+                        childSectorId : "",
+                        childSector : "", //�뾽醫�(以묐텇瑜�)
+                        regionId : "",
+                        region : "", //吏��뿭
+                        statusId : "",
+                        status : "", //�긽�깭
+                        inputTels : [0],
+                        tels : {},
+                        inputMails : [0],
+                        emails : {}
+                    },
+                    typeCategory : {
+                        companyType : "COMPANYTYPE",
+                        parentSector : "PARENTSECTOR",
+                        childSector : "CHILDSECTOR",
+                        region : "REGION",
+                        status : "STATUS"
                     },
                     autoCompletePage : {
                         ispField : {
@@ -40,6 +70,26 @@
                             totalPage : 0
                         },
                         hostingField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        companyType : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        parentSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        childSector : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        region : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        status : {
                             page : 0,
                             totalPage : 0
                         }
@@ -57,6 +107,31 @@
                 // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
                 function getIssueHostingFieldListCallBack(result) {
                     $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getCompanyTypeListCallBack(result) {
+                    $scope.vm.autoCompletePage.companyType.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getParentSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getChildSectorListCallBack(result) {
+                    $scope.vm.autoCompletePage.childSector.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getRegionListCallBack(result) {
+                    $scope.vm.autoCompletePage.region.totalPage = result.data.page.totalPage;
+                }
+
+                // �뾽泥� 移댄뀒怨좊━ autocomplete page �뾽�뜲�씠�듃
+                function getStatusListCallBack(result) {
+                    $scope.vm.autoCompletePage.status.totalPage = result.data.page.totalPage;
                 }
 
                 // �뤌 泥댄겕
@@ -86,23 +161,105 @@
                         name : $rootScope.preventXss($scope.vm.form.name),
                         ispId : (function () {  // ISP �븘�씠�뵒
                             var ispId = -1;
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
+                            if ($scope.vm.form.ispName !== "" && $scope.vm.form.ispId !== null && $scope.vm.form.ispId !== -1) {
                                 ispId = $scope.vm.form.ispId;
+                            }else if ($scope.vm.form.issueIspFields != null) {
+                                ispId = $scope.vm.form.issueIspFields[0].id;
                             }
                             return ispId;
                         })(),
                         hostingId : (function () {  // Hosting �븘�씠�뵒
                             var hostingId = -1;
-                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
+                            if ($scope.vm.form.hostingName !== "" && $scope.vm.form.hostingId !== null && $scope.vm.form.hostingId !== -1) {
                                 hostingId = $scope.vm.form.hostingId;
+                            }else if ($scope.vm.form.issueHostingFields != null) {
+                                hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
                             return hostingId;
                         })(),
                         manager : $rootScope.preventXss($scope.vm.form.manager),
-                        tel : $rootScope.preventXss($scope.vm.form.tel),
-                        email : $rootScope.preventXss($scope.vm.form.email),
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $rootScope.preventXss($scope.vm.form.url), // url
-                        memo : $rootScope.preventXss($scope.vm.form.memo)
+                        memo : $rootScope.preventXss($scope.vm.form.memo),
+                        companyTypeId : (function () {
+                            var companyTypeId = -1;
+                            if ($scope.vm.form.companyType !== "" && $scope.vm.form.companyTypeId !== "" && $scope.vm.form.companyTypeId !== -1) {
+                                companyTypeId = $scope.vm.form.companyTypeId;
+                            }else if ($scope.vm.form.companyTypes != null) {
+                                companyTypeId = $scope.vm.form.companyTypes[0].id;
+                            }
+                            return companyTypeId;
+                        })(),
+                        parentSectorId : (function () {
+                            var parentSectorId = -1;
+                            if ($scope.vm.form.parentSector !== "" && $scope.vm.form.parentSectorId !== "" && $scope.vm.form.parentSectorId !== -1) {
+                                parentSectorId = $scope.vm.form.parentSectorId;
+                            }else if ($scope.vm.form.parentSectors != null) {
+                                parentSectorId = $scope.vm.form.parentSectors[0].id;
+                            }
+                            return parentSectorId;
+                        })(),
+                        childSectorId : (function () {
+                            var childSectorId = -1;
+                            if ($scope.vm.form.childSector !== "" && $scope.vm.form.childSectorId !== "" && $scope.vm.form.childSectorId !== -1) {
+                                childSectorId = $scope.vm.form.childSectorId;
+                            }else if ($scope.vm.form.childSectors != null) {
+                                childSectorId = $scope.vm.form.childSectors[0].id;
+                            }
+                            return childSectorId;
+                        })(),
+                        regionId : (function () {
+                            var regionId = -1;
+                            if ($scope.vm.form.region !== "" && $scope.vm.form.regionId !== "" && $scope.vm.form.regionId !== -1) {
+                                regionId = $scope.vm.form.regionId;
+                            }else if ($scope.vm.form.regions != null) {
+                                regionId = $scope.vm.form.regions[0].id;
+                            }
+                            return regionId;
+                        })(),
+                        statusId : (function () {
+                            var statusId = -1;
+                            if ($scope.vm.form.status !== "" && $scope.vm.form.statusId !== "" && $scope.vm.form.statusId !== -1) {
+                                statusId = $scope.vm.form.statusId;
+                            }else if ($scope.vm.form.statuses != null) {
+                                statusId = $scope.vm.form.statuses[0].id;
+                            }
+                            return statusId;
+                        })(),
+                        statusName : $scope.vm.form.status
                     };
 
                     CompanyField.modify($resourceProvider.getContent(
@@ -111,7 +268,6 @@
 
                         if (result.data.message.status === "success") {
                             $scope.fn.cancel();
-
                             //  紐⑸줉 �솕硫� 媛깆떊
                             $rootScope.$broadcast("getPageList", {});
                         }
@@ -122,6 +278,54 @@
                         $rootScope.spinner = false;
                     });
 
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = ""
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -144,18 +348,63 @@
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            if (angular.isDefined(result.data.content)) {
+                            if (result.data.content != null) {
                                 $scope.vm.form.name = result.data.content.name;
                                 $scope.vm.form.manager = result.data.content.manager;
-                                $scope.vm.form.email = result.data.content.email;
-                                $scope.vm.form.tel = result.data.content.tel;
+
+                                if (result.data.content.tel != null) {
+                                    var inputTels = $scope.vm.form.inputTels;
+                                    var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1);
+                                    var telArr = tels.split(", ");
+                                    angular.forEach(telArr, function (tel) {
+                                        inputTels.push(tel);
+                                    });
+                                    inputTels  = inputTels.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if (inputTels[0] === 0 || inputTels[0] === "") {
+                                        inputTels.shift();
+                                    }
+                                    inputTels.push("");
+                                    $scope.vm.form.tels = angular.copy(inputTels);
+                                }
+
+                                if (result.data.content.email != null) {
+                                    var inputMails = $scope.vm.form.inputMails;
+                                    var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1);
+                                    var emailArr = emails.split(", ");
+                                    angular.forEach(emailArr, function (email) {
+                                        inputMails.push(email);
+                                    });
+                                    inputMails  = inputMails.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputMails[0] === 0 || inputMails[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputMails.shift();
+                                    }
+                                    inputMails.push("");
+                                    $scope.vm.form.emails = angular.copy(inputMails);
+                                }
+
                                 $scope.vm.form.url = result.data.content.url;
                                 $scope.vm.form.memo = result.data.content.memo;
+                                $scope.vm.form.companyTypeId = result.data.content.companyTypeId;
+                                $scope.vm.form.companyType = result.data.content.companyTypeName;
+                                $scope.vm.form.parentSectorId = result.data.content.parentSectorId;
+                                $scope.vm.form.parentSector = result.data.content.parentSectorName;
+                                $scope.vm.form.childSectorId = result.data.content.childSectorId;
+                                $scope.vm.form.childSector = result.data.content.childSectorName;
+                                $scope.vm.form.regionId = result.data.content.regionId;
+                                $scope.vm.form.region = result.data.content.regionName;
+                                $scope.vm.form.statusId = result.data.content.statusId;
+                                $scope.vm.form.status = result.data.content.statusName;
 
                                 if (result.data.content.ispFieldVo != null) {
+                                    $scope.vm.form.ispId = result.data.content.ispFieldVo.id;
                                     $scope.vm.form.ispName = result.data.content.ispFieldVo.name;
                                 }
                                 if (result.data.content.hostingFieldVo != null) {
+                                    $scope.vm.form.hostingId = result.data.content.hostingFieldVo.id;
                                     $scope.vm.form.hostingName = result.data.content.hostingFieldVo.name;
                                 }
                             }
diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js
index 1ab079f..d913c12 100644
--- a/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js
+++ b/src/main/webapp/scripts/app/hostingField/hostingFieldAdd.controller.js
@@ -13,7 +13,11 @@
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    formCheck : formCheck   //  �뤌 泥댄겕
+                    formCheck : formCheck,   //  �뤌 泥댄겕
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -24,7 +28,11 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //鍮꾧퀬
+                        memo : "",  //鍮꾧퀬
+                        inputTels : [0], //�뿰�씫泥�
+                        tels : {},
+                        inputMails : [0], //�씠硫붿씪
+                        emails : {}
                     }
                 };
 
@@ -44,8 +52,40 @@
                         code : $rootScope.preventXss($scope.vm.form.code),  //肄붾뱶
                         name : $rootScope.preventXss($scope.vm.form.name),    //  �샇�뒪�똿紐�
                         manager : $scope.vm.form.manager,   //�떞�떦�옄
-                        tel : $scope.vm.form.tel,  //�쟾�솕踰덊샇
-                        email : $scope.vm.form.email,  //�씠硫붿씪
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $scope.vm.form.url, // url
                         memo : $scope.vm.form.memo  //鍮꾧퀬
                     };
@@ -67,6 +107,54 @@
 
                 }
 
+                // �뿰�씫泥� input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
+                }
+
                 //  �뙘�뾽 李� �떕湲�
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js
index c57c3ac..30e4888 100644
--- a/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js
+++ b/src/main/webapp/scripts/app/hostingField/hostingFieldList.controller.js
@@ -129,10 +129,27 @@
                             $scope.vm.page.selectedPage = currentPage + 1;
 
                             // �쟾�솕踰덊샇 議고쉶�떆 �븯�씠�뵂 異붽� �빐�꽌 議고쉶
-                            result.data.data.forEach(function (telDatas) {
-                                let hyphen = telDatas.tel.trim();
-                                let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
-                                telDatas.tel = phone;
+                            result.data.data.forEach(function (data) {
+                                if (data.tel != null && data.tel !== "") {
+                                    var tels = data.tel.substr(1, data.tel.indexOf("]")-1);
+                                    var telArr = tels.split(",");
+
+                                    for (var i = 0; i < telArr.length; i++) {
+                                        let hyphen = telArr[i].trim();
+                                        telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3");
+                                        if (telArr[i] === "") {
+                                            telArr.splice(i,1);
+                                        }
+                                    }
+                                    data.tel = telArr.join();
+                                }
+                            });
+
+                            // �씠硫붿씪 議고쉶�떆 諛곗뿴 �삎�깭 �젣嫄�
+                            result.data.data.forEach(function (data) {
+                                if (data.email != null && data.email !== "") {
+                                    data.email = data.email.substr(1, data.email.indexOf("]")-1);
+                                }
                             });
 
                             $scope.vm.responseData = result.data;
diff --git a/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js b/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js
index b643107..edd8f2a 100644
--- a/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/hostingField/hostingFieldModify.controller.js
@@ -15,7 +15,11 @@
                     detail : detail,  //  �긽�꽭 議고쉶
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    formCheck : formCheck  //  �뤌 泥댄겕
+                    formCheck : formCheck,  //  �뤌 泥댄겕
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -27,7 +31,11 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //硫붾え(鍮꾧퀬)
+                        memo : "",  //硫붾え(鍮꾧퀬)
+                        inputTels : [0],
+                        tels : {},
+                        inputMails : [0],
+                        emails : {}
                     }
                 };
 
@@ -49,8 +57,40 @@
                         code : $rootScope.preventXss($scope.vm.form.code),
                         name : $rootScope.preventXss($scope.vm.form.name),
                         manager : $rootScope.preventXss($scope.vm.form.manager),
-                        tel : $rootScope.preventXss($scope.vm.form.tel),
-                        email : $rootScope.preventXss($scope.vm.form.email),
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $rootScope.preventXss($scope.vm.form.url), // url
                         memo : $rootScope.preventXss($scope.vm.form.memo)
                     };
@@ -74,6 +114,54 @@
 
                 }
 
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = ""
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
+                }
+
                 //  �뙘�뾽 李� �떕湲�
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
@@ -94,12 +182,45 @@
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            if (angular.isDefined(result.data.content)) {
+                            if (result.data.content != null) {
                                 $scope.vm.form.code = result.data.content.code;
                                 $scope.vm.form.name = result.data.content.name;
                                 $scope.vm.form.manager = result.data.content.manager;
-                                $scope.vm.form.email = result.data.content.email;
-                                $scope.vm.form.tel = result.data.content.tel;
+
+                                if (result.data.content.tel != null) {
+                                    var inputTels = $scope.vm.form.inputTels;
+                                    var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1);
+                                    var telArr = tels.split(", ");
+                                    angular.forEach(telArr, function (tel) {
+                                        inputTels.push(tel);
+                                    });
+                                    inputTels  = inputTels.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if (inputTels[0] === 0 || inputTels[0] === "") {
+                                        inputTels.shift();
+                                    }
+                                    inputTels.push("");
+                                    $scope.vm.form.tels = angular.copy(inputTels);
+                                }
+
+                                if (result.data.content.email != null) {
+                                    var inputMails = $scope.vm.form.inputMails;
+                                    var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1);
+                                    var emailArr = emails.split(", ");
+                                    angular.forEach(emailArr, function (email) {
+                                        inputMails.push(email);
+                                    });
+                                    inputMails  = inputMails.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputMails[0] === 0 || inputMails[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputMails.shift();
+                                    }
+                                    inputMails.push("");
+                                    $scope.vm.form.emails = angular.copy(inputMails);
+                                }
+
                                 $scope.vm.form.url = result.data.content.url;
                                 $scope.vm.form.memo = result.data.content.memo;
                             }
diff --git a/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js
index 139308c..6cc0e9e 100644
--- a/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js
+++ b/src/main/webapp/scripts/app/ispField/ispFieldAdd.controller.js
@@ -13,7 +13,11 @@
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    formCheck : formCheck   //  �뤌 泥댄겕
+                    formCheck : formCheck,   //  �뤌 泥댄겕
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -24,7 +28,11 @@
                         tel : "",  //�쟾�솕踰덊샇
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //鍮꾧퀬
+                        memo : "",  //鍮꾧퀬
+                        inputTels : [0], //�뿰�씫泥�
+                        tels : {},
+                        inputMails : [0], //�씠硫붿씪
+                        emails : {}
                     }
                 };
 
@@ -44,8 +52,40 @@
                         code : $rootScope.preventXss($scope.vm.form.code),  //肄붾뱶
                         name : $rootScope.preventXss($scope.vm.form.name),    //  ISP紐�
                         manager : $scope.vm.form.manager,   //�떞�떦�옄
-                        tel : $scope.vm.form.tel,  //�쟾�솕踰덊샇
-                        email : $scope.vm.form.email,  //�씠硫붿씪
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $scope.vm.form.url, // url
                         memo : $scope.vm.form.memo  //鍮꾧퀬
                     };
@@ -67,6 +107,54 @@
 
                 }
 
+                // �뿰�씫泥� input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
+                }
+
                 //  �뙘�뾽 李� �떕湲�
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
diff --git a/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js
index c9028dd..9da1146 100644
--- a/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js
+++ b/src/main/webapp/scripts/app/ispField/ispFieldList.controller.js
@@ -129,10 +129,27 @@
                             $scope.vm.page.selectedPage = currentPage + 1;
 
                             // �쟾�솕踰덊샇 議고쉶�떆 �븯�씠�뵂 異붽� �빐�꽌 議고쉶
-                            result.data.data.forEach(function (telData) {
-                                let hyphen = telData.tel.trim();
-                                let phone = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
-                                telData.tel = phone
+                            result.data.data.forEach(function (data) {
+                                if (data.tel != null && data.tel !== "") {
+                                    var tels = data.tel.substr(1, data.tel.indexOf("]")-1);
+                                    var telArr = tels.split(",");
+
+                                    for (var i = 0; i < telArr.length; i++) {
+                                        let hyphen = telArr[i].trim();
+                                        telArr[i] = hyphen.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/, "$1-$2-$3");
+                                        if (telArr[i] === "") {
+                                            telArr.splice(i,1);
+                                        }
+                                    }
+                                    data.tel = telArr.join();
+                                }
+                            });
+
+                            // �씠硫붿씪 議고쉶�떆 諛곗뿴 �삎�깭 �젣嫄�
+                            result.data.data.forEach(function (data) {
+                                if (data.email != null && data.email !== "") {
+                                    data.email = data.email.substr(1, data.email.indexOf("]")-1);
+                                }
                             });
 
                             $scope.vm.responseData = result.data;
diff --git a/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js b/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js
index 896eeea..552a3c6 100644
--- a/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/ispField/ispFieldModify.controller.js
@@ -15,7 +15,11 @@
                     detail : detail,  //  �긽�꽭 議고쉶
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit : formSubmit,    //  �뤌 �쟾�넚
-                    formCheck : formCheck  //  �뤌 泥댄겕
+                    formCheck : formCheck,  //  �뤌 泥댄겕
+                    addTel : addTel,
+                    addMail : addMail,
+                    removeTelInput : removeTelInput,
+                    removeMailInput : removeMailInput
                 };
 
                 $scope.vm = {
@@ -27,7 +31,11 @@
                         code : "",
                         email : "",  //�씠硫붿씪
                         url : "", // url
-                        memo : ""  //硫붾え(鍮꾧퀬)
+                        memo : "",  //硫붾え(鍮꾧퀬)
+                        inputTels : [0],
+                        tels : {},
+                        inputMails : [0],
+                        emails : {}
                     }
                 };
 
@@ -48,8 +56,40 @@
                         code : $rootScope.preventXss($scope.vm.form.code),
                         name : $rootScope.preventXss($scope.vm.form.name),
                         manager : $rootScope.preventXss($scope.vm.form.manager),
-                        tel : $rootScope.preventXss($scope.vm.form.tel),
-                        email : $rootScope.preventXss($scope.vm.form.email),
+                        tels : (function () {
+                            var telList = [];
+                            if ($scope.vm.form.tels != null) {
+                                angular.forEach($scope.vm.form.tels, function (tel) {
+                                    telList.push(tel);
+                                });
+                                telList  = telList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                telList  = telList.filter(function(item, idx){
+                                    return telList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return telList;
+                        })(),
+                        emails : (function () {
+                            var emailList = [];
+                            if ($scope.vm.form.emails != null) {
+                                angular.forEach($scope.vm.form.emails, function (email) {
+                                    emailList.push(email);
+                                });
+                                emailList  = emailList.filter(function(item) { //�벐�젅湲� �뜲�씠�꽣 �븘�꽣留�
+                                    return item !== null && item !== undefined && item !== '';
+                                });
+                                emailList  = emailList.filter(function(item, idx){
+                                    return emailList.findIndex(function(item2, idx2){
+                                        return item === item2
+                                    }) == idx;
+                                });
+                            }
+                            return emailList;
+                        })(),
                         url : $rootScope.preventXss($scope.vm.form.url), // url
                         memo : $rootScope.preventXss($scope.vm.form.memo)
                     };
@@ -73,6 +113,54 @@
 
                 }
 
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addTel() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputTels.forEach(function (tel) {
+                        if (!$rootScope.isDefined($scope.vm.form.tels[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputTels.push(index);
+                        $scope.vm.form.tels[index] = "";
+                    } else {
+                        SweetAlert.warning($filter("translate")("companyField.writeCompanyTel"), $filter("translate")("companyField.writeTel")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // 硫붿씪 二쇱냼 input 李� 異붽� 踰꾪듉
+                function addMail() {
+                    var arrayFull = true;      // 諛곗뿴�씠 媛��뱷 李� �엳�뒗吏� �뿬遺�
+                    var index = 0;
+                    $scope.vm.form.inputMails.forEach(function (email) {
+                        if (!$rootScope.isDefined($scope.vm.form.emails[index])) {
+                            arrayFull = false;
+                        }
+                        index++;
+                    });
+
+                    if (arrayFull) {
+                        $scope.vm.form.inputMails.push(index);
+                        $scope.vm.form.emails[index] = ""
+                    } else {
+                        SweetAlert.warning($filter("translate")("issue.writeIssueMail"), $filter("translate")("issue.writeMail")); // 異붽�踰꾪듉 寃쎄퀬
+                    }
+                }
+
+                // �뿰�씫泥� input �궘�젣
+                function removeTelInput(index) {
+                    $scope.vm.form.inputTels.splice(index, 1);
+                }
+
+                // �씠硫붿씪 二쇱냼 input �궘�젣
+                function removeMailInput(index) {
+                    $scope.vm.form.inputMails.splice(index, 1);
+                }
+
                 //  �뙘�뾽 李� �떕湲�
                 function cancel() {
                     $rootScope.$broadcast("closeLayer");    //  �뙘�뾽�씠 �뿴由ш퀬 �굹�꽌 js-multi, js-single �벑�뿉�꽌 body �씠踰ㅽ듃媛� �궇�븘媛��뒗 �쁽�긽 �닔�젙
@@ -93,12 +181,45 @@
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            if (angular.isDefined(result.data.content)) {
+                            if (result.data.content != null) {
                                 $scope.vm.form.code = result.data.content.code;
                                 $scope.vm.form.name = result.data.content.name;
                                 $scope.vm.form.manager = result.data.content.manager;
-                                $scope.vm.form.email = result.data.content.email;
-                                $scope.vm.form.tel = result.data.content.tel;
+
+                                if (result.data.content.tel != null) {
+                                    var inputTels = $scope.vm.form.inputTels;
+                                    var tels = result.data.content.tel.substr(1, result.data.content.tel.indexOf("]")-1);
+                                    var telArr = tels.split(", ");
+                                    angular.forEach(telArr, function (tel) {
+                                        inputTels.push(tel);
+                                    });
+                                    inputTels  = inputTels.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if (inputTels[0] === 0 || inputTels[0] === "") {
+                                        inputTels.shift();
+                                    }
+                                    inputTels.push("");
+                                    $scope.vm.form.tels = angular.copy(inputTels);
+                                }
+
+                                if (result.data.content.email != null) {
+                                    var inputMails = $scope.vm.form.inputMails;
+                                    var emails = result.data.content.email.substr(1, result.data.content.email.indexOf("]")-1);
+                                    var emailArr = emails.split(", ");
+                                    angular.forEach(emailArr, function (email) {
+                                        inputMails.push(email);
+                                    });
+                                    inputMails  = inputMails.filter(function(item) {
+                                        return item !== null && item !== undefined && item !== '';
+                                    });
+                                    if(inputMails[0] === 0 || inputMails[0] === "") { // 泥ル쾲吏� 諛곗뿴�� 怨듬갚�쑝濡�
+                                        inputMails.shift();
+                                    }
+                                    inputMails.push("");
+                                    $scope.vm.form.emails = angular.copy(inputMails);
+                                }
+
                                 $scope.vm.form.url = result.data.content.url;
                                 $scope.vm.form.memo = result.data.content.memo;
                             }
diff --git a/src/main/webapp/scripts/components/companyFieldCategory/companyFieldCategory.service.js b/src/main/webapp/scripts/components/companyFieldCategory/companyFieldCategory.service.js
new file mode 100644
index 0000000..40a4deb
--- /dev/null
+++ b/src/main/webapp/scripts/components/companyFieldCategory/companyFieldCategory.service.js
@@ -0,0 +1,20 @@
+/**
+ * Created by maprex on 2021-11-04
+ */
+'use strict';
+
+define([
+    'app'
+], function (app) {
+    app.factory("CompanyFieldCategory", ['$http', '$log', function ($http, $log) {
+        return {
+            find : function (conditions) {
+                return $http.post("CompanyFieldCategory/find", conditions).then(function (response) {
+                    $log.debug("�뾽泥� 移댄뀒怨좊━ 紐⑸줉 �뜲�씠�꽣 : ", response);
+                    return response;
+                });
+            }
+        }
+    }
+    ]);
+});
diff --git a/src/main/webapp/scripts/components/utils/autoComplete.controller.js b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
index 7fd4e7e..456ab56 100644
--- a/src/main/webapp/scripts/components/utils/autoComplete.controller.js
+++ b/src/main/webapp/scripts/components/utils/autoComplete.controller.js
@@ -25,6 +25,7 @@
                 var IssueType = $injector.get("IssueType");
                 var IssueTypeCustomField = $injector.get("IssueTypeCustomField");
                 var CustomField = $injector.get("CustomField");
+                var CompanyFieldCategory = $injector.get("CompanyFieldCategory");
                 var $log = $injector.get("$log");
                 var SweetAlert = $injector.get("SweetAlert");
 
@@ -45,6 +46,8 @@
                 $scope.fn.getCustomFieldList = getCustomFieldList;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
                 $scope.fn.getMailTargetAll = getMailTargetAll;          // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶
                 $scope.fn.getIssueTypeCustomFieldList = getIssueTypeCustomFieldList;      // �씠�뒋 �쑀�삎�뿉�꽌 �궗�슜以묒씤 �궗�슜�옄�젙�쓽 �븘�뱶媛��졇�삤湲�
+                $scope.fn.getCompanyTypeCategory = getCompanyTypeCategory;    //  �뾽泥� 移댄뀒怨좊━ 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
+                $scope.fn.getCompanyChildSector = getCompanyChildSector;    //  �뾽泥� 移댄뀒怨좊━ 紐⑸줉 �젙蹂대�� 議고쉶�븳�떎.
 
                 function getUserList(query, excludeList, page, callBack) {
                     var conditions = {
@@ -410,7 +413,7 @@
 
                 function getIssueIspFieldList(query, excludeList, page, callBack) {
                     var conditions = {
-                        ispName : query,
+                        name : query,
                         excludeIds : (function () {
                             var excludeIds = [];
 
@@ -443,7 +446,7 @@
 
                 function getIssueHostingFieldList(query, excludeList, page, callBack) {
                     var conditions = {
-                        hostingName : query,
+                        name : query,
                         excludeIds : (function () {
                             var excludeIds = [];
 
@@ -475,6 +478,91 @@
                     return deferred.promise;
                 }
 
+                function getCompanyTypeCategory(typeCategory, query, excludeList, page, callBack) {
+                    var conditions = {
+                        typeCategory : typeCategory,
+                        useValue : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    if ($rootScope.isDefined(page) && page > 0) {
+                        $rootScope.spinner = true;
+                    }
+
+                    CompanyFieldCategory.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error");
+                        }
+                        $rootScope.spinner = false;
+                    });
+
+                    return deferred.promise;
+                }
+
+                function getCompanyChildSector(parentSector, parentSectorId, typeCategory, query, excludeList, page, callBack) {
+                    var conditions = {
+                        parentId : (function () {   // �뾽醫�(��遺꾨쪟)
+                            var parentId = "";
+                            if (parentSector != null && parentSector !== "") {
+                                parentId = parentSector[0].id;
+                            }else {
+                                parentId = parentSectorId;
+                            }
+                            return parentId;
+                        })(),
+                        typeCategory : typeCategory,
+                        useValue : query,
+                        excludeIds : (function () {
+                            var excludeIds = [];
+
+                            angular.forEach(excludeList, function (exclude) {
+                                excludeIds.push(exclude.id);
+                            });
+
+                            return excludeIds;
+                        })()
+                    };
+
+                    var deferred = $q.defer();
+
+                    if ($rootScope.isDefined(page) && page > 0) {
+                        $rootScope.spinner = true;
+                    }
+
+                    CompanyFieldCategory.find($resourceProvider.getContent(         //  �럹�씠吏� �뾽�뜲�씠�듃媛� �븘�슂�븳 而댄룷�꼳�듃 �씪寃쎌슦, page �뾽�뜲�씠�듃媛� �엳�쓣 寃쎌슦 湲곕낯 10媛쒖뵫 媛��졇�삤怨� �븘�땺寃쎌슦 25媛쒖뵫 媛��졇�삩�떎.
+                        conditions, $resourceProvider.getPageContent($rootScope.isDefined(page) ? page : 0, $rootScope.isDefined(page) ? 10 : 25))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(callBack)) {
+                                callBack(result);
+                            }
+                            deferred.resolve(result.data.data);
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("common.failedToCompanyCategoryListLookUp"), result.data.message.message, "error");
+                        }
+                        $rootScope.spinner = false;
+                    });
+
+                    return deferred.promise;
+                }
+
                 function getPartnerList(query, excludeList, page, callBack) {
                     var conditions = {
                         partnerName : query,
diff --git a/src/main/webapp/scripts/main.js b/src/main/webapp/scripts/main.js
index 7e5677d..d2a94ba 100644
--- a/src/main/webapp/scripts/main.js
+++ b/src/main/webapp/scripts/main.js
@@ -355,6 +355,8 @@
         'companyFieldAddController' : 'app/companyField/companyFieldAdd.controller', // �뾽泥� �깮�꽦 而⑦듃濡ㅻ윭
         'companyFieldModifyController' : 'app/companyField/companyFieldModify.controller', // �뾽泥� �닔�젙 而⑦듃濡ㅻ윭
 
+        'companyFieldCategoryService' : 'components/companyFieldCategory/companyFieldCategory.service',  // �뾽泥� 移댄뀒怨좊━
+
         /* ISP */
         'ispFieldRoute' : 'app/ispField/ispField',   // ISP route �젙蹂�
         'ispFieldService' : 'components/ispField/ispField.service',  // ISP 愿��젴�맂 �넻�떊 �떞�떦
@@ -600,7 +602,8 @@
     'companyFieldService',
     'ispFieldService',
     'hostingFieldService',
-    'userWorkspaceService'
+    'userWorkspaceService',
+    'companyFieldCategoryService',
 ], function ($, angular, domReady, app, sortable, crypto) {
     //  ���떆蹂대뱶�뿉�꽌 Sortable �씤�떇 紐삵븯�뒗 臾몄젣 �빐寃�
     window.Sortable = sortable;
diff --git a/src/main/webapp/views/companyField/companyFieldAdd.html b/src/main/webapp/views/companyField/companyFieldAdd.html
index 54c55d0..6a8450b 100644
--- a/src/main/webapp/views/companyField/companyFieldAdd.html
+++ b/src/main/webapp/views/companyField/companyFieldAdd.html
@@ -31,43 +31,6 @@
             </div>
 
             <div class="form-group">
-                <label class="issue-label">
-                    <span translate="ispField.select">ISP �꽑�깮</span>
-                </label>
-                <js-autocomplete-single data-input-name="ispField"
-                                    selected-model="vm.form.issueIspFields"
-                                    ng-model="vm.form.ispName"
-                                    custom-input="true"
-                                    search="vm.form.ispName"
-                                    source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
-                                    page="vm.autoCompletePage.ispField.page"
-                                    total-page="vm.autoCompletePage.ispField.totalPage"
-                                    input-disabled="false"
-                                    translation-texts="{ empty : 'common.emptyIsp' }"
-                                    broad-cast="ispFieldEvent"
-                                    extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
-            </div>
-
-            <div class="form-group">
-                <label class="issue-label">
-                    <span translate="hostingField.select">�샇�뒪�똿 �꽑�깮</span>
-                </label>
-                <js-autocomplete-single data-input-name="hostingField"
-                                    selected-model="vm.form.issueHostingFields"
-                                    ng-model="vm.form.hostingName"
-                                    custom-input="true"
-                                    search="vm.hostingName"
-                                    source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
-                                    page="vm.autoCompletePage.hostingField.page"
-                                    total-page="vm.autoCompletePage.hostingField.totalPage"
-                                    input-disabled="false"
-                                    translation-texts="{ empty : 'common.emptyHosting' }"
-                                    broad-cast="hostingFieldEvent"
-                                    extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
-            </div>
-            <div class="form-group">
                 <label for="companyFieldAddForm10" class="issue-label">
                     <span translate="companyField.url">url</span>
                     <code class="highlighter-rouge">*</code>
@@ -87,140 +50,223 @@
                      translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                 </div>
             </div>
-            <!--<div class="row">
-                <div class="col-md-3">
-                    <div class="form-group mb10">
-                        <label for="companyFieldAddForm2" class="issue-label"> <span
-                                translate="companyField.company">�뾽泥� 遺꾨쪟</span>
+
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.select">ISP �꽑�깮</span>
                         </label>
-                        <select id="companyFieldAddForm2"
-                                name="companyType"
-                                class="form-control input-sm issue-select-label"
-                                ng-model="vm.form.companyType"
-                                >
-                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
-                                    translate="common.selectTarget">���긽 �꽑�깮</span>
-                            </option>
-                            <option value="personal">媛쒖씤</option>
-                            <option value="business">湲곗뾽</option>
-                        </select>
+                        <js-autocomplete-single data-input-name="ispField"
+                                            selected-model="vm.form.issueIspFields"
+                                            ng-model="vm.form.ispName"
+                                            custom-input="true"
+                                            search="vm.form.ispName"
+                                            source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
+                                            page="vm.autoCompletePage.ispField.page"
+                                            total-page="vm.autoCompletePage.ispField.totalPage"
+                                            input-disabled="false"
+                                            translation-texts="{ empty : 'common.emptyIsp' }"
+                                            broad-cast="ispFieldEvent"
+                                            extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
-                <div class="col-md-3">
-                    <div class="form-group mb10">
-                        <label for="companyFieldAddForm3" class="issue-label">
-                            <span translate="companyField.profitYN">�쁺由�/鍮꾩쁺由�</span>
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="hostingField.select">�샇�뒪�똿 �꽑�깮</span>
                         </label>
-                        <select id="companyFieldAddForm3"
-                                name="profitYN"
-                                class="form-control input-sm issue-select-label"
-                                ng-model="vm.form.profitYN"
-                                >
-                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
-                                <span translate="common.selectTarget">���긽 �꽑�깮</span>
-                            </option>
-                            <option value="profit">�쁺由�</option>
-                            <option value="nonProfit">鍮꾩쁺由�</option>
-                        </select>
+                        <js-autocomplete-single data-input-name="hostingField"
+                                            selected-model="vm.form.issueHostingFields"
+                                            ng-model="vm.form.hostingName"
+                                            custom-input="true"
+                                            search="vm.form.hostingName"
+                                            source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
+                                            page="vm.autoCompletePage.hostingField.page"
+                                            total-page="vm.autoCompletePage.hostingField.totalPage"
+                                            input-disabled="false"
+                                            translation-texts="{ empty : 'common.emptyHosting' }"
+                                            broad-cast="hostingFieldEvent"
+                                            extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
-                <div class="col-md-6">
-                    <div class="form-group mb10">
-                        <label for="companyFieldAddForm4" class="issue-label"> <span
-                                translate="companyField.industry">�궛�뾽 遺꾨쪟</span>
+            </div>
+
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label"><span translate="companyField.tel">�쟾�솕踰덊샇</span></label>
+                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
+                            <input type="text"
+                                   name="tel"
+                                   class="form-control mt-1"
+                                   kr-input
+                                   ng-model="vm.form.tels[$index]"
+                                   input-regex="[^0-9]"
+                                   maxlength="11"
+                                   minlength="9"
+                                   autocomplete="off">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="companyFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.email">�씠硫붿씪</span>
                         </label>
-                        <input id="companyFieldAddForm4"
-                               name="industry"
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input type="text"
+                                   name="email"
+                                   class="form-control mt-1"
+                                   kr-input
+                                   ng-model="vm.form.emails[$index]"
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                                   autocomplete="off">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+            </div>
+
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label for="companyFieldAddForm9" class="issue-label">
+                            <span translate="companyField.manager">�떞�떦�옄</span>
+                        </label>
+                        <input id="companyFieldAddForm9"
+                               name="manager"
                                type="text"
                                class="form-control"
                                kr-input
                                input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                                autocomplete="off"
-                               ng-model="vm.form.industry"
-                               ng-maxlength="200"
-                               maxlength="200"
-                               >
+                               ng-model="vm.form.manager"
+                               ng-maxlength="100"
+                               maxlength="100"
+                        >
+                    </div>
+                </div>
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.companyType">湲곗뾽援щ텇</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="companyType"
+                                                selected-model="vm.form.companyTypes"
+                                                ng-model="vm.form.companyType"
+                                                custom-input="false"
+                                                search="vm.form.companyType"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)"
+                                                page="vm.autoCompletePage.companyType.page"
+                                                total-page="vm.autoCompletePage.companyType.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyCompanyType' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
             </div>
 
             <div class="form-group">
-                <label for="companyFieldAddForm5" class="issue-label">
-                    <span translate="companyField.domain">�룄硫붿씤</span>
+                <label class="issue-label">
+                    <span translate="companyField.parentSector">�뾽醫�(��遺꾨쪟)</span>
                 </label>
-                <input id="companyFieldAddForm5"
-                       name="domain"
-                       type="text"
-                       class="form-control"
-                       kr-input
-                       input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
-                       autocomplete="off"
-                       ng-model="vm.form.domain"
-                       ng-maxlength="200"
-                       maxlength="200"
-                       >
-                &lt;!&ndash;<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>&ndash;&gt;
-            </div>-->
-            <div>
-                <div class="form-group">
-                    <label for="companyFieldAddForm9" class="issue-label">
-                        <span translate="companyField.manager">�떞�떦�옄</span>
-                    </label>
-                    <input id="companyFieldAddForm9"
-                           name="manager"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
-                           autocomplete="off"
-                           ng-model="vm.form.manager"
-                           ng-maxlength="100"
-                           maxlength="100"
-                    >
-                    <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
-                </div>
+                <js-autocomplete-single data-input-name="parentSector"
+                                        selected-model="vm.form.parentSectors"
+                                        ng-model="vm.form.parentSector"
+                                        custom-input="false"
+                                        search="vm.form.parentSector"
+                                        source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)"
+                                        page="vm.autoCompletePage.parentSector.page"
+                                        total-page="vm.autoCompletePage.parentSector.totalPage"
+                                        input-disabled="false"
+                                        translation-texts="{ empty : 'common.emptyParentSector' }"
+                                        extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
             </div>
-            <div>
-                <div class="form-group">
-                    <label for="companyFieldAddForm7" class="issue-label"><span translate="companyField.tel">�쟾�솕踰덊샇</span></label>
-                    <input id="companyFieldAddForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="companyFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+            <div class="form-group">
+                <label class="issue-label">
+                    <span translate="companyField.childSector">�뾽醫�(以묐텇瑜�)</span>
+                </label>
+                <js-autocomplete-single data-input-name="childSector"
+                                        selected-model="vm.form.childSectors"
+                                        ng-model="vm.form.childSector"
+                                        custom-input="false"
+                                        search="vm.form.childSector"
+                                        source="fn.getCompanyChildSector(vm.form.parentSectorId, vm.form.parentSectors[0].id, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)"
+                                        page="vm.autoCompletePage.childSector.page"
+                                        total-page="vm.autoCompletePage.childSector.totalPage"
+                                        input-disabled="false"
+                                        translation-texts="{ empty : 'common.emptyChildSector' }"
+                                        extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+            </div>
+
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.region">吏��뿭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="region"
+                                                selected-model="vm.form.regions"
+                                                ng-model="vm.form.region"
+                                                custom-input="false"
+                                                search="vm.form.region"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)"
+                                                page="vm.autoCompletePage.region.page"
+                                                total-page="vm.autoCompletePage.region.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyRegion' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
-<!--                    <div ng-show="companyFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="companyFieldAddForm6" class="issue-label">
-                        <span translate="companyField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="companyFieldAddForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="companyFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.status">�긽�깭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="status"
+                                                selected-model="vm.form.statuses"
+                                                ng-model="vm.form.status"
+                                                custom-input="false"
+                                                search="vm.form.status"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)"
+                                                page="vm.autoCompletePage.status.page"
+                                                total-page="vm.autoCompletePage.status.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyStatus' }"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
             </div>
+
             <div>
                 <div class="form-group">
                     <label for="companyFieldAddForm8" class="issue-label">
diff --git a/src/main/webapp/views/companyField/companyFieldModify.html b/src/main/webapp/views/companyField/companyFieldModify.html
index 8211942..b66d3e4 100644
--- a/src/main/webapp/views/companyField/companyFieldModify.html
+++ b/src/main/webapp/views/companyField/companyFieldModify.html
@@ -30,196 +30,243 @@
                 <small translate="companyField.enterSpecialCharacters">�뾽泥� �씠由꾩뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰 �븷�닔 �뾾�뒿�땲�떎.</small>
             </div>
             <div class="form-group">
-                <label class="issue-label">
-                    <span translate="ispField.select">ISP �꽑�깮</span>
+                <label for="companyFieldAddForm10" class="issue-label">
+                    <span translate="companyField.url">url</span>
                 </label>
-                <js-autocomplete-single data-input-name="ispField"
-                                        selected-model="vm.form.issueIspFields"
-                                        ng-model="vm.form.ispName"
-                                        custom-input="true"
-                                        search="vm.form.ispName"
-                                        source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
-                                        page="vm.autoCompletePage.ispField.page"
-                                        total-page="vm.autoCompletePage.ispField.totalPage"
-                                        input-disabled="false"
-                                        translation-texts="{ empty : 'common.emptyIsp' }"
-                                        broad-cast="ispFieldEvent"
-                                        extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                <input id="companyFieldAddForm10"
+                       name="url"
+                       type="text"
+                       class="form-control"
+                       kr-input
+                       autocomplete="off"
+                       ng-model="vm.form.url"
+                       ng-maxlength="200"
+                       maxlength="200"
+                       ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                >
+                <div ng-show="companyFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger"
+                     translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                </div>
             </div>
-
-            <div class="form-group">
-                <label class="issue-label">
-                    <span translate="hostingField.select">�샇�뒪�똿 �꽑�깮</span>
-                </label>
-                <js-autocomplete-single data-input-name="hostingField"
-                                        selected-model="vm.form.issueHostingFields"
-                                        ng-model="vm.form.hostingName"
-                                        custom-input="true"
-                                        search="vm.form.hostingName"
-                                        source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
-                                        page="vm.autoCompletePage.hostingField.page"
-                                        total-page="vm.autoCompletePage.hostingField.totalPage"
-                                        input-disabled="false"
-                                        translation-texts="{ empty : 'common.emptyHosting' }"
-                                        broad-cast="hostingFieldEvent"
-                                        extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="companyFieldAddForm10" class="issue-label">
-                        <span translate="companyField.url">url</span>
-                    </label>
-                    <input id="companyFieldAddForm10"
-                           name="url"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           autocomplete="off"
-                           ng-model="vm.form.url"
-                           ng-maxlength="200"
-                           maxlength="200"
-                           ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
-                    >
-                    <div ng-show="companyFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger"
-                         translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.select">ISP �꽑�깮</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="ispField"
+                                                selected-model="vm.form.issueIspFields"
+                                                ng-model="vm.form.ispName"
+                                                custom-input="true"
+                                                search="vm.form.ispName"
+                                                source="fn.getIssueIspFieldList(vm.form.ispName, vm.form.issueIspFields, vm.autoCompletePage.issueIspFields.page, fn.getIssueIspFieldListCallBack)"
+                                                page="vm.autoCompletePage.ispField.page"
+                                                total-page="vm.autoCompletePage.ispField.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyIsp' }"
+                                                broad-cast="ispFieldEvent"
+                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                    </div>
+                </div>
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="hostingField.select">�샇�뒪�똿 �꽑�깮</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="hostingField"
+                                                selected-model="vm.form.issueHostingFields"
+                                                ng-model="vm.form.hostingName"
+                                                custom-input="true"
+                                                search="vm.form.hostingName"
+                                                source="fn.getIssueHostingFieldList(vm.form.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
+                                                page="vm.autoCompletePage.hostingField.page"
+                                                total-page="vm.autoCompletePage.hostingField.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyHosting' }"
+                                                broad-cast="hostingFieldEvent"
+                                                extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
+                            type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
             </div>
-            <!--<div class="row">
-                <div class="col-md-3">
-                    <div class="form-group mb10">
-                        <label for="companyFieldModifyForm2" class="issue-label"> <span
-                                translate="companyField.company">�뾽泥� 遺꾨쪟</span>
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.tel">�쟾�솕踰덊샇</span>
                         </label>
-                        <select id="companyFieldModifyForm2"
-                                name="companyType"
-                                class="form-control input-sm issue-select-label"
-                                ng-model="vm.form.companyType"
-                                >
-                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }"><span
-                                    translate="common.selectTarget">���긽 �꽑�깮</span>
-                            </option>
-                            <option value="personal">媛쒖씤</option>
-                            <option value="business">湲곗뾽</option>
-                        </select>
+                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
+                            <input type="text"
+                                   name="tel"
+                                   class="form-control mt-1"
+                                   kr-input
+                                   ng-model="vm.form.tels[$index]"
+                                   input-regex="[^0-9]"
+                                   maxlength="11"
+                                   minlength="9"
+                                   autocomplete="off">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="companyFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
                     </div>
                 </div>
-                <div class="col-md-3">
-                    <div class="form-group mb10">
-                        <label for="companyFieldModifyForm3" class="issue-label">
-                            <span translate="companyField.profitYN">�쁺由�/鍮꾩쁺由�</span>
-                        </label>
-                        <select id="companyFieldModifyForm3"
-                                name="profitYN"
-                                class="form-control input-sm issue-select-label"
-                                ng-model="vm.form.profitYN"
-                                >
-                            <option value="" translate="common.selectTarget" ng-style="{ 'color' : '#353535' }">
-                                <span translate="common.selectTarget">���긽 �꽑�깮</span>
-                            </option>
-                            <option value="profit">�쁺由�</option>
-                            <option value="nonProfit">鍮꾩쁺由�</option>
-                        </select>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
                     </div>
                 </div>
-                <div class="col-md-6">
-                    <div class="form-group mb10">
-                        <label for="companyFieldModifyForm4" class="issue-label"> <span
-                                translate="companyField.industry">�궛�뾽 遺꾨쪟</span>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.email">�씠硫붿씪</span>
                         </label>
-                        <input id="companyFieldModifyForm4"
-                               name="industry"
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input type="text"
+                                   name="email"
+                                   class="form-control mt-1"
+                                   kr-input
+                                   ng-model="vm.form.emails[$index]"
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                                   autocomplete="off">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+            </div>
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label for="companyFieldModifyForm9" class="issue-label">
+                            <span translate="companyField.manager">�떞�떦�옄</span>
+                        </label>
+                        <input id="companyFieldModifyForm9"
+                               name="manager"
                                type="text"
                                class="form-control"
                                kr-input
                                input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
                                autocomplete="off"
-                               ng-model="vm.form.industry"
-                               ng-maxlength="200"
-                               maxlength="200"
-                               >
+                               ng-model="vm.form.manager"
+                               ng-maxlength="100"
+                               maxlength="100"
+                        >
+                    </div>
+                </div>
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.companyType">湲곗뾽援щ텇</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="companyType"
+                                                selected-model="vm.form.companyTypes"
+                                                ng-model="vm.form.companyType"
+                                                custom-input="false"
+                                                search="vm.form.companyType"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.companyType, vm.form.companyType, vm.form.companyTypes, vm.autoCompletePage.companyType.page, fn.getCompanyTypeListCallBack)"
+                                                page="vm.autoCompletePage.companyType.page"
+                                                total-page="vm.autoCompletePage.companyType.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyCompanyType' }"
+                                                broad-cast="companyTypeEvent"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
             </div>
-
-            <div class="form-group">
-                <label for="companyFieldModifyForm5" class="issue-label">
-                    <span translate="companyField.domain">�룄硫붿씤</span>
-                </label>
-                <input id="companyFieldModifyForm5"
-                       name="domain"
-                       type="text"
-                       class="form-control"
-                       kr-input
-                       input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
-                       autocomplete="off"
-                       ng-model="vm.form.domain"
-                       ng-maxlength="200"
-                       maxlength="200"
-                       >
-                &lt;!&ndash;<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>&ndash;&gt;
-            </div>-->
             <div>
                 <div class="form-group">
-                    <label for="companyFieldModifyForm9" class="issue-label">
-                        <span translate="companyField.manager">�떞�떦�옄</span>
+                    <label class="issue-label">
+                        <span translate="companyField.parentSector">�뾽醫�(��遺꾨쪟)</span>
                     </label>
-                    <input id="companyFieldModifyForm9"
-                           name="manager"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^a-zA-Z0-9 媛�-�옡�꽦-�뀕�뀖-�뀭\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
-                           autocomplete="off"
-                           ng-model="vm.form.manager"
-                           ng-maxlength="100"
-                           maxlength="100"
-                    >
-                    <!--<small translate="notice.enterSpecialCharacters">�젣紐⑹뿉�뒗 �듅�닔 臾몄옄瑜� �엯�젰�븷 �닔 �뾾�뒿�땲�떎.</small>-->
+                    <js-autocomplete-single data-input-name="parentSector"
+                                            selected-model="vm.form.parentSectors"
+                                            ng-model="vm.form.parentSector"
+                                            custom-input="false"
+                                            search="vm.form.parentSector"
+                                            source="fn.getCompanyTypeCategory(vm.typeCategory.parentSector, vm.form.parentSector, vm.form.parentSectors, vm.autoCompletePage.parentSector.page, fn.getParentSectorListCallBack)"
+                                            page="vm.autoCompletePage.parentSector.page"
+                                            total-page="vm.autoCompletePage.parentSector.totalPage"
+                                            input-disabled="false"
+                                            translation-texts="{ empty : 'common.emptyParentSector' }"
+                                            broad-cast="parentSectorEvent"
+                                            extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                 </div>
             </div>
             <div>
                 <div class="form-group">
-                    <label for="companyFieldModifyForm7" class="issue-label">
-                        <span translate="companyField.tel">�쟾�솕踰덊샇</span>
+                    <label class="issue-label">
+                        <span translate="companyField.childSector">�뾽醫�(以묐텇瑜�)</span>
                     </label>
-                    <input id="companyFieldModifyForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="companyFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                    <js-autocomplete-single data-input-name="childSector"
+                                            selected-model="vm.form.childSectors"
+                                            ng-model="vm.form.childSector"
+                                            custom-input="false"
+                                            search="vm.form.childSector"
+                                            source="fn.getCompanyChildSector(vm.form.parentSectors, vm.form.parentSectorId, vm.typeCategory.childSector, vm.form.childSector, vm.form.childSectors, vm.autoCompletePage.childSector.page, fn.getChildSectorListCallBack)"
+                                            page="vm.autoCompletePage.childSector.page"
+                                            total-page="vm.autoCompletePage.childSector.totalPage"
+                                            input-disabled="false"
+                                            translation-texts="{ empty : 'common.emptyChildSector' }"
+                                            broad-cast="childSectorEvent"
+                                            extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                    type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                </div>
+            </div>
+            <div class="row">
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.region">吏��뿭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="region"
+                                                selected-model="vm.form.regions"
+                                                ng-model="vm.form.region"
+                                                custom-input="false"
+                                                search="vm.form.region"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.region, vm.form.region, vm.form.regions, vm.autoCompletePage.region.page, fn.getRegionListCallBack)"
+                                                page="vm.autoCompletePage.region.page"
+                                                total-page="vm.autoCompletePage.region.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyRegion' }"
+                                                broad-cast="regionEvent"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
-<!--                    <div ng-show="companyFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="companyFieldModifyForm6" class="issue-label">
-                        <span translate="companyField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="companyFieldModifyForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="companyFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-6">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="companyField.status">�긽�깭</span>
+                        </label>
+                        <js-autocomplete-single data-input-name="status"
+                                                selected-model="vm.form.statuses"
+                                                ng-model="vm.form.status"
+                                                custom-input="false"
+                                                search="vm.form.status"
+                                                source="fn.getCompanyTypeCategory(vm.typeCategory.status, vm.form.status, vm.form.statuses, vm.autoCompletePage.status.page, fn.getStatusListCallBack)"
+                                                page="vm.autoCompletePage.status.page"
+                                                total-page="vm.autoCompletePage.status.totalPage"
+                                                input-disabled="false"
+                                                translation-texts="{ empty : 'common.emptyStatus' }"
+                                                broad-cast="statusEvent"
+                                                extra-settings="{ displayProp : 'useValue' , idProp : 'id', imageable : false, imagePathProp : '',
+                        type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
                     </div>
                 </div>
             </div>
diff --git a/src/main/webapp/views/hostingField/hostingFieldAdd.html b/src/main/webapp/views/hostingField/hostingFieldAdd.html
index 586f56a..99c340c 100644
--- a/src/main/webapp/views/hostingField/hostingFieldAdd.html
+++ b/src/main/webapp/views/hostingField/hostingFieldAdd.html
@@ -65,46 +65,64 @@
                     >
                 </div>
             </div>
-            <div>
-                <div class="form-group">
-                    <label for="hostingFieldAddForm7" class="issue-label">
-                        <span translate="hostingField.tel">�쟾�솕踰덊샇</span>
-                    </label>
-                    <input id="hostingFieldAddForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="hostingFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="hostingField.tel">�쟾�솕踰덊샇</span>
+                        </label>
+                        <div class="input-group" ng-repeat="i in vm.form.inputTels">
+                            <input name="tel"
+                                   type="text"
+                                   class="form-control"
+                                   kr-input
+                                   input-regex="[^0-9]"
+                                   autocomplete="off"
+                                   ng-model="vm.form.tels[$index]"
+                                   maxlength="11"
+                                   minlength="9">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="hostingFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
                     </div>
-<!--                    <div ng-show="hostingFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="hostingFieldAddForm6" class="issue-label">
-                        <span translate="hostingField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="hostingFieldAddForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="hostingFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="hostingField.email">�씠硫붿씪</span>
+                        </label>
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input id="hostingFieldAddForm6"
+                                   name="email"
+                                   type="email"
+                                   class="form-control"
+                                   autocomplete="off"
+                                   maxLength="50"
+                                   ng-model="vm.form.emails[$index]"
+                                   kr-input
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                            >
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="hostingFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
                     </div>
                 </div>
             </div>
diff --git a/src/main/webapp/views/hostingField/hostingFieldModify.html b/src/main/webapp/views/hostingField/hostingFieldModify.html
index 86643ab..1375b43 100644
--- a/src/main/webapp/views/hostingField/hostingFieldModify.html
+++ b/src/main/webapp/views/hostingField/hostingFieldModify.html
@@ -66,46 +66,63 @@
                     >
                 </div>
             </div>
-            <div>
-                <div class="form-group">
-                    <label for="hostingFieldModifyForm7" class="issue-label">
-                        <span translate="hostingField.tel">�쟾�솕踰덊샇</span>
-                    </label>
-                    <input id="hostingFieldModifyForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="hostingFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.tel">�쟾�솕踰덊샇</span>
+                        </label>
+                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
+                            <input name="tel"
+                                   type="text"
+                                   class="form-control"
+                                   kr-input
+                                   input-regex="[^0-9]"
+                                   autocomplete="off"
+                                   ng-model="vm.form.tels[$index]"
+                                   maxlength="11"
+                                   minlength="9">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="hostingFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
                     </div>
-<!--                    <div ng-show="hostingFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="hostingFieldModifyForm6" class="issue-label">
-                        <span translate="hostingField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="hostingFieldModifyForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="hostingFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.email">�씠硫붿씪</span>
+                        </label>
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input name="email"
+                                   type="email"
+                                   class="form-control"
+                                   autocomplete="off"
+                                   maxLength="50"
+                                   ng-model="vm.form.emails[$index]"
+                                   kr-input
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                            >
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="hostingFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
                     </div>
                 </div>
             </div>
@@ -125,7 +142,7 @@
                            maxlength="200"
                            ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
                     >
-                    <div ng-show="ispFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger"
+                    <div ng-show="hostingFieldModifyForm.url.$error.pattern" class="help-block form-text text-danger"
                          translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
                     </div>
                 </div>
diff --git a/src/main/webapp/views/ispField/ispFieldAdd.html b/src/main/webapp/views/ispField/ispFieldAdd.html
index 40b3553..6d4aa60 100644
--- a/src/main/webapp/views/ispField/ispFieldAdd.html
+++ b/src/main/webapp/views/ispField/ispFieldAdd.html
@@ -65,46 +65,62 @@
                     >
                 </div>
             </div>
-            <div>
-                <div class="form-group">
-                    <label for="ispFieldAddForm7" class="issue-label">
-                        <span translate="ispField.tel">�쟾�솕踰덊샇</span>
-                    </label>
-                    <input id="ispFieldAddForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="ispFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label"> <span translate="ispField.tel">�쟾�솕踰덊샇</span></label>
+                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
+                            <input name="tel"
+                                   type="text"
+                                   class="form-control mt-1"
+                                   kr-input
+                                   input-regex="[^0-9]"
+                                   autocomplete="off"
+                                   ng-model="vm.form.tels[$index]"
+                                   maxlength="11"
+                                   minlength="9">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="ispFieldAddForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
                     </div>
-<!--                    <div ng-show="ispFieldAddForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="ispFieldAddForm6" class="issue-label">
-                        <span translate="ispField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="ispFieldAddForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="ispFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.email">�씠硫붿씪</span>
+                        </label>
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input id="ispFieldAddForm6"
+                                   name="email"
+                                   type="email"
+                                   class="form-control"
+                                   autocomplete="off"
+                                   maxLength="50"
+                                   ng-model="vm.form.emails[$index]"
+                                   kr-input
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                            >
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="ispFieldAddForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
                     </div>
                 </div>
             </div>
diff --git a/src/main/webapp/views/ispField/ispFieldModify.html b/src/main/webapp/views/ispField/ispFieldModify.html
index 7804225..d00ae90 100644
--- a/src/main/webapp/views/ispField/ispFieldModify.html
+++ b/src/main/webapp/views/ispField/ispFieldModify.html
@@ -66,46 +66,63 @@
                     >
                 </div>
             </div>
-            <div>
-                <div class="form-group">
-                    <label for="ispFieldModifyForm7" class="issue-label">
-                        <span translate="ispField.tel">�쟾�솕踰덊샇</span>
-                    </label>
-                    <input id="ispFieldModifyForm7"
-                           name="tel"
-                           type="text"
-                           class="form-control"
-                           kr-input
-                           input-regex="[^0-9]"
-                           autocomplete="off"
-                           ng-model="vm.form.tel"
-                           maxlength="11"
-                           minlength="9">
-                    <div ng-show="ispFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
-                         translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+            <div class="row">
+                <div class="col-lg-4">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.tel">�쟾�솕踰덊샇</span>
+                        </label>
+                        <div class="input-group" ng-repeat="tell in vm.form.inputTels">
+                            <input name="tel"
+                                   type="text"
+                                   class="form-control"
+                                   kr-input
+                                   input-regex="[^0-9]"
+                                   autocomplete="off"
+                                   ng-model="vm.form.tels[$index]"
+                                   maxlength="11"
+                                   minlength="9">
+                            <span class="select3-selection__email__remove" ng-click="fn.removeTelInput($index)">횞</span>
+                        </div>
+                        <div ng-show="ispFieldModifyForm.tel.$error.minlength" class="help-block form-text text-danger"
+                             translate="common.least9CharactersTel">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎.(9�옄由� �씠�긽)
+                        </div>
                     </div>
-<!--                    <div ng-show="ispFieldModifyForm.tel.$error.pattern" class="help-block form-text text-danger"-->
-<!--                         translate="companyField.invalidTelFormat">�쟾�솕踰덊샇 �삎�떇�씠 留욎� �븡�뒿�땲�떎. xxx-xxx-xxxx �삎�떇�쑝濡� �엯�젰�븯�꽭�슂.-->
-<!--                    </div>-->
                 </div>
-            </div>
-            <div>
-                <div class="form-group">
-                    <label for="ispFieldModifyForm6" class="issue-label">
-                        <span translate="ispField.email">�씠硫붿씪</span>
-                    </label>
-                    <input id="ispFieldModifyForm6"
-                           name="email"
-                           type="email"
-                           class="form-control"
-                           autocomplete="off"
-                           maxLength="50"
-                           ng-model="vm.form.email"
-                           kr-input
-                           ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
-                    >
-                    <div ng-show="ispFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
-                         translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                <div class="col-lg-2 mt-25" style="margin-left: -15px">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addTel()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
+                    </div>
+                </div>
+                <div class="col-lg-5">
+                    <div class="form-group">
+                        <label class="issue-label">
+                            <span translate="ispField.email">�씠硫붿씪</span>
+                        </label>
+                        <div class="input-group" ng-repeat="mail in vm.form.inputMails">
+                            <input name="email"
+                                   type="email"
+                                   class="form-control"
+                                   autocomplete="off"
+                                   maxLength="50"
+                                   ng-model="vm.form.emails[$index]"
+                                   kr-input
+                                   ng-pattern="/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"
+                            >
+                            <span class="select3-selection__email__remove" ng-click="fn.removeMailInput($index)">횞</span>
+                        </div>
+                        <div ng-show="ispFieldModifyForm.email.$error.pattern" class="help-block form-text text-danger"
+                             translate="users.invalidEmailFormat">�씠硫붿씪 �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-2 mt-25" style="margin-left: -15px; margin-right: -16px;">
+                    <div>
+                        <button type="button" class="btn btn-secondary" ng-click="fn.addMail()">
+                            <span translate="common.add">異붽�</span>
+                        </button>
                     </div>
                 </div>
             </div>

--
Gitblit v1.8.0