From f820bc3406e6fe88660124b28507f21df6b659ab Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 24 12월 2021 16:47:39 +0900
Subject: [PATCH] 이슈타입 리스트 하위 프로젝트꺼까지 다 보이도록 수정

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  137 +++++++++++++++++++++++++++++++++------------
 1 files changed, 101 insertions(+), 36 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index a207ca6..5b4e9e7 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -37,7 +37,8 @@
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
                     containsPartner : containsPartner,
-                    getPartners : getPartners
+                    getPartners : getPartners,
+                    getDepartments : getDepartments,
                 };
 
                 $scope.vm = {
@@ -58,7 +59,8 @@
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
                         detectingDateRange : "", //  �깘吏��씪
-                        issueCustomFields : []  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        issueCustomFields : [],  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        issueStatusId: ""
                     },
                     infiniteAdd : false,    //  �뿰�냽 �깮�꽦
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
@@ -399,21 +401,44 @@
                     $scope.vm.companyUrl = result[0].url;
                     $scope.vm.companyMemo = result[0].memo;
 
-                    $scope.vm.ispName = ispFieldVo.name;
-                    $scope.vm.ispCode = ispFieldVo.code;
-                    $scope.vm.ispManager = ispFieldVo.manager;
-                    $scope.vm.ispTel = ispFieldVo.tel;
-                    $scope.vm.ispEmail = ispFieldVo.email;
-                    $scope.vm.ispUrl = ispFieldVo.url;
-                    $scope.vm.ispMemo = ispFieldVo.memo;
+                    $scope.vm.ispId = "";
+                    $scope.vm.ispName = "";
+                    $scope.vm.ispCode = "";
+                    $scope.vm.ispManager = "";
+                    $scope.vm.ispTel = "";
+                    $scope.vm.ispEmail = "";
+                    $scope.vm.ispUrl = "";
+                    $scope.vm.ispMemo = "";
 
-                    $scope.vm.hostingName = hostingFieldVo.name;
-                    $scope.vm.hostingCode = hostingFieldVo.code;
-                    $scope.vm.hostingManager = hostingFieldVo.manager;
-                    $scope.vm.hostingTel = hostingFieldVo.tel;
-                    $scope.vm.hostingEmail = hostingFieldVo.email;
-                    $scope.vm.hostingUrl = hostingFieldVo.url;
-                    $scope.vm.hostingMemo = hostingFieldVo.memo;
+                    $scope.vm.hostingId = "";
+                    $scope.vm.hostingName = "";
+                    $scope.vm.hostingCode = "";
+                    $scope.vm.hostingManager = "";
+                    $scope.vm.hostingTel = "";
+                    $scope.vm.hostingEmail = "";
+                    $scope.vm.hostingUrl = "";
+                    $scope.vm.hostingMemo = "";
+
+                    if (ispFieldVo != null){
+                        $scope.vm.ispId = ispFieldVo.id;
+                        $scope.vm.ispName = ispFieldVo.name;
+                        $scope.vm.ispCode = ispFieldVo.code;
+                        $scope.vm.ispManager = ispFieldVo.manager;
+                        $scope.vm.ispTel = ispFieldVo.tel;
+                        $scope.vm.ispEmail = ispFieldVo.email;
+                        $scope.vm.ispUrl = ispFieldVo.url;
+                        $scope.vm.ispMemo = ispFieldVo.memo;
+                    }
+                    if (hostingFieldVo != null){
+                        $scope.vm.hostingId = hostingFieldVo.id;
+                        $scope.vm.hostingName = hostingFieldVo.name;
+                        $scope.vm.hostingCode = hostingFieldVo.code;
+                        $scope.vm.hostingManager = hostingFieldVo.manager;
+                        $scope.vm.hostingTel = hostingFieldVo.tel;
+                        $scope.vm.hostingEmail = hostingFieldVo.email;
+                        $scope.vm.hostingUrl = hostingFieldVo.url;
+                        $scope.vm.hostingMemo = hostingFieldVo.memo;
+                    }
                 });
 
                 //ISP�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
@@ -464,7 +489,7 @@
 
                         companyId : (function () {   //  �뾽泥� �븘�씠�뵒
                             var companyId = -1;
-                            if ($scope.vm.form.issueCompanyFields.length > 0) {
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
                                 companyId = $scope.vm.form.issueCompanyFields[0].id;
                             }
                             return companyId;
@@ -472,7 +497,11 @@
 
                         ispId : (function () {  // ISP �븘�씠�뵒
                             var ispId = -1;
-                            if ($scope.vm.form.issueIspFields.length > 0) {
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
+                                if ($scope.vm.form.issueCompanyFields[0].ispId != null){
+                                    ispId = $scope.vm.form.issueCompanyFields[0].ispId;
+                                }
+                            }else if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
                                 ispId = $scope.vm.form.issueIspFields[0].id;
                             }
                             return ispId;
@@ -480,7 +509,11 @@
 
                         hostingId : (function () {  // Hosting �븘�씠�뵒
                             var hostingId = -1;
-                            if ($scope.vm.form.issueHostingFields.length > 0) {
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0) {
+                                if ($scope.vm.form.issueCompanyFields[0].hostingId != null){
+                                    hostingId = $scope.vm.form.issueCompanyFields[0].hostingId;
+                                }
+                            }else if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
                                 hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
                             return hostingId;
@@ -517,14 +550,11 @@
 
                             return attachedFileIds;
                         })(),
-
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
                             if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
                                 var companyField = $scope.vm.form.issueCompanyFields[0];
-
                                 issueCompanyFields.push({
-                                    id : companyField.id,
                                     companyId : $scope.vm.companyId,
                                     name : $scope.vm.companyName,
                                     manager : $scope.vm.companyManager,
@@ -534,17 +564,22 @@
                                     memo : $scope.vm.companyMemo
                                 });
                             }
-
                             return issueCompanyFields;
                         })(),
+                        companyName : $scope.vm.companyName,
+                        companyManager : $scope.vm.companyManager,
+                        companyTel : $scope.vm.companyTel,
+                        companyEmail :$scope.vm.companyEmail,
+                        companyUrl :$scope.vm.companyUrl,
+                        companyMemo : $scope.vm.companyMemo,
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0
+                                && $scope.vm.form.issueCompanyFields[0].ispFieldVo != null
+                                || $scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
                                 var ispField = $scope.vm.form.issueIspFields[0];
-
-                                issueIspFields[0] = {
-                                    id : ispField.id,
+                                issueIspFields.push({
                                     ispId : $scope.vm.ispId,
                                     name : $scope.vm.ispName,
                                     code : $scope.vm.ispCode,
@@ -553,21 +588,25 @@
                                     email :$scope.vm.ispEmail,
                                     url :$scope.vm.ispUrl,
                                     memo : $scope.vm.ispMemo
-                                };
-
+                                });
                             }
-
                             return issueIspFields;
                         })(),
+                        ispName : $scope.vm.ispName,
+                        ispCode : $scope.vm.ispCode,
+                        ispManager : $scope.vm.ispManager,
+                        ispTel : $scope.vm.ispTel,
+                        ispEmail :$scope.vm.ispEmail,
+                        ispUrl :$scope.vm.ispUrl,
+                        ispMemo : $scope.vm.ispMemo,
 
                         issueHostingFields : (function () {
                             var issueHostingFields = [];
-                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
-
+                            if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0
+                                && $scope.vm.form.issueCompanyFields[0].hostingFieldVo != null
+                                || $scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
                                 var hostingField = $scope.vm.form.issueHostingFields[0];
-
                                 issueHostingFields[0] = {
-                                    id : hostingField.id,
                                     hostingId : $scope.vm.hostingId,
                                     name : $scope.vm.hostingName,
                                     code : $scope.vm.hostingCode,
@@ -578,9 +617,15 @@
                                     memo : $scope.vm.hostingMemo
                                 };
                             }
-
                             return issueHostingFields;
                         })(),
+                        hostingName : $scope.vm.hostingName,
+                        hostingCode : $scope.vm.hostingCode,
+                        hostingManager : $scope.vm.hostingManager,
+                        hostingTel : $scope.vm.hostingTel,
+                        hostingEmail :$scope.vm.hostingEmail,
+                        hostingUrl :$scope.vm.hostingUrl,
+                        hostingMemo : $scope.vm.hostingMemo,
 
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
                         detectingDateRange : $scope.vm.form.detectingDateRange,
@@ -822,6 +867,25 @@
                             $scope.vm.partnerVos = result.data.data;
                         }
                     });
+                }
+
+                function getDepartments() {
+                    if($scope.vm.form.issueTypeId === ""){
+                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                    }
+                    var content = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                    };
+                    Issue.findReadyDepartments($resourceProvider.getContent(
+                        content,
+                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
+                        if (result.data.message.status === "success") {
+                            angular.forEach(result.data.data, function (department) {
+                                department.byName = department.departmentName;
+                                $scope.vm.form.departments.push(department);
+                            });
+                        }
+                    });
 
                 }
 
@@ -832,7 +896,8 @@
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
                         getSeverities : $scope.fn.getSeverities(),
-                        getPartners : $scope.fn.getPartners()
+                        getPartners : $scope.fn.getPartners(),
+                        getDepartments : $scope.fn.getDepartments()
                     };
                     $q.all(promises).then(function (results) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙

--
Gitblit v1.8.0