From eab3b913e90f709ccd7186d0fb77b095cd229c0d Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 12 1월 2022 16:01:49 +0900
Subject: [PATCH] ISP/호스팅 삭제 시 업체에 설정 되어있을경우 삭제 불가

---
 src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

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 785fb73..08d0ffc 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
@@ -9,6 +9,7 @@
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.IspFieldMapper;
 import kr.wisestone.owl.repository.IspFieldRepository;
+import kr.wisestone.owl.service.CompanyFieldService;
 import kr.wisestone.owl.service.IspFieldService;
 import kr.wisestone.owl.service.WorkspaceService;
 import kr.wisestone.owl.util.ConvertUtil;
@@ -28,6 +29,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;
@@ -45,6 +47,9 @@
     private WorkspaceService workspaceService;
 
     @Autowired
+    private CompanyFieldService companyFieldService;
+
+    @Autowired
     private ExcelView excelView;
 
     @Autowired
@@ -58,9 +63,22 @@
     // Isp 異붽�
     @Override
     public IspField add(IspFieldForm IspFieldForm) {
-        IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class);
-        ispFieldRepository.saveAndFlush(IspField);
-        return IspField;
+        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);
+        } else {
+            throw new OwlRuntimeException(this.messageAccessor.getMessage(MsgConstants.ISP_CODE_NOT_ENTER));
+        }
+        return ispField;
     }
 
     // Isp 紐⑸줉�쓣 媛��졇�삩�떎.
@@ -74,6 +92,10 @@
         Long totalIspCount = this.ispFieldMapper.count(condition);
 
         return this.convertIspVoToMap(results, totalIspCount, pageable, resJsonData);
+    }
+
+    public Map<String, Object> find(Long id) {
+        return this.ispFieldMapper.findById(id);
     }
 
     // Isp �긽�꽭 議고쉶�븳�떎.
@@ -92,7 +114,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);
@@ -108,7 +136,13 @@
                     this.messageAccessor.getMessage(MsgConstants.ISP_REMOVE_NOT_SELECT));
         }
         for (Long id : IspFieldForm.getRemoveIds()) {
+            List<CompanyField> companyField = this.companyFieldService.findByIsp(id);
+            if (companyField != null && companyField.size() > 0) {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.ISP_EXIST_COMPANY));
+            } else {
                 this.ispFieldRepository.deleteById(id);
+            }
         }
         this.ispFieldRepository.flush();
     }

--
Gitblit v1.8.0