From 2efe89b4912553eddb4c26103e6ce4e93b52649f Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 금, 26 11월 2021 15:56:06 +0900 Subject: [PATCH] 이슈 테이블설정 --- src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js | 8 +- src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js | 5 + src/main/resources/migration/V1_11__Alter_Table.sql | 2 src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java | 4 src/main/java/kr/wisestone/owl/domain/IssueTableConfig.java | 10 +- src/main/webapp/scripts/app/issue/issueList.controller.js | 10 +++ src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java | 6 +- src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js | 6 +- src/main/webapp/scripts/app/issue/issueDetail.controller.js | 16 ++++ src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java | 67 +++++++++------------ src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java | 4 11 files changed, 75 insertions(+), 63 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/domain/IssueTableConfig.java b/src/main/java/kr/wisestone/owl/domain/IssueTableConfig.java index 9a83edf..c623106 100644 --- a/src/main/java/kr/wisestone/owl/domain/IssueTableConfig.java +++ b/src/main/java/kr/wisestone/owl/domain/IssueTableConfig.java @@ -15,7 +15,7 @@ private Long id; private String issueTableConfigs; private int issueTableType; - private Long issueId; + private Long issueTypeId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "workspace_id") @@ -67,11 +67,11 @@ this.issueTableType = issueTableType; } - public Long getIssueId() { - return issueId; + public Long getIssueTypeId() { + return issueTypeId; } - public void setIssueId(Long issueId) { - this.issueId = issueId; + public void setIssueTypeId(Long issueTypeId) { + this.issueTypeId = issueTypeId; } } diff --git a/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java index 4952e94..de19c90 100644 --- a/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java +++ b/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java @@ -5,8 +5,8 @@ import org.springframework.data.repository.query.Param; public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> { - IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueId") Long issueId, @Param("issueTableType") int issueTableType); + IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); - IssueTableConfig findByIssueIdAndIssueTableType(@Param("issueId") Long issueId, @Param("issueTableType") int issueTableType); + IssueTableConfig findByIssueTypeIdAndIssueTableType(@Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType); } diff --git a/src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java b/src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java index 86b6e06..4c62f9a 100644 --- a/src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java +++ b/src/main/java/kr/wisestone/owl/service/IssueTableConfigService.java @@ -12,14 +12,14 @@ IssueTableConfig addDownIssueTableConfig(Map<String, Object> params); - void detailIssueTableConfig(Map<String, Object> resJsonData); + void detailIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData); void detailRelationIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData); void detailDownIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData); - IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(Long issueId, int issueTableType); + IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(Long issueId, int issueTableType); - IssueTableConfig findByIssueIdAndIssueTableType(Long issueId, int issueTableType); + IssueTableConfig findByIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType); } 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 7712b2d..309e688 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java @@ -37,14 +37,13 @@ return this.issueTableConfigRepository; } - Long issueId; + Long issueTypeId; int issueTableType = 0; //issueTableType 珥덇린媛� �꽕�젙 // add 以묐났肄붾뱶 �젣嫄� - public IssueTableConfig addMultipleCode(Map<String, Object> params, Long issueId, int issueTableType) { + public IssueTableConfig addIssueTableConfig(Map<String, Object> params, Long issueTypeId, int issueTableType) { String issueTableConfigs = MapUtil.getString(params, "issueTableConfigs"); - IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(issueId, issueTableType); - //IssueTableConfig saveIssueTableType = this.findByIssueIdAndIssueTableType(issueId,issueTableType); + IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); // �븘吏� �뀒�씠釉� 而щ읆 �꽕�젙�쓣 �븯吏� �븡�븯�쓣 寃쎌슦 if (issueTableConfig == null) { @@ -53,18 +52,9 @@ User user = this.userService.getUser(this.webAppUtil.getLoginId()); issueTableConfig.setWorkspace(workspace); issueTableConfig.setUser(user); - issueTableConfig.setIssueId(issueId); + issueTableConfig.setIssueTypeId(issueTypeId); issueTableConfig.setIssueTableType(issueTableType); issueTableConfig.setIssueTableConfigs(issueTableConfigs); - /*}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); } @@ -75,44 +65,44 @@ @Override @Transactional public IssueTableConfig addIssueTableConfig(Map<String, Object> params) { - issueId = (long) -1; - issueTableType = 1; - return this.addMultipleCode(params, issueId, issueTableType); + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + issueTableType = 1; //硫붿씤 + return this.addIssueTableConfig(params, issueTypeId, issueTableType); } // �뿰愿� �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂� ���옣 @Override public IssueTableConfig addRelationIssueTableConfig(Map<String, Object> params) { - issueId = MapUtil.getLong(params, "issueId"); - issueTableType = 2; - return this.addMultipleCode(params, issueId, issueTableType); + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + issueTableType = 2; //�뿰愿� + return this.addIssueTableConfig(params, issueTypeId, issueTableType); } // �븯�쐞 �씠�뒋 �뀒�씠釉� �꽕�젙 �젙蹂� ���옣 @Override public IssueTableConfig addDownIssueTableConfig(Map<String, Object> params) { - issueId = MapUtil.getLong(params, "issueId"); - issueTableType = 3; - return this.addMultipleCode(params, issueId, issueTableType); + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + issueTableType = 3; //�븯�쐞 + return this.addIssueTableConfig(params, issueTypeId, issueTableType); } // �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 �뀒�씠釉� �꽕�젙�쓣 議고쉶�븳�떎. @Override @Transactional(readOnly = true) - public IssueTableConfig findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(Long issueId, int issueTableType) { - return this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(this.webAppUtil.getLoginId(), - this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), issueId, issueTableType); + public IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) { + return this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(this.webAppUtil.getLoginId(), + this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), issueTypeId, issueTableType); } - //�씠�뒋 Id�� IssueTableType 議고쉶 + //�씠�뒋���엯 Id�� IssueTableType 議고쉶 @Override @Transactional(readOnly = true) - public IssueTableConfig findByIssueIdAndIssueTableType(Long issueId, int issueTableType) { - return this.issueTableConfigRepository.findByIssueIdAndIssueTableType(issueId, issueTableType); + public IssueTableConfig findByIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) { + return this.issueTableConfigRepository.findByIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); } // detail 以묐났 肄붾뱶 �젣嫄� - private void detailMultipleCode(Map<String, Object> resJsonData, Long issueId, int issueTableType) { + private void detailIssueTableConfig(Map<String, Object> resJsonData, Long issueTypeId, int issueTableType) { // �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 寃��깋 議곌굔�쓣 議고쉶�븳�떎. - IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(issueId, issueTableType); + IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); if (issueTableConfig != null) { resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs()); @@ -125,11 +115,12 @@ // ���옣�맂 �씠�뒋 �뀒�씠釉� �꽕�젙�쓣 議고쉶�븳�떎. @Override @Transactional(readOnly = true) - public void detailIssueTableConfig(Map<String, Object> resJsonData) { - issueId = (long) -1; + public void detailIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData) { + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + issueTableType = 1; // �빐�떦 �뾽臾� 怨듦컙�뿉�꽌 �궗�슜�옄�쓽 �씠�뒋 寃��깋 議곌굔�쓣 議고쉶�븳�떎. - IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueIdAndIssueTableType(issueId, issueTableType); + IssueTableConfig issueTableConfig = this.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(issueTypeId, issueTableType); if (issueTableConfig != null) { resJsonData.put(Constants.RES_KEY_CONTENTS, issueTableConfig.getIssueTableConfigs()); @@ -142,15 +133,15 @@ @Override public void detailRelationIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData) { issueTableType = 2; - issueId = MapUtil.getLong(params, "issueId"); - this.detailMultipleCode(resJsonData, issueId, issueTableType); + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + this.detailIssueTableConfig(resJsonData, issueTypeId, issueTableType); } // ���옣�맂 �븯�쐞 �씠�뒋 �뀒�씠釉� �꽕�젙 議고쉶 @Override public void detailDownIssueTableConfig(Map<String, Object> params, Map<String, Object> resJsonData) { issueTableType = 3; - issueId = MapUtil.getLong(params, "issueId"); - this.detailMultipleCode(resJsonData, issueId, issueTableType); + issueTypeId = MapUtil.getLong(params, "issueTypeId"); + this.detailIssueTableConfig(resJsonData, issueTypeId, issueTableType); } diff --git a/src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java b/src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java index 0189993..8fa676f 100644 --- a/src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java +++ b/src/main/java/kr/wisestone/owl/web/controller/IssueTableConfigController.java @@ -61,10 +61,10 @@ @RequestMapping(value = "/issueTableConfig/detail", produces = MediaType.APPLICATION_JSON_VALUE) public @ResponseBody - Map<String, Object> detail() { + Map<String, Object> detail(@RequestBody Map<String, Map<String, Object>> params) { Map<String, Object> resJsonData = new HashMap<>(); - this.issueTableConfigService.detailIssueTableConfig(resJsonData); + this.issueTableConfigService.detailIssueTableConfig(params.get(Constants.REQ_KEY_CONTENT), resJsonData); return this.setSuccessMessage(resJsonData); } diff --git a/src/main/resources/migration/V1_11__Alter_Table.sql b/src/main/resources/migration/V1_11__Alter_Table.sql index 0bfb235..306646c 100644 --- a/src/main/resources/migration/V1_11__Alter_Table.sql +++ b/src/main/resources/migration/V1_11__Alter_Table.sql @@ -184,7 +184,7 @@ ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- �씠�뒋 �뀒�씠釉� ���엯 �꽕�젙(1: 硫붿씤, 2: �뿰愿�, 3: �븯�쐞) -ALTER TABLE `issue_table_config` ADD COLUMN `issue_id` BIGINT(20) NOT NULL; +ALTER TABLE `issue_table_config` ADD COLUMN `issue_type_id` BIGINT(20) NOT NULL; ALTER TABLE `issue_table_config` ADD COLUMN `issue_table_type` INT(11) NOT NULL; ALTER TABLE `issue_table_config` ADD INDEX `issueTableTypeIndex`(`issue_table_type`); diff --git a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js index 7fad8db..0076976 100644 --- a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js @@ -8,8 +8,8 @@ 'angular' ], function (app, angular) { - app.controller('issueAddDownTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter) { + app.controller('issueAddDownTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', 'parameter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter, parameter) { // �븿�닔 紐⑥쓬 $scope.fn = { @@ -78,7 +78,7 @@ $rootScope.spinner = true; var content = { - issueId : $rootScope.currentDetailIssueId, + issueTypeId : parameter.issueTypeId, issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs) }; diff --git a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js index 528f3a6..1eda0d2 100644 --- a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js @@ -8,8 +8,8 @@ 'angular' ], function (app, angular) { - app.controller('issueAddRelationTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter) { + app.controller('issueAddRelationTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', 'parameter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter, parameter) { // �븿�닔 紐⑥쓬 @@ -23,7 +23,7 @@ // 蹂��닔 紐⑥쓬 $scope.vm = { - issueId: "", + issueTypeId: "", issueRelTableConfigs : [{ name : $filter("translate")("common.priority"), // �슦�꽑�닚�쐞 key : "PRIORITY", @@ -79,7 +79,7 @@ $rootScope.spinner = true; var content = { - issueId : $rootScope.currentDetailIssueId, + issueTypeId : parameter.issueTypeId, issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs) }; diff --git a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js index 027619d..9e26735 100644 --- a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js @@ -8,8 +8,8 @@ 'angular' ], function (app, angular) { - app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', - function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter) { + app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', 'parameter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter, parameter) { // �븿�닔 紐⑥쓬 $scope.fn = { @@ -83,6 +83,7 @@ $rootScope.spinner = true; var content = { + issueTypeId : parameter.issueTypeId, issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) }; diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js index 3e01d52..0c579e4 100644 --- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js +++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js @@ -723,7 +723,13 @@ size : "lg", controller : 'issueAddRelationTableConfigController', backdrop : 'static', - resolve : {} + resolve : { + parameter : function () { + return { + issueTypeId : $scope.vm.viewer.issueTypeVo.id + }; + } + } }); } @@ -734,7 +740,13 @@ size : "lg", controller : 'issueAddDownTableConfigController', backdrop : 'static', - resolve : {} + resolve : { + parameter : function () { + return { + issueTypeId : $scope.vm.viewer.issueTypeVo.id + }; + } + } }); } diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index 7a8041e..a0df35a 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -41,6 +41,7 @@ // 蹂��닔 $scope.vm = { + issueTypeId : "", search : { title : "", // �젣紐� description : "", // �궡�슜 @@ -490,6 +491,7 @@ $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { if (result.data.message.status === "success") { + $scope.vm.issueTypeId = result.data.data[0].issueTypeId; $scope.vm.page.selectedPage = currentPage + 1; $scope.vm.responseData = result.data; if (detail) { @@ -672,7 +674,13 @@ size : "lg", controller : 'issueAddTableConfigController', backdrop : 'static', - resolve : {} + resolve : { + parameter : function () { + return { + issueTypeId : $scope.vm.issueTypeId + }; + } + } }); } -- Gitblit v1.8.0