From 30ddd2cf095d2857ba1134fb3deaf51392ef1030 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 화, 07 12월 2021 21:31:45 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  126 ++++++++++++++++++++++++-----------------
 1 files changed, 73 insertions(+), 53 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index a0d23f1..8881e58 100644
--- a/src/main/webapp/scripts/app/issue/issueAdd.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -9,9 +9,9 @@
     ],
     function (app, angular) {
         app.controller('issueAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$uibModal', '$injector',
-            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'HostingField', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
+            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
             function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $uibModal,  $injector, $controller, $tableProvider, SweetAlert, $timeout,
-                      $stateParams, $q, Issue, User, AttachedFile, IssueType, HostingField, Priority, Severity, IssueTypeCustomField, $filter, $state) {
+                      $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) {
 
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
@@ -37,10 +37,11 @@
                     setIssueTypeTemplate : setIssueTypeTemplate,    //  �씠�뒋 �쑀�삎 �뀥�뵆由� �쟻�슜�븯湲�
                     startExecute : startExecute, //  而⑦듃濡� 濡쒕뵫�떆 泥섏쓬�쑝濡� �떆�옉�릺�뒗 �븿�닔
                     containsPartner : containsPartner,
-                    getPartners : getPartners,
+                    getPartners : getPartners
                 };
 
                 $scope.vm = {
+                    partnerVos : "",
                     form : {
                         title : "",    //  �젣紐�
                         description : "",   //  �궡�슜
@@ -57,7 +58,8 @@
                         attachedFiles : [], //  �꽟癒몃끂�듃濡� �뙆�씪 �뾽濡쒕뱶瑜� �븷 寃쎌슦 �꽌踰꾩뿉�꽌 pk瑜� �뵲怨� issue id�� �뿰�룞 �옉�뾽�씠 �븘�슂�븯�떎.
                         startCompleteDateRange : "", //  �떆�옉�씪 ~ 醫낅즺�씪
                         detectingDateRange : "", //  �깘吏��씪
-                        issueCustomFields : []  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        issueCustomFields : [],  //  �씠�뒋�뿉�꽌 �궗�슜�릺�뒗 �궗�슜�옄 �젙�쓽 �븘�뱶
+                        requiredDatas : []  // �궗�슜�옄 �젙�쓽 �븘�뱶 �븘�닔 �뜲�씠�꽣 泥댄겕
                     },
                     infiniteAdd : false,    //  �뿰�냽 �깮�꽦
                     projectName : "",   //  �봽濡쒖젥�듃 紐� 寃��깋
@@ -119,6 +121,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}));
 
                 function getStartProjectListCallback(result){
@@ -131,13 +145,15 @@
 
                 //  �봽濡쒖젥�듃媛� 蹂�寃쎈릺硫� �떞�떦�옄 珥덇린�솕
                 $scope.$watch("vm.form.projects", function (newValue, oldValue) {
+
+
                     if (angular.isDefined(newValue)) {
                         if (newValue.length < 1) {
                             $scope.vm.form.users = [];
+                        } else {
+                            //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
+                            $scope.fn.getIssueTypeCustomFields();
                         }
-
-                        //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
-                        $scope.fn.getIssueTypeCustomFields();
                     }
                 });
 
@@ -319,8 +335,8 @@
                 function containsPartner(name) {
                     var result = false;
 
-                    if ($scope.vm.viewer.usePartnerVo != null) {
-                        $scope.vm.viewer.usePartnerVo.forEach(function (partnerVo) {
+                    if ($scope.vm.partnerVos != null) {
+                        $scope.vm.partnerVos.forEach(function (partnerVo) {
                             if (name === partnerVo.name) {
                                 result = true;
                             }
@@ -577,27 +593,27 @@
                         },
                         fileFormDataName : "file"
                     }).then(function (result) {
-                            if (result.data.message.status === "success") {
-                                //  �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬.
-                                if ($scope.vm.infiniteAdd) {
-                                    $scope.fn.infiniteAddForm();
-                                }
-                                else {
-                                    $scope.fn.cancel();
-
-                                    if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") {
-                                        $state.go("issues.list");
-                                    }
-                                }
-
-                                $rootScope.$broadcast("getIssueList", {});
+                        if (result.data.message.status === "success") {
+                            //  �뿰�냽 �벑濡� 泥댄겕�떆 �씠�룞�븯吏� �븡�쓬.
+                            if ($scope.vm.infiniteAdd) {
+                                $scope.fn.infiniteAddForm();
                             }
                             else {
-                                SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
+                                $scope.fn.cancel();
+
+                                if ($state.current.name !== "issues.list" || $state.current.name === "issues.list") {
+                                    $state.go("issues.list");
+                                }
                             }
 
-                            $rootScope.spinner = false;
-                        });
+                            $rootScope.$broadcast("getIssueList", {});
+                        }
+                        else {
+                            SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
+                        }
+
+                        $rootScope.spinner = false;
+                    });
                 }
 
                 //  �뙘�뾽 李� �떕湲�
@@ -648,22 +664,6 @@
                     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();
@@ -687,6 +687,7 @@
                 //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶
                 function getIssueTypeCustomFields() {
                     $scope.vm.form.issueCustomFields = [];
+                    $scope.vm.form.requiredDatas = [];
                     //  �씠�뒋 ���엯 �븘�씠�뵒�굹 �봽濡쒖젥�듃 �븘�씠�뵒媛� �뾾�쑝硫� �넻�떊�쓣 �븯吏� �븡�뒗�떎.
                     if (!$rootScope.isDefined($scope.vm.form.issueTypeId) || $scope.vm.form.projects.length < 1) {
                         return;
@@ -701,9 +702,17 @@
 
                         if (result.data.message.status === "success") {
 
+                            $scope.vm.form.issueCustomFields = [];
+                            $scope.vm.form.requiredDatas = [];
                             angular.forEach(result.data.data, function (issueTypeCustomField) {
                                 switch (issueTypeCustomField.customFieldVo.customFieldType) {
                                     case "INPUT" :
+                                    case "NUMBER" :
+                                    case "DATETIME" :
+                                    case "IP_ADDRESS" :
+                                    case "EMAIL" :
+                                    case "SITE" :
+                                    case "TEL" :
                                         issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue;
                                         break;
                                     case "SINGLE_SELECT" :
@@ -722,8 +731,10 @@
                                         });
                                         break;
                                 }
-
                                 $scope.vm.form.issueCustomFields.push(issueTypeCustomField);
+                                if(issueTypeCustomField.customFieldVo.requiredData === "Y") {
+                                    $scope.vm.form.requiredDatas.push(issueTypeCustomField.customFieldVo.requiredData);
+                                }
                             });
                         }
                         else {
@@ -777,12 +788,17 @@
                 }
 
                 function getPartners() {
-
-                    HostingField.getPartnerList($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.partnerVos = result.data.content;
+                            $scope.vm.partnerVos = result.data.data;
                         }
                     });
 
@@ -794,21 +810,25 @@
                     var promises = {
                         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) {
                         // �쁽�옱 �봽濡쒖젥�듃 �꽕�젙
                         if ($rootScope.workProject != null && $rootScope.workProject.id > -1) {
                             $scope.vm.projectName = $rootScope.workProject.name;
-                            $scope.fn.projects = [];
-                            $scope.fn.projects.push($rootScope.workProject);
-                            $scope.fn.getProjectList($scope.vm.projectName, $scope.vm.form.projects, $scope.vm.autoCompletePage.project.page, getStartProjectListCallback);
+                            $scope.vm.form.projects = [];
+                            $scope.vm.form.projects.push($rootScope.workProject);
                         }
-
+                        // �쁽�옱 �씠�뒋���엯 �쑀�삎 �꽕�젙
+                        var id = $rootScope.getCurrentIssueTypeId();
+                        if (id != null) {
+                            $scope.vm.form.issueTypeId = id.toString();
+                        }
                         $log.debug("promises 寃곌낵 ", results);
                     });
                 }
 
                 $scope.fn.startExecute();
             }]);
-    });
+    });
\ No newline at end of file

--
Gitblit v1.8.0