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