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

---
 src/main/webapp/scripts/app/issue/issueAdd.controller.js |  106 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 91 insertions(+), 15 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueAdd.controller.js b/src/main/webapp/scripts/app/issue/issueAdd.controller.js
index 9789935..054abd1 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', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
+            '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'Project', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state',
             function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $uibModal,  $injector, $controller, $tableProvider, SweetAlert, $timeout,
-                      $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) {
+                      $stateParams, $q, Issue, User, AttachedFile, Project, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) {
 
                 $scope.fn = {
                     cancel : cancel,    //  �뙘�뾽 李� �떕湲�
@@ -27,6 +27,7 @@
                     onFileSelect : onFileSelect,    //  �뙆�씪 泥⑤�
                     infiniteAddForm : infiniteAddForm,  //  怨꾩냽 �깮�꽦
                     imageUpload : imageUpload,  //  �꽟癒몃끂�듃 �씠誘몄� �뾽濡쒕뱶
+                    getProject : getProject,    //�봽濡쒖젥�듃 媛��졇�삤湲�(�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦 �궗�슜)
                     getIssueTypes : getIssueTypes,  //  �씠�뒋 ���엯 紐⑸줉 媛��졇�삤湲�
                     getPriorities : getPriorities,  //  �슦�꽑�닚�쐞 紐⑸줉 媛��졇�삤湲�
                     getSeverities : getSeverities,  //  以묒슂�룄 紐⑸줉 媛��졇�삤湲�
@@ -44,6 +45,7 @@
                     getChildSectorListCallBack : getChildSectorListCallBack,
                     getRegionListCallBack : getRegionListCallBack,
                     getStatusListCallBack : getStatusListCallBack,
+                    getIssueTypeOfProject : getIssueTypeOfProject
                 };
 
                 $scope.vm = {
@@ -200,6 +202,8 @@
                         } else {
                             //  �씠�뒋 �쑀�삎�뿉 �뿰寃곕맂 �궗�슜�옄 �젙�쓽 �븘�뱶 媛��졇�삤湲�
                             $scope.fn.getIssueTypeCustomFields();
+                            //  �꽑�깮�븳 �봽濡쒖젥�듃�뿉 �냽�빐�엳�뒗 �씠�뒋�쑀�삎留� 蹂댁뿬二쇨린
+                            $scope.fn.getIssueTypeOfProject();
                         }
                     }
                 });
@@ -543,6 +547,27 @@
                     $scope.vm.hostingMemo = result[0].memo;
                 });
 
+                $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;
+                });
+
                 //  �뤌 �쟾�넚
                 function formSubmit() {
                     $rootScope.spinner = true;
@@ -631,7 +656,6 @@
                         issueCompanyFields : (function () {
                             var issueCompanyFields = [];
                             if ($scope.vm.form.issueCompanyFields != null && $scope.vm.form.issueCompanyFields.length > 0 ){
-                                var companyField = $scope.vm.form.issueCompanyFields[0];
                                 issueCompanyFields.push({
                                     companyId : $scope.vm.companyId,
                                     name : $scope.vm.companyName,
@@ -640,11 +664,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
                                 });
                             }
                             return issueCompanyFields;
@@ -657,35 +681,35 @@
                         companyMemo : $scope.vm.companyMemo,
                         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;
                             }
                             return companyTypeId;
                         })(),
                         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;
                             }
                             return parentSectorId;
                         })(),
                         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;
                             }
                             return childSectorId;
                         })(),
                         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;
                             }
                             return regionId;
                         })(),
                         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 if ($scope.vm.form.status !== ""){
                                 statusId = 120; //吏곸젒�엯�젰 �씪 寃쎌슦
@@ -817,11 +841,60 @@
                     $(document).unbind("keydown");  //  �떒異뺥궎 �씠踰ㅽ듃 �젣嫄�
                 }
 
+                //  �봽濡쒖젥�듃 媛��졇�삤湲�(�쟾泥� �봽濡쒖젥�듃 �씪 寃쎌슦 �궗�슜)
+                function getProject() {
+                    var deferred = $q.defer();
+
+                    Project.findIssueType($resourceProvider.getContent({issueTypeId : $rootScope.getCurrentIssueTypeId()},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        if (result.data.message.status === "success") {
+                            if ($rootScope.isDefined(result.data.data)) {
+                                $scope.vm.form.projects.push(result.data.data);
+                                $scope.vm.projectName = result.data.data.name;
+                                $scope.fn.getIssueTypeOfProject();
+                                $scope.fn.getIssueTypeCustomFields();
+                            }
+                        }
+                        else {
+                            SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // �씠�뒋 ���엯 紐⑸줉 議고쉶 �떎�뙣
+                        }
+
+                        deferred.resolve(result.data.data);
+                    });
+
+                    return deferred.promise;
+                }
+
                 //  �씠�뒋 �쑀�삎 紐⑸줉
                 function getIssueTypes() {
                     var deferred = $q.defer();
 
+                    if (!$rootScope.isDefined($scope.vm.form.projects[0])) {
+                        return;
+                    }
+
                     IssueType.find($resourceProvider.getContent({},
+                        $resourceProvider.getPageContent(0, 1000))).then(function (result) {
+
+                        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") {
@@ -846,6 +919,7 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.priorities = result.data.data;
+                            $scope.vm.form.priorityId = $scope.vm.priorities[2].id.toString();
                         }
                         else {
                             SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // �슦�꽑�닚�쐞 紐⑸줉 議고쉶 �떎�뙣
@@ -866,6 +940,7 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.severities = result.data.data;
+                            $scope.vm.form.severityId = $scope.vm.severities[2].id.toString();
                         }
                         else {
                             SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 以묒슂�룄 紐⑸줉 議고쉶 �떎�뙣
@@ -976,7 +1051,7 @@
                 }
 
                 function getPartners() {
-                    if($scope.vm.form.issueTypeId === ""){
+                    if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){
                         $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
                     }
                     var content = {
@@ -992,7 +1067,7 @@
                 }
 
                 function getDepartments() {
-                    if($scope.vm.form.issueTypeId === ""){
+                    if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){
                         $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id
                     }
                     var content = {
@@ -1015,6 +1090,7 @@
                 function startExecute() {
 
                     var promises = {
+                        getProject : $scope.fn.getProject(),
                         getIssueTypes : $scope.fn.getIssueTypes(),
                         getPriorities : $scope.fn.getPriorities(),
                         getSeverities : $scope.fn.getSeverities(),

--
Gitblit v1.8.0