From 9f955be440cad5e6b868800ff0a0acd17c0a3004 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 13 1월 2022 15:30:35 +0900
Subject: [PATCH] - issue_company 테이블에 컬럼 추가 및 'tel' 컬럼 사이즈 변경 - 이슈 추가,수정 시 업체 추가된 항목들 추가 - 하위이슈 페이징 오류 수정

---
 src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java |   81 +++++++++++++++++++++++++++-------------
 1 files changed, 54 insertions(+), 27 deletions(-)

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 855418a..9ae3495 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/HostingFieldServiceImpl.java
@@ -6,9 +6,11 @@
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.CompanyField;
 import kr.wisestone.owl.domain.HostingField;
+import kr.wisestone.owl.domain.IspField;
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.HostingFieldMapper;
 import kr.wisestone.owl.repository.HostingFieldRepository;
+import kr.wisestone.owl.service.CompanyFieldService;
 import kr.wisestone.owl.service.HostingFieldService;
 import kr.wisestone.owl.service.WorkspaceService;
 import kr.wisestone.owl.util.ConvertUtil;
@@ -24,10 +26,12 @@
 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.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -45,6 +49,9 @@
     private WorkspaceService workspaceService;
 
     @Autowired
+    private CompanyFieldService companyFieldService;
+
+    @Autowired
     private ExcelView excelView;
 
     @Autowired
@@ -58,30 +65,28 @@
     // Hosting 異붽�
     @Override
     public HostingField add(HostingFieldForm HostingFieldForm) {
-        if(HostingFieldForm.getUrl() != null){
-            //  url �쑀�슚�꽦 泥댄겕
-            this.verifyUrl(HostingFieldForm.getUrl(), null);
+        if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) {
+            String tels = HostingFieldForm.getTelList().toString();
+            if (tels.contains("[")) {
+                tels = tels.substring(1, tels.indexOf("]"));
+            }
+            HostingFieldForm.setTel(tels.trim());
+        }
+        if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) {
+            String emails = HostingFieldForm.getEmailList().toString();
+            if (emails.contains("[")) {
+                emails = emails.substring(1, emails.indexOf("]"));
+            }
+            HostingFieldForm.setEmail(emails.trim());
         }
 
-        HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class);
-        hostingFieldRepository.saveAndFlush(HostingField);
-        return HostingField;
-    }
-
-    //  url �쑀�슚�꽦 泥댄겕
-    private void verifyUrl(String url, Long id) {
-        HostingField hostingField;
-
-        if(id == null){
-            hostingField = this.hostingFieldRepository.findByUrl(url);
+        HostingField hostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class);
+        if (hostingField.getCode() != null && !hostingField.getCode().equals("")) {
+            hostingFieldRepository.saveAndFlush(hostingField);
         } else {
-            hostingField = this.hostingFieldRepository.findByUrlAndIdNot(url,id);
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.HOSTING_CODE_NOT_ENTER));
         }
-
-        if (hostingField != null) {
-            throw new OwlRuntimeException(
-                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL));
-        }
+        return hostingField;
     }
 
     // Hosting 紐⑸줉�쓣 媛��졇�삩�떎.
@@ -97,6 +102,9 @@
         return this.convertHostingVoToMap(results, totalHostingCount, pageable, resJsonData);
     }
 
+    public Map<String, Object> find(Long id) {
+        return this.hostingFieldMapper.findById(id);
+    }
 
     // Hosting �긽�꽭 議고쉶�븳�떎.
     @Override
@@ -114,30 +122,49 @@
     // Hosting �젙濡쒕�� �닔�젙�븳�떎.
     @Override
     public void modify(HostingFieldForm HostingFieldForm) {
-        //  url �쑀�슚�꽦 泥댄겕
-        if(HostingFieldForm.getUrl() != null){
-            this.verifyUrl(HostingFieldForm.getUrl(), HostingFieldForm.getId());
+        if (HostingFieldForm.getTelList() != null && HostingFieldForm.getTelList().size() > 0) {
+            String tels = HostingFieldForm.getTelList().toString();
+            if (tels.contains("[")) {
+                tels = tels.substring(1, tels.indexOf("]"));
+            }
+            HostingFieldForm.setTel(tels.trim());
         }
-
+        if (HostingFieldForm.getEmailList() != null && HostingFieldForm.getEmailList().size() > 0) {
+            String emails = HostingFieldForm.getEmailList().toString();
+            if (emails.contains("[")) {
+                emails = emails.substring(1, emails.indexOf("]"));
+            }
+            HostingFieldForm.setEmail(emails.trim());
+        }
         HostingField HostingField = ConvertUtil.copyProperties(HostingFieldForm, HostingField.class);
         hostingFieldRepository.saveAndFlush(HostingField);
     }
-
 
     // Hosting瑜� �궘�젣�븳�떎.
     @Override
     public void remove(HostingFieldForm HostingFieldForm) {
         if (HostingFieldForm.getRemoveIds().size() < 1) {
             throw new OwlRuntimeException(
-                    this.messageAccessor.getMessage(MsgConstants.COMPANY_REMOVE_NOT_SELECT));
+                    this.messageAccessor.getMessage(MsgConstants.HOSTING_REMOVE_NOT_SELECT));
         }
         for (Long id : HostingFieldForm.getRemoveIds()) {
+            List<CompanyField> companyField = this.companyFieldService.findByHosting(id);
+            if (companyField != null && companyField.size() > 0) {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.HOSTING_EXIST_COMPANY));
+            } else {
                 this.hostingFieldRepository.deleteById(id);
-
+            }
         }
         this.hostingFieldRepository.flush();
     }
 
+    @Override
+    @Transactional(readOnly = true)
+    public List<HostingField> findAll() {
+        return this.hostingFieldRepository.findAll();
+    }
+
     // Hosting 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
     @Override
     public ModelAndView downloadExcel(HttpServletRequest request, Model model) {

--
Gitblit v1.8.0