| | |
| | | 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; |
| | |
| | | @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); |
| | | } |
| | |
| | | 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 { |
| | |
| | | } |
| | | } |
| | | |
| | | // 저장된 하위 이슈 테이블 설정 조회 |
| | | @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, ""); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |