From bea07d3ad5c832426680325f1112538feda04e50 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 화, 09 11월 2021 10:08:43 +0900
Subject: [PATCH] ISP, Hosting 백엔드 추가 및 부서 수정

---
 src/main/java/kr/wisestone/owl/mapper/HostingMapper.java                |   21 +
 src/main/java/kr/wisestone/owl/vo/IspVo.java                            |   71 +++
 src/main/java/kr/wisestone/owl/web/condition/IspCondition.java          |   85 ++++
 src/main/java/kr/wisestone/owl/web/controller/HostingController.java    |   96 ++++
 src/main/java/kr/wisestone/owl/domain/Isp.java                          |   71 +++
 src/main/java/kr/wisestone/owl/mapper/IspMapper.java                    |   21 +
 src/main/resources/migration/V1_10__Alter_Table.sql                     |    5 
 src/main/java/kr/wisestone/owl/service/HostingService.java              |   31 +
 src/main/java/kr/wisestone/owl/vo/HostingVo.java                        |   71 +++
 src/main/java/kr/wisestone/owl/service/IspService.java                  |   31 +
 src/main/java/kr/wisestone/owl/service/impl/HostingServiceImpl.java     |  197 +++++++++
 src/main/java/kr/wisestone/owl/domain/Hosting.java                      |   71 +++
 src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java               |    1 
 src/main/java/kr/wisestone/owl/web/condition/HostingCondition.java      |   85 ++++
 src/main/java/kr/wisestone/owl/repository/IspRepository.java            |    8 
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java        |    3 
 src/main/resources/migration/V1_11__Alter_Table.sql                     |   31 +
 src/main/java/kr/wisestone/owl/repository/HostingRepository.java        |    8 
 src/main/java/kr/wisestone/owl/web/controller/IspController.java        |   96 ++++
 src/main/java/kr/wisestone/owl/service/impl/IspServiceImpl.java         |  197 +++++++++
 src/main/resources/mybatis/query-template/departmentManage-template.xml |    1 
 21 files changed, 1,194 insertions(+), 7 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/Hosting.java b/src/main/java/kr/wisestone/owl/domain/Hosting.java
new file mode 100644
index 0000000..d842bb8
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/domain/Hosting.java
@@ -0,0 +1,71 @@
+package kr.wisestone.owl.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+@Entity
+public class Hosting extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    public Hosting() {}
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/domain/Isp.java b/src/main/java/kr/wisestone/owl/domain/Isp.java
new file mode 100644
index 0000000..55f4334
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/domain/Isp.java
@@ -0,0 +1,71 @@
+package kr.wisestone.owl.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+@Entity
+public class Isp extends BaseEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    public Isp() {}
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/mapper/HostingMapper.java b/src/main/java/kr/wisestone/owl/mapper/HostingMapper.java
new file mode 100644
index 0000000..13db3fa
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/mapper/HostingMapper.java
@@ -0,0 +1,21 @@
+package kr.wisestone.owl.mapper;
+
+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 HostingMapper {
+    List<Map<String, Object>> find(CompanyFieldCondition companyFieldCondition);
+
+    Long count(CompanyFieldCondition companyFieldCondition);
+
+    List<Map<String, Object>> findEvent();
+
+    Long findByCompany(Long id);
+}
diff --git a/src/main/java/kr/wisestone/owl/mapper/IspMapper.java b/src/main/java/kr/wisestone/owl/mapper/IspMapper.java
new file mode 100644
index 0000000..62ef1c1
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/mapper/IspMapper.java
@@ -0,0 +1,21 @@
+package kr.wisestone.owl.mapper;
+
+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 IspMapper {
+    List<Map<String, Object>> find(CompanyFieldCondition companyFieldCondition);
+
+    Long count(CompanyFieldCondition companyFieldCondition);
+
+    List<Map<String, Object>> findEvent();
+
+    Long findByCompany(Long id);
+}
diff --git a/src/main/java/kr/wisestone/owl/repository/HostingRepository.java b/src/main/java/kr/wisestone/owl/repository/HostingRepository.java
new file mode 100644
index 0000000..9b22148
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/repository/HostingRepository.java
@@ -0,0 +1,8 @@
+package kr.wisestone.owl.repository;
+
+import kr.wisestone.owl.domain.CompanyField;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface HostingRepository extends JpaRepository<CompanyField, Long> {
+
+}
diff --git a/src/main/java/kr/wisestone/owl/repository/IspRepository.java b/src/main/java/kr/wisestone/owl/repository/IspRepository.java
new file mode 100644
index 0000000..36f8c96
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/repository/IspRepository.java
@@ -0,0 +1,8 @@
+package kr.wisestone.owl.repository;
+
+import kr.wisestone.owl.domain.CompanyField;
+import org.springframework.data.jpa.repository.JpaRepository;
+
+public interface IspRepository extends JpaRepository<CompanyField, Long> {
+
+}
diff --git a/src/main/java/kr/wisestone/owl/service/HostingService.java b/src/main/java/kr/wisestone/owl/service/HostingService.java
new file mode 100644
index 0000000..f0bf726
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/HostingService.java
@@ -0,0 +1,31 @@
+package kr.wisestone.owl.service;
+
+import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.vo.CompanyFieldVo;
+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 HostingService {
+    CompanyField addCompany(CompanyFieldForm companyFieldForm);
+
+    List<CompanyFieldVo> findCompany(Map<String, Object> resJsonData, CompanyFieldCondition make, Pageable pageable);
+
+    CompanyField getCompany(Long id);
+
+    void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition make);
+
+    void modifyCompany(CompanyFieldForm make);
+
+    void removeCompany(CompanyFieldForm make);
+
+    ModelAndView downloadExcel(HttpServletRequest request, Model model);
+
+    boolean company(Long id);
+}
diff --git a/src/main/java/kr/wisestone/owl/service/IspService.java b/src/main/java/kr/wisestone/owl/service/IspService.java
new file mode 100644
index 0000000..7f1bd89
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/IspService.java
@@ -0,0 +1,31 @@
+package kr.wisestone.owl.service;
+
+import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.vo.CompanyFieldVo;
+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 IspService {
+    CompanyField addCompany(CompanyFieldForm companyFieldForm);
+
+    List<CompanyFieldVo> findCompany(Map<String, Object> resJsonData, CompanyFieldCondition make, Pageable pageable);
+
+    CompanyField getCompany(Long id);
+
+    void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition make);
+
+    void modifyCompany(CompanyFieldForm make);
+
+    void removeCompany(CompanyFieldForm make);
+
+    ModelAndView downloadExcel(HttpServletRequest request, Model model);
+
+    boolean company(Long id);
+}
diff --git a/src/main/java/kr/wisestone/owl/service/impl/HostingServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/HostingServiceImpl.java
new file mode 100644
index 0000000..22bde04
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/impl/HostingServiceImpl.java
@@ -0,0 +1,197 @@
+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.exception.OwlRuntimeException;
+import kr.wisestone.owl.mapper.CompanyFieldMapper;
+import kr.wisestone.owl.repository.CompanyFieldRepository;
+import kr.wisestone.owl.service.CompanyFieldService;
+import kr.wisestone.owl.service.UserService;
+import kr.wisestone.owl.service.WorkspaceService;
+import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.vo.CompanyFieldVo;
+import kr.wisestone.owl.vo.ExportExcelAttrVo;
+import kr.wisestone.owl.vo.ExportExcelVo;
+import kr.wisestone.owl.vo.ResPage;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import kr.wisestone.owl.web.form.CompanyFieldForm;
+import kr.wisestone.owl.web.view.ExcelView;
+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.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 HostingServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService {
+
+    @Autowired
+    private CompanyFieldRepository companyFieldRepository;
+
+    @Autowired
+    private CompanyFieldMapper companyFieldMapper;
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private WorkspaceService workspaceService;
+
+    @Autowired
+    private ExcelView excelView;
+
+    @Autowired
+    private ExcelConditionCheck excelConditionCheck;
+
+    @Override
+    protected JpaRepository<CompanyField, Long> getRepository() {
+        return this.companyFieldRepository;
+    }
+
+    // �뾽泥� 異붽�
+    @Override
+    public CompanyField addCompany(CompanyFieldForm companyFieldForm) {
+        CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
+        companyFieldRepository.saveAndFlush(companyField);
+        return companyField;
+    }
+
+    // �뾽泥� 紐⑸줉�쓣 媛��졇�삩�떎.
+    @Override
+    public List<CompanyFieldVo> findCompany(Map<String, Object> resJsonData,
+                                            CompanyFieldCondition condition, Pageable pageable) {
+        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
+        condition.setPageSize(pageable.getPageSize());
+
+        List<Map<String, Object>> results = this.companyFieldMapper.find(condition);
+        Long totalCompanyCount = this.companyFieldMapper.count(condition);
+
+        return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData);
+    }
+
+
+    // �뾽泥� �긽�꽭 議고쉶�븳�떎.
+    @Override
+    public void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition companyFieldCondition) {
+        CompanyFieldVo companyFieldVo = new CompanyFieldVo();
+
+        Long companyId = companyFieldCondition.getId();
+        if (companyId != null) {
+            CompanyField companyField = this.getCompany(companyId);
+            companyFieldVo = ConvertUtil.copyProperties(companyField, CompanyFieldVo.class);
+        }
+        resJsonData.put(Constants.REQ_KEY_CONTENT, companyFieldVo);
+    }
+
+    // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎.
+    @Override
+    public void modifyCompany(CompanyFieldForm companyFieldForm) {
+        CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
+        companyFieldRepository.saveAndFlush(companyField);
+    }
+
+
+    // �뾽泥대�� �궘�젣�븳�떎.
+    @Override
+    public void removeCompany(CompanyFieldForm companyFieldForm) {
+        if (companyFieldForm.getRemoveIds().size() < 1) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANY_REMOVE_NOT_SELECT));
+        }
+        for (Long id : companyFieldForm.getRemoveIds()) {
+            if (!this.userService.useUserLevel(id)) {
+                this.companyFieldRepository.deleteById(id);
+            } else {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE));
+            }
+
+        }
+        this.companyFieldRepository.flush();
+    }
+
+    // �뾽泥� 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
+    @Override
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        Map<String, Object> conditions = new HashMap<>();
+        //  �뿊�� �떎�슫濡쒕뱶�뿉 �븘�슂�븳 寃��깋 議곌굔 �젙蹂대�� 異붿텧�븯怨� 寃��깋 議곌굔 異붿텧�뿉 �삤瑜섍� 諛쒖깮�븯硫� 寃쎄퀬瑜� �몴�떆�빐以��떎.
+        modelAndView = this.excelConditionCheck.checkCondition(conditions, request, model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        CompanyFieldCondition companyFieldCondition = CompanyFieldCondition.make(conditions);
+
+
+        List<Map<String, Object>> results = this.companyFieldMapper.find(companyFieldCondition);
+        List<CompanyFieldVo> companyFieldVos = ConvertUtil.convertListToListClass(results, CompanyFieldVo.class);
+        // code_ko_KR �뿉 code紐� �꽕�젙
+        ExportExcelVo excelInfo = new ExportExcelVo();
+        excelInfo.setFileName(this.messageAccessor.message("�뾽泥� 紐⑸줉"));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyName", this.messageAccessor.message("companyField.companyName"), 6, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyManager", this.messageAccessor.message("companyField.companyManager"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyTel", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyEmail", this.messageAccessor.message("companyField.companyEmail"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyMemo", this.messageAccessor.message("companyField.companyMemo"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+
+        excelInfo.setDatas(companyFieldVos);
+
+        model.addAttribute(Constants.EXCEL, excelInfo);
+        return new ModelAndView(this.excelView);
+    }
+
+    // �궘�젣 �븷 �뾽泥닿� �엳�뒗吏� �솗�씤
+    @Override
+    public boolean company(Long Id) {
+        return this.companyFieldMapper.findByCompany(Id) > 0;
+    }
+
+    //  寃��깋 寃곌낵瑜� CompanyFieldVo 濡� 蹂��솚�븳�떎.
+    private List<CompanyFieldVo> convertCompanyVoToMap(List<Map<String, Object>> results, Long totalCompanyCount, Pageable pageable, Map<String, Object> resJsonData) {
+        List<CompanyFieldVo> companyFieldVos = Lists.newArrayList();
+
+        for (Map<String, Object> result : results) {
+            CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class);
+            companyFieldVos.add(companyFieldVo);
+        }
+
+        int totalPage = (int) Math.ceil((totalCompanyCount - 1) / pageable.getPageSize()) + 1;
+
+        resJsonData.put(Constants.RES_KEY_CONTENTS, companyFieldVos);
+        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
+                totalPage, totalCompanyCount));
+
+        return companyFieldVos;
+    }
+
+    // �뾽泥� ID 濡� 議고쉶�븳�떎
+    @Override
+    public CompanyField getCompany(Long id) {
+        if (id == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST));
+        }
+
+        CompanyField companyField = this.findOne(id);
+
+        if (companyField == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST));
+        }
+        return companyField;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IspServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IspServiceImpl.java
new file mode 100644
index 0000000..e76466e
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/service/impl/IspServiceImpl.java
@@ -0,0 +1,197 @@
+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.exception.OwlRuntimeException;
+import kr.wisestone.owl.mapper.CompanyFieldMapper;
+import kr.wisestone.owl.repository.CompanyFieldRepository;
+import kr.wisestone.owl.service.CompanyFieldService;
+import kr.wisestone.owl.service.UserService;
+import kr.wisestone.owl.service.WorkspaceService;
+import kr.wisestone.owl.util.ConvertUtil;
+import kr.wisestone.owl.vo.CompanyFieldVo;
+import kr.wisestone.owl.vo.ExportExcelAttrVo;
+import kr.wisestone.owl.vo.ExportExcelVo;
+import kr.wisestone.owl.vo.ResPage;
+import kr.wisestone.owl.web.condition.CompanyFieldCondition;
+import kr.wisestone.owl.web.form.CompanyFieldForm;
+import kr.wisestone.owl.web.view.ExcelView;
+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.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 IspServiceImpl extends AbstractServiceImpl<CompanyField, Long, JpaRepository<CompanyField, Long>> implements CompanyFieldService {
+
+    @Autowired
+    private CompanyFieldRepository companyFieldRepository;
+
+    @Autowired
+    private CompanyFieldMapper companyFieldMapper;
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private WorkspaceService workspaceService;
+
+    @Autowired
+    private ExcelView excelView;
+
+    @Autowired
+    private ExcelConditionCheck excelConditionCheck;
+
+    @Override
+    protected JpaRepository<CompanyField, Long> getRepository() {
+        return this.companyFieldRepository;
+    }
+
+    // �뾽泥� 異붽�
+    @Override
+    public CompanyField addCompany(CompanyFieldForm companyFieldForm) {
+        CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
+        companyFieldRepository.saveAndFlush(companyField);
+        return companyField;
+    }
+
+    // �뾽泥� 紐⑸줉�쓣 媛��졇�삩�떎.
+    @Override
+    public List<CompanyFieldVo> findCompany(Map<String, Object> resJsonData,
+                                            CompanyFieldCondition condition, Pageable pageable) {
+        condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
+        condition.setPageSize(pageable.getPageSize());
+
+        List<Map<String, Object>> results = this.companyFieldMapper.find(condition);
+        Long totalCompanyCount = this.companyFieldMapper.count(condition);
+
+        return this.convertCompanyVoToMap(results, totalCompanyCount, pageable, resJsonData);
+    }
+
+
+    // �뾽泥� �긽�꽭 議고쉶�븳�떎.
+    @Override
+    public void detailCompany(Map<String, Object> resJsonData, CompanyFieldCondition companyFieldCondition) {
+        CompanyFieldVo companyFieldVo = new CompanyFieldVo();
+
+        Long companyId = companyFieldCondition.getId();
+        if (companyId != null) {
+            CompanyField companyField = this.getCompany(companyId);
+            companyFieldVo = ConvertUtil.copyProperties(companyField, CompanyFieldVo.class);
+        }
+        resJsonData.put(Constants.REQ_KEY_CONTENT, companyFieldVo);
+    }
+
+    // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎.
+    @Override
+    public void modifyCompany(CompanyFieldForm companyFieldForm) {
+        CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
+        companyFieldRepository.saveAndFlush(companyField);
+    }
+
+
+    // �뾽泥대�� �궘�젣�븳�떎.
+    @Override
+    public void removeCompany(CompanyFieldForm companyFieldForm) {
+        if (companyFieldForm.getRemoveIds().size() < 1) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANY_REMOVE_NOT_SELECT));
+        }
+        for (Long id : companyFieldForm.getRemoveIds()) {
+            if (!this.userService.useUserLevel(id)) {
+                this.companyFieldRepository.deleteById(id);
+            } else {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_ALREADY_IN_USE));
+            }
+
+        }
+        this.companyFieldRepository.flush();
+    }
+
+    // �뾽泥� 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
+    @Override
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        ModelAndView modelAndView = this.workspaceService.checkUseExcelDownload(model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        Map<String, Object> conditions = new HashMap<>();
+        //  �뿊�� �떎�슫濡쒕뱶�뿉 �븘�슂�븳 寃��깋 議곌굔 �젙蹂대�� 異붿텧�븯怨� 寃��깋 議곌굔 異붿텧�뿉 �삤瑜섍� 諛쒖깮�븯硫� 寃쎄퀬瑜� �몴�떆�빐以��떎.
+        modelAndView = this.excelConditionCheck.checkCondition(conditions, request, model);
+        if (modelAndView != null) {
+            return modelAndView;
+        }
+
+        CompanyFieldCondition companyFieldCondition = CompanyFieldCondition.make(conditions);
+
+
+        List<Map<String, Object>> results = this.companyFieldMapper.find(companyFieldCondition);
+        List<CompanyFieldVo> companyFieldVos = ConvertUtil.convertListToListClass(results, CompanyFieldVo.class);
+        // code_ko_KR �뿉 code紐� �꽕�젙
+        ExportExcelVo excelInfo = new ExportExcelVo();
+        excelInfo.setFileName(this.messageAccessor.message("�뾽泥� 紐⑸줉"));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyName", this.messageAccessor.message("companyField.companyName"), 6, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyManager", this.messageAccessor.message("companyField.companyManager"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyTel", this.messageAccessor.message("companyField.companyTel"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyEmail", this.messageAccessor.message("companyField.companyEmail"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("companyMemo", this.messageAccessor.message("companyField.companyMemo"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+
+        excelInfo.setDatas(companyFieldVos);
+
+        model.addAttribute(Constants.EXCEL, excelInfo);
+        return new ModelAndView(this.excelView);
+    }
+
+    // �궘�젣 �븷 �뾽泥닿� �엳�뒗吏� �솗�씤
+    @Override
+    public boolean company(Long Id) {
+        return this.companyFieldMapper.findByCompany(Id) > 0;
+    }
+
+    //  寃��깋 寃곌낵瑜� CompanyFieldVo 濡� 蹂��솚�븳�떎.
+    private List<CompanyFieldVo> convertCompanyVoToMap(List<Map<String, Object>> results, Long totalCompanyCount, Pageable pageable, Map<String, Object> resJsonData) {
+        List<CompanyFieldVo> companyFieldVos = Lists.newArrayList();
+
+        for (Map<String, Object> result : results) {
+            CompanyFieldVo companyFieldVo = ConvertUtil.convertMapToClass(result, CompanyFieldVo.class);
+            companyFieldVos.add(companyFieldVo);
+        }
+
+        int totalPage = (int) Math.ceil((totalCompanyCount - 1) / pageable.getPageSize()) + 1;
+
+        resJsonData.put(Constants.RES_KEY_CONTENTS, companyFieldVos);
+        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
+                totalPage, totalCompanyCount));
+
+        return companyFieldVos;
+    }
+
+    // �뾽泥� ID 濡� 議고쉶�븳�떎
+    @Override
+    public CompanyField getCompany(Long id) {
+        if (id == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST));
+        }
+
+        CompanyField companyField = this.findOne(id);
+
+        if (companyField == null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST));
+        }
+        return companyField;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
index 47e33bb..ad7edf2 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -244,8 +244,7 @@
             // DepartmentManage�뿉 �엫�떆濡� Name, Description 媛� 異붽�
             DepartmentManageForm departmentManageForm = new DepartmentManageForm();
 
-            departmentManageForm.setDepartmentName("媛쒕컻��");
-            departmentManageForm.setDepartmentDescription("�쎒�궗�씠�듃 諛� �빋 �꽌鍮꾩뒪 媛쒕컻");
+            departmentManageForm.setDepartmentName("遺��꽌 �뾾�쓬");
             DepartmentManage departmentManage = this.departmentManageService.addDepartmentManage(departmentManageForm);
             user.setDepartmentManage(departmentManage);
 
diff --git a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java
index 6798acc..c206567 100644
--- a/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/DepartmentManageVo.java
@@ -8,6 +8,7 @@
     private Long id;
     private String departmentName;
     private String departmentDescription;
+    private String defaultYn;
 
     private Long departmentCount;
     public DepartmentManageVo() {}
diff --git a/src/main/java/kr/wisestone/owl/vo/HostingVo.java b/src/main/java/kr/wisestone/owl/vo/HostingVo.java
new file mode 100644
index 0000000..f9855b1
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/vo/HostingVo.java
@@ -0,0 +1,71 @@
+package kr.wisestone.owl.vo;
+
+public class HostingVo extends BaseVo{
+
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    public HostingVo() {}
+
+    public HostingVo(Long id, String name, String manager, String tel, String email, String memo) {
+
+        this.id = id;
+        this.name = name;
+        this.manager = manager;
+        this.tel = tel;
+        this.email = email;
+        this.memo = memo;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/vo/IspVo.java b/src/main/java/kr/wisestone/owl/vo/IspVo.java
new file mode 100644
index 0000000..5ed4f90
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/vo/IspVo.java
@@ -0,0 +1,71 @@
+package kr.wisestone.owl.vo;
+
+public class IspVo extends BaseVo{
+
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    public IspVo() {}
+
+    public IspVo(Long id, String name, String manager, String tel, String email, String memo) {
+
+        this.id = id;
+        this.name = name;
+        this.manager = manager;
+        this.tel = tel;
+        this.email = email;
+        this.memo = memo;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/web/condition/HostingCondition.java b/src/main/java/kr/wisestone/owl/web/condition/HostingCondition.java
new file mode 100644
index 0000000..477cb95
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/condition/HostingCondition.java
@@ -0,0 +1,85 @@
+package kr.wisestone.owl.web.condition;
+
+import kr.wisestone.owl.util.ConvertUtil;
+
+import java.util.Map;
+
+public class HostingCondition {
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    private Integer Page;
+    private Integer PageSize;
+
+    public static HostingCondition make(Map<String, Object> companyFieldCondition) {
+        return ConvertUtil.convertMapToClass(companyFieldCondition, HostingCondition.class);
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Integer getPage() {
+        return Page;
+    }
+
+    public void setPage(Integer page) {
+        Page = page;
+    }
+
+    public Integer getPageSize() {
+        return PageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        PageSize = pageSize;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/web/condition/IspCondition.java b/src/main/java/kr/wisestone/owl/web/condition/IspCondition.java
new file mode 100644
index 0000000..d13871d
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/condition/IspCondition.java
@@ -0,0 +1,85 @@
+package kr.wisestone.owl.web.condition;
+
+import kr.wisestone.owl.util.ConvertUtil;
+
+import java.util.Map;
+
+public class IspCondition {
+    private Long id;
+    private String name;
+    private String manager;
+    private String tel;
+    private String email;
+    private String memo;
+
+    private Integer Page;
+    private Integer PageSize;
+
+    public static IspCondition make(Map<String, Object> companyFieldCondition) {
+        return ConvertUtil.convertMapToClass(companyFieldCondition, IspCondition.class);
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getManager() {
+        return manager;
+    }
+
+    public void setManager(String manager) {
+        this.manager = manager;
+    }
+
+    public String getTel() {
+        return tel;
+    }
+
+    public void setTel(String tel) {
+        this.tel = tel;
+    }
+
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo;
+    }
+
+    public Integer getPage() {
+        return Page;
+    }
+
+    public void setPage(Integer page) {
+        Page = page;
+    }
+
+    public Integer getPageSize() {
+        return PageSize;
+    }
+
+    public void setPageSize(Integer pageSize) {
+        PageSize = pageSize;
+    }
+}
diff --git a/src/main/java/kr/wisestone/owl/web/controller/HostingController.java b/src/main/java/kr/wisestone/owl/web/controller/HostingController.java
new file mode 100644
index 0000000..d16c779
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/controller/HostingController.java
@@ -0,0 +1,96 @@
+package kr.wisestone.owl.web.controller;
+
+import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.service.HostingService;
+import kr.wisestone.owl.web.condition.HostingCondition;
+import kr.wisestone.owl.web.form.HostingForm;
+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 HostingController extends BaseController{
+
+    @Autowired
+    private HostingService HostingService;
+
+    // �뾽泥� �깮�꽦
+    @RequestMapping(value = "/hosting/add", method = RequestMethod.POST)
+    public
+    @ResponseBody
+    Map<String, Object> add(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT);
+        this.HostingService.addCompany(HostingForm.make(content));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� 議고쉶
+    @RequestMapping(value = "/hosting/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.HostingService.findCompany(resJsonData, HostingCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable);
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �긽�꽭 議고쉶
+    @RequestMapping(value = "/hosting/detail", produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> detail(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        this.HostingService.detailCompany(resJsonData, HostingCondition.make(params.get(Constants.REQ_KEY_CONTENT)));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �닔�젙
+    @RequestMapping(value = "/hosting/modify", produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> modify(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+
+        this.HostingService.modifyCompany(HostingForm.make(params.get(Constants.REQ_KEY_CONTENT)));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �궘�젣
+    @RequestMapping(value = "/hosting/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> remove(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT);
+
+        this.HostingService.removeCompany(HostingForm.make(content));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+
+    // �뾽泥� �뿊�� �떎�슫濡쒕뱶
+    @RequestMapping(value = "/hosting/downloadExcel", method = RequestMethod.POST)
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        return this.HostingService.downloadExcel(request, model);
+    }
+}
+
diff --git a/src/main/java/kr/wisestone/owl/web/controller/IspController.java b/src/main/java/kr/wisestone/owl/web/controller/IspController.java
new file mode 100644
index 0000000..3a9d989
--- /dev/null
+++ b/src/main/java/kr/wisestone/owl/web/controller/IspController.java
@@ -0,0 +1,96 @@
+package kr.wisestone.owl.web.controller;
+
+import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.service.IspService;
+import kr.wisestone.owl.web.condition.IspCondition;
+import kr.wisestone.owl.web.form.IspForm;
+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 IspController extends BaseController{
+
+    @Autowired
+    private IspService IspService;
+
+    // �뾽泥� �깮�꽦
+    @RequestMapping(value = "/isp/add", method = RequestMethod.POST)
+    public
+    @ResponseBody
+    Map<String, Object> add(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT);
+        this.IspService.addCompany(IspForm.make(content));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� 議고쉶
+    @RequestMapping(value = "/isp/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.IspService.findCompany(resJsonData, IspCondition.make(params.get(Constants.REQ_KEY_CONTENT)), pageable);
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �긽�꽭 議고쉶
+    @RequestMapping(value = "/isp/detail", produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> detail(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        this.IspService.detailCompany(resJsonData, IspCondition.make(params.get(Constants.REQ_KEY_CONTENT)));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �닔�젙
+    @RequestMapping(value = "/isp/modify", produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> modify(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+
+        this.IspService.modifyCompany(IspForm.make(params.get(Constants.REQ_KEY_CONTENT)));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+    // �뾽泥� �궘�젣
+    @RequestMapping(value = "/isp/remove", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
+    public
+    @ResponseBody
+    Map<String, Object> remove(@RequestBody Map<String, Map<String, Object>> params) {
+        Map<String, Object> resJsonData = new HashMap<>();
+        Map<String, Object> content = params.get(Constants.REQ_KEY_CONTENT);
+
+        this.IspService.removeCompany(IspForm.make(content));
+
+        return this.setSuccessMessage(resJsonData);
+    }
+
+
+    // �뾽泥� �뿊�� �떎�슫濡쒕뱶
+    @RequestMapping(value = "/isp/downloadExcel", method = RequestMethod.POST)
+    public ModelAndView downloadExcel(HttpServletRequest request, Model model) {
+        return this.IspService.downloadExcel(request, model);
+    }
+}
+
diff --git a/src/main/resources/migration/V1_10__Alter_Table.sql b/src/main/resources/migration/V1_10__Alter_Table.sql
index c65a167..be68bc8 100644
--- a/src/main/resources/migration/V1_10__Alter_Table.sql
+++ b/src/main/resources/migration/V1_10__Alter_Table.sql
@@ -4,13 +4,12 @@
 
 CREATE TABLE `department_manage`(
     `id` BIGINT(11) AUTO_INCREMENT,
-    `department_name` VARCHAR(50) NOT NULL,
-    `department_description` VARCHAR(255) NOT NULL,
+    `department_name` VARCHAR(50) NULL,
+    `department_description` VARCHAR(255) NULL,
     `register_id` BIGINT(20) NOT NULL,
     `register_date` TIMESTAMP NULL,
     `modify_id` BIGINT(20) NOT NULL,
     `modify_date` TIMESTAMP NULL,
-    `default_department` VARCHAR (50) NULL DEFAULT '遺��꽌 �뾾�쓬',
     PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
diff --git a/src/main/resources/migration/V1_11__Alter_Table.sql b/src/main/resources/migration/V1_11__Alter_Table.sql
index b8631f1..b49db13 100644
--- a/src/main/resources/migration/V1_11__Alter_Table.sql
+++ b/src/main/resources/migration/V1_11__Alter_Table.sql
@@ -11,4 +11,33 @@
     `modify_date` TIMESTAMP NULL,
     PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-/* �씠硫붿씪�� ID 媛믪쑝濡� 諛쏄퀬 �뿰�씫泥섎룄 user�뿉 phone�뿉�꽌 諛쏆쑝硫� �릺怨�*/
\ No newline at end of file
+
+CREATE TABLE `isp`(
+    `id` BIGINT(11) AUTO_INCREMENT,
+    `name` VARCHAR(50) NOT NULL,
+    `manager` VARCHAR(50) NULL,
+    `tel` VARCHAR (50) NULL,
+    `email` VARCHAR (255) NULL,
+    `memo` VARCHAR(255) NULL,
+    `register_id` BIGINT(20) NOT NULL,
+    `register_date` TIMESTAMP NULL,
+    `modify_id` BIGINT(20) NOT NULL,
+    `modify_date` TIMESTAMP NULL,
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
+
+CREATE TABLE `hosting`(
+    `id` BIGINT(11) AUTO_INCREMENT,
+    `name` VARCHAR(50) NOT NULL,
+    `manager` VARCHAR(50) NULL,
+    `tel` VARCHAR (50) NULL,
+    `email` VARCHAR (255) NULL,
+    `memo` VARCHAR(255) NULL,
+    `register_id` BIGINT(20) NOT NULL,
+    `register_date` TIMESTAMP NULL,
+    `modify_id` BIGINT(20) NOT NULL,
+    `modify_date` TIMESTAMP NULL,
+    PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
+
diff --git a/src/main/resources/mybatis/query-template/departmentManage-template.xml b/src/main/resources/mybatis/query-template/departmentManage-template.xml
index 8269244..e73a692 100644
--- a/src/main/resources/mybatis/query-template/departmentManage-template.xml
+++ b/src/main/resources/mybatis/query-template/departmentManage-template.xml
@@ -8,7 +8,6 @@
         dm.id as id,
         dm.department_name as departmentName,
         dm.department_description as departmentDescription,
-        dm.default_department as defalutDepartment,
         (SELECT COUNT(u.id) FROM user u WHERE dm.id = u.department_id) AS departmentCount
         FROM
         department_manage dm

--
Gitblit v1.8.0