src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java
@@ -5,7 +5,7 @@ import org.springframework.data.repository.query.Param; public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> { IssueTableConfig findByUserIdAndWorkspaceId(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId); IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueId") Long issueId, @Param("issueTableType") int issueTableType); IssueTableConfig findByIssueIdAndIssueTableType(@Param("issueId") Long issueId, @Param("issueTableType") int issueTableType); src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java
@@ -18,7 +18,7 @@ void detailDownIssueTableConfig(Long issueId, Map<String, Object> resJsonData); IssueTableConfig findByUserIdAndWorkspaceId(); IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(Long issueId, int issueTableType); IssueTableConfig findByIssueIdAndIssueTableType(Long issueId, int issueTableType); src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
@@ -32,9 +32,6 @@ @Autowired private UserService userService; @Autowired private IssueTableConfigService issueTableConfigService; @Override protected JpaRepository<IssueTableConfig, Long> getRepository() { return this.issueTableConfigRepository; @@ -46,8 +43,8 @@ // add 중복코드 제거 public IssueTableConfig addMultipleCode(Map<String, Object> params, Long issueId, int issueTableType) { String issueTableConfigs = MapUtil.getString(params, "issueTableConfigs"); IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceId(); IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType); IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(issueId, issueTableType); //IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType); // 아직 테이블 컬럼 설정을 하지 않았을 경우 if (issueTableConfig == null) { @@ -56,12 +53,19 @@ User user = this.userService.getUser(this.webAppUtil.getLoginId()); issueTableConfig.setWorkspace(workspace); issueTableConfig.setUser(user); issueTableConfig.setIssueTableConfigs(issueTableConfigs); }else if(saveIssueTableType == null){ issueTableConfig.setIssueId(issueId); issueTableConfig.setIssueTableType(issueTableType); issueTableConfig.setIssueTableConfigs(issueTableConfigs); }else{ /*}else if(saveIssueTableType == null){ issueTableConfig = new IssueTableConfig(); Workspace workspace = this.workspaceService.getWorkspace(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); User user = this.userService.getUser(this.webAppUtil.getLoginId()); issueTableConfig.setWorkspace(workspace); issueTableConfig.setUser(user); issueTableConfig.setIssueId(issueId); issueTableConfig.setIssueTableType(issueTableType); issueTableConfig.setIssueTableConfigs(issueTableConfigs);*/ }else { issueTableConfig.setIssueTableConfigs(issueTableConfigs); } return this.issueTableConfigRepository.saveAndFlush(issueTableConfig); @@ -93,9 +97,9 @@ // 해당 업무 공간에서 사용자의 이슈 테이블 설정을 조회한다. @Override @Transactional(readOnly = true) public IssueTableConfig findByUserIdAndWorkspaceId() { return this.issueTableConfigRepository.findByUserIdAndWorkspaceId(this.webAppUtil.getLoginId(), this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId()); public IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(Long issueId, int issueTableType) { return this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(this.webAppUtil.getLoginId(), this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), issueId, issueTableType); } //이슈 Id와 IssueTableType 조회 @@ -108,11 +112,11 @@ // detail 중복 코드 제거 private void detailMultipleCode(Map<String, Object> resJsonData, Long issueId, int issueTableType) { // 해당 업무 공간에서 사용자의 이슈 검색 조건을 조회한다. IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceId(); IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(issueId, issueTableType); IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType); if (issueTableConfig != null && saveIssueTableType != null) { resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs()); if (issueTableConfig != null) { resJsonData.put(Constants.RES_KEY_CONTENTS, saveIssueTableType.getIssueTableConfigs()); } else { resJsonData.put(Constants.RES_KEY_CONTENTS, ""); src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java
@@ -33,17 +33,6 @@ return this.setSuccessMessage(resJsonData); } // 메인 이슈 테이블 설정 상세 조회 @RequestMapping(value = "/issueTableConfig/detail", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> detail() { Map<String, Object> resJsonData = new HashMap<>(); this.issueTableConfigService.detailIssueTableConfig(resJsonData); return this.setSuccessMessage(resJsonData); } // 연관 이슈 테이블 설정 저장 @RequestMapping(value = "/issueTableConfig/relationAdd", produces = MediaType.APPLICATION_JSON_VALUE) public @@ -56,17 +45,6 @@ return this.setSuccessMessage(resJsonData); } // 연관 이슈 테이블 설정 상세 조회 @RequestMapping(value = "/issueTableConfig/relationDetail", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> relationDetail(@RequestBody Long issueId) { Map<String, Object> resJsonData = new HashMap<>(); this.issueTableConfigService.detailRelationIssueTableConfig(issueId,resJsonData); return this.setSuccessMessage(resJsonData); } // 하위 이슈 테이블 설정 저장 @RequestMapping(value = "/issueTableConfig/downAdd", produces = MediaType.APPLICATION_JSON_VALUE) public @@ -79,6 +57,28 @@ return this.setSuccessMessage(resJsonData); } // 메인 이슈 테이블 설정 상세 조회 @RequestMapping(value = "/issueTableConfig/detail", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> detail() { Map<String, Object> resJsonData = new HashMap<>(); this.issueTableConfigService.detailIssueTableConfig(resJsonData); return this.setSuccessMessage(resJsonData); } // 연관 이슈 테이블 설정 상세 조회 @RequestMapping(value = "/issueTableConfig/relationDetail", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody Map<String, Object> relationDetail(@RequestBody Long issueId) { Map<String, Object> resJsonData = new HashMap<>(); this.issueTableConfigService.detailRelationIssueTableConfig(issueId,resJsonData); return this.setSuccessMessage(resJsonData); } // 하위 이슈 테이블 설정 상세 조회 @RequestMapping(value = "/issueTableConfig/downDetail", produces = MediaType.APPLICATION_JSON_VALUE) public