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