OWL ITS + 탐지시스템(인터넷 진흥원)
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,