From 6e9f504acc73687b623a1f7598eb3833cbc088aa Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 08 12월 2021 18:04:50 +0900
Subject: [PATCH] ** DB 초기화 필요 업체 - url 인덱스 추가 및 url 중복으로 추가 못하도록 수정

---
 src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

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 911f3db..06d7e86 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/CompanyFieldServiceImpl.java
@@ -1,9 +1,11 @@
 package kr.wisestone.owl.service.impl;
 
 import kr.wisestone.owl.domain.CompanyField;
+import kr.wisestone.owl.domain.CustomField;
 import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.web.condition.CompanyFieldCondition;
 import kr.wisestone.owl.web.form.CompanyFieldForm;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.ui.Model;
 import com.google.common.collect.Lists;
 import kr.wisestone.owl.common.ExcelConditionCheck;
@@ -57,9 +59,26 @@
     // �뾽泥� 異붽�
     @Override
     public CompanyField addCompany(CompanyFieldForm companyFieldForm) {
+        //  url �쑀�슚�꽦 泥댄겕
+        this.verifyUrl(companyFieldForm.getUrl());
+
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
         return companyField;
+    }
+
+    //  url �쑀�슚�꽦 泥댄겕
+    private void verifyUrl(String url) {
+        if (StringUtils.isEmpty(url)) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_URL));
+        }
+        CompanyField companyField = this.companyFieldRepository.findByUrl(url);
+
+        if (companyField != null) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_USED_URL));
+        }
     }
 
     // �뾽泥� 紐⑸줉�쓣 媛��졇�삩�떎.
@@ -92,6 +111,9 @@
     // �뾽泥� �젙濡쒕�� �닔�젙�븳�떎.
     @Override
     public void modifyCompany(CompanyFieldForm companyFieldForm) {
+        //  url �쑀�슚�꽦 泥댄겕
+        this.verifyUrl(companyFieldForm.getUrl());
+
         CompanyField companyField = ConvertUtil.copyProperties(companyFieldForm, CompanyField.class);
         companyFieldRepository.saveAndFlush(companyField);
     }
@@ -105,15 +127,9 @@
                     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.deleteById(id);
+            this.companyFieldRepository.flush();
         }
-        this.companyFieldRepository.flush();
     }
 
     // �뾽泥� 紐⑸줉�쓣 �뿊��濡� �떎�슫濡쒕뱶 �븳�떎.
@@ -132,18 +148,18 @@
         }
 
         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.addAttrInfos(new ExportExcelAttrVo("name", this.messageAccessor.message("companyField.companyName"), 6, ExportExcelAttrVo.ALIGN_CENTER));
+        excelInfo.addAttrInfos(new ExportExcelAttrVo("manager", this.messageAccessor.message("companyField.companyManager"), 10, ExportExcelAttrVo.ALIGN_CENTER));
+        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("memo", this.messageAccessor.message("companyField.companyMemo"), 10, ExportExcelAttrVo.ALIGN_CENTER));
 
         excelInfo.setDatas(companyFieldVos);
 
@@ -176,7 +192,6 @@
             throw new OwlRuntimeException(
                     this.messageAccessor.getMessage(MsgConstants.COMPANYFIELD_NOT_EXIST));
         }
-
         CompanyField companyField = this.findOne(id);
 
         if (companyField == null) {

--
Gitblit v1.8.0