From 0fe6dd1bf6dfdcd89badddacb1dcb52c2d5c6c57 Mon Sep 17 00:00:00 2001
From: jhjang <jhjang@maprex.co.kr>
Date: 목, 25 11월 2021 15:06:43 +0900
Subject: [PATCH] - 이슈 상세 화면에서 이슈 상태 변경시 워크플로우에 지정된 담당부서를 불러오도록 수정 - 이슈 상태 변경 저장시 담당부서도 변경되도록 수정

---
 src/main/webapp/scripts/app/issue/issueModifyStatus.controller.js |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 52 insertions(+), 6 deletions(-)

diff --git a/src/main/webapp/scripts/app/issue/issueModifyStatus.controller.js b/src/main/webapp/scripts/app/issue/issueModifyStatus.controller.js
index 2d705ae..8fa2199 100644
--- a/src/main/webapp/scripts/app/issue/issueModifyStatus.controller.js
+++ b/src/main/webapp/scripts/app/issue/issueModifyStatus.controller.js
@@ -8,25 +8,60 @@
     ],
     function (app) {
         app.controller('issueModifyStatusController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', '$stateParams', 'parameter',
-            'Issue', 'IssueStatus', '$filter',
-            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, $stateParams, parameter, Issue, IssueStatus, $filter) {
+            'Issue', 'IssueStatus', '$filter', '$injector', '$controller',
+            function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, $stateParams, parameter, Issue, IssueStatus, $filter, $injector, $controller) {
 
                 //  �븿�닔 紐⑥쓬
                 $scope.fn = {
                     cancel: cancel,    //  �뙘�뾽 李� �떕湲�
                     formSubmit: formSubmit,    //  �뤌 �쟾�넚
                     formCheck: formCheck,  //  �뤌 泥댄겕
-                    findNextMultiIssueStatus: findNextMultiIssueStatus  //  �씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭瑜� 李얜뒗�떎.
+                    findNextMultiIssueStatus: findNextMultiIssueStatus,  //  �씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭瑜� 李얜뒗�떎.
+                    removeDepartment : removeDepartment,     // �떞�떦遺��꽌 �궘�젣
                 };
 
                 //  蹂��닔 紐⑥쓬
                 $scope.vm = {
                     issueStatusList: [],   //  蹂�寃� 媛��뒫�븳 �긽�깭 紐⑸줉
                     form: {
-                        issueStatusId: "",
+                        departments: [],    // �떞�떦 遺��꽌 �꽑�깮 紐⑸줉
+                        issueStatusId: undefined,
                         comment: ""
-                    }
+                    },
+                    departmentName : ""
                 };
+
+                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
+
+                // �떞�떦遺��꽌 �궘�젣
+                function removeDepartment(index) {
+                    $scope.vm.form.departments.splice(index, 1);
+                }
+
+                $scope.$watch("vm.form.issueStatusId", function (newValue) {
+                    // �씠�뒋 �긽�깭蹂� �떞�떦遺��꽌 �몴�떆
+                    let selectIssueStatusId = $scope.vm.form.issueStatusId;
+                    let issueStatusList = $scope.vm.issueStatusList;
+                    $scope.vm.form.departments = [];
+
+                    if (issueStatusList != null && $scope.vm.issueStatusList.length > 0 && selectIssueStatusId !== "") {
+                        for (let i = 0; i < issueStatusList.length; i++) {
+                            if (issueStatusList[i].id.toString() === selectIssueStatusId) {
+                                let workflowDepartments = issueStatusList[i].workflowDepartmentVos;
+
+                                workflowDepartments.forEach(function (workflowDepartment) {
+                                    $scope.vm.form.departments.push(workflowDepartment.departmentVo);
+                                });
+                                break;
+                            }
+                        }
+                        $scope.vm.issueStatusList.forEach(function (issueStatus) {
+                            if (issueStatus.id === $scope.vm.form.issueStatusId) {
+
+                            }
+                        });
+                    }
+                });
 
                 //  �씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭瑜� 李얜뒗�떎.
                 function findNextMultiIssueStatus() {
@@ -38,6 +73,7 @@
 
                         if (result.data.message.status === "success") {
                             $scope.vm.issueStatusList = result.data.data;
+
                         } else {
                             SweetAlert.swal($filter("translate")("issue.failedIssueStatusCheck"), result.data.message.message, "error"); // �씠�룞 媛��뒫�븳 �씠�뒋 �긽�깭 議고쉶 �떎�뙣
                         }
@@ -62,7 +98,17 @@
                     var content = {
                         ids: parameter.issueIds,
                         issueStatusId: $scope.vm.form.issueStatusId,
-                        comment: $scope.vm.form.comment
+                        comment: $scope.vm.form.comment,
+                        projectId : parameter.projectId,
+                        departmentIds : (function () {
+                            var departmentIds = [];
+
+                            angular.forEach($scope.vm.form.departments, function (department) {
+                                departmentIds.push(department.id);
+                            });
+
+                            return departmentIds;
+                        })(),
                     };
 
                     Issue.modifyMultiIssueStatus($resourceProvider.getContent(content,

--
Gitblit v1.8.0