From 092cba95b42d200799c2d88140fb0f9026176f6d Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 수, 26 1월 2022 16:58:16 +0900
Subject: [PATCH] - 이슈 수정 시 대분류만 선택하고 수정 시 오류 해결 - 전체댓글+메일보기/하위이슈 댓글+메일보기 - 이슈 엑셀 임포트시 오류 해결

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  103 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 73 insertions(+), 30 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 04c9f2a..cf0dc79 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -60,7 +60,7 @@
                         issueCompanyFields : [], // �뾽泥댁젙蹂�
                         issueIspFields : [], // ISP �젙蹂�
                         issueHostingFields : [], // �샇�뒪�똿�젙蹂�
-                        issueTypeId : "",   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
+                        issueTypeId : parameter.issueTypeId,   //  �씠�뒋 �쑀�삎 �븘�씠�뵒
                         priorityId : "",    //  �슦�꽑�닚�쐞 �븘�씠�뵒
                         severityId : "",    //  以묒슂�룄 �븘�씠�뵒
                         issueStatusId : "", //  �씠�뒋 �긽�깭 �븘�씠�뵒
@@ -435,6 +435,27 @@
                     return false;
                 }
 
+                $scope.$on("companyTypeEvent", function (event, result) {
+                        $scope.vm.form.companyTypeId = result[0].id;
+                });
+                $scope.$on("parentSectorEvent", function (event, result) {
+                    if ($rootScope.isDefined(result[0])) {
+                        $scope.vm.form.parentSectorId = result[0].id;
+                    }
+                    $scope.vm.form.childSectorId = "";
+                    $scope.vm.form.childSector = "";
+                    $scope.vm.form.childSectors = [];
+                });
+                $scope.$on("childSectorEvent", function (event, result) {
+                    $scope.vm.form.childSectorId = result[0].id;
+                });
+                $scope.$on("regionEvent", function (event, result) {
+                    $scope.vm.form.regionId = result[0].id;
+                });
+                $scope.$on("statusEvent", function (event, result) {
+                    $scope.vm.form.statusId = result[0].id;
+                });
+
                 // �뾽泥댁젙蹂� 寃곌낵 媛� Event 泥섎━(set)
                 $scope.$on("companyFieldEvent", function (event, result) {
                     var ispFieldVo = result[0].ispFieldVo;
@@ -477,6 +498,7 @@
                     $scope.vm.hostingMemo = "";
 
                     if (ispFieldVo != null){
+                        $scope.vm.form.issueIspFields[0] = angular.copy(ispFieldVo);
                         $scope.vm.ispId = ispFieldVo.id;
                         $scope.vm.ispName = ispFieldVo.name;
                         $scope.vm.ispCode = ispFieldVo.code;
@@ -487,6 +509,7 @@
                         $scope.vm.ispMemo = ispFieldVo.memo;
                     }
                     if (hostingFieldVo != null){
+                        $scope.vm.form.issueHostingFields[0] = angular.copy(hostingFieldVo);
                         $scope.vm.hostingId = hostingFieldVo.id;
                         $scope.vm.hostingName = hostingFieldVo.name;
                         $scope.vm.hostingCode = hostingFieldVo.code;
@@ -500,26 +523,30 @@
 
                 // 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;
-                    $scope.vm.ispEmail = result[0].email;
-                    $scope.vm.ispUrl = result[0].url;
-                    $scope.vm.ispMemo = result[0].memo;
+                    if ($rootScope.isDefined(result[0])) {
+                        $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;
+                        $scope.vm.ispEmail = result[0].email;
+                        $scope.vm.ispUrl = result[0].url;
+                        $scope.vm.ispMemo = result[0].memo;
+                    }
                 });
 
                 // �샇�뒪�똿�젙蹂� 寃곌낵 媛� 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;
-                    $scope.vm.hostingEmail = result[0].email;
-                    $scope.vm.hostingUrl = result[0].url;
-                    $scope.vm.hostingMemo = result[0].memo;
+                    if ($rootScope.isDefined(result[0])) {
+                        $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;
+                        $scope.vm.hostingEmail = result[0].email;
+                        $scope.vm.hostingUrl = result[0].url;
+                        $scope.vm.hostingMemo = result[0].memo;
+                    }
                 });
 
                 function formSubmit() {
@@ -538,7 +565,7 @@
 
                         companyTypeId : (function () {
                             var companyTypeId = -1;
-                            if ($scope.vm.form.companyTypes != null) {
+                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                 companyTypeId = $scope.vm.form.companyTypes[0].id;
                             } else {
                                 companyTypeId = $scope.vm.form.companyTypeId;
@@ -547,7 +574,7 @@
                         })(),
                         parentSectorId : (function () {
                             var parentSectorId = -1;
-                            if ($scope.vm.form.parentSectors != null) {
+                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                 parentSectorId = $scope.vm.form.parentSectors[0].id;
                             } else {
                                 parentSectorId = $scope.vm.form.parentSectorId;
@@ -556,7 +583,7 @@
                         })(),
                         childSectorId : (function () {
                             var childSectorId = -1;
-                            if ($scope.vm.form.childSectors != null) {
+                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                 childSectorId = $scope.vm.form.childSectors[0].id;
                             } else {
                                 childSectorId = $scope.vm.form.childSectorId;
@@ -565,7 +592,7 @@
                         })(),
                         regionId : (function () {
                             var regionId = -1;
-                            if ($scope.vm.form.regions != null) {
+                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                 regionId = $scope.vm.form.regions[0].id;
                             } else {
                                 regionId = $scope.vm.form.regionId;
@@ -574,7 +601,7 @@
                         })(),
                         statusId : (function () {
                             var statusId = -1;
-                            if ($scope.vm.form.statuses != null) {
+                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                 statusId = $scope.vm.form.statuses[0].id;
                             } else {
                                 statusId = $scope.vm.form.statusId;
@@ -616,7 +643,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;
                             }
 
@@ -626,7 +653,7 @@
                         ispId : (function () {
                             var ispId = -1;
 
-                            if ($scope.vm.form.issueIspFields.length > 0) {
+                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0) {
                                 ispId = $scope.vm.form.issueIspFields[0].id;
                             }
 
@@ -677,7 +704,11 @@
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
                             if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
+
                                 var companyField = $scope.vm.form.issueCompanyFields[0];
+                                if (companyField.name !== $scope.vm.companyName) { //�궗�슜�옄媛� 吏곸젒 �뾽泥� 異붽� �븷 寃쎌슦
+                                    return issueCompanyFields;
+                                }
 
                                 issueCompanyFields.push({
                                     id : companyField.id,
@@ -688,11 +719,11 @@
                                     email :$scope.vm.companyEmail,
                                     url :$scope.vm.companyUrl,
                                     memo : $scope.vm.companyMemo,
-                                    companyTypeId : companyField.companyTypeId,
-                                    parentSectorId : companyField.parentSectorId,
-                                    childSectorId : companyField.childSectorId,
-                                    regionId : companyField.regionId,
-                                    statusId : companyField.statusId
+                                    companyTypeId : $scope.vm.form.companyTypeId,
+                                    parentSectorId : $scope.vm.form.parentSectorId,
+                                    childSectorId : $scope.vm.form.childSectorId,
+                                    regionId : $scope.vm.form.regionId,
+                                    statusId : $scope.vm.form.statusId
                                 });
                             }
 
@@ -704,6 +735,11 @@
                             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];
+                                if (ispField.name !== $scope.vm.ispName) { //�궗�슜�옄媛� 吏곸젒 ISP 異붽� �븷 寃쎌슦
+                                    return issueIspFields;
+                                }
 
                                 issueIspFields.push({
                                     ispId : $scope.vm.ispId,
@@ -726,6 +762,11 @@
                             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];
+                                if (hostingField.name !== $scope.vm.hostingName) { //�궗�슜�옄媛� 吏곸젒 �샇�뒪�똿 異붽� �븷 寃쎌슦
+                                    return issueHostingFields;
+                                }
 
                                 issueHostingFields.push({
                                     hostingId : $scope.vm.hostingId,
@@ -1108,7 +1149,9 @@
 
                 function getPartners() {
                     if($scope.vm.form.issueTypeId === ""){
-                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                        if ($rootScope.issueTypeMenu != null) {
+                            $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                        }
                     }
                     var content = {
                         issueTypeId : $scope.vm.form.issueTypeId,

--
Gitblit v1.8.0