From bb9cc79a03a90cb2a6a03275f6ff6d8ea7d2fc5e Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 25 11월 2021 11:16:45 +0900
Subject: [PATCH] 이슈 유형 - 업체,isp,호스팅 정보 추가

---
 src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java |   82 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 82 insertions(+), 0 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
index 2b81ab9..ae2e65f 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -49,6 +49,15 @@
     private WorkspaceService workspaceService;
 
     @Autowired
+    private CompanyFieldService companyFieldService;
+
+    @Autowired
+    private IspFieldService ispFieldService;
+
+    @Autowired
+    private HostingFieldService hostingFieldService;
+
+    @Autowired
     private IssueTypeMapper issueTypeMapper;
 
     @Autowired
@@ -114,6 +123,19 @@
         Project project = this.projectService.getProject(issueTypeForm.getProjectId());
         issueType.setProject(project);
 
+        if(issueTypeForm.getCompanyId() != null){
+            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
+            issueType.setCompanyField(companyField);
+        }
+        if(issueTypeForm.getIspId() != null){
+            IspField ispField = this.ispFieldService.getIsp(issueTypeForm.getIspId());
+            issueType.setIspField(ispField);
+        }
+        if(issueTypeForm.getHostingId() != null){
+            HostingField hostingField = this.hostingFieldService.getHosting(issueTypeForm.getHostingId());
+            issueType.setHostingField(hostingField);
+        }
+
         return this.issueTypeRepository.saveAndFlush(issueType);
     }
 
@@ -172,6 +194,9 @@
         }
 
         this.setUseIssueTypeByProject(issueTypeVos);
+        this.setUseIssueTypeByCompanyField(issueTypeVos);
+        this.setUseIssueTypeByIspField(issueTypeVos);
+        this.setUseIssueTypeByHostingField(issueTypeVos);
 
         resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                 totalPage, totalCount));
@@ -201,6 +226,37 @@
         }
     }
 
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �뾽泥� �젙蹂대�� �뀑�똿�븳�떎.
+    private void setUseIssueTypeByCompanyField(List<IssueTypeVo> issueTypeVos) {
+        for (IssueTypeVo issueTypeVo : issueTypeVos){
+            IssueType issueType = this.getIssueType(issueTypeVo.getId());
+            CompanyField companyField = issueType.getCompanyField();
+            if(companyField != null){
+                issueTypeVo.setCompanyFieldVo(ConvertUtil.copyProperties(issueType.getCompanyField(), CompanyFieldVo.class));
+            }
+        }
+    }
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 ISP �젙蹂대�� �뀑�똿�븳�떎.
+    private void setUseIssueTypeByIspField(List<IssueTypeVo> issueTypeVos) {
+        for (IssueTypeVo issueTypeVo : issueTypeVos){
+            IssueType issueType = this.getIssueType(issueTypeVo.getId());
+            IspField ispField = issueType.getIspField();
+            if(ispField != null){
+                issueTypeVo.setIspFieldVo(ConvertUtil.copyProperties(issueType.getIspField(), IspFieldVo.class));
+            }
+        }
+    }
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �샇�뒪�똿 �젙蹂대�� �뀑�똿�븳�떎.
+    private void setUseIssueTypeByHostingField(List<IssueTypeVo> issueTypeVos) {
+        for (IssueTypeVo issueTypeVo : issueTypeVos){
+            IssueType issueType = this.getIssueType(issueTypeVo.getId());
+            HostingField hostingField = issueType.getHostingField();
+            if(hostingField != null){
+                issueTypeVo.setHostingFieldVo(ConvertUtil.copyProperties(issueType.getHostingField(), HostingFieldVo.class));
+            }
+        }
+    }
+
     //  �씠�뒋 �쑀�삎 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
     @Override
     @Transactional(readOnly = true)
@@ -220,6 +276,19 @@
             Project project = issueType.getProject();
             if (project != null) {
                 issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
+            }
+
+            CompanyField companyField = issueType.getCompanyField();
+            if(companyField != null){
+                issueTypeVo.setCompanyFieldVo(ConvertUtil.copyProperties(issueType.getCompanyField(), CompanyFieldVo.class));
+            }
+            IspField ispField = issueType.getIspField();
+            if (ispField != null){
+                issueTypeVo.setIspFieldVo(ConvertUtil.copyProperties(issueType.getIspField(), IspFieldVo.class));
+            }
+            HostingField hostingField = issueType.getHostingField();
+            if (hostingField != null){
+                issueTypeVo.setHostingFieldVo(ConvertUtil.copyProperties(issueType.getHostingField(), HostingFieldVo.class));
             }
         }
 
@@ -249,6 +318,19 @@
         Project project = this.projectService.getProject(issueTypeForm.getProjectId());
         issueType.setProject(project);
 
+        if(issueTypeForm.getCompanyId() != null){
+            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
+            issueType.setCompanyField(companyField);
+        }
+        if(issueTypeForm.getIspId() != null) {
+            IspField ispField = this.ispFieldService.getIsp(issueTypeForm.getIspId());
+            issueType.setIspField(ispField);
+        }
+        if(issueTypeForm.getHostingId() != null) {
+            HostingField hostingField = this.hostingFieldService.getHosting(issueTypeForm.getHostingId());
+            issueType.setHostingField(hostingField);
+        }
+
         this.issueTypeRepository.saveAndFlush(issueType);
 
         return issueType;

--
Gitblit v1.8.0