From b69416fc721e8f0eb478536bf0d98ae3f6c4811e Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 24 11월 2021 17:57:08 +0900
Subject: [PATCH] 이슈 상세 연관,하위 테이블 표시 설정 - [프론트]

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  167 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 127 insertions(+), 40 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 5bc24a4..8700bf4 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -33,7 +33,7 @@
                     setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields,    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� �엯�젰 �뤌�뿉�꽌 �궗�슜�븷 �닔 �엳寃� 媛�怨듯븳�떎.
                     setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields,    //  �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎.
                     detail : detail,    //  �씠�뒋 �젙蹂� 議고쉶
-                    // removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
                     removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     removeUploadFile : removeUploadFile,    //  �듅�젙 �뙆�씪�쓣 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
@@ -43,7 +43,7 @@
                 $scope.vm = {
                     search : {
                         id : parameter.id,
-                        deep : "01"    //  �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂�
+                        deep : "02"    //  �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂�
                     },
                     form : {
                         title : "",    //  �젣紐�
@@ -67,18 +67,21 @@
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
                     userName : "",  //  �궗�슜�옄 寃��깋
                     departmentName : "",  // 遺��꽌紐� 寃��깋
+                    companyId : -1,
                     companyName : "",   // �뾽泥대챸 寃��깋
                     companyCode : "",   // �뾽泥� 肄붾뱶
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
+                    ispId : -1,
                     ispName : "", // ISP 紐�
                     ispCode : "", // ISP 肄붾뱶
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
                     ispMemo : "", // ISP 鍮꾧퀬
+                    hostingId : -1,
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
@@ -158,9 +161,9 @@
                 }
 
                 //  �떞�떦�옄 �궘�젣
-                // function removeManager(index) {
-                //     $scope.vm.form.users.splice(index, 1);
-                // }
+                 function removeManager(index) {
+                     $scope.vm.form.users.splice(index, 1);
+                 }
 
                 // �떞�떦遺��꽌 �궘�젣
                 function removeDepartment(index) {
@@ -345,7 +348,8 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
-                    $scope.vm.issuecompanyId = result[0].id;
+                    $scope.vm.companyId = result[0].id;
+                    $scope.vm.companyName = result[0].name;
                     $scope.vm.companyManager = result[0].manager;
                     $scope.vm.companyTel = result[0].tel;
                     $scope.vm.companyEmail = result[0].email;
@@ -355,6 +359,8 @@
 
                 // ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("ispFieldEvent", function (event, result) {
+                    $scope.vm.ispId = result[0].id;
+                    $scope.vm.ispName = result[0].name;
                     $scope.vm.ispCode = result[0].code;
                     $scope.vm.ispManager = result[0].manager;
                     $scope.vm.ispTel = result[0].tel;
@@ -364,6 +370,8 @@
 
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("hostingFieldEvent", function (event, result) {
+                    $scope.vm.hostingId = result[0].id;
+                    $scope.vm.hostingName = result[0].name;
                     $scope.vm.hostingCode = result[0].code;
                     $scope.vm.hostingManager = result[0].manager;
                     $scope.vm.hostingTel = result[0].tel;
@@ -378,6 +386,24 @@
                         id : parameter.id,
                         title : $rootScope.preventXss($scope.vm.form.title),    //  �젣紐�
                         description : $rootScope.preventXss($scope.vm.form.description),   //  �궡�슜
+                        companyName : $scope.vm.companyName,
+                        companyManager : $scope.vm.companyManager,
+                        companyTel : $scope.vm.companyTel,
+                        companyEmail :$scope.vm.companyEmail,
+                        companyMemo : $scope.vm.companyMemo,
+                        ispName : $scope.vm.ispName,
+                        ispCode : $scope.vm.ispCode,
+                        ispManager : $scope.vm.ispManager,
+                        ispTel : $scope.vm.ispTel,
+                        ispEmail : $scope.vm.ispEmail,
+                        ispMemo : $scope.vm.ispMemo,
+                        hostingName : $scope.vm.hostingName,
+                        hostingCode : $scope.vm.hostingCode,
+                        hostingManager : $scope.vm.hostingManager,
+                        hostingTel : $scope.vm.hostingTel,
+                        hostingEmail : $scope.vm.hostingEmail,
+                        hostingMemo : $scope.vm.hostingMemo,
+
                         projectId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
                             var projectId = "";
 
@@ -387,38 +413,41 @@
 
                             return projectId;
                         })(),
-                        companyId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
-                            var issueCompanyId = "";
+
+                        issueTypeId : $scope.vm.form.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
+                        priorityId : $scope.vm.form.priorityId,    //  �슦�꽑�닚�쐞 �븘�씠�뵒
+                        severityId : $scope.vm.form.severityId,    //  以묒슂�룄 �븘�씠�뵒
+                        issueStatusId : $scope.vm.form.issueStatusId,   //  �씠�뒋 �긽�깭 �븘�씠�뵒
+
+                        companyId : (function () {
+                            var companyId = -1;
 
                             if ($scope.vm.form.issueCompanyFields.length > 0) {
-                                issueCompanyId = $scope.vm.form.issueCompanyFields[0].id;
+                                companyId = $scope.vm.form.issueCompanyFields[0].id;
                             }
 
-                            return issueCompanyId;
-                        })(),
+                            return companyId;
+                        }),
 
                         ispId : (function () {
-                            var ispId = "";
+                            var ispId = -1;
 
                             if ($scope.vm.form.issueIspFields.length > 0) {
                                 ispId = $scope.vm.form.issueIspFields[0].id;
                             }
 
                             return ispId;
-                        })(),
+                        }),
+
                         hostingId : (function () {
-                            var hostingId = "";
+                            var hostingId = -1;
 
                             if ($scope.vm.form.issueHostingFields.length > 0) {
                                 hostingId = $scope.vm.form.issueHostingFields[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 = [];
@@ -438,7 +467,7 @@
 
                             return departmentIds;
                         })(),
-                        removeFiles : $scope.vm.form.removeFiles,
+
                         attachedFileIds : (function () {
                             var attachedFileIds = [];
 
@@ -450,40 +479,70 @@
 
                             return attachedFileIds;
                         })(),
-                        startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
 
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
+                                var companyField = $scope.vm.form.issueCompanyFields[0];
 
-                            var issueCompanyField = $scope.vm.form.issueCompanyFields[0];
-                            issueCompanyFields.companyId = issueCompanyField.id;
-                            issueCompanyField.id = null;
-                            issueCompanyFields.push(issueCompanyField);
+                                issueCompanyFields.push({
+                                    id : companyField.id,
+                                    companyId : $scope.vm.companyId,
+                                    name : $scope.vm.companyName,
+                                    manager : $scope.vm.companyManager,
+                                    tel : $scope.vm.companyTel,
+                                    email :$scope.vm.companyEmail,
+                                    memo : $scope.vm.companyMemo
+                                });
+                            }
 
                             return issueCompanyFields;
                         })(),
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
+                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
+                                var ispField = $scope.vm.form.issueIspFields[0];
 
-                            var ispField = $scope.vm.form.issueIspFields[0];
-                            issueIspFields.ispId = ispField.id;
-                            ispField.id = null;
-                            issueIspFields.push(ispField);
+                                issueIspFields.push({
+                                    id : ispField.id,
+                                    ispId : $scope.vm.ispId,
+                                    code : $scope.vm.ispCode,
+                                    name : $scope.vm.ispName,
+                                    manager : $scope.vm.ispManager,
+                                    tel : $scope.vm.ispTel,
+                                    email :$scope.vm.ispEmail,
+                                    memo : $scope.vm.ispMemo
+                                });
+
+                            }
 
                             return issueIspFields;
                         })(),
 
                         issueHostingFields : (function () {
                             var issueHostingFields = [];
+                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
 
-                            var hostingField = $scope.vm.form.issueHostingFields[0];
-                            issueHostingFields.hostingId = hostingField.id;
-                            hostingField.id = null;
-                            issueHostingFields.push(hostingField);
+                                var hostingField = $scope.vm.form.issueHostingFields[0];
+
+                                issueHostingFields.push({
+                                    id : hostingField.id,
+                                    hostingId : $scope.vm.hostingId,
+                                    name : $scope.vm.hostingName,
+                                    code : $scope.vm.hostingCode,
+                                    manager : $scope.vm.hostingManager,
+                                    tel : $scope.vm.hostingTel,
+                                    email :$scope.vm.hostingEmail,
+                                    memo : $scope.vm.hostingMemo
+                                });
+                            }
 
                             return issueHostingFields;
                         })(),
+
+                        removeFiles : $scope.vm.form.removeFiles,
+                        startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
 
                         issueCustomFields : (function () {    //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
                             var issueCustomFields = [];
@@ -715,13 +774,41 @@
                                 $scope.vm.form.users = result.data.data.userVos;
                                 $scope.vm.form.departments = result.data.data.departmentVos;
                                 $scope.vm.form.files = result.data.data.attachedFileVos;
-                                // issueVo �뿉 get & set �꽕�젙媛� �꽕�젙 ex)issueCompanyVos
-                                $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos;
-                                //
-                                $scope.vm.form.issueIspFields = result.data.data.issueIspVos;
-                                //
-                                $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos;
-                                //
+
+                                if (result.data.data.issueCompanyVos != null && result.data.data.issueCompanyVos.length > 0) {
+                                    $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos;
+                                    var issueCompanyFieldValue = result.data.data.issueCompanyVos[0];
+                                    $scope.vm.companyId = issueCompanyFieldValue.id;
+                                    $scope.vm.companyName = issueCompanyFieldValue.name;
+                                    $scope.vm.companyManager = issueCompanyFieldValue.manager;
+                                    $scope.vm.companyTel = issueCompanyFieldValue.tel;
+                                    $scope.vm.companyEmail = issueCompanyFieldValue.email;
+                                    $scope.vm.companyMemo = issueCompanyFieldValue.memo;
+                                }
+                                if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) {
+                                    $scope.vm.form.issueIspFields = result.data.data.issueIspVos;
+                                    var issueIspFieldValue = result.data.data.issueIspVos[0];
+                                    $scope.vm.ispId = issueIspFieldValue.id;
+                                    $scope.vm.ispName = issueIspFieldValue.name;
+                                    $scope.vm.ispCode = issueIspFieldValue.code;
+                                    $scope.vm.ispManager = issueIspFieldValue.manager;
+                                    $scope.vm.ispTel = issueIspFieldValue.tel;
+                                    $scope.vm.ispEmail = issueIspFieldValue.email;
+                                    $scope.vm.ispMemo = issueIspFieldValue.memo;
+                                }
+
+                                if (result.data.data.issueHostingVos != null && result.data.data.issueHostingVos.length > 0) {
+                                    $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos;
+                                    var issueHostingFieldValue = result.data.data.issueHostingVos[0];
+                                    $scope.vm.hostingId = issueHostingFieldValue.id;
+                                    $scope.vm.hostingName = issueHostingFieldValue.name;
+                                    $scope.vm.hostingCode = issueHostingFieldValue.code;
+                                    $scope.vm.hostingManager = issueHostingFieldValue.manager;
+                                    $scope.vm.hostingTel = issueHostingFieldValue.tel;
+                                    $scope.vm.hostingEmail = issueHostingFieldValue.email;
+                                    $scope.vm.hostingMemo = issueHostingFieldValue.memo;
+                                }
+
                                 if ($rootScope.isDefined(result.data.data.startDate)) {
                                     $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate;
                                 }

--
Gitblit v1.8.0