From ee85794d4be3a06299fb57cad06a20b7c096e331 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 18 11월 2021 13:26:41 +0900
Subject: [PATCH] 이슈관리 상세보기 (업체,isp,호스팅 추가)

---
 src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java        |    2 
 src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java        |   79 ++++++++++++++-------------------------
 src/main/java/kr/wisestone/owl/vo/IssueVo.java                           |   30 ++++----------
 src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java    |    2 
 src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java    |    3 +
 src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java |    3 -
 6 files changed, 43 insertions(+), 76 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java
index 1ac1e92..2c380d6 100644
--- a/src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/IssueCompanyRepository.java
@@ -1,12 +1,13 @@
 package kr.wisestone.owl.repository;
 
 import kr.wisestone.owl.domain.IssueCompany;
+import kr.wisestone.owl.vo.IssueCompanyVo;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 
 import java.util.List;
+import java.util.Set;
 
 public interface IssueCompanyRepository extends JpaRepository<IssueCompany, Long> {
 
-    List<IssueCompany> findByIssueId(@Param("issueId") Long issueId);
 }
diff --git a/src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java
index 17235b4..7a22ef4 100644
--- a/src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/IssueHostingRepository.java
@@ -5,8 +5,8 @@
 import org.springframework.data.repository.query.Param;
 
 import java.util.List;
+import java.util.Set;
 
 public interface IssueHostingRepository extends JpaRepository<IssueHosting, Long> {
 
-    List<IssueHosting> findByIssueId(@Param("issueId") Long issueId);
 }
diff --git a/src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java
index 9a2d0df..c2ceb72 100644
--- a/src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/IssueIspRepository.java
@@ -5,8 +5,8 @@
 import org.springframework.data.repository.query.Param;
 
 import java.util.List;
+import java.util.Set;
 
 public interface IssueIspRepository extends JpaRepository<IssueIsp, Long> {
 
-    List<IssueIsp> findByIssueId(@Param("issueId") Long issueId);
 }
diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
index 84c62c8..689d42b 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueHostingServiceImpl.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.IssueHostingVo;
 import kr.wisestone.owl.web.condition.IssueCondition;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -67,6 +68,4 @@
     public List<Map<String, Object>> findInIssueIds(IssueCondition issueCondition) {
         return issueHostingMapper.findInIssueIds(issueCondition);
     }
-
-
 }
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 800e2e7..276433f 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -850,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 �젙蹂� �꽭�똿
     }
 
     //  �벑濡앹옄 �젙蹂� 異붽�
@@ -1056,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;
     }
@@ -1615,66 +1624,36 @@
     }
 
     //  �뾽泥� �젙蹂� 異붽�
-    private void setIssueCompanyField(List<IssueVo> issueVos, IssueCondition issueCondition) {
-        //  �씠�뒋�뿉�꽌 ���옣�븳 �뾽泥� 媛믪쓣 議고쉶�븳�떎.
-        List<Map<String, Object>> issueCompanyFields = this.issueCompanyService.findInIssueIds(issueCondition);
+    private void setIssueCompanyField(Issue issue, IssueVo issueVo) {
+        List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
 
-        for (IssueVo issueVo : issueVos) {
-            for (Map<String, Object> issueCompanyField : issueCompanyFields) {
-                if (issueVo.getId().equals(MapUtil.getLong(issueCompanyField, "issueId"))) {
-                    IssueCompanyVo issueCompanyVo = new IssueCompanyVo();
-                    issueCompanyVo.setName(MapUtil.getString(issueCompanyField, "companyName"));
-                    issueCompanyVo.setManager(MapUtil.getString(issueCompanyField, "companyManager"));
-                    issueCompanyVo.setTel(MapUtil.getString(issueCompanyField, "companyTel"));
-                    issueCompanyVo.setEmail(MapUtil.getString(issueCompanyField, "companyEmail"));
-                    issueCompanyVo.setMemo(MapUtil.getString(issueCompanyField, "companyMemo"));
-
-                    issueVo.addIssueCompanyFieldVo(issueCompanyVo);
-                }
-            }
+        for(IssueCompany issueCompany : issue.getIssueCompanies()){
+            IssueCompanyVo issueCompanyVo = ConvertUtil.copyProperties(issueCompany.getCompanyField(), IssueCompanyVo.class);
+            issueCompanyVos.add(issueCompanyVo);
         }
+        issueVo.setIssueCompanyVos(issueCompanyVos);
     }
 
     //  Isp �젙蹂� 異붽�
-    private void setIssueIspField(List<IssueVo> issueVos, IssueCondition issueCondition) {
-        //  �씠�뒋�뿉�꽌 ���옣�븳 ISP 媛믪쓣 議고쉶�븳�떎.
-        /*List<Map<String, Object>> issueIspFields = this.issueIspFieldService.findInIssueIds(issueCondition);*/
+    private void setIssueIspField(Issue issue, IssueVo issueVo) {
+        List<IssueIspVo> issueIspVos = Lists.newArrayList();
 
-        /*for (IssueVo issueVo : issueVos) {
-            for (Map<String, Object> issueIspField : issueIspFields) {
-                if (issueVo.getId().equals(MapUtil.getLong(issueIspField, "issueId"))) {
-                    IssueIspFieldVo issueIspFieldVo = new IssueIspFieldVo();
-                    issueIspFieldVo.setName(MapUtil.getString(issueIspField, "name"));
-                    issueIspFieldVo.setManager(MapUtil.getString(issueIspField, "manager"));
-                    issueIspFieldVo.setTel(MapUtil.getString(issueIspField, "tel"));
-                    issueIspFieldVo.setEmail(MapUtil.getString(issueIspField, "email"));
-                    issueIspFieldVo.setMemo(MapUtil.getString(issueIspField, "memo"));
-
-                    issueVo.addIssueIspFieldVo(issueIspFieldVo);
-                }
-            }
-        }*/
+        for(IssueIsp issueIsp : issue.getIssueIspFields()){
+            IssueIspVo issueIspVo = ConvertUtil.copyProperties(issueIsp.getIspField(), IssueIspVo.class);
+            issueIspVos.add(issueIspVo);
+        }
+        issueVo.setIssueIspVos(issueIspVos);
     }
 
     // Hosting �젙蹂� 異붽�
-    private void setIssueHostingField(List<IssueVo> issueVos, IssueCondition issueCondition) {
-        //  �씠�뒋�뿉�꽌 ���옣�븳 Hosting 媛믪쓣 議고쉶�븳�떎.
-        List<Map<String, Object>> issueHostingFields = this.issueHostingService.findInIssueIds(issueCondition);
+    private void setIssueHostingField(Issue issue, IssueVo issueVo) {
+        List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
 
-        for (IssueVo issueVo : issueVos) {
-            for (Map<String, Object> issueHostingField : issueHostingFields) {
-                if (issueVo.getId().equals(MapUtil.getLong(issueHostingField, "issueId"))) {
-                    IssueHostingVo issueHostingVo = new IssueHostingVo();
-                    issueHostingVo.setName(MapUtil.getString(issueHostingField, "name"));
-                    issueHostingVo.setManager(MapUtil.getString(issueHostingField, "manager"));
-                    issueHostingVo.setTel(MapUtil.getString(issueHostingField, "tel"));
-                    issueHostingVo.setEmail(MapUtil.getString(issueHostingField, "email"));
-                    issueHostingVo.setMemo(MapUtil.getString(issueHostingField, "memo"));
-
-                    issueVo.addIssueHostingFieldVo(issueHostingVo);
-                }
-            }
+        for(IssueHosting issueHosting : issue.getIssueHostingFields()){
+            IssueHostingVo issueHostingVo = ConvertUtil.copyProperties(issueHosting.getHostingField(), IssueHostingVo.class);
+            issueHostingVos.add(issueHostingVo);
         }
+        issueVo.setIssueHostingVos(issueHostingVos);
     }
 
     //  �뿰愿��씪媛� �젙蹂� 異붽�
diff --git a/src/main/java/kr/wisestone/owl/vo/IssueVo.java b/src/main/java/kr/wisestone/owl/vo/IssueVo.java
index c616527..61fa139 100644
--- a/src/main/java/kr/wisestone/owl/vo/IssueVo.java
+++ b/src/main/java/kr/wisestone/owl/vo/IssueVo.java
@@ -52,9 +52,9 @@
     private String modifyByName;    //  蹂�寃쎌옄 �젙蹂� - �씠�뒋 蹂�寃� �젙蹂� �긽�꽭 �솗�씤�뿉�꽌 �궗�슜
     private WorkflowStatusVo workflowStatusVo;
     private Long parentIssueId;     // �긽�쐞 �씪媛�
-    private List<IssueCompanyVo> issueCompanyVos = Lists.newArrayList();
-    private List<IssueIspVo> issueIspVos = Lists.newArrayList();
-    private List<IssueHostingVo> issueHostingVos = Lists.newArrayList();
+    private List<IssueCompanyVo> issueCompanyVos;
+    private List<IssueIspVo> issueIspVos;
+    private List<IssueHostingVo> issueHostingVos;
 
     public IssueVo(){}
 
@@ -314,40 +314,28 @@
         this.issueCustomFieldValueVos.add(issueCustomFieldValueVo);
     }
 
-    public List<IssueCompanyVo> getIssueCompanyFieldVos() {
+    public List<IssueCompanyVo> getIssueCompanyVos() {
         return issueCompanyVos;
     }
 
-    public void setIssueCompanyFieldVos(List<IssueCompanyVo> issueCompanyVos) {
+    public void setIssueCompanyVos(List<IssueCompanyVo> issueCompanyVos) {
         this.issueCompanyVos = issueCompanyVos;
     }
 
-    public void addIssueCompanyFieldVo(IssueCompanyVo issueCompanyVo) {
-        this.issueCompanyVos.add(issueCompanyVo);
-    }
-
-    public List<IssueIspVo> getIssueIspFieldVos() {
+    public List<IssueIspVo> getIssueIspVos() {
         return issueIspVos;
     }
 
-    public void setIssueIspFieldVos(List<IssueIspVo> issueIspVos) {
+    public void setIssueIspVos(List<IssueIspVo> issueIspVos) {
         this.issueIspVos = issueIspVos;
     }
 
-    public void addIssueIspFieldVo(IssueIspVo issueIspVo) {
-        this.issueIspVos.add(issueIspVo);
-    }
-
-    public List<IssueHostingVo> getIssueHostingFieldVos() {
+    public List<IssueHostingVo> getIssueHostingVos() {
         return issueHostingVos;
     }
 
-    public void setIssueHostingFieldVos(List<IssueHostingVo> issueHostingVos) {
+    public void setIssueHostingVos(List<IssueHostingVo> issueHostingVos) {
         this.issueHostingVos = issueHostingVos;
-    }
-
-    public void addIssueHostingFieldVo(IssueHostingVo issueHostingVo) {
-        this.issueHostingVos.add(issueHostingVo);
     }
 
     public Long getAttachedFileCount() {

--
Gitblit v1.8.0