From 4677f35851fd0daed02d12858e71c79056969d68 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 화, 07 12월 2021 11:02:12 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/webapp/scripts/app/issue/issueModify.controller.js |  177 ++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 121 insertions(+), 56 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModify.controller.js b/src/main/webapp/scripts/app/issue/issueModify.controller.js
index deda875..8c15c9c 100644
--- a/src/main/webapp/scripts/app/issue/issueModify.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -9,9 +9,9 @@
     ],
     function (app, angular) {
         app.controller('issueModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector',
-            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter',
+            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'HostingField', 'IssueTypeCustomField', '$filter',
             function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, SweetAlert, $timeout,
-                      $stateParams, $q, parameter, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter) {
+                      $stateParams, $q, parameter, Issue, User, AttachedFile, IssueType, Priority, Severity, HostingField, IssueTypeCustomField, $filter) {
 
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
@@ -33,14 +33,17 @@
                     setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields,    //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 �젙蹂대�� �엯�젰 �뤌�뿉�꽌 �궗�슜�븷 �닔 �엳寃� 媛�怨듯븳�떎.
                     setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields,    //  �씠�뒋�뿉�꽌 �궗�슜�옄媛� �꽑�깮�븳 �궗�슜�옄 �젙�쓽 �븘�뱶 媛믪쓣 �엯�젰 �뤌�뿉 �뀑�똿�븳�떎.
                     detail : detail,    //  �씠�뒋 �젙蹂� 議고쉶
-                    // removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
+                    removeManager : removeManager,  //  �떞�떦�옄 �궘�젣
                     removeDepartment : removeDepartment,  //  �떞�떦遺��꽌 �궘�젣
                     removeUploadFile : removeUploadFile,    //  �듅�젙 �뙆�씪�쓣 �궘�젣
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
-                    startExecute : startExecute //  理쒖큹 �떎�뻾
+                    startExecute : startExecute, //  理쒖큹 �떎�뻾
+                    containsPartner : containsPartner,
+                    getPartners : getPartners
                 };
 
                 $scope.vm = {
+                    partnerVos : "",
                     search : {
                         id : parameter.id,
                         deep : "02"    //  �봽濡쒖젥�듃 �뿰愿��맂 紐⑤뱺 �젙蹂대�� �뼱�뒓�젙�룄源뚯� 媛��졇�삱吏� 寃곗젙, 01 - �궗�슜�옄, 愿�由ъ옄 �젙蹂�
@@ -69,7 +72,6 @@
                     departmentName : "",  // 遺��꽌紐� 寃��깋
                     companyId : -1,
                     companyName : "",   // �뾽泥대챸 寃��깋
-                    companyCode : "",   // �뾽泥� 肄붾뱶
                     companyManager : "",   // �뾽泥� �떞�떦�옄
                     companyTel : "",  // �뾽泥� �쟾�솕踰덊샇
                     companyEmail : "",  // �뾽泥� �씠硫붿씪
@@ -84,6 +86,7 @@
                     hostingId : -1,
                     hostingName : "", // �샇�뒪�똿紐� 寃��깋
                     hostingManager : "", // �샇�뒪�똿 �떞�떦�옄
+                    hostingCode : "", // �샇�뒪�똿 肄붾뱶
                     hostingTel : "", // �샇�뒪�똿 �쟾�솕踰덊샇
                     hostingEmail : "", // �샇�뒪�똿 �씠硫붿씪
                     hostingMemo : "", // �샇�뒪�똿 鍮꾧퀬
@@ -123,6 +126,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}));
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦遺��꽌 珥덇린�솕
@@ -139,6 +154,11 @@
                         }
                     }
                 });
+
+                $scope.$watch("vm.form.issueTypeId", function (newValue, oldValue) {
+                    $scope.vm.partnerVos = $scope.fn.getPartners();
+                });
+
 
                 //  �뾽濡쒕뱶 �뙆�씪 �궘�젣
                 function removeUploadFile(index) {
@@ -161,9 +181,9 @@
                 }
 
                 //  �떞�떦�옄 �궘�젣
-                // function removeManager(index) {
-                //     $scope.vm.form.users.splice(index, 1);
-                // }
+                function removeManager(index) {
+                    $scope.vm.form.users.splice(index, 1);
+                }
 
                 // �떞�떦遺��꽌 �궘�젣
                 function removeDepartment(index) {
@@ -386,6 +406,24 @@
                         id : parameter.id,
                         title : $rootScope.preventXss($scope.vm.form.title),    //  �젣紐�
                         description : $rootScope.preventXss($scope.vm.form.description),   //  �궡�슜
+                        companyName : $scope.vm.companyName,
+                        companyManager : $scope.vm.companyManager,
+                        companyTel : $scope.vm.companyTel,
+                        companyEmail :$scope.vm.companyEmail,
+                        companyMemo : $scope.vm.companyMemo,
+                        ispName : $scope.vm.ispName,
+                        ispCode : $scope.vm.ispCode,
+                        ispManager : $scope.vm.ispManager,
+                        ispTel : $scope.vm.ispTel,
+                        ispEmail : $scope.vm.ispEmail,
+                        ispMemo : $scope.vm.ispMemo,
+                        hostingName : $scope.vm.hostingName,
+                        hostingCode : $scope.vm.hostingCode,
+                        hostingManager : $scope.vm.hostingManager,
+                        hostingTel : $scope.vm.hostingTel,
+                        hostingEmail : $scope.vm.hostingEmail,
+                        hostingMemo : $scope.vm.hostingMemo,
+
                         projectId : (function () {   //  �봽濡쒖젥�듃 �븘�씠�뵒
                             var projectId = "";
 
@@ -430,6 +468,37 @@
 
                             return hostingId;
                         }),
+
+                        userIds : (function () {
+                            var userIds = [];
+
+                            angular.forEach($scope.vm.form.users, function (user) {
+                                userIds.push(user.id);
+                            });
+
+                            return userIds;
+                        })(),
+                        departmentIds : (function () {
+                            var departmentIds = [];
+
+                            angular.forEach($scope.vm.form.departments, function (department) {
+                                departmentIds.push(department.id);
+                            });
+
+                            return departmentIds;
+                        })(),
+
+                        attachedFileIds : (function () {
+                            var attachedFileIds = [];
+
+                            angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) {
+                                if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) {
+                                    attachedFileIds.push(attachedFile.id);
+                                }
+                            });
+
+                            return attachedFileIds;
+                        })(),
 
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
@@ -492,50 +561,7 @@
                             return issueHostingFields;
                         })(),
 
-                        ispName : $scope.vm.ispName,
-                        ispCode : $scope.vm.ispCode,
-                        ispManager : $scope.vm.ispManager,
-                        ispTel : $scope.vm.ispTel,
-                        ispEmail : $scope.vm.ispEmail,
-                        ispMemo : $scope.vm.ispMemo,
-
-                        hostingName : $scope.vm.hostingName,
-                        hostingCode : $scope.vm.hostingCode,
-                        hostingManager : $scope.vm.hostingManager,
-                        hostingTel : $scope.vm.hostingTel,
-                        hostingEmail : $scope.vm.hostingEmail,
-                        hostingMemo : $scope.vm.hostingMemo,
-
-                        userIds : (function () {
-                            var userIds = [];
-
-                            angular.forEach($scope.vm.form.users, function (user) {
-                                userIds.push(user.id);
-                            });
-
-                            return userIds;
-                        })(),
-                        departmentIds : (function () {
-                            var departmentIds = [];
-
-                            angular.forEach($scope.vm.form.departments, function (department) {
-                                departmentIds.push(department.id);
-                            });
-
-                            return departmentIds;
-                        })(),
                         removeFiles : $scope.vm.form.removeFiles,
-                        attachedFileIds : (function () {
-                            var attachedFileIds = [];
-
-                            angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) {
-                                if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) {
-                                    attachedFileIds.push(attachedFile.id);
-                                }
-                            });
-
-                            return attachedFileIds;
-                        })(),
                         startCompleteDateRange : $scope.vm.form.startCompleteDateRange,
 
                         issueCustomFields : (function () {    //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
@@ -648,6 +674,21 @@
                     return deferred.promise;
                 }
 
+                // �뾽泥�/ISP/�샇�뒪�똿 �씠由꾩씠 �룷�븿 �뿬遺� �솗�씤
+                function containsPartner(name) {
+                    var result = false;
+
+                    if ($scope.vm.partnerVos != null) {
+                        $scope.vm.partnerVos.forEach(function (partnerVo) {
+                            if (name === partnerVo.name) {
+                                result = true;
+                            }
+                        });
+                    }
+                    return result;
+
+                }
+
                 //  以묒슂�룄 紐⑸줉
                 function getSeverities() {
                     var deferred = $q.defer();
@@ -708,6 +749,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;
 
@@ -772,7 +819,7 @@
                                 if (result.data.data.issueCompanyVos != null && result.data.data.issueCompanyVos.length > 0) {
                                     $scope.vm.form.issueCompanyFields = result.data.data.issueCompanyVos;
                                     var issueCompanyFieldValue = result.data.data.issueCompanyVos[0];
-                                    $scope.vm.companyId = issueCompanyFieldValue.id;
+                                    $scope.vm.companyId = issueCompanyFieldValue.companyId;
                                     $scope.vm.companyName = issueCompanyFieldValue.name;
                                     $scope.vm.companyManager = issueCompanyFieldValue.manager;
                                     $scope.vm.companyTel = issueCompanyFieldValue.tel;
@@ -782,7 +829,7 @@
                                 if (result.data.data.issueIspVos != null && result.data.data.issueIspVos.length > 0) {
                                     $scope.vm.form.issueIspFields = result.data.data.issueIspVos;
                                     var issueIspFieldValue = result.data.data.issueIspVos[0];
-                                    $scope.vm.ispId = issueIspFieldValue.id;
+                                    $scope.vm.ispId = issueIspFieldValue.ispId;
                                     $scope.vm.ispName = issueIspFieldValue.name;
                                     $scope.vm.ispCode = issueIspFieldValue.code;
                                     $scope.vm.ispManager = issueIspFieldValue.manager;
@@ -794,7 +841,7 @@
                                 if (result.data.data.issueHostingVos != null && result.data.data.issueHostingVos.length > 0) {
                                     $scope.vm.form.issueHostingFields = result.data.data.issueHostingVos;
                                     var issueHostingFieldValue = result.data.data.issueHostingVos[0];
-                                    $scope.vm.hostingId = issueHostingFieldValue.id;
+                                    $scope.vm.hostingId = issueHostingFieldValue.hostingId;
                                     $scope.vm.hostingName = issueHostingFieldValue.name;
                                     $scope.vm.hostingCode = issueHostingFieldValue.code;
                                     $scope.vm.hostingManager = issueHostingFieldValue.manager;
@@ -866,6 +913,23 @@
                     }
                 }
 
+                function getPartners() {
+                    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.partnerVos = result.data.data;
+                        }
+                    });
+
+                }
+
                 //  理쒖큹 �떎�뻾
                 function startExecute() {
 
@@ -873,7 +937,8 @@
                         detail : $scope.fn.detail(),
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
-                        getSeverities : $scope.fn.getSeverities()
+                        getSeverities : $scope.fn.getSeverities(),
+                        getPartners : $scope.fn.getPartners()
                     };
 
                     $q.all(promises).then(function (results) {
@@ -883,4 +948,4 @@
 
                 $scope.fn.startExecute();
             }]);
-    });
+    });
\ No newline at end of file

--
Gitblit v1.8.0