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/issueAddRelation.controller.js |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
index 4739c3a..1bae416 100644
--- a/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -45,6 +45,7 @@
                     getChildSectorListCallBack : getChildSectorListCallBack,
                     getRegionListCallBack : getRegionListCallBack,
                     getStatusListCallBack : getStatusListCallBack,
+                    getIssueTypeOfProject : getIssueTypeOfProject
                 };
 
                 $scope.vm = {
@@ -203,6 +204,8 @@
                         } else {
                             //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
                             $scope.fn.getIssueTypeCustomFields();
+                            //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                            $scope.fn.getIssueTypeOfProject();
                         }
                     }
                 });
@@ -434,7 +437,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;
                 }
 
@@ -562,6 +574,11 @@
                 $scope.$on("parentSectorEvent", function (event, result) {
                     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 = "";
@@ -745,7 +762,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
                                 });
                             }
 
@@ -910,6 +928,39 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.issueTypes = result.data.data;
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
+                //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                function getIssueTypeOfProject() {
+                    var deferred = $q.defer();
+
+                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        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"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
@@ -1114,6 +1165,9 @@
                             $scope.vm.projectName = $rootScope.workProject.name;
                             $scope.vm.form.projects = [];
                             $scope.vm.form.projects.push($rootScope.workProject);
+                        } else {
+                            $scope.vm.projectName = parameter.project.name;
+                            $scope.vm.form.projects.push(parameter.project);
                         }
                         // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙
                         var id = $rootScope.getCurrentIssueTypeId();
@@ -1122,6 +1176,10 @@
                         } else {
                             $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                         }
+                        //  �봽濡쒖젥�듃�쓽 �씠�뒋�쑀�삎 set
+                        $scope.fn.getIssueTypeOfProject();
+                        // �씠�뒋�쑀�삎, �봽濡쒖젥�듃 set �븳 �썑�뿉 �궗�슜�옄�젙�쓽�븘�뱶 set
+                        $scope.fn.getIssueTypeCustomFields();
                         $log.debug("promises 寃곌낵 ", results);
                     });
                 }

--
Gitblit v1.8.0