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/IspFieldServiceImpl.java |   62 +++++++++++++++++++++++++++++--
 1 files changed, 58 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..95d5d2b 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IspFieldServiceImpl.java
@@ -6,9 +6,11 @@
 import kr.wisestone.owl.constant.MsgConstants;
 import kr.wisestone.owl.domain.CompanyField;
 import kr.wisestone.owl.domain.IspField;
+import kr.wisestone.owl.domain.Priority;
 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;
@@ -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,9 +65,28 @@
     // 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 = IspFieldForm.getTelList().toString();
+            if (tels.contains("[")) {
+                tels = tels.substring(1, tels.indexOf("]"));
+            }
+            IspFieldForm.setTel(tels.trim());
+        }
+        if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) {
+            String emails = IspFieldForm.getEmailList().toString();
+            if (emails.contains("[")) {
+                emails = emails.substring(1, emails.indexOf("]"));
+            }
+            IspFieldForm.setEmail(emails.trim());
+        }
+
+        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 +100,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 +122,19 @@
     // Isp �젙濡쒕�� �닔�젙�븳�떎.
     @Override
     public void modify(IspFieldForm IspFieldForm) {
-        if(IspFieldForm.getUrl() != null){
+        if (IspFieldForm.getTelList() != null && IspFieldForm.getTelList().size() > 0) {
+            String tels = IspFieldForm.getTelList().toString();
+            if (tels.contains("[")) {
+                tels = tels.substring(1, tels.indexOf("]"));
+            }
+            IspFieldForm.setTel(tels.trim());
+        }
+        if (IspFieldForm.getEmailList() != null && IspFieldForm.getEmailList().size() > 0) {
+            String emails = IspFieldForm.getEmailList().toString();
+            if (emails.contains("[")) {
+                emails = emails.substring(1, emails.indexOf("]"));
+            }
+            IspFieldForm.setEmail(emails.trim());
         }
 
         IspField IspField = ConvertUtil.copyProperties(IspFieldForm, IspField.class);
@@ -108,11 +150,23 @@
                     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();
     }
 
+    @Override
+    @Transactional(readOnly = true)
+    public List<IspField> findAll() {
+        return this.ispFieldRepository.findAll();
+    }
+
     // Isp 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
     @Override
     public ModelAndView downloadExcel(HttpServletRequest request, Model model) {

--
Gitblit v1.8.0