From 41c8f3c976c0d8ec4b0a6ad3d7f4ce90a9de03c7 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 25 11월 2021 21:19:22 +0900
Subject: [PATCH] 프로젝트 담당부서 수정

---
 src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java |  125 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 121 insertions(+), 4 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 7b14f1d..d8c2d72 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -3,7 +3,9 @@
 import com.google.common.collect.Lists;
 import kr.wisestone.owl.common.ExcelConditionCheck;
 import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.constant.MngPermission;
 import kr.wisestone.owl.constant.MsgConstants;
+import kr.wisestone.owl.constant.UseCompany;
 import kr.wisestone.owl.domain.*;
 import kr.wisestone.owl.domain.enumType.ProjectType;
 import kr.wisestone.owl.exception.OwlRuntimeException;
@@ -43,7 +45,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;
@@ -75,16 +89,16 @@
 
             switch (projectType) {
                 case BTS_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.bug"), "", "#ff5f99")); // 踰꾧렇
-                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.improvement"), "", "#3598fe")); // 媛쒖꽑
+                    issueTypes.add(new IssueType(workspace, workflow, "�븙�꽦 �룄硫붿씤", "", "#ff5f99")); // 踰꾧렇
+                    issueTypes.add(new IssueType(workspace, workflow, "寃쎌쑀吏� ���쓳", "", "#3598fe")); // 媛쒖꽑
                     break;
 
                 case RMS_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.requirement"), "", "#3bcde2")); // �슂援� �궗�빆
+                    issueTypes.add(new IssueType(workspace, workflow, "�쑀�룷吏� ���쓳", "", "#3bcde2")); // �슂援� �궗�빆
                     break;
 
                 case TCM_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.testcase"), "", "#008ca7")); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵
+                    issueTypes.add(new IssueType(workspace, workflow, "遺꾩꽍寃곌낵 ���쓳", "", "#008ca7")); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵
                     break;
             }
 
@@ -108,6 +122,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.setUseCompany(issueTypeForm.getUseCompany());
 
         return this.issueTypeRepository.saveAndFlush(issueType);
     }
@@ -166,6 +184,11 @@
             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));
 
@@ -182,6 +205,49 @@
         }
     }
 
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �봽濡쒖젥�듃 �젙蹂대�� �뀑�똿�븳�떎.
+    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));
+            }
+        }
+    }
+    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 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)
@@ -197,6 +263,36 @@
                     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 use = issueType.getUseCompany() != null ? issueType.getUseCompany().intValue() : 0;
+
+            List<UseCompanyVo> useCompanyVos = Lists.newArrayList();
+            for (Integer useCompany : UseCompany.useCompanies) {
+                UseCompanyVo useCompanyVo = UseCompany.checkUseCompany(use, useCompany);
+
+                if (useCompanyVo != null) {
+                    useCompanyVos.add(useCompanyVo);
+                }
+            }
+
+            issueTypeVo.setUseCompanyVos(useCompanyVos);
+
+            /*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));
+            }*/
         }
 
         resJsonData.put(Constants.RES_KEY_CONTENTS, issueTypeVo);
@@ -222,6 +318,27 @@
         ConvertUtil.copyProperties(issueTypeForm, issueType, "id", "issueTypeType");
         issueType.setWorkflow(workflow);
 
+        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
+        issueType.setProject(project);
+
+        issueType.setUseCompany(issueTypeForm.getUseCompany());
+
+        /*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);
+        }*/
+//        issueType.setCompanyYn(issueTypeForm.getCompanyYn());
+//        issueType.setIspYn(issueTypeForm.getIspYn());
+//        issueType.setHostingYn(issueTypeForm.getHostingYn());
+
         this.issueTypeRepository.saveAndFlush(issueType);
 
         return issueType;

--
Gitblit v1.8.0