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