From bdb1efdc604fce543e21152b4263a9362f64389f Mon Sep 17 00:00:00 2001
From: minhee <alsdldlfrl@gmail.com>
Date: 목, 10 3월 2022 15:35:19 +0900
Subject: [PATCH] - api 이슈 추가 시 입력한 ip에 속해있는 업체정보를 가진 이슈의 하위로 입력되도록 수정 - issue_company 테이블에 ip 컬럼 추가 및 이슈 추가/수정 시 ip 대역대 항목 추가

---
 src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java |   68 ++++++++++++++++------------------
 1 files changed, 32 insertions(+), 36 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
index e97dba6..533d144 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
@@ -7,6 +7,7 @@
 import kr.wisestone.owl.service.*;
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.MapUtil;
+import kr.wisestone.owl.vo.CompanyFieldVo;
 import kr.wisestone.owl.web.condition.IssueCondition;
 import kr.wisestone.owl.web.form.CompanyFieldForm;
 import kr.wisestone.owl.web.form.IspFieldForm;
@@ -50,12 +51,14 @@
      * @param issueForm IssueForm
      * @param issue Issue
      */
-    private void CreateCompanyField(IssueForm issueForm, Issue issue) {
+    private void CreateCompanyField(IssueForm issueForm, Issue issue, StringBuilder sb) {
 
         CompanyFieldForm companyFieldForm = new CompanyFieldForm();
         companyFieldForm.setName(issueForm.getCompanyName());
         companyFieldForm.setEmail(issueForm.getCompanyEmail());
         companyFieldForm.setUrl(issueForm.getCompanyUrl());
+        companyFieldForm.setIpStart(issueForm.getIpStart());
+        companyFieldForm.setIpEnd(issueForm.getIpEnd());
         companyFieldForm.setManager(issueForm.getCompanyManager());
         companyFieldForm.setTel(issueForm.getCompanyTel());
         companyFieldForm.setMemo(issueForm.getCompanyMemo());
@@ -67,7 +70,6 @@
 
         IssueCompany newIssueCompany = CreateIssueCompany(companyFieldForm, issue);
         CompanyField companyField = new CompanyField();
-        StringBuilder sb = new StringBuilder();
 
         // �궗�슜�옄媛� 吏곸젒 �엯�젰 �떆 COMPANY 紐⑸줉�뿉 異붽�
         if (newIssueCompany.getCompanyField() == null) {
@@ -82,8 +84,6 @@
                 issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, null, companyFieldForm, newIssueCompany, sb);
             }
         }
-        // 異붽� �씠�젰
-        issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
         this.issueCompanyRepository.saveAndFlush(newIssueCompany);
     }
 
@@ -94,7 +94,7 @@
      * @return issueCompany
      */
     private IssueCompany CreateIssueCompany(CompanyFieldForm companyFieldForm, Issue issue) {
-        IssueCompany issueCompany = ConvertUtil.copyProperties(companyFieldForm, IssueCompany.class);
+        IssueCompany issueCompany = ConvertUtil.copyProperties(companyFieldForm, IssueCompany.class, "id");
         issueCompany.setIssue(issue);
         if (companyFieldForm.getId() != null && companyFieldForm.getId() != -1) {
             CompanyField companyField = this.companyFieldService.getCompany(companyFieldForm.getId());
@@ -106,23 +106,32 @@
     //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎.
     @Override
     @Transactional
-    public void modifyIssueCompanyField(Issue issue, IssueForm issueForm) {
+    public void modifyIssueCompanyField(Issue issue, IssueForm issueForm, StringBuilder sb) {
         if (issue != null) {
-            StringBuilder sb = new StringBuilder();
+            IssueCompany issueCompany = this.issueCompanyRepository.findByIssueId(issue.getId());
             List<Map<String, Object>> issueCompanyFields = issueForm.getIssueCompanyFields();
 
             if (issueCompanyFields != null && issueCompanyFields.size() > 0) {
                 Map<String, Object> param = issueCompanyFields.get(0);
-                IssueCompany issueCompany = this.issueCompanyRepository.findByIssueId(issue.getId());
+
+                CompanyFieldVo companyFieldVo = new CompanyFieldVo();
+                CompanyField companyField = ConvertUtil.convertMapToClass(param, CompanyField.class);
+                companyFieldVo = this.companyFieldService.CreateCompanyFieldCategory(companyFieldVo, companyField);
+                param.put("companyTypeName", companyFieldVo.getCompanyTypeName());
+                param.put("parentSectorName", companyFieldVo.getParentSectorName());
+                param.put("childSectorName", companyFieldVo.getChildSectorName());
+                param.put("regionName", companyFieldVo.getRegionName());
+                param.put("statusName", companyFieldVo.getStatusName());
 
                 if (issueCompany != null) { //�닔�젙 �떆
                     // 蹂�寃� �씠�젰 癒쇱� �궓湲곌퀬 issueCompany�뿉 set�븯湲�
                     issueHistoryService.detectIssueCompany(IssueHistoryType.MODIFY, param, null, issueCompany, sb);
-                    issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
-                    
+
                     issueCompany.setName(MapUtil.getString(param, "name"));
                     issueCompany.setEmail(MapUtil.getString(param, "email"));
                     issueCompany.setUrl(MapUtil.getString(param, "url"));
+                    issueCompany.setIpStart(MapUtil.getString(param, "ipStart"));
+                    issueCompany.setIpEnd(MapUtil.getString(param, "ipEnd"));
                     issueCompany.setManager(MapUtil.getString(param, "manager"));
                     issueCompany.setTel(MapUtil.getString(param, "tel"));
                     issueCompany.setMemo(MapUtil.getString(param, "memo"));
@@ -131,6 +140,7 @@
                     issueCompany.setChildSectorId(MapUtil.getLong(param, "childSectorId"));
                     issueCompany.setRegionId(MapUtil.getLong(param, "regionId"));
                     issueCompany.setStatusId(MapUtil.getLong(param, "statusId"));
+                    issueCompany.setStatusName(MapUtil.getString(param, "statusName"));
 
                     this.issueCompanyRepository.saveAndFlush(issueCompany);
                 } else { //異붽� �떆
@@ -139,44 +149,30 @@
 
                     IssueCompany newIssueCompany = CreateIssueCompany(companyFieldForm, issue);
 
-                    CompanyFieldCategory companyType = this.companyFieldCategoryService.find(companyFieldForm.getCompanyTypeId());
-                    if (companyType != null) {
-                        companyFieldForm.setCompanyTypeName(companyType.getUseValue());
-                    }
-
-                    CompanyFieldCategory parentSector = this.companyFieldCategoryService.find(companyFieldForm.getParentSectorId());
-                    if (parentSector != null) {
-                        companyFieldForm.setParentSectorName(parentSector.getUseValue());
-                    }
-
-                    CompanyFieldCategory childSector = this.companyFieldCategoryService.find(companyFieldForm.getChildSectorId());
-                    if (childSector != null) {
-                        companyFieldForm.setChildSectorName(childSector.getUseValue());
-                    }
-
-                    CompanyFieldCategory region = this.companyFieldCategoryService.find(companyFieldForm.getRegionId());
-                    if (region != null) {
-                        companyFieldForm.setRegionName(region.getUseValue());
-                    }
-
-                    CompanyFieldCategory status = this.companyFieldCategoryService.find(companyFieldForm.getStatusId());
-                    if (status != null) {
-                        companyFieldForm.setStatusName(status.getUseValue());
-                    }
+                    companyFieldVo = this.companyFieldService.CreateCompanyFieldCategory(companyFieldVo, companyField);
+                    companyFieldForm.setCompanyTypeName(companyFieldVo.getCompanyTypeName());
+                    companyFieldForm.setParentSectorName(companyFieldVo.getParentSectorName());
+                    companyFieldForm.setChildSectorName(companyFieldVo.getChildSectorName());
+                    companyFieldForm.setRegionName(companyFieldVo.getRegionName());
+                    companyFieldForm.setStatusName(companyFieldVo.getStatusName());
 
                     // 異붽� �씠�젰
                     issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, param, companyFieldForm, newIssueCompany, sb);
-                    issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
                     this.issueCompanyRepository.saveAndFlush(newIssueCompany);
                 }
 
             } else if(issueForm.getCompanyName() != null && !issueForm.getCompanyName().equals("")) {
                 //�뾽泥댁젙蹂� 吏곸젒 異붽�
-                CreateCompanyField(issueForm, issue);
+                CreateCompanyField(issueForm, issue, sb);
             } else {
                 this.issueCompanyRepository.deleteByIssueId(issue.getId());
                 this.issueCompanyRepository.flush();
+
+                if (issueCompany != null) {
+                    issueHistoryService.detectIssueCompany(IssueHistoryType.DELETE, null, null, issueCompany, sb);
+                }
             }
+            //issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
         }
     }
 

--
Gitblit v1.8.0