From 98346d0dd97e0001ebfe7eb2c791c9d83c63bdd8 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 13 1월 2022 09:25:30 +0900
Subject: [PATCH] "전체이슈" 일 경우 이슈 상세페이지에서 연관이슈 및 하위이슈 새로 추가 시 오류 수정

---
 src/main/webapp/scripts/app/issue/issueAddRelation.controller.js |  106 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 100 insertions(+), 6 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
index 0b36fe8..5fb5716 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -39,6 +39,7 @@
                     containsPartner : containsPartner,
                     getPartners : getPartners,
                     addRelationIssue : addRelationIssue,
+                    getDepartments : getDepartments
                 };
 
                 $scope.vm = {
@@ -51,7 +52,7 @@
                         issueCompanyFields : [], // �뾽泥댁젙蹂�
                         issueIspFields : [], // ISP �젙蹂�
                         issueHostingFields : [], // �샇�뒪�똿�젙蹂�
-                        issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
+                        issueTypeId : parameter.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         users : [],     //  �떞�떦�옄
@@ -73,6 +74,7 @@
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyUrl : "", // �뾽泥� url
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
                     ispId : -1, // ISP ID
                     ispName : "", // ISP 紐�
@@ -80,6 +82,7 @@
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
+                    ispUrl : "", // ISP url
                     ispMemo : "", // ISP 鍮꾧퀬
                     hostingId : -1, // �샇�뒪�똿 ID
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
@@ -87,6 +90,7 @@
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingCode : "", // �샇�뒪�똿 肄붾뱶
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
+                    hostingUrl : "", // �샇�뒪�똿 url
                     hostingMemo :"", // �샇�뒪�똿 鍮꾧퀬
 
 
@@ -127,6 +131,18 @@
                     fileTableConfigs : [],   //  �뙆�씪 �뾽濡쒕뱶 �젙蹂� �뀒�씠釉�
                 };
 
+                // �뿰愿� �씪媛� 愿��젴
+                $scope.vm.relationIssueTypes =
+                    [
+                        { id: 0, name: $filter("translate")("issue.relationIssueType1") },
+                        { id: 1, name: $filter("translate")("issue.relationIssueType2") },
+                        { id: 2, name: $filter("translate")("issue.relationIssueType3") },
+                        { id: 3, name: $filter("translate")("issue.relationIssueType4") },
+                        { id: 4, name: $filter("translate")("issue.relationIssueType5") },
+                        { id: 5, name: $filter("translate")("issue.relationIssueType6") }
+                    ];
+                $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0];
+
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
                 function getStartProjectListCallback(result){
@@ -153,6 +169,8 @@
 
                 $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
                     $scope.vm.partnerVos = $scope.fn.getPartners();
+                    $scope.vm.form.departments = [];
+                    getDepartments(Number(newValue));
                 });
 
                 //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
@@ -380,13 +398,55 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
+                    var ispFieldVo = result[0].ispFieldVo;
+                    var hostingFieldVo = result[0].hostingFieldVo;
+
                     $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;
+                    $scope.vm.companyUrl = result[0].url;
                     $scope.vm.companyMemo = result[0].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.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)
@@ -397,6 +457,7 @@
                     $scope.vm.ispManager = result[0].manager;
                     $scope.vm.ispTel = result[0].tel;
                     $scope.vm.ispEmail = result[0].email;
+                    $scope.vm.ispUrl = result[0].url;
                     $scope.vm.ispMemo = result[0].memo;
                 });
 
@@ -408,6 +469,7 @@
                     $scope.vm.hostingManager = result[0].manager;
                     $scope.vm.hostingTel = result[0].tel;
                     $scope.vm.hostingEmail = result[0].email;
+                    $scope.vm.hostingUrl = result[0].url;
                     $scope.vm.hostingMemo = result[0].memo;
                 });
 
@@ -423,18 +485,21 @@
                         companyManager : $scope.vm.companyManager,
                         companyTel : $scope.vm.companyTel,
                         companyEmail :$scope.vm.companyEmail,
+                        companyUrl : $scope.vm.companyUrl,
                         companyMemo : $scope.vm.companyMemo,
                         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,
                         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,
 
                         projectId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
@@ -475,7 +540,7 @@
                         hostingId : (function () {
                             var hostingId = -1;
 
-                            if ($scope.vm.form.issueHostingFields.length > 0) {
+                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0) {
                                 hostingId = $scope.vm.form.issueHostingFields[0].id;
                             }
 
@@ -525,6 +590,7 @@
                                     manager : $scope.vm.companyManager,
                                     tel : $scope.vm.companyTel,
                                     email :$scope.vm.companyEmail,
+                                    url :$scope.vm.companyUrl,
                                     memo : $scope.vm.companyMemo
                                 });
                             }
@@ -545,6 +611,7 @@
                                     manager : $scope.vm.ispManager,
                                     tel : $scope.vm.ispTel,
                                     email :$scope.vm.ispEmail,
+                                    url :$scope.vm.ispUrl,
                                     memo : $scope.vm.ispMemo
                                 });
 
@@ -567,6 +634,7 @@
                                     manager : $scope.vm.hostingManager,
                                     tel : $scope.vm.hostingTel,
                                     email :$scope.vm.hostingEmail,
+                                    url :$scope.vm.hostingUrl,
                                     memo : $scope.vm.hostingMemo
                                 });
                             }
@@ -632,7 +700,6 @@
                                 id : parameter.id
                             });
 
-                            $rootScope.$broadcast("getIssueList");
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // �씠�뒋 �닔�젙 �떎�뙣
@@ -652,7 +719,7 @@
 
                     var contents = {
                         //relationIssueType : $scope.vm.form.relationIssueTypeId,
-                        relationIssueType : 0, //ToDo:�씪�떒 湲곕낯媛믪쑝濡� 異붽��릺�룄濡� �뿰愿��씠�뒋 留뚮뱾湲� �럹�씠吏��뿉�꽌 �꽑�깮 �븷 �닔 �엳�룄濡� �닔�젙 �븘�슂
+                        relationIssueType : $scope.vm.relationIssueType.id,
                         // issueId : $rootScope.currentDetailIssueId,
                         issueId :  parameter.id,
                         relationIssueId : relId,
@@ -664,7 +731,10 @@
                         $resourceProvider.getPageContent(0, 10))).then(function (result) {
 
                         if (result.data.message.status === "success") {
-                            $scope.fn.getIssueDetail();
+                            //  �씠�뒋 �긽�꽭 �솕硫� �슂泥�
+                            $rootScope.$broadcast("getIssueDetail", {
+                                id : parameter.id
+                            });
                         }
                         else {
                             SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "�뿰愿��씪媛� �깮�꽦 �떎�뙣"
@@ -856,6 +926,27 @@
 
                 }
 
+                function getDepartments(issueTypeId) {
+                    if($rootScope.isDefined(issueTypeId) && $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") {
+                            $scope.vm.form.departments = [];
+                            angular.forEach(result.data.data, function (department) {
+                                department.byName = department.departmentName;
+                                $scope.vm.form.departments.push(department);
+                            });
+                        }
+                    });
+
+                }
+
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
 
@@ -863,7 +954,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) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙
@@ -876,6 +968,8 @@
                         var id = $rootScope.getCurrentIssueTypeId();
                         if (id != null) {
                             $scope.vm.form.issueTypeId = id.toString();
+                        } else {
+                            $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                         }
                         $log.debug("promises 寃곌낵 ", results);
                     });

--
Gitblit v1.8.0