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