From 71b8c61b79be17f9ac886b947051d3256a32f159 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 금, 18 2월 2022 11:14:16 +0900
Subject: [PATCH] 이슈유형 설정에 상위 이슈 업체/ISP/호스팅 상속 기능 추가

---
 src/main/webapp/scripts/app/issue/issueImportExcel.controller.js |  110 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 80 insertions(+), 30 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js
index 035e8e1..4e88978 100644
--- a/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueImportExcel.controller.js
@@ -17,7 +17,8 @@
                     formCheck : formCheck,  //  �뤌 泥댄겕
                     getIssueTypes : getIssueTypes,  //  �씠�뒋 ���엯 紐⑸줉 媛��졇�삤湲�
                     makeSearchConditions : makeSearchConditions,    //  �꽑�깮�븳 議곌굔�쓣 json �쑝濡� 留뚮뱺�떎.
-                    onFileSelect : onFileSelect //  �뙆�씪 �뾽濡쒕뱶
+                    onFileSelect : onFileSelect, //  �뙆�씪 �뾽濡쒕뱶
+                    getIssueListCallBack : getIssueListCallBack // �씠�뒋 autocomplete page �뾽�뜲�씠�듃
                 };
 
                 $scope.vm = {
@@ -30,6 +31,10 @@
                     },
                     projectName : "",
                     autoCompletePage : {
+                        issue : {
+                            page : 0,
+                            totalPage : 0
+                        },
                         project : {
                             page : 0,
                             totalPage : 0
@@ -40,9 +45,23 @@
 
                 angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
 
+                //  �씠�뒋 autocomplete page �뾽�뜲�씠�듃
+                function getIssueListCallBack(result) {
+                    $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
+                }
+
+                $scope.$on("projectListEvent", function (event, result) {
+                    $scope.vm.form.projects = result;
+                    $scope.vm.form.issues = "";
+                    $scope.fn.getIssueTypes();
+                });
+
                 //  �씠�뒋 �쑀�삎 紐⑸줉
                 function getIssueTypes() {
-                    IssueType.find($resourceProvider.getContent({},
+                    if (!$rootScope.isDefined($scope.vm.form.projects[0])) {
+                        return;
+                    }
+                    IssueType.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id},
                         $resourceProvider.getPageContent(0, 1000))).then(function (result) {
 
                         if (result.data.message.status === "success") {
@@ -88,9 +107,9 @@
                         return false;
                     }
 
-                    if ($scope.vm.form.issues == null || $scope.vm.form.issues.length === 0) {
+                    /*if ($scope.vm.form.issues == null || $scope.vm.form.issues.length === 0) {
                         return false;
-                    }
+                    }*/
 
                     if ($scope.vm.form.file.length < 1) {
                         return true;
@@ -103,34 +122,65 @@
                 function formSubmit() {
                     $rootScope.spinner = true;
 
-                    Issue.importExcel({
-                        method : "POST",
-                        file : $scope.vm.form.file,
-                        //      data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚
-                        fields : {
-                            content : {
-                                projectId : $scope.vm.form.projects[0].id,
-                                issueTypeId : $scope.vm.form.issueTypeId,
-                                parentIssueId : $scope.vm.form.issues[0].id
-                            }
-                        },
-                        fileFormDataName : "file"
-                    })
-                        .then(function (result) {
-                            if (result.data.message.status === "success") {
+                    let inheritYn = false;
+                    //  �븯�쐞�씠�뒋 �벑濡� & �뙆�듃�꼫 �젙蹂� �긽�냽 �씪 寃쎌슦 �븣由� 李�
+                    if ($rootScope.isDefined($scope.vm.form.issues) && $rootScope.isDefined($scope.vm.form.issues[0])) {
+                        if ($scope.vm.form.issues[0].inheritPartners != null && $scope.vm.form.issues[0].inheritPartners === true) {
 
-                                $timeout(function () {
-                                    SweetAlert.success($filter("translate")("issue.succeededIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �꽦怨�
-                                    $scope.fn.cancel();
-                                    $rootScope.$broadcast("getIssueList");
-                                }, 1000);
-                            }
-                            else {
-                                SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
-                            }
+                            SweetAlert.swal({
+                                    title : $filter("translate")("issue.addDownIssue"), // �븯�쐞 �씠�뒋 異붽�
+                                    text : $filter("translate")("issue.wantToInheritPartnersOfParentIssue"), // �긽�쐞�씠�뒋�쓽 �뙆�듃�꼫 �젙蹂�(�뾽泥�/ISP/�샇�뒪�똿)瑜� �쟻�슜�떆�궎寃좎뒿�땲源�?
+                                    type : "warning",
+                                    showCancelButton : true,
+                                    confirmButtonColor : "#DD6B55",
+                                    confirmButtonText : $filter("translate")("common.ok"), // �꽕
+                                    cancelButtonText : $filter("translate")("common.no"), // �븘�땲�삤
+                                    closeOnConfirm : false,
+                                    closeOnCancel : false
+                                },
+                                function (isConfirm) {
+                                    if (isConfirm) {
+                                        inheritYn = true;
+                                    }
+                                    Issue.importExcel({
+                                        method : "POST",
+                                        file : $scope.vm.form.file,
+                                        //      data �냽�꽦�쑝濡� 蹂꾨룄�쓽 �뜲�씠�꽣 �쟾�넚
+                                        fields : {
+                                            content : {
+                                                projectId : $scope.vm.form.projects[0].id,
+                                                issueTypeId : $scope.vm.form.issueTypeId,
+                                                parentIssueId : (function () {
+                                                    let id = -1;
+                                                    if ($rootScope.isDefined($scope.vm.form.issues)) {
+                                                        if ($rootScope.isDefined($scope.vm.form.issues[0])) {
+                                                            id = $scope.vm.form.issues[0].id;
+                                                        }
+                                                    }
+                                                    return id;
+                                                })(),
+                                                inheritYn : inheritYn
+                                            }
+                                        },
+                                        fileFormDataName : "file",
+                                    }).then(function (result) {
+                                        if (result.data.message.status === "success") {
+                                            $timeout(function () {
+                                                SweetAlert.success($filter("translate")("issue.succeededIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �꽦怨�
+                                                $scope.fn.cancel();
+                                                $rootScope.$broadcast("getIssueList");
+                                                $rootScope.spinner = false;
+                                            }, 1000);
+                                        }
+                                        else {
+                                            SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // �씠�뒋 �벑濡� �떎�뙣
+                                            $rootScope.spinner = false;
+                                        }
+                                    });
+                                });
+                        }
+                    }
 
-                            $rootScope.spinner = false;
-                        });
                 }
 
                 function cancel() {

--
Gitblit v1.8.0