From 8d2672f1f1246261bda8bce45616864a8d344cd3 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 화, 22 2월 2022 15:38:15 +0900
Subject: [PATCH] - 연관이슈 추가에서 프로젝트 변경시 이슈 유형이 선택되지 않고 빈값이 선택되는 문제 해결 (이슈 추가시에도 적용)

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  160 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 94 insertions(+), 66 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index b75de6a..826375d 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -194,8 +194,6 @@
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
-
-
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
                             $scope.vm.form.users = [];
@@ -433,7 +431,16 @@
                 }
 
                 // �뾽醫�(��遺꾨쪟) autocomplete page �뾽�뜲�씠�듃
-                function getParentSectorListCallBack(result) {
+                function getParentSectorListCallBack(result, value) {
+                    if (value === "") {
+                        $scope.vm.form.parentSectorId = "";
+                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
+                            $scope.vm.form.parentSectors[0].id = "";
+                        }
+                        $scope.vm.form.childSectorId = "";
+                        $scope.vm.form.childSector = "";
+                        $scope.vm.form.childSectors = [];
+                    }
                     $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
                 }
 
@@ -462,70 +469,72 @@
 
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
-                    var ispFieldVo = result[0].ispFieldVo;
-                    var hostingFieldVo = result[0].hostingFieldVo;
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
+                        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.form.companyTypeId = result[0].companyTypeId;
-                    $scope.vm.form.parentSectorId = result[0].parentSectorId;
-                    $scope.vm.form.childSectorId = result[0].childSectorId;
-                    $scope.vm.form.regionId = result[0].regionId;
-                    $scope.vm.form.statusId = result[0].statusId;
-                    $scope.vm.form.companyType = result[0].companyTypeName;
-                    $scope.vm.form.parentSector = result[0].parentSectorName;
-                    $scope.vm.form.childSector = result[0].childSectorName;
-                    $scope.vm.form.region = result[0].regionName;
-                    $scope.vm.form.status = result[0].statusName;
+                        $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.form.companyTypeId = result[0].companyTypeId;
+                        $scope.vm.form.parentSectorId = result[0].parentSectorId;
+                        $scope.vm.form.childSectorId = result[0].childSectorId;
+                        $scope.vm.form.regionId = result[0].regionId;
+                        $scope.vm.form.statusId = result[0].statusId;
+                        $scope.vm.form.companyType = result[0].companyTypeName;
+                        $scope.vm.form.parentSector = result[0].parentSectorName;
+                        $scope.vm.form.childSector = result[0].childSectorName;
+                        $scope.vm.form.region = result[0].regionName;
+                        $scope.vm.form.status = result[0].statusName;
 
-                    $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.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 = "";
+                        $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;
+                        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)
                 $scope.$on("ispFieldEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.ispId = result[0].id;
                         $scope.vm.ispName = result[0].name;
                         $scope.vm.ispCode = result[0].code;
@@ -539,7 +548,7 @@
 
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("hostingFieldEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.hostingId = result[0].id;
                         $scope.vm.hostingName = result[0].name;
                         $scope.vm.hostingCode = result[0].code;
@@ -552,30 +561,35 @@
                 });
 
                 $scope.$on("companyTypeEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.companyTypeId = result[0].id;
                     }
                 });
                 $scope.$on("parentSectorEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.parentSectorId = result[0].id;
+                    }  else {
+                        $scope.vm.form.parentSectorId = "";
+                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
+                            $scope.vm.form.parentSectors[0].id = "";
+                        }
                     }
                     $scope.vm.form.childSectorId = "";
                     $scope.vm.form.childSector = "";
                     $scope.vm.form.childSectors = [];
                 });
                 $scope.$on("childSectorEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.childSectorId = result[0].id;
                     }
                 });
                 $scope.$on("regionEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.regionId = result[0].id;
                     }
                 });
                 $scope.$on("statusEvent", function (event, result) {
-                    if ($rootScope.isDefined(result[0])) {
+                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                         $scope.vm.form.statusId = result[0].id;
                     }
                 });
@@ -680,7 +694,8 @@
                                     parentSectorId : $scope.vm.form.parentSectorId,
                                     childSectorId : $scope.vm.form.childSectorId,
                                     regionId : $scope.vm.form.regionId,
-                                    statusId : $scope.vm.form.statusId
+                                    statusId : $scope.vm.form.statusId,
+                                    statusName : $scope.vm.form.status
                                 });
                             }
                             return issueCompanyFields;
@@ -882,7 +897,7 @@
                 function getIssueTypes() {
                     var deferred = $q.defer();
 
-                    if (!$rootScope.isDefined($scope.vm.form.projects[0])) {
+                    if (!$rootScope.isDefined($scope.vm.form.projects) || !$rootScope.isDefined($scope.vm.form.projects[0])) {
                         return;
                     }
 
@@ -911,6 +926,19 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.issueTypes = result.data.data;
+
+                            //  option 鍮덇컪 諛⑹�
+                            if ($rootScope.isDefined($scope.vm.issueTypes) && $scope.vm.issueTypes.length > 0) {
+                                let chk = 0;
+                                angular.forEach($scope.vm.issueTypes, function (issueType) {
+                                    if (issueType.id.toString() === $scope.vm.form.issueTypeId.toString()) {
+                                        chk ++;
+                                    }
+                                });
+                                if (chk === 0) {
+                                    $scope.vm.form.issueTypeId = null;
+                                }
+                            }
                         }
                         else {
                             SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣

--
Gitblit v1.8.0