From 171d9bc308a76fba7ddd78acd1871af3a2a107c7 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 10 1월 2022 11:47:41 +0900
Subject: [PATCH] 이슈 수정 시 isp/호스팅 목록에 같은게 추가되는 현상 해결

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  126 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 102 insertions(+), 24 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index 0ae8ec0..957c2d0 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -43,7 +43,7 @@
                 };
 
                 $scope.vm = {
-                    companyVos : "",
+                    partnerVos : "",
                     search : {
                         id : parameter.id,
                         deep : "02"    //  �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂�
@@ -72,10 +72,10 @@
                     departmentName : "",  // 遺��꽌紐� 寃��깋
                     companyId : -1,
                     companyName : "",   // �뾽泥대챸 寃��깋
-                    companyCode : "",   // �뾽泥� 肄붾뱶
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
+                    companyUrl : "",  // �뾽泥� url
                     companyMemo : "",  // �뾽泥� 鍮꾧퀬
                     ispId : -1,
                     ispName : "", // ISP 紐�
@@ -83,12 +83,15 @@
                     ispManager : "", // ISP �떞�떦�옄
                     ispTel : "", // ISP �쟾�솕踰덊샇
                     ispEmail : "", // ISP �씠硫붿씪
+                    ispUrl : "",  // url
                     ispMemo : "", // ISP 鍮꾧퀬
                     hostingId : -1,
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
+                    hostingCode : "", // �샇�뒪�똿 肄붾뱶
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
+                    hostingUrl : "",  // url
                     hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
                     autoCompletePage : {
                         // user : {
@@ -126,6 +129,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}));
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦遺��꽌 珥덇린�솕
@@ -144,7 +159,7 @@
                 });
 
                 $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
-                     $scope.vm.companyVos = $scope.fn.getPartners();
+                    $scope.vm.partnerVos = $scope.fn.getPartners();
                 });
 
 
@@ -169,9 +184,9 @@
                 }
 
                 //  �떞�떦�옄 �궘�젣
-                 function removeManager(index) {
-                     $scope.vm.form.users.splice(index, 1);
-                 }
+                function removeManager(index) {
+                    $scope.vm.form.users.splice(index, 1);
+                }
 
                 // �떞�떦遺��꽌 �궘�젣
                 function removeDepartment(index) {
@@ -356,13 +371,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)
@@ -373,6 +430,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;
                 });
 
@@ -384,6 +442,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;
                 });
 
@@ -398,18 +457,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 () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
@@ -450,7 +512,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;
                             }
 
@@ -500,6 +562,7 @@
                                     manager : $scope.vm.companyManager,
                                     tel : $scope.vm.companyTel,
                                     email :$scope.vm.companyEmail,
+                                    url :$scope.vm.companyUrl,
                                     memo : $scope.vm.companyMemo
                                 });
                             }
@@ -509,17 +572,18 @@
 
                         issueIspFields : (function () {
                             var issueIspFields = [];
-                            if ($scope.vm.form.issueIspFields != null && $scope.vm.form.issueIspFields.length > 0 ){
-                                var ispField = $scope.vm.form.issueIspFields[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 ){
 
                                 issueIspFields.push({
-                                    id : ispField.id,
                                     ispId : $scope.vm.ispId,
                                     code : $scope.vm.ispCode,
                                     name : $scope.vm.ispName,
                                     manager : $scope.vm.ispManager,
                                     tel : $scope.vm.ispTel,
                                     email :$scope.vm.ispEmail,
+                                    url :$scope.vm.ispUrl,
                                     memo : $scope.vm.ispMemo
                                 });
 
@@ -530,18 +594,18 @@
 
                         issueHostingFields : (function () {
                             var issueHostingFields = [];
-                            if ($scope.vm.form.issueHostingFields != null && $scope.vm.form.issueHostingFields.length > 0 ){
-
-                                var hostingField = $scope.vm.form.issueHostingFields[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 ){
 
                                 issueHostingFields.push({
-                                    id : hostingField.id,
                                     hostingId : $scope.vm.hostingId,
                                     name : $scope.vm.hostingName,
                                     code : $scope.vm.hostingCode,
                                     manager : $scope.vm.hostingManager,
                                     tel : $scope.vm.hostingTel,
                                     email :$scope.vm.hostingEmail,
+                                    url :$scope.vm.hostingUrl,
                                     memo : $scope.vm.hostingMemo
                                 });
                             }
@@ -666,8 +730,8 @@
                 function containsPartner(name) {
                     var result = false;
 
-                    if ($scope.vm.companyVos != null) {
-                        $scope.vm.companyVos.forEach(function (partnerVo) {
+                    if ($scope.vm.partnerVos != null) {
+                        $scope.vm.partnerVos.forEach(function (partnerVo) {
                             if (name === partnerVo.name) {
                                 result = true;
                             }
@@ -737,6 +801,12 @@
                         switch (issueTypeCustomField.customFieldVo.customFieldType) {
                             case "INPUT" :
                             case "SINGLE_SELECT" :
+                            case "NUMBER" :
+                            case "DATETIME" :
+                            case "IP_ADDRESS" :
+                            case "EMAIL" :
+                            case "SITE" :
+                            case "TEL" :
                                 issueTypeCustomField.useValues = "";
                                 break;
 
@@ -775,8 +845,8 @@
 
                 //  �씠�뒋 �긽�꽭 �젙蹂�
                 function detail() {
+                    $rootScope.spinner = true;
                     var deferred = $q.defer();
-
                     Issue.detail($resourceProvider.getContent(
                         $scope.vm.search,
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
@@ -806,6 +876,7 @@
                                     $scope.vm.companyManager = issueCompanyFieldValue.manager;
                                     $scope.vm.companyTel = issueCompanyFieldValue.tel;
                                     $scope.vm.companyEmail = issueCompanyFieldValue.email;
+                                    $scope.vm.companyUrl = issueCompanyFieldValue.url;
                                     $scope.vm.companyMemo = issueCompanyFieldValue.memo;
                                 }
                                 if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) {
@@ -817,6 +888,7 @@
                                     $scope.vm.ispManager = issueIspFieldValue.manager;
                                     $scope.vm.ispTel = issueIspFieldValue.tel;
                                     $scope.vm.ispEmail = issueIspFieldValue.email;
+                                    $scope.vm.ispUrl = issueIspFieldValue.url;
                                     $scope.vm.ispMemo = issueIspFieldValue.memo;
                                 }
 
@@ -829,6 +901,7 @@
                                     $scope.vm.hostingManager = issueHostingFieldValue.manager;
                                     $scope.vm.hostingTel = issueHostingFieldValue.tel;
                                     $scope.vm.hostingEmail = issueHostingFieldValue.email;
+                                    $scope.vm.hostingUrl = issueHostingFieldValue.url;
                                     $scope.vm.hostingMemo = issueHostingFieldValue.memo;
                                 }
 
@@ -848,10 +921,9 @@
                         else {
                             SweetAlert.error($filter("translate")("issue.failedToProjectDetails"), result.data.message.message); // �봽濡쒖젥�듃 �긽�꽭 �젙蹂� 議고쉶 �떎�뙣
                         }
-
+                        $rootScope.spinner = false;
                         deferred.resolve(result.data.data);
                     });
-
                     return deferred.promise;
                 }
 
@@ -896,12 +968,17 @@
                 }
 
                 function getPartners() {
-
-                    HostingField.getCompanyList($resourceProvider.getContent(
-                        {},
+                    if($scope.vm.form.issueTypeId === ""){
+                        $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
+                    }
+                    var content = {
+                        issueTypeId : $scope.vm.form.issueTypeId,
+                    };
+                    Issue.findPartners($resourceProvider.getContent(
+                        content,
                         $resourceProvider.getPageContent(0, 1))).then(function (result) {
                         if (result.data.message.status === "success") {
-                            $scope.vm.companyVos = result.data.content;
+                            $scope.vm.partnerVos = result.data.data;
                         }
                     });
 
@@ -913,6 +990,7 @@
                     var promises = {
                         detail : $scope.fn.detail(),
                         getIssueTypes : $scope.fn.getIssueTypes(),
+                        getPriorities : $scope.fn.getPriorities(),
                         getSeverities : $scope.fn.getSeverities(),
                         getPartners : $scope.fn.getPartners()
                     };
@@ -924,4 +1002,4 @@
 
                 $scope.fn.startExecute();
             }]);
-    });
+    });
\ No newline at end of file

--
Gitblit v1.8.0