From b2b8a75a8f5a35717bb89a07c2fe35ea16b6a99c Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 19 1월 2022 09:55:16 +0900
Subject: [PATCH] 이슈 히스토리 - 중복되어서 나오는 문제 해결 및 업체에 추가된 항목들도 변경 시 이력 남기도록 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java |   56 +++++++++++++++++++++-----------------------------------
 1 files changed, 21 insertions(+), 35 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 c7ea8ac..dbd380b 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,7 +51,7 @@
      * @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());
@@ -67,7 +68,6 @@
 
         IssueCompany newIssueCompany = CreateIssueCompany(companyFieldForm, issue);
         CompanyField companyField = new CompanyField();
-        StringBuilder sb = new StringBuilder();
 
         // �궗�슜�옄媛� 吏곸젒 �엯�젰 �떆 COMPANY 紐⑸줉�뿉 異붽�
         if (newIssueCompany.getCompanyField() == null) {
@@ -82,8 +82,6 @@
                 issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, null, companyFieldForm, newIssueCompany, sb);
             }
         }
-        // 異붽� �씠�젰
-        issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
         this.issueCompanyRepository.saveAndFlush(newIssueCompany);
     }
 
@@ -106,20 +104,27 @@
     //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �뾽泥� 媛믪쓣 �뾽�뜲�씠�듃�븳�떎.
     @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);
 
+                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"));
@@ -139,49 +144,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());
                 }
             }
+            //issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, sb.toString());
         }
     }
 

--
Gitblit v1.8.0