From bd0cc703f0a21cc04c359a96dfb11873e38148d5 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 27 12월 2021 13:34:12 +0900 Subject: [PATCH] 이슈리스트에 파트너리스트 항목 추가 --- src/main/java/kr/wisestone/owl/vo/IssueVo.java | 28 +++++++ src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js | 109 ++++++++++++++++++-------- src/main/resources/mybatis/query-template/issue-template.xml | 3 src/main/webapp/scripts/app/issue/issueList.controller.js | 43 +++++++++- src/main/webapp/i18n/ko/global.json | 4 + src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js | 27 ++++++ 6 files changed, 173 insertions(+), 41 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/vo/IssueVo.java b/src/main/java/kr/wisestone/owl/vo/IssueVo.java index aa34bb3..e7b1957 100644 --- a/src/main/java/kr/wisestone/owl/vo/IssueVo.java +++ b/src/main/java/kr/wisestone/owl/vo/IssueVo.java @@ -67,6 +67,10 @@ private List<UsePartnerVo> usePartnerVos = Lists.newArrayList(); + private String companyName; + private String ispName; + private String hostingName; + public IssueVo(){} public Long getId() { @@ -530,4 +534,28 @@ public void setParentIssueId(Long parentIssueId) { this.parentIssueId = parentIssueId; } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getIspName() { + return ispName; + } + + public void setIspName(String ispName) { + this.ispName = ispName; + } + + public String getHostingName() { + return hostingName; + } + + public void setHostingName(String hostingName) { + this.hostingName = hostingName; + } } diff --git a/src/main/resources/mybatis/query-template/issue-template.xml b/src/main/resources/mybatis/query-template/issue-template.xml index d54d7e2..11819d2 100644 --- a/src/main/resources/mybatis/query-template/issue-template.xml +++ b/src/main/resources/mybatis/query-template/issue-template.xml @@ -32,6 +32,9 @@ severity.id as severityId, severity.name as severityName, severity.color as severityColor, + ic.name AS companyName, + ii.name AS ispName, + ih.name AS hostingName, GROUP_CONCAT(issue_custom.use_value) AS useValue, IFNULL(temp_attached_file.attachedFileCount, 0) as attachedFileCount, IFNULL(temp_issue_comment.issueCommentCount, 0) as issueCommentCount diff --git a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js index 87d40cf..2be164a 100644 --- a/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js +++ b/src/main/webapp/custom_components/js-table/tableColumnGenerator.directive.js @@ -492,6 +492,33 @@ makeTag += "</ul>"; break; + // �뾽泥� + case "USE_COMPANY" : + if (scope.data.companyName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.companyName + "'></span>"; + }else { + makeTag += "<span></span>"; + } + break; + + // ISP + case "USE_ISP" : + if (scope.data.ispName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.ispName + "'></span>"; + }else { + makeTag += "<span></span>"; + } + break; + + // �샇�뒪�똿 + case "USE_HOSTING" : + if (scope.data.ispName !== null) { + makeTag += "<span ng-click=\"event.changeDetailView(data.id)\" class='cursor' translate='" + scope.data.hostingName + "'></span>"; + }else { + makeTag += "<span></span>"; + } + break; + case "WORKFLOW_NAME": makeTag += "<span>" + scope.data.workflowVo.name + "</span>"; break; diff --git a/src/main/webapp/i18n/ko/global.json b/src/main/webapp/i18n/ko/global.json index a76ca97..8a7931a 100644 --- a/src/main/webapp/i18n/ko/global.json +++ b/src/main/webapp/i18n/ko/global.json @@ -232,6 +232,7 @@ "failedToIssueTypeListLookup": "�씠�뒋 �쑀�삎 紐⑸줉 議고쉶 �떎�뙣", "failedToPriorityListLookup": "�슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣", "failedToCriticalListLookup": "以묒슂�룄 紐⑸줉 議고쉶 �떎�뙣", + "failedToPartnerListLookup": "�뙆�듃�꼫 紐⑸줉 議고쉶 �떎�뙣", "failedToUserDefinedFieldListLookup": "�궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉 議고쉶 �떎�뙣", "failedToIssueTableColumnLookup": "�씠�뒋 �뀒�씠釉� 而щ읆 議고쉶 �떎�뙣", "failedToIssueAddIssueRelation": "�뿰愿� �씠�뒋 異붽� �떎�뙣", @@ -697,6 +698,9 @@ "register": "�벑濡앹옄", "startDate": "�떆�옉�씪", "endDate": "醫낅즺�씪", + "company": "�뾽泥�", + "isp": "ISP", + "hosting": "�샇�뒪�똿", "english": "�쁺�뼱", "korean": "�븳援��뼱", "japaneseLanguage": "�씪蹂몄뼱", diff --git a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js index 7d71568..d64ece1 100644 --- a/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js +++ b/src/main/webapp/scripts/app/issue/issueAddTableConfig.controller.js @@ -8,14 +8,15 @@ 'angular' ], function (app, angular) { - app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'IssueTypeCustomField', '$q', '$filter', 'parameter', - function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, IssueTypeCustomField, $q, $filter, parameter) { + app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'Issue', 'IssueTypeCustomField', '$q', '$filter', 'parameter', + function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, Issue, IssueTypeCustomField, $q, $filter, parameter) { // �븿�닔 紐⑥쓬 $scope.fn = { cancel : cancel, // �뙘�뾽 李� �떕湲� formSubmit : formSubmit, // �뤌 �쟾�넚 formCheck : formCheck, // �뤌 泥댄겕 + getUsePartner : getUsePartner, getCustomFields : getCustomFields, // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉�쓣 媛��졇�삩�떎. getIssueAddTableConfigs : getIssueAddTableConfigs // �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎. }; @@ -85,7 +86,6 @@ position : 8, display : false, checkboxShow : true - }, { }] }; @@ -135,6 +135,24 @@ $(document).unbind("keydown"); // �떒異뺥궎 �씠踰ㅽ듃 �젣嫄� } + // �씠�뒋�쑀�삎 蹂� �뙆�듃�꼫 紐⑸줉 + function getUsePartner() { + var deferred = $q.defer(); + $scope.vm.partners = []; + + Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, + $resourceProvider.getPageContent(0, 1))).then(function (result) { + if (result.data.message.status === "success") { + $scope.vm.partnerVos = result.data.data; + } + else { + SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // �뙆�듃�꼫 紐⑸줉 議고쉶 �떎�뙣 + } + deferred.resolve(result.data.data); + }); + return deferred.promise; + } + // �궗�슜�옄 �젙�쓽 �븘�뱶 紐⑸줉�쓣 媛��졇�삩�떎. function getCustomFields() { var deferred = $q.defer(); @@ -152,7 +170,7 @@ } var content = { - delValue : $scope.vm.issueTableConfigs.splice(9,1), + //delValue : $scope.vm.issueTableConfigs.splice(12,1), issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs), issueTypeId : $rootScope.getCurrentIssueTypeId() }; @@ -179,46 +197,69 @@ return deferred.promise; } - // �궗�슜�옄 �젙�쓽 �븘�뱶瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎. - $scope.fn.getCustomFields().then(function (result) { - var count = 8; - angular.forEach(result, function (customField) { + // �뙆�듃�꼫瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎. + $scope.fn.getUsePartner().then(function (result) { + var count = 9; + angular.forEach(result, function (partner) { $scope.vm.issueTableConfigs.push({ - name : customField.name, - key : "CUSTOM_FIELD_" + customField.id, + name : partner.name, + key : (function () { + var key = ""; + if (partner.name === "�뾽泥�") { + key = "COMPANY"; + } else if(partner.name === "ISP") { + key = "ISP"; + } else { + key = "HOSTING"; + } + return key; + })(), width : "width-100-p", display : false, checkboxShow : true, position : count }); - count++; }); - - // �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎. - $scope.fn.getIssueAddTableConfigs().then(function (issueTableConfigs) { - if ($rootScope.isDefined(issueTableConfigs)) { - $rootScope.spinner = true; - - var saveTableConfigs = JSON.parse(issueTableConfigs); - - angular.forEach(saveTableConfigs, function (saveTableConfig) { - - for (var count in $scope.vm.issueTableConfigs) { - var issueTableConfig = $scope.vm.issueTableConfigs[count]; - - if (issueTableConfig.key === saveTableConfig.key) { - issueTableConfig.display = saveTableConfig.display; - issueTableConfig.width = saveTableConfig.width; - issueTableConfig.position = saveTableConfig.position; - break; - } - } + // �궗�슜�옄 �젙�쓽 �븘�뱶瑜� 議고쉶�븳 �썑 �몴�떆�븷 �씠�뒋 �뀒�씠釉� 而щ읆�쓣 以�鍮꾪븳�떎. + $scope.fn.getCustomFields().then(function (result) { + angular.forEach(result, function (customField) { + $scope.vm.issueTableConfigs.push({ + name : customField.name, + key : "CUSTOM_FIELD_" + customField.id, + width : "width-100-p", + display : false, + checkboxShow : true, + position : count }); + count++; + }); - $rootScope.spinner = false; - } - }); + // �씠�뒋 紐⑸줉 �뀒�씠釉� �꽕�젙 �젙蹂대�� 媛��졇�삩�떎. + $scope.fn.getIssueAddTableConfigs().then(function (issueTableConfigs) { + if ($rootScope.isDefined(issueTableConfigs)) { + $rootScope.spinner = true; + + var saveTableConfigs = JSON.parse(issueTableConfigs); + + angular.forEach(saveTableConfigs, function (saveTableConfig) { + + for (var count in $scope.vm.issueTableConfigs) { + var issueTableConfig = $scope.vm.issueTableConfigs[count]; + + if (issueTableConfig.key === saveTableConfig.key) { + issueTableConfig.display = saveTableConfig.display; + issueTableConfig.width = saveTableConfig.width; + issueTableConfig.position = saveTableConfig.position; + break; + } + } + }); + + $rootScope.spinner = false; + } + }); + }) }); }]); diff --git a/src/main/webapp/scripts/app/issue/issueList.controller.js b/src/main/webapp/scripts/app/issue/issueList.controller.js index f62d60f..256e3de 100644 --- a/src/main/webapp/scripts/app/issue/issueList.controller.js +++ b/src/main/webapp/scripts/app/issue/issueList.controller.js @@ -408,6 +408,33 @@ .setColumnTooltip("誘몄셿猷� �븯�쐞�씠�뒋/�쟾泥� �븯�쐞�씠�뒋") .setDRenderer("DOWN_ISSUE_COUNT")); break; + case "COMPANY" : // �뾽泥� + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.company") + .setDName("companyName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_COMPANY")); + break; + case "ISP" : // ISP + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.isp") + .setDName("ispName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_ISP")); + break; + case "HOSTING" : // HOSTING + $scope.vm.tableConfigs.push($tableProvider.config() + .setHName("common.hosting") + .setDName("hostingName") + .setDType("renderer") + .setHWidth("bold " + issueTableConfig.width) + .setDAlign("text-center") + .setDRenderer("USE_HOSTING")); + break; } // �궗�슜�옄 �젙�쓽 �븘�뱶 而щ읆 @@ -1079,13 +1106,16 @@ var deferred = $q.defer(); $scope.vm.partners = []; - Issue.findPartners($resourceProvider.getContent({}, + Issue.findPartners($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()}, $resourceProvider.getPageContent(0, 1))).then(function (result) { if (result.data.message.status === "success") { - $scope.vm.partnerVos = result.data.content; + angular.forEach(result.data.data, function (partner) { + $scope.vm.partners.push(partner); + }); + //$scope.vm.partnerVos = result.data.data; } else { - SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣 + SweetAlert.swal($filter("translate")("issue.failedToPartnerListLookup"), result.data.message.message, "error"); // �뙆�듃�꼫 紐⑸줉 議고쉶 �떎�뙣 } deferred.resolve(result.data.data); @@ -1171,7 +1201,6 @@ break; } - $scope.vm.customFields.push(customField); }); } @@ -1192,8 +1221,8 @@ if ($rootScope.issueTypeMenu != null){ var content = { - issueTypeId : $rootScope.issueTypeMenu.id - } + issueTypeId : $rootScope.getCurrentIssueTypeId() + } IssueTableConfig.detail($resourceProvider.getContent(content, $resourceProvider.getPageContent(0, 1000))).then(function (result) { @@ -1285,7 +1314,7 @@ getPriorities : $scope.fn.getPriorities(), getSeverities : $scope.fn.getSeverities(), getIssueStatuses : $scope.fn.getIssueStatuses(), - getCustomFields : $scope.fn.getCustomFields() + getCustomFields : $scope.fn.getCustomFields(), }; $q.all(promises).then(function (results){ -- Gitblit v1.8.0