From bcbce86a1e54d773d5008b21ff2ae124cfc6dda7 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 22 11월 2021 13:36:08 +0900
Subject: [PATCH] 연관이슈, 하위이슈 테이블 표시 설정(백엔드)

---
 src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java |  120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 117 insertions(+), 3 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
index a404a90..8f99a4e 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
@@ -1,10 +1,12 @@
 package kr.wisestone.owl.service.impl;
 
 import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.domain.Issue;
 import kr.wisestone.owl.domain.IssueTableConfig;
 import kr.wisestone.owl.domain.User;
 import kr.wisestone.owl.domain.Workspace;
 import kr.wisestone.owl.repository.IssueTableConfigRepository;
+import kr.wisestone.owl.service.IssueService;
 import kr.wisestone.owl.service.IssueTableConfigService;
 import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.service.WorkspaceService;
@@ -32,30 +34,102 @@
     @Autowired
     private UserService userService;
 
+    @Autowired
+    private IssueService issueService;
+
     @Override
     protected JpaRepository<IssueTableConfig, Long> getRepository() {
         return this.issueTableConfigRepository;
     }
+
+    @Override
+    public void multipleCode() {
+
+    }
+    Long issueId;
+    int issueTableType = 0; //issueTableType 珥덇린媛� �꽕�젙
 
     //  �씠�뒋 �뀒�씠釉� 而щ읆 �꽕�젙 �젙蹂대�� ���옣�븳�떎.
     @Override
     @Transactional
     public IssueTableConfig addIssueTableConfig(Map<String, Object> params) {
         String issueTableConfigs = MapUtil.getString(params, "issueTableConfigs");
+        issueId = (long) -1;
+        issueTableType = 1;
+
         //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 紐⑸줉 �뀒�씠釉� 而щ읆 �꽕�젙�쓣 議고쉶�븳�떎.
         IssueTableConfig saveIssueTableConfig = this.findByUserIdAndWorkspaceId();
-
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
         //  �븘吏� �뀒�씠釉� 而щ읆 �꽕�젙�쓣 �븯吏� �븡�븯�쓣 寃쎌슦
-        if (saveIssueTableConfig == null) {
+        if (saveIssueTableConfig == null && saveIssueTableType == null) {
             IssueTableConfig issueTableConfig = new IssueTableConfig();
             Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
             User user = this.userService.getUser(this.webAppUtil.getLoginId());
+            Issue issue = this.issueService.getIssue(issueId);
             issueTableConfig.setWorkspace(workspace);
             issueTableConfig.setUser(user);
+            issueTableConfig.setIssue(issue);
+            issueTableConfig.setIssueTableType(issueTableType);
             issueTableConfig.setIssueTableConfigs(issueTableConfigs);
             return this.issueTableConfigRepository.saveAndFlush(issueTableConfig);
         }
         else {
+            saveIssueTableConfig.setIssueTableConfigs(issueTableConfigs);
+            return this.issueTableConfigRepository.saveAndFlush(saveIssueTableConfig);
+        }
+    }
+
+    @Override
+    public IssueTableConfig addRelationIssueTableConfig(Map<String, Object> params) {
+        String issueTableConfigs = MapUtil.getString(params, "issueTableConfigs");
+
+        issueId = MapUtil.getLong(params, "issueId");
+        issueTableType = 2;
+        //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 紐⑸줉 �뀒�씠釉� 而щ읆 �꽕�젙�쓣 議고쉶�븳�떎.
+        IssueTableConfig saveIssueTableConfig = this.findByUserIdAndWorkspaceId();
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
+
+        //  �븘吏� �뀒�씠釉� 而щ읆 �꽕�젙�쓣 �븯吏� �븡�븯�쓣 寃쎌슦
+        if (saveIssueTableConfig == null && saveIssueTableType == null) {
+            IssueTableConfig issueTableConfig = new IssueTableConfig();
+            Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
+            User user = this.userService.getUser(this.webAppUtil.getLoginId());
+            Issue issue = this.issueService.getIssue(issueId);
+            issueTableConfig.setWorkspace(workspace);
+            issueTableConfig.setUser(user);
+            issueTableConfig.setIssue(issue);
+            issueTableConfig.setIssueTableType(issueTableType);
+            issueTableConfig.setIssueTableConfigs(issueTableConfigs);
+            return this.issueTableConfigRepository.saveAndFlush(issueTableConfig);
+        }else {
+            saveIssueTableConfig.setIssueTableConfigs(issueTableConfigs);
+            return this.issueTableConfigRepository.saveAndFlush(saveIssueTableConfig);
+        }
+    }
+
+    @Override
+    public IssueTableConfig addDownIssueTableConfig(Map<String, Object> params) {
+        String issueTableConfigs = MapUtil.getString(params, "issueTableConfigs");
+
+        issueId = MapUtil.getLong(params, "issueId");
+        issueTableType = 3;
+        //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 紐⑸줉 �뀒�씠釉� 而щ읆 �꽕�젙�쓣 議고쉶�븳�떎.
+        IssueTableConfig saveIssueTableConfig = this.findByUserIdAndWorkspaceId();
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
+
+        //  �븘吏� �뀒�씠釉� 而щ읆 �꽕�젙�쓣 �븯吏� �븡�븯�쓣 寃쎌슦
+        if (saveIssueTableConfig == null && saveIssueTableType == null) {
+            IssueTableConfig issueTableConfig = new IssueTableConfig();
+            Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
+            User user = this.userService.getUser(this.webAppUtil.getLoginId());
+            Issue issue = this.issueService.getIssue(issueId);
+            issueTableConfig.setWorkspace(workspace);
+            issueTableConfig.setUser(user);
+            issueTableConfig.setIssue(issue);
+            issueTableConfig.setIssueTableType(issueTableType);
+            issueTableConfig.setIssueTableConfigs(issueTableConfigs);
+            return this.issueTableConfigRepository.saveAndFlush(issueTableConfig);
+        }else {
             saveIssueTableConfig.setIssueTableConfigs(issueTableConfigs);
             return this.issueTableConfigRepository.saveAndFlush(saveIssueTableConfig);
         }
@@ -69,14 +143,39 @@
                 this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
     }
 
+    @Override
+    @Transactional(readOnly = true)
+    public IssueTableConfig findByIssueIdAndIssueTableType(Long issueId, int issueTableType) {
+        return this.issueTableConfigRepository.findByIssueIdAndIssueTableType(issueId, issueTableType);
+    }
+
     //  ���옣�맂 �씠�뒋 �뀒�씠釉� �꽕�젙�쓣 議고쉶�븳�떎.
     @Override
     @Transactional(readOnly = true)
     public void detailIssueTableConfig(Map<String, Object> resJsonData) {
+        issueId = (long) -1;
+        issueTableType = 1;
         //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 寃��깋 議곌굔�쓣 議고쉶�븳�떎.
         IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceId();
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
 
-        if (issueTableConfig != null) {
+        if (issueTableConfig != null && saveIssueTableType != null) {
+            resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs());
+        }
+        else {
+            resJsonData.put(Constants.RES_KEY_CONTENTS, "");
+        }
+    }
+    
+    //  ���옣�맂 �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙 議고쉶
+    @Override
+    public void detailRelationIssueTableConfig(Long issueId, Map<String, Object> resJsonData) {
+        issueTableType = 2;
+        //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 寃��깋 議곌굔�쓣 議고쉶�븳�떎.
+        IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceId();
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
+        
+        if (issueTableConfig != null && saveIssueTableType != null) {
             resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs());
         }
         else {
@@ -84,6 +183,21 @@
         }
     }
 
+    //  ���옣�맂 �븯�쐞 �씠�뒋 �뀒�씠釉� �꽕�젙 議고쉶
+    @Override
+    public void detailDownIssueTableConfig(Long issueId, Map<String, Object> resJsonData) {
+        issueTableType = 3;
+        //  �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 寃��깋 議곌굔�쓣 議고쉶�븳�떎.
+        IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceId();
+        IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType);
+
+        if (issueTableConfig != null && saveIssueTableType != null) {
+            resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs());
+        }
+        else {
+            resJsonData.put(Constants.RES_KEY_CONTENTS, "");
+        }
+    }
 
 
 }

--
Gitblit v1.8.0