OWL ITS + 탐지시스템(인터넷 진흥원)
wyu
2021-11-19 4cef9a63afe347bcc007f2f18c21da69b346da64
src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -26,12 +26,14 @@
                $scope.fn.getChangeIssueStatusList = getChangeIssueStatusList;    //  이슈의 현재 상태에서 변경 가능한 이슈 샅태 목록 가져오기
                $scope.fn.modifyIssueStatus = modifyIssueStatus;    //  이슈 상태 변경
                $scope.fn.modifyIssueUser = modifyIssueUser;    //  이슈 담당자 변경
                $scope.fn.modifyIssueDepartment = modifyIssueDepartment;    //  이슈 담당부서 변경
                $scope.fn.initReload = initReload;  //  초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다.
                $scope.fn.sendMail = sendMail;  //  특정 사용자에게 이슈 정보를 메일로 발송
                $scope.fn.versionView = versionView;    //  버전 정보를 표시한다.
                $scope.fn.reservation = reservation;    //  예약 정보를 확인 및 변경 한다.
                $scope.fn.getIssueListCallBack = getIssueListCallBack;
                $scope.fn.addRelationIssue = addRelationIssue;      // 연관 이슈 추가
                $scope.fn.addDownIssue = addDownIssue;      // 하위 이슈 추가
                //  이슈 목록 컨트롤러 vm, fn 상속 중
@@ -61,10 +63,20 @@
                $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0];
                $scope.vm.form = {
                    issues : []
                    issues : [], //연관 일감
                    issuesDown : []  // 하위 일감
                };
                $scope.vm.issueName = "";
                $scope.vm.issueNameDown = "";       // 선택된 하위 일감 이름
                $scope.vm.autoCompletePageDown = {
                    issue : {
                        page : 0,
                        totalPage : 0
                    },
                };
                $scope.vm.issueName = "";       // 선택된 연관 일감 이름
                $scope.vm.autoCompletePage = {
                    issue : {
                        page : 0,
@@ -80,10 +92,60 @@
                    changeDetailView : changeDetailView
                };
                $scope.vm.downResponseData = [];
                $scope.vm.downTableConfigs = [];
                //  테이블 이벤트
                $scope.downTableEvent = {
                    removeDownIssue : removeDownIssue,   // 연관 일감 삭제
                    changeDetailView : changeDetailView
                };
                function changeDetailView(issue) {
                    //  이슈 번호를 저장한 후 이슈 목록으로 이동한다.
                    // $rootScope.$broadcast("makeIssueSearch", issue);
                    $scope.$parent.tableEvent.changeDetailView(issue.id);
                }
                // 하위 일감 삭제
                function removeDownIssue(id) {
                    //  삭제 알림
                    SweetAlert.swal({
                            title : $filter("translate")("issue.downIssueRemove"), // 연관 일감 삭제
                            text : $filter("translate")("issue.wantToDeleteSelectIssue"),
                            type : "warning",
                            showCancelButton : true,
                            confirmButtonColor : "#DD6B55",
                            confirmButtonText : $filter("translate")("common.delete"), // 삭제
                            cancelButtonText : $filter("translate")("common.cancel"), // 취소
                            closeOnConfirm : false,
                            closeOnCancel : true
                        },
                        function (isConfirm) {
                            SweetAlert.close();
                            if (isConfirm) {
                                $rootScope.spinner = true;
                                var contents = {
                                    id : id
                                };
                                Issue.modifyParentIssue($resourceProvider.getContent(
                                    contents,
                                    $resourceProvider.getPageContent(0, 10))).then(function (result) {
                                    if (result.data.message.status === "success") {
                                        $scope.fn.getIssueDetail();
                                    }
                                    else {
                                        SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueDown"), result.data.message.message); // "연관일감 삭제 실패"
                                    }
                                    $rootScope.spinner = false;
                                });
                            }
                        });
                }
                // 연관 일감 삭제
@@ -133,7 +195,25 @@
                    $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage;
                }
                //  이슈 테이블 설정
                //  하위 이슈 테이블 설정
                function makeTableConfigsDown() {
                    $scope.vm.downTableConfigs = [];
                    $scope.vm.downTableConfigs.push($tableProvider.config()
                        .setHName("issue.downIssueTitle")
                        .setDType("renderer")
                        .setHWidth("width-60 bold")
                        .setHSort(false)
                        .setDRenderer("ISSUE_DOWN_MOVE"))
                    $scope.vm.downTableConfigs.push($tableProvider.config()
                        .setHName("issue.relationIssueDelete")
                        .setDType("renderer")
                        .setHWidth("width-10 bold")
                        .setDRenderer("ISSUE_DOWN_DELETE")
                        .setHSort(false)
                        .setDAlign("text-center"))
                }
                //  연관 이슈 테이블 설정
                function makeTableConfigs() {
                    $scope.vm.relTableConfigs = [];
                    $scope.vm.relTableConfigs.push($tableProvider.config()
@@ -175,6 +255,32 @@
                //         }
                //     });
                // }
                // 하위 이슈 추가
                function addDownIssue() {
                    if ($scope.vm.issueNameDown.length == 0 || $scope.vm.form.issuesDown.length == 0
                        || $scope.vm.issueNameDown != $scope.vm.form.issuesDown[0].title) {
                        SweetAlert.error($filter("translate")("issue.errorSelectDownIssue"), "");
                        return;
                    }
                    var contents = {
                        id : $scope.vm.form.issuesDown[0].id,
                        parentIssueId : $rootScope.currentDetailIssueId
                    };
                    Issue.modifyParentIssue($resourceProvider.getContent(
                        contents,
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.fn.getIssueDetail();
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "연관일감 생성 실패"
                        }
                    });
                }
                // 연관 이슈 추가
@@ -258,6 +364,26 @@
                    });
                }
                //  담당부서 변경
                function modifyIssueDepartment() {
                    $uibModal.open({
                        templateUrl : 'views/issue/issueModifyDepartment.html',
                        size : "md",
                        controller : 'issueModifyDepartmentController',
                        backdrop : 'static',
                        resolve : {
                            parameter : function () {
                                return {
                                    departmentVos : [$scope.vm.form.issues[0].departmentVos],
                                    id : [$scope.vm.form.issues[0].id],
                                    projectId : [$scope.vm.form.issues[0].projectVo.id],
                                    project : [$scope.vm.form.issues[0].projectVo]
                                };
                            }
                        }
                    });
                }
                //  변경 가능한 이슈 상태 목록을 조회하고 수정 모드로 화면을 변경한다.
                function getChangeIssueStatusList(checkPermission) {
                    //  수정 권한이 없으면 이슈 상태 변경 불가
@@ -316,6 +442,8 @@
                                $scope.vm.issueName = "";
                                $scope.vm.form.issues = [];
                                $scope.vm.form.issues.push(result.data.data);
                                $scope.vm.form.issuesDown = [];
                                $scope.vm.form.issuesDown.push(result.data.data);
                                makeTableConfigs();
                                angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){
@@ -323,7 +451,13 @@
                                    $scope.vm.form.issues.push(issueRelationVo.issueRelation);
                                });
                                makeTableConfigsDown();
                                angular.forEach(result.data.data.issueDownVos, function (issueDownVo){
                                    $scope.vm.form.issuesDown.push(issueDownVo.issue);
                                });
                                $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos;
                                $scope.vm.viewer.issueDownVos = result.data.data.issueDownVos;
                            }
                        }
                        else {