From 0509eeb6d6417f20aabe54295512384be707ff9d Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 금, 26 11월 2021 18:26:11 +0900
Subject: [PATCH] 테이블 표시 설정 기능 확장 [프론트]

---
 src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js  |    3 +
 src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js          |    5 +-
 src/main/webapp/scripts/config.js                                            |   13 ++++++
 src/main/webapp/scripts/app/issue/issueList.controller.js                    |   38 ++++++++++++------
 src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js      |    3 +
 src/main/webapp/scripts/app/issue/issueDetail.controller.js                  |    6 ++-
 src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java |   14 ++++++-
 src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java    |    8 ++-
 src/main/webapp/scripts/app/customField/customFieldModify.controller.js      |    1 
 9 files changed, 67 insertions(+), 24 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java b/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java
index de19c90..9b7215f 100644
--- a/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java
+++ b/src/main/java/kr/wisestone/owl/repository/IssueTableConfigRepository.java
@@ -4,9 +4,11 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.repository.query.Param;
 
-public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> {
-    IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType);
+import java.util.List;
 
-    IssueTableConfig findByIssueTypeIdAndIssueTableType(@Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType);
+public interface IssueTableConfigRepository extends JpaRepository<IssueTableConfig, Long> {
+    List<IssueTableConfig> findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(@Param("userId") Long userId, @Param("workspaceId") Long workspaceId, @Param("issueTypeId") Long issueTypeId, @Param("issueTableType") int issueTableType);
+
+    List<IssueTableConfig> findByIssueTypeIdAndIssueTableType(@Param("issueTypeId") Long issueTypeId, @Param("issueTableType") 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 309e688..ce863bf 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/IssueTableConfigServiceImpl.java
@@ -16,6 +16,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -88,15 +89,24 @@
     @Override
     @Transactional(readOnly = true)
     public IssueTableConfig findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) {
-        return this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(this.webAppUtil.getLoginId(),
+        List<IssueTableConfig> issueTableConfigList = this.issueTableConfigRepository.findByUserIdAndWorkspaceIdAndIssueTypeIdAndIssueTableType(this.webAppUtil.getLoginId(),
                 this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId(), issueTypeId, issueTableType);
+
+        if (issueTableConfigList != null && issueTableConfigList.size() > 0) {
+            return  issueTableConfigList.get(0);
+        }
+        return null;
     }
 
     //�씠�뒋���엯 Id�� IssueTableType 議고쉶
     @Override
     @Transactional(readOnly = true)
     public IssueTableConfig findByIssueTypeIdAndIssueTableType(Long issueTypeId, int issueTableType) {
-        return this.issueTableConfigRepository.findByIssueTypeIdAndIssueTableType(issueTypeId, issueTableType);
+        List<IssueTableConfig> issueTableConfigs = this.issueTableConfigRepository.findByIssueTypeIdAndIssueTableType(issueTypeId, issueTableType);
+        if (issueTableConfigs != null && issueTableConfigs.size() > 0){
+            return issueTableConfigs.get(0);
+        }
+        return  null;
     }
 
     // detail 以묐났 肄붾뱶 �젣嫄�
diff --git a/src/main/webapp/scripts/app/customField/customFieldModify.controller.js b/src/main/webapp/scripts/app/customField/customFieldModify.controller.js
index 56362b5..04f2a7d 100644
--- a/src/main/webapp/scripts/app/customField/customFieldModify.controller.js
+++ b/src/main/webapp/scripts/app/customField/customFieldModify.controller.js
@@ -93,6 +93,7 @@
                     if ($scope.vm.form.customFieldType === "INPUT") {
                         return;
                     }
+                    // $scope.vm.form.customFieldType == "NUMBER" 議댁옱�븳�떎
 
                     var duplication = false;
                     //  �빐�떆 �깭洹몃뒗 �엯�젰 湲덉� - 怨듬갚 移섑솚
diff --git a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
index 0076976..3b7e862 100644
--- a/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddDownTableConfig.controller.js
@@ -78,7 +78,7 @@
                     $rootScope.spinner = true;
 
                     var content = {
-                        issueTypeId : parameter.issueTypeId,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         issueTableConfigs : JSON.stringify($scope.vm.issueDownTableConfigs)
                     };
 
@@ -132,6 +132,7 @@
                     var content = {
                         issueId : $rootScope.currentDetailIssueId,
                         delValue : $scope.vm.issueDownTableConfigs.splice(6,1),
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         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 1eda0d2..1634b8f 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelationTableConfig.controller.js
@@ -79,7 +79,7 @@
                     $rootScope.spinner = true;
 
                     var content = {
-                        issueTypeId : parameter.issueTypeId,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         issueTableConfigs : JSON.stringify($scope.vm.issueRelTableConfigs)
                     };
 
@@ -133,6 +133,7 @@
 
                     var content = {
                         issueId : $rootScope.currentDetailIssueId,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         delValue : $scope.vm.issueRelTableConfigs.splice(6,1),
                         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 9e26735..1de28b2 100644
--- a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js
@@ -83,7 +83,7 @@
                     $rootScope.spinner = true;
 
                     var content = {
-                        issueTypeId : parameter.issueTypeId,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId(),
                         issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs)
                     };
 
@@ -132,7 +132,8 @@
 
                 var content = {
                     delValue : $scope.vm.issueTableConfigs.splice(7,1),
-                    issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs)
+                    issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs),
+                    issueTypeId : $rootScope.getCurrentIssueTypeId()
                 };
                 //  �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎.
                 function getIssueAddTableConfigs() {
diff --git a/src/main/webapp/scripts/app/issue/issueDetail.controller.js b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
index 0c579e4..cc477bd 100644
--- a/src/main/webapp/scripts/app/issue/issueDetail.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -462,7 +462,8 @@
                 // �뿰愿� �씠�뒋 �긽�꽭 議고쉶
                 function getRelTableConfigs() {
                     var content = {
-                        issueId : $scope.vm.viewer.id
+                        issueId : $scope.vm.viewer.id,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId()
                     };
 
                     IssueTableConfig.relationDetail($resourceProvider.getContent(
@@ -526,7 +527,8 @@
                 // �븯�쐞 �씠�뒋 �긽�꽭 議고쉶
                 function getDownTableConfigs() {
                     var content = {
-                        issueId : $scope.vm.viewer.id
+                        issueId : $scope.vm.viewer.id,
+                        issueTypeId : $rootScope.getCurrentIssueTypeId()
                     };
 
                     IssueTableConfig.downDetail($resourceProvider.getContent(
diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js
index a0df35a..01f4279 100644
--- a/src/main/webapp/scripts/app/issue/issueList.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueList.controller.js
@@ -466,6 +466,7 @@
                     // 硫붾돱�뿉�꽌 �꽑�깮�맂 �씠�뒋 �쑀�삎�쓣 湲곕낯�쑝濡� 異붽�
                     if ($rootScope.issueTypeMenu != null) {
                         // $scope.vm.pageTitle = $rootScope.issueTypeMenu.name;
+                        $scope.vm.search.issueTypeIds = [];
                         $scope.vm.search.issueTypeIds.push({
                             fieldKey : $rootScope.issueTypeMenu.id,
                             fieldValue : $rootScope.issueTypeMenu.name
@@ -491,11 +492,14 @@
                         $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) {
-                                changeDetailView(result.data.data[0].id);
+                            if (result.data.data !=  null && result.data.data.length > 0) {
+                                $scope.vm.issueTypeId = result.data.data[0].issueTypeId;
+                                $scope.vm.page.selectedPage = currentPage + 1;
+                                $scope.vm.responseData = result.data;
+
+                                if (detail) {
+                                    changeDetailView(result.data.data[0].id);
+                                }
                             }
                         }
                         else {
@@ -819,21 +823,27 @@
                 }
 
                 //  �궗�슜�옄 �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 媛믪쓣 媛��졇���꽌 �쟻�슜�븳�떎.
+
                 function getIssueTableConfigs() {
                     var deferred = $q.defer();
 
-                    IssueTableConfig.detail($resourceProvider.getContent({},
-                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
-                        if (result.data.message.status !== "success") {
-                            SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
-                        }
+                    if ($rootScope.issueTypeMenu != null){
+                        var content = {
+                            issueTypeId : $rootScope.issueTypeMenu.id
+                            }
 
-                        deferred.resolve(result.data.data);
-                    });
+                        IssueTableConfig.detail($resourceProvider.getContent(content,
+                            $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+                            if (result.data.message.status !== "success") {
+                                SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // �씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣
+                            }
+
+                            deferred.resolve(result.data.data);
+                        });
+                    }
 
                     return deferred.promise;
                 }
-
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
                     // �뙆�씪誘명꽣 �씫湲�
@@ -841,6 +851,7 @@
                     if ($rootScope.isDefined(params)) {
                         $rootScope.$broadcast("makeIssueSearch", {  projectKey : params.projectKey, issueNumber : params.issueNumber });
                         $rootScope.previousGetParams = null;
+                        $rootScope.issueTypeId = $rootScope.issueTypeMenu.id;
                         return;
                     }
 
@@ -906,6 +917,7 @@
 
                 $scope.fn.startExecute();
             }
+
         ]);
     }
 );
diff --git a/src/main/webapp/scripts/config.js b/src/main/webapp/scripts/config.js
index 47b5db7..d118d3c 100644
--- a/src/main/webapp/scripts/config.js
+++ b/src/main/webapp/scripts/config.js
@@ -130,6 +130,7 @@
                     return true;
                 };
 
+
                 //  �씠�뒋 �깮�꽦, �닔�젙�뿉�꽌 �떎以� �꽑�깮, �떒�씪 �꽑�깮 �샃�뀡�뿉 泥댄겕�릺寃� �빐二쇰뒗 湲곕뒫
                 $rootScope.selectOption = function (useValues, value) {
                     var result = false;
@@ -250,6 +251,18 @@
                     "USER_PERMISSION_MNG_GUIDE" : 2,
                 };
 
+                // �쁽�옱 �꽑�깮�맂 �씠�뒋 ���엯 �븘�씠�뵒 媛��졇�삤湲�
+                $rootScope.getCurrentIssueTypeId = function () {
+                    return $rootScope.issueTypeMenu != null ? $rootScope.issueTypeMenu.id : null;
+                }
+
+                // �쁽�옱 �꽑�깮�맂 �씠�뒋 ���엯 蹂�寃쏀븯湲�
+                $rootScope.setCurrentIssueTypeId = function (issueTypeVo) {
+                    if($rootScope.issueTypeMenu !== issueTypeVo) {
+                        $rootScope.issueTypeMenu = issueTypeVo;
+                    }
+                }
+
                 //  沅뚰븳�쓣 �솗�씤�븳�떎
                 $rootScope.checkMngPermission = function (userPermission) {
                     if (!$rootScope.isDefined($rootScope.user)) {

--
Gitblit v1.8.0