From ee85794d4be3a06299fb57cad06a20b7c096e331 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 18 11월 2021 13:26:41 +0900
Subject: [PATCH] 이슈관리 상세보기 (업체,isp,호스팅 추가)

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  250 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 242 insertions(+), 8 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 1795e34..6023a47 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -19,6 +19,10 @@
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getUserListCallBack : getUserListCallBack,  //  �떞�떦�옄 autocomplete �럹�씠吏�
                     getProjectListCallBack : getProjectListCallBack,    //  �봽濡쒖젥�듃 autocomplete �럹�씠吏�
+                    getCompanyFieldListCallBack : getCompanyFieldListCallBack,    // �뾽泥댁젙蹂� autocomplete �럹�씠吏�
+                    getIssueDepartmentListCallBack : getIssueDepartmentListCallBack,    // �떞�떦�옄 -> �떞�떦遺��꽌 autocomplete �럹�씠吏�
+                    getIspFieldListCallBack : getIspFieldListCallBack,    // ISP�젙蹂� autocomplete �럹�씠吏�
+                    getHostingFieldListCallBack : getHostingFieldListCallBack,    // �샇�뒪�똿�젙蹂� autocomplete �럹�씠吏�
                     getOptionColor : getOptionColor,    //  �슦�꽑�닚�쐞, 以묒슂�룄 �깋�긽�쑝濡� Select �깭洹� �쟻�슜
                     onFileSelect : onFileSelect,    //  �뙆�씪 泥⑤�
                     imageUpload : imageUpload,  //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -29,7 +33,8 @@
                     setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields,    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� �엯�젰 �뤌�뿉�꽌 �궗�슜�븷 �닔 �엳寃� 媛�怨듯븳�떎.
                     setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields,    //  �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎.
                     detail : detail,    //  �씠�뒋 �젙蹂� 議고쉶
-                    removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    // removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     removeUploadFile : removeUploadFile,    //  �듅�젙 �뙆�씪�쓣 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute //  理쒖큹 �떎�뻾
@@ -44,11 +49,15 @@
                         title : "",    //  �젣紐�
                         description : "",   //  �궡�슜
                         projects : [],  //  �봽濡쒖젥�듃
+                        companyFields : [], // �뾽泥댁젙蹂�
+                        ispFields : [], // ISP �젙蹂�
+                        hostingFields : [], // �샇�뒪�똿�젙蹂�
                         issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : "", //  �씠�뒋 �긽�깭 �븘�씠�뵒
-                        users : [],     //  �떞�떦�옄
+                        // users : [],     //  �떞�떦�옄
+                        departments : [], // �떞�떦遺��꽌
                         files : [], //  �뾽濡쒕뱶 �뙆�씪
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
@@ -57,12 +66,46 @@
                     },
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
                     userName : "",  //  �궗�슜�옄 寃��깋
+                    departmentName : "",  // 遺��꽌紐� 寃��깋
+                    companyName : "",   // �뾽泥대챸 寃��깋
+                    companyCode : "",   // �뾽泥� 肄붾뱶
+                    companyManager : "",   // �뾽泥� �떞�떦�옄
+                    companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
+                    companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyMemo : "",  // �뾽泥� 鍮꾧퀬
+                    ispName : "", // ISP 紐�
+                    ispCode : "", // ISP 肄붾뱶
+                    ispManager : "", // ISP �떞�떦�옄
+                    ispTel : "", // ISP �쟾�솕踰덊샇
+                    ispEmail : "", // ISP �씠硫붿씪
+                    ispMemo : "", // ISP 鍮꾧퀬
+                    hostingName : "", // �샇�뒪�똿紐� 寃��깋
+                    hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
+                    hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
+                    hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
+                    hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
                     autoCompletePage : {
-                        user : {
+                        // user : {
+                        //     page : 0,
+                        //     totalPage : 0
+                        // },
+                        project : {
                             page : 0,
                             totalPage : 0
                         },
-                        project : {
+                        companyField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        department : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        ispField : {
+                            page : 0,
+                            totalPage : 0
+                        },
+                        hostingField : {
                             page : 0,
                             totalPage : 0
                         }
@@ -79,11 +122,11 @@
 
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
-                //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
+                //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦遺��꽌 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
-                            $scope.vm.form.users = [];
+                            $scope.vm.form.departments = [];
                             $scope.vm.form.issueCustomFields = [];
                         }
                         else {
@@ -115,8 +158,13 @@
                 }
 
                 //  �떞�떦�옄 �궘�젣
-                function removeManager(index) {
-                    $scope.vm.form.users.splice(index, 1);
+                // function removeManager(index) {
+                //     $scope.vm.form.users.splice(index, 1);
+                // }
+
+                // �떞�떦遺��꽌 �궘�젣
+                function removeDepartment(index) {
+                    $scope.vm.form.departments.splice(index, 1);
                 }
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -262,6 +310,27 @@
                     $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage;
                 }
 
+                //  �뾽泥댁젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getCompanyFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.companyField.totalPage = result.data.page.totalPage;
+                }
+
+                // 遺��꽌�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getIssueDepartmentListCallBack(result) {
+                    $scope.vm.autoCompletePage.department.totalPage = result.data.page.totalPage;
+                }
+
+                // ISP�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getIspFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.ispField.totalPage = result.data.page.totalPage;
+                }
+
+                // �샇�뒪�똿�젙蹂� autocomplete page �뾽�뜲�씠�듃
+                function getHostingFieldListCallBack(result) {
+                    $scope.vm.autoCompletePage.hostingField.totalPage = result.data.page.totalPage;
+                }
+
+
                 function formCheck(formInvalid) {
                     if (formInvalid) {
                         return true;
@@ -273,6 +342,33 @@
 
                     return false;
                 }
+
+                // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("companyFieldEvent", function (event, result) {
+                    $scope.vm.companyManager = result[0].manager;
+                    $scope.vm.companyTel = result[0].tel;
+                    $scope.vm.companyEmail = result[0].email;
+                    $scope.vm.companyMemo = result[0].memo;
+
+                });
+
+                // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("ispFieldEvent", function (event, result) {
+                    $scope.vm.ispCode = result[0].code;
+                    $scope.vm.ispManager = result[0].manager;
+                    $scope.vm.ispTel = result[0].tel;
+                    $scope.vm.ispEmail = result[0].email;
+                    $scope.vm.ispMemo = result[0].memo;
+                });
+
+                // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
+                $scope.$on("hostingFieldEvent", function (event, result) {
+                    $scope.vm.hostingCode = result[0].code;
+                    $scope.vm.hostingManager = result[0].manager;
+                    $scope.vm.hostingTel = result[0].tel;
+                    $scope.vm.hostingEmail = result[0].email;
+                    $scope.vm.hostingMemo = result[0].memo;
+                });
 
                 function formSubmit() {
                     $rootScope.spinner = true;
@@ -290,10 +386,39 @@
 
                             return projectId;
                         })(),
+                        companyId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
+                            var companyId = "";
+
+                            if ($scope.vm.form.companyFields.length > 0) {
+                                companyId = $scope.vm.form.companyFields[0].id;
+                            }
+
+                            return companyId;
+                        })(),
+
+                        ispId : (function () {
+                            var ispId = "";
+
+                            if ($scope.vm.form.ispFields.length > 0) {
+                                ispId = $scope.vm.form.ispFields[0].id;
+                            }
+
+                            return ispId;
+                        })(),
+                        hostingId : (function () {
+                            var hostingId = "";
+
+                            if ($scope.vm.form.hostingFields.length > 0) {
+                                hostingId = $scope.vm.form.hostingFields[0].id;
+                            }
+
+                            return hostingId;
+                        })(),
                         issueTypeId : $scope.vm.form.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : $scope.vm.form.issueStatusId,   //  �씠�뒋 �긽�깭 �븘�씠�뵒
+
                         userIds : (function () {
                             var userIds = [];
 
@@ -302,6 +427,15 @@
                             });
 
                             return userIds;
+                        })(),
+                        departmentIds : (function () {
+                            var departmentIds = [];
+
+                            angular.forEach($scope.vm.form.departments, function (department) {
+                                departmentIds.push(department.id);
+                            });
+
+                            return departmentIds;
                         })(),
                         removeFiles : $scope.vm.form.removeFiles,
                         attachedFileIds : (function () {
@@ -316,6 +450,79 @@
                             return attachedFileIds;
                         })(),
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
+
+                        companyFields : (function () {
+                            var companyFields = [];
+
+                            angular.forEach($scope.vm.form.companyFields, function (companyField) {
+                                var useValues = [];
+
+                                if (angular.isArray(companyField.useValues)) {
+                                    angular.forEach(companyField.useValues, function (useValue) {
+                                        useValues.push(useValue.value);
+                                    });
+                                }
+                                else {
+                                    useValues.push(companyField.useValues);
+                                }
+
+                                //  useValues 瑜� 諛곗뿴濡� 蹂��솚�븳�떎.
+                                var temp = angular.copy(companyField);
+                                temp.useValues = useValues;
+                                companyFields.push(temp);
+                            });
+
+                            return companyFields;
+                        })(),
+
+                        ispFields : (function () {
+                            var ispFields = [];
+
+                            angular.forEach($scope.vm.form.ispFields, function (ispField) {
+                                var useValues = [];
+
+                                if (angular.isArray(ispField.useValues)) {
+                                    angular.forEach(ispField.useValues, function (useValue) {
+                                        useValues.push(useValue.value);
+                                    });
+                                }
+                                else {
+                                    useValues.push(ispField.useValues);
+                                }
+
+                                //  useValues 瑜� 諛곗뿴濡� 蹂��솚�븳�떎.
+                                var temp = angular.copy(ispField);
+                                temp.useValues = useValues;
+                                ispFields.push(temp);
+                            });
+
+                            return ispFields;
+                        })(),
+
+                        hostingFields : (function () {
+                            var hostingFields = [];
+
+                            angular.forEach($scope.vm.form.hostingFields, function (hostingField) {
+                                var useValues = [];
+
+                                if (angular.isArray(hostingField.useValues)) {
+                                    angular.forEach(hostingField.useValues, function (useValue) {
+                                        useValues.push(useValue.value);
+                                    });
+                                }
+                                else {
+                                    useValues.push(hostingField.useValues);
+                                }
+
+                                //  useValues 瑜� 諛곗뿴濡� 蹂��솚�븳�떎.
+                                var temp = angular.copy(hostingField);
+                                temp.useValues = useValues;
+                                hostingFields.push(temp);
+                            });
+
+                            return hostingFields;
+                        })(),
+
                         issueCustomFields : (function () {    //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
                             var issueCustomFields = [];
 
@@ -534,14 +741,41 @@
                             if (angular.isDefined(result.data.data)) {
                                 $scope.vm.form.title = result.data.data.title;
                                 $scope.vm.form.description = result.data.data.description;
+
                                 $scope.vm.form.projects.push(result.data.data.projectVo);
                                 $scope.vm.projectName = result.data.data.projectVo.name;
+
                                 $scope.vm.form.issueTypeId = String(result.data.data.issueTypeVo.id);
                                 $scope.vm.form.priorityId = String(result.data.data.priorityVo.id);
                                 $scope.vm.form.severityId = String(result.data.data.severityVo.id);
                                 $scope.vm.form.issueStatusId = String(result.data.data.issueStatusVo.id);
+
                                 $scope.vm.form.users = result.data.data.userVos;
+                                $scope.vm.form.departments = result.data.data.departmentVos;
                                 $scope.vm.form.files = result.data.data.attachedFileVos;
+                                //
+                                $scope.vm.form.companyFields.push(result.data.data.companyFieldVo);
+                                $scope.vm.companyName = result.data.data.companyFieldVo.name;
+                                $scope.vm.companyManager = result.data.data.companyFieldVo.manager;
+                                $scope.vm.companyTel = result.data.data.companyFieldVo.tel;
+                                $scope.vm.companyEmail = result.data.data.companyFieldVo.email;
+                                $scope.vm.companyMemo = result.data.data.companyFieldVo.memo;
+
+                                $scope.vm.form.ispFields.push(result.data.data.ispFieldVo);
+                                $scope.vm.ispName = result.data.data.ispFieldVo.name;
+                                $scope.vm.ispCode = result.data.data.ispFieldVo.code;
+                                $scope.vm.ispManager = result.data.data.ispFieldVo.manager;
+                                $scope.vm.ispTel = result.data.data.ispFieldVo.tel;
+                                $scope.vm.ispEmail = result.data.data.ispFieldVo.email;
+                                $scope.vm.ispMemo = result.data.data.ispFieldVo.memo;
+
+                                $scope.vm.form.hostingFields.push(result.data.data.hostingFieldVo);
+                                $scope.vm.hostingName = result.data.data.hostingFieldVo.name;
+                                $scope.vm.hostingCode = result.data.data.hostingFieldVo.code;
+                                $scope.vm.hostingManager = result.data.data.hostingFieldVo.manager;
+                                $scope.vm.hostingTel = result.data.data.hostingFieldVo.tel;
+                                $scope.vm.hostingEmail = result.data.data.hostingFieldVo.email;
+                                $scope.vm.hostingMemo = result.data.data.hostingFieldVo.memo;
 
                                 if ($rootScope.isDefined(result.data.data.startDate)) {
                                     $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate;

--
Gitblit v1.8.0