From a2d725403ea649dc7ac266e50ed0905ee93c2e9b Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 목, 02 12월 2021 18:17:40 +0900
Subject: [PATCH] - api 모니터링 기능 추가

---
 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 c32c1ee..68b8a8c 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -4,6 +4,7 @@
 import kr.wisestone.owl.common.ExcelConditionCheck;
 import kr.wisestone.owl.constant.Constants;
 import kr.wisestone.owl.constant.MsgConstants;
+import kr.wisestone.owl.constant.UsePartner;
 import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.domain.enumType.ProjectType;
 import kr.wisestone.owl.exception.OwlRuntimeException;
@@ -43,7 +44,19 @@
     private WorkflowService workflowService;
 
     @Autowired
+    private ProjectService projectService;
+
+    @Autowired
     private WorkspaceService workspaceService;
+
+    @Autowired
+    private CompanyFieldService companyFieldService;
+
+    @Autowired
+    private IspFieldService ispFieldService;
+
+    @Autowired
+    private HostingFieldService hostingFieldService;
 
     @Autowired
     private IssueTypeMapper issueTypeMapper;
@@ -108,6 +121,10 @@
         issueType.setWorkspace(workspace);
         Workflow workflow = this.workflowService.getWorkflow(issueTypeForm.getWorkflowId());
         issueType.setWorkflow(workflow);
+        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
+        issueType.setProject(project);
+
+        issueType.setUsePartner(issueTypeForm.getUsePartner());
 
         return this.issueTypeRepository.saveAndFlush(issueType);
     }
@@ -166,12 +183,26 @@
             this.setUseIssueTypeByWorkflow(issueTypeVos);
         }
 
+        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));
 
         resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVos);
 
         return issueTypeVos;
+    }
+
+    //  �씠�뒋 �쑀�삎 紐⑸줉�쓣 議고쉶�븳�떎.
+    @Override
+    @Transactional(readOnly = true)
+    public List<IssueTypeVo> findIssueType(IssueTypeCondition condition) {
+        condition.setWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
+        List<Map<String, Object>> results = this.issueTypeMapper.find(condition);
+        return ConvertUtil.convertListToListClass(results, IssueTypeVo.class);
     }
 
     //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �썙�겕�뵆濡쒖슦 �젙蹂대�� �뀑�똿�븳�떎.
@@ -181,6 +212,30 @@
             issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
         }
     }
+
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �봽濡쒖젥�듃 �젙蹂대�� �뀑�똿�븳�떎.
+    private void setUseIssueTypeByProject(List<IssueTypeVo> issueTypeVos) {
+        for (IssueTypeVo issueTypeVo : issueTypeVos) {
+            IssueType issueType = this.getIssueType(issueTypeVo.getId());
+
+            Project project = issueType.getProject();
+            if (project != null) {
+                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
+            }
+        }
+    }
+
+    /*//  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �뾽泥� �젙蹂대�� �뀑�똿�븳�떎.
+    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));
+            }
+        }
+    }
+    */
 
     //  �씠�뒋 �쑀�삎 �긽�꽭 �젙蹂대�� 議고쉶�븳�떎.
     @Override
@@ -197,6 +252,22 @@
                     issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
                     break;
             }
+
+            Project project = issueType.getProject();
+            if (project != null) {
+                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
+            }
+            Integer using = issueType.getUsePartner() != null ? issueType.getUsePartner().intValue() : 0;
+
+            List<UsePartnerVo> usePartnerVos = Lists.newArrayList();
+            for (Integer usePartner : UsePartner.partners) {// 1 // 2 // 4
+                UsePartnerVo usePartnerVo = UsePartner.checkUsePartner(using, usePartner);//3, 1 / 3, 2 / 3, 4
+
+                if (usePartnerVo != null) {
+                    usePartnerVos.add(usePartnerVo);
+                }
+            }
+            issueTypeVo.setUsePartnerVos(usePartnerVos);
         }
 
         resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVo);
@@ -222,6 +293,17 @@
         ConvertUtil.copyProperties(issueTypeForm, issueType, "id", "issueTypeType");
         issueType.setWorkflow(workflow);
 
+        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
+        issueType.setProject(project);
+
+        issueType.setUsePartner(issueTypeForm.getUsePartner());
+
+        /*if(issueTypeForm.getCompanyId() != null){
+            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
+            issueType.setCompanyField(companyField);
+        }*/
+//        issueType.setCompanyYn(issueTypeForm.getCompanyYn());
+
         this.issueTypeRepository.saveAndFlush(issueType);
 
         return issueType;

--
Gitblit v1.8.0