From 0d032791fac103ef50c266ce8fbee21b69ee8eda Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 09 12월 2021 18:04:49 +0900
Subject: [PATCH] 관리자 최초 생성 시 기본 프로젝트 생성 및 기본 프로젝트 이슈유형에 사용 프로젝트로 추가

---
 src/main/java/kr/wisestone/owl/domain/IssueType.java                  |    3 ++-
 src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java      |    2 +-
 src/main/java/kr/wisestone/owl/service/IssueTypeService.java          |    2 ++
 src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java |   32 +++++++++++++++++++++++++-------
 4 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/domain/IssueType.java b/src/main/java/kr/wisestone/owl/domain/IssueType.java
index a9c98ca..1e0ca66 100644
--- a/src/main/java/kr/wisestone/owl/domain/IssueType.java
+++ b/src/main/java/kr/wisestone/owl/domain/IssueType.java
@@ -57,12 +57,13 @@
 
     public IssueType(){}
 
-    public IssueType(Workspace workspace, Workflow workflow, String name, String description, String color){
+    public IssueType(Workspace workspace, Workflow workflow, String name, String description, String color, Long usePartner){
         this.workspace = workspace;
         this.workflow = workflow;
         this.name = name;
         this.description = description;
         this.color = color;
+        this.usePartner = usePartner;
     }
 
     public Long getId() {
diff --git a/src/main/java/kr/wisestone/owl/service/IssueTypeService.java b/src/main/java/kr/wisestone/owl/service/IssueTypeService.java
index 4bcfbe0..738a26a 100644
--- a/src/main/java/kr/wisestone/owl/service/IssueTypeService.java
+++ b/src/main/java/kr/wisestone/owl/service/IssueTypeService.java
@@ -20,6 +20,8 @@
 
     void addDefaultIssueType(Workspace workspace, List<ProjectType> projectTypes);
 
+    void addDefaultUsedProject(Workspace workspace);
+
     IssueType addIssueType(IssueTypeForm issueTypeForm);
 
     List<IssueTypeVo> findIssueType(Map<String, Object> resJsonData,
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 0c3b5b1..5519b9e 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -10,6 +10,7 @@
 import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.IssueTypeMapper;
 import kr.wisestone.owl.repository.IssueTypeRepository;
+import kr.wisestone.owl.repository.ProjectRepository;
 import kr.wisestone.owl.service.*;
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.util.MapUtil;
@@ -40,6 +41,9 @@
 
     @Autowired
     private IssueTypeRepository issueTypeRepository;
+
+    @Autowired
+    private ProjectRepository projectRepository;
 
     @Autowired
     private WorkflowService workflowService;
@@ -80,28 +84,42 @@
         for (ProjectType projectType : projectTypes) {
             List<IssueType> issueTypes = Lists.newArrayList();
             Workflow workflow = this.workflowService.findByWorkspaceIdAndProjectType(workspace.getId(), projectType);
-            //String projectKey = "BTS";
-            //Project project = this.projectService.findByProjectKey(projectKey);
 
             switch (projectType) {
                 case BTS_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, "�븙�꽦 �룄硫붿씤", "", "#ff5f99")); // 踰꾧렇
-                    issueTypes.add(new IssueType(workspace, workflow, "寃쎌쑀吏� ���쓳", "", "#3598fe")); // 媛쒖꽑
+                    issueTypes.add(new IssueType(workspace, workflow, "�븙�꽦 �룄硫붿씤", "", "#ff5f99", 0L)); // 踰꾧렇
+                    issueTypes.add(new IssueType(workspace, workflow, "寃쎌쑀吏� ���쓳", "", "#3598fe", 0L)); // 媛쒖꽑
                     break;
 
                 case RMS_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, "�쑀�룷吏� ���쓳", "", "#3bcde2")); // �슂援� �궗�빆
+                    issueTypes.add(new IssueType(workspace, workflow, "�쑀�룷吏� ���쓳", "", "#3bcde2", 0L)); // �슂援� �궗�빆
                     break;
 
                 case TCM_PROJECT:
-                    issueTypes.add(new IssueType(workspace, workflow, "遺꾩꽍寃곌낵 ���쓳", "", "#008ca7")); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵
+                    issueTypes.add(new IssueType(workspace, workflow, "遺꾩꽍寃곌낵 ���쓳", "", "#008ca7", 0L)); // �뀒�뒪�듃 耳��씠�뒪, �떎�뻾 �닚�꽌, �쟾�젣 議곌굔, 湲곕� 寃곌낵
                     break;
             }
-
             this.issueTypeRepository.saveAll(issueTypes);
         }
     }
 
+    @Override
+    @Transactional
+    public void addDefaultUsedProject(Workspace workspace) {
+        List<IssueType> issueTypes = this.issueTypeRepository.findByWorkspaceId(workspace.getId());
+        List<Project> projects = this.projectRepository.findByWorkspaceId(workspace.getId());
+        if(issueTypes != null && issueTypes.size() > 0){
+            for(IssueType issueType : issueTypes){
+                if(projects != null && projects.size()>0){
+                    for(Project project : projects){
+                        issueType.setProject(project);
+                    }
+                }
+            }
+        }
+
+    }
+
     //  �씠�뒋 �쑀�삎�쓣 �깮�꽦�븳�떎.
     @Override
     @Transactional
diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
index 09ccec0..96bcc28 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserServiceImpl.java
@@ -264,7 +264,7 @@
                 this.projectService.addDefaultProject(user, workspace);
 
                 // 湲곕낯�쑝濡� �젣怨듬릺�뒗 �봽濡쒖젥�듃瑜� �씠�뒋 �쑀�삎�쓽 �궗�슜 �봽濡쒖젥�듃濡� �꽕�젙
-                //this.issueTypeService.addDefaultUsedProject(workspace);
+                this.issueTypeService.addDefaultUsedProject(workspace);
 
                 user.setLastWorkspaceId(workspace.getId());
 

--
Gitblit v1.8.0