From 07f4f6ad9592628ae6e0e77fdd4492b20af098fa Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 17 1월 2022 17:18:14 +0900
Subject: [PATCH] - 버그 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 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 8e9c31b..c7ea8ac 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueCompanyServiceImpl.java
@@ -71,13 +71,14 @@
 
         // �궗�슜�옄媛� 吏곸젒 �엯�젰 �떆 COMPANY 紐⑸줉�뿉 異붽�
         if (newIssueCompany.getCompanyField() == null) {
-            companyField = this.companyFieldService.addCompany(companyFieldForm);
-            newIssueCompany.setCompanyField(companyField);
             IssueCompany oldIssueCompany = this.issueCompanyRepository.findByIssueId(issue.getId());
+            companyField = this.companyFieldService.addCompany(companyFieldForm);
+            companyFieldForm.setId(companyField.getId());
             if (oldIssueCompany != null) {
                 issueHistoryService.detectIssueCompany(IssueHistoryType.MODIFY, null, companyFieldForm, oldIssueCompany, sb);
                 this.issueCompanyRepository.deleteById(oldIssueCompany.getId());
             } else {
+                newIssueCompany.setCompanyField(companyField);
                 issueHistoryService.detectIssueCompany(IssueHistoryType.ADD, null, companyFieldForm, newIssueCompany, sb);
             }
         }
@@ -108,11 +109,11 @@
     public void modifyIssueCompanyField(Issue issue, IssueForm issueForm) {
         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());
 
                 if (issueCompany != null) { //�닔�젙 �떆
                     // 蹂�寃� �씠�젰 癒쇱� �궓湲곌퀬 issueCompany�뿉 set�븯湲�
@@ -175,6 +176,11 @@
             } 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