From 4cef9a63afe347bcc007f2f18c21da69b346da64 Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 금, 19 11월 2021 14:41:30 +0900
Subject: [PATCH] 이슈 상세 수정 -부서 [프론트]

---
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java |  105 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 83 insertions(+), 22 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
index 947aeae..5ab920c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -44,7 +44,6 @@
 import javax.servlet.http.HttpServletRequest;
 import java.io.IOException;
 import java.util.*;
-import java.util.concurrent.locks.Condition;
 
 @Service
 public class IssueServiceImpl extends AbstractServiceImpl<Issue, Long, JpaRepository<Issue, Long>> implements IssueService {
@@ -89,6 +88,15 @@
 
     @Autowired
     private IssueCustomFieldValueService issueCustomFieldValueService;
+
+    @Autowired
+    private IssueCompanyService issueCompanyService;
+
+    @Autowired
+    private IssueIspService issueIspService;
+
+    @Autowired
+    private IssueHostingService issueHostingService;
 
     @Autowired
     private IssueUserService issueUserService;
@@ -197,22 +205,6 @@
         issue.setPriority(priority);
         issue.setSeverity(severity);
 
-        //  �뾽泥� �븘�뱶 �쑀�슚�꽦 泥댄겕
-        if(issueForm.getCompanyId() != null){
-            CompanyField companyField = this.companyFieldService.getCompany(issueForm.getCompanyId());
-            issue.setCompanyField(companyField);
-        }
-        //  ISP �븘�뱶 �쑀�슚�꽦 泥댄겕
-        if(issueForm.getIspId() != null) {
-            IspField ispField = this.ispFieldService.getIsp(issueForm.getIspId());
-            issue.setIspFieldId(ispField);
-        }
-        //  HOSTING �븘�뱶 �쑀�슚�꽦 泥댄겕
-        if (issueForm.getHostingId() != null){
-            HostingField hostingField = this.hostingFieldService.getHosting(issueForm.getHostingId());
-            issue.setHostingFieldId(hostingField);
-        }
-
         issue.setIssueNumber(this.issueNumberGeneratorService.generateIssueNumber(project));    //  媛� �봽濡쒖젥�듃�쓽 怨좎쑀 �씠�뒋 踰덊샇 �깮�꽦
 
         this.issueRepository.saveAndFlush(issue);
@@ -241,6 +233,12 @@
         this.reservationIssueEmail(issue.getId(), EmailType.ISSUE_ADD);
         //  �궗�슜�옄 �떆�뒪�뀥 湲곕뒫 �궗�슜 �젙蹂� �닔吏�
         log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_ADD));
+        //  �뾽泥� �젙蹂� ���옣
+        this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields());
+        //  ISP �젙蹂� ���옣
+        this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields());
+        //  HOSTING �젙蹂� ���옣
+        this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields());
 
         return issue;
     }
@@ -345,6 +343,9 @@
 
         issueMap.put("customFields", customFields);
         issueMap.put("description", issue.getDescription());
+
+        //�뾽泥�,ISP,HOSTING 異붽�
+
 
         StringBuilder attachedFileBuilder = new StringBuilder();
 
@@ -454,7 +455,7 @@
     @Override
     @Transactional(readOnly = true)
     public List<IssueVo> findChartIssue(Map<String, Object> resJsonData,
-                                   IssueCondition issueCondition, Pageable pageable) {
+                                        IssueCondition issueCondition, Pageable pageable) {
 
         //  寃��깋 議곌굔�쓣 留뚮뱺�떎
         if (!this.makeIssueSearchCondition(issueCondition,Lists.newArrayList("01", "02", "03"), pageable)) {
@@ -564,9 +565,16 @@
 
         //  �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂� 異붽�
         this.setIssueCustomFieldValue(issueVos, issueCondition);
+        //  �뾽泥� �젙蹂� 異붽�
+        //this.setIssueCompanyField(issueVos, issueCondition);
+        //  ISP �젙蹂� 異붽�
+        //this.setIssueIspField(issueVos, issueCondition);
+        //  HOSTING �젙蹂� 異붽�
+        //this.setIssueHostingField(issueVos, issueCondition);
+
     }
 
-        //  寃��깋 議곌굔�쓣 留뚮뱺�떎
+    //  寃��깋 議곌굔�쓣 留뚮뱺�떎
     private boolean makeIssueSearchCondition(IssueCondition condition, List<String> projectStatues, Pageable pageable) {
         if (pageable != null) {
             condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
@@ -842,6 +850,9 @@
         this.setIssueHistory(issue, issueVo);   //  �씠�뒋 湲곕줉 �젙蹂� �뀑�똿
         this.setRelationIssue(issue, issueVo);        //�뿰愿� �씪媛� �뀑�똿
         this.setDownIssues(issue, issueVo);
+        this.setIssueCompanyField(issue, issueVo);  //�뾽泥� �젙蹂� �꽭�똿
+        this.setIssueIspField(issue, issueVo);  //ISP �젙蹂� �꽭�똿
+        this.setIssueHostingField(issue, issueVo);  //HOSTING �젙蹂� �꽭�똿
     }
 
     //  �벑濡앹옄 �젙蹂� 異붽�
@@ -929,7 +940,7 @@
 
         for (IssueDepartment issueDepartment : issue.getIssueDepartments()) {
             DepartmentVo departmentVo = ConvertUtil.copyProperties(issueDepartment.getDepartment(), DepartmentVo.class);
-            departmentVo.setByName(departmentVo.getByName());
+            departmentVo.setByName(departmentVo.getDepartmentName());
             departmentVos.add(departmentVo);
         }
         issueVo.setDepartmentVos(departmentVos);
@@ -1048,9 +1059,15 @@
         if (!StringUtils.isEmpty(detectIssueChange.toString())) {
             this.issueHistoryService.addIssueHistory(issue, IssueHistoryType.MODIFY, detectIssueChange.toString());
         }
-
         //  �궗�슜�옄 �떆�뒪�뀥 湲곕뒫 �궗�슜 �젙蹂� �닔吏�
         log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_MODIFY));
+
+        //  �뾽泥� �젙蹂� ���옣
+        this.issueCompanyService.modifyIssueCompanyField(issue, issueForm.getIssueCompanyFields());
+        //  ISP �젙蹂� ���옣
+        this.issueIspService.modifyIssueIspField(issue, issueForm.getIssueIspFields());
+        //  HOSTING �젙蹂� ���옣
+        this.issueHostingService.modifyIssueHostingField(issue, issueForm.getIssueHostingFields());
 
         return issue;
     }
@@ -1125,7 +1142,7 @@
                 //  �뜲�씠�꽣 蹂댁젙 �옉�뾽 - �봽濡쒖젥�듃�뿉�꽌 �젣�쇅�맂 �궗�슜�옄�뒗 �떞�떦�옄�뿉�꽌 �젣�쇅 �맆 �닔 �엳�룄濡� 泥섎━
                 if (!includeProject) {
                     throw new OwlRuntimeException(
-                            this.messageAccessor.getMessage(MsgConstants.PROJECT_NOT_INCLUDE_USER));
+                            this.messageAccessor.getMessage(MsgConstants.PROJECT_NOT_INCLUDE_DEPARTMENT));
                 }
             }
             //  李몄뿬 �솗�씤�맂 遺��꽌濡� �떞�떦遺��꽌 蹂�寃�
@@ -1606,6 +1623,46 @@
         }
     }
 
+    //  �뾽泥� �젙蹂� 異붽�
+    private void setIssueCompanyField(Issue issue, IssueVo issueVo) {
+        List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
+
+        for(IssueCompany issueCompany : issue.getIssueCompanies()){
+            IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany, IssueCompanyVo.class);
+            issueCompanyVo.setId(issueCompany.getId());
+            CompanyField companyField = issueCompany.getCompanyField();
+            if (companyField != null) {
+                issueCompanyVo.setCompanyId(issueCompany.getCompanyField().getId());
+            }
+            issueCompanyVos.add(issueCompanyVo);
+        }
+        issueVo.setIssueCompanyVos(issueCompanyVos);
+    }
+
+    //  Isp �젙蹂� 異붽�
+    private void setIssueIspField(Issue issue, IssueVo issueVo) {
+        List<IssueIspVo> issueIspVos = Lists.newArrayList();
+
+        for(IssueIsp issueIsp : issue.getIssueIspFields()){
+            IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp, IssueIspVo.class);
+            issueIspVo.setId(issueIsp.getId());
+            issueIspVos.add(issueIspVo);
+        }
+        issueVo.setIssueIspVos(issueIspVos);
+    }
+
+    // Hosting �젙蹂� 異붽�
+    private void setIssueHostingField(Issue issue, IssueVo issueVo) {
+        List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
+
+        for(IssueHosting issueHosting : issue.getIssueHostingFields()){
+            IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting, IssueHostingVo.class);
+            issueHostingVo.setId(issueHosting.getId());
+            issueHostingVos.add(issueHostingVo);
+        }
+        issueVo.setIssueHostingVos(issueHostingVos);
+    }
+
     //  �뿰愿��씪媛� �젙蹂� 異붽�
     private void setRelationIssue(IssueVo issueVo, Long issueId) {
         List<IssueVo> relationIssues = this.issueRelationService.findRelationIssue(issueId);
@@ -1659,6 +1716,8 @@
                         result.put("customField_" + issueCustomFieldValueVo.getCustomFieldVo().getId().toString(), useValue + ", " + issueCustomFieldValueVo.getUseValue());
                     }
                 }
+
+                //�뾽泥�, ISP, �샇�뒪�똿 異붽�
 
                 results.add(result);
             } catch (Exception e) {
@@ -1824,6 +1883,8 @@
             this.bulkInsertIssueCustomFieldValue(issueForms, issueTypeCustomFieldMaps);
             //  3.628 - 3.445
 
+            // �뾽泥�,ISP,�샇�뒪�똿 異붽�
+
             /*serviceStart.stop();
             log.debug("2李� ���옣 �떆媛� : " + serviceStart.getTime());*/
 

--
Gitblit v1.8.0