OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 303d80b28240177fdb813872d00fad757cd650d4
src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -53,7 +53,9 @@
                $scope.fn.issueBack = issueBack;
                $scope.fn.removeRelationIssue = removeRelationIssue;
                $scope.fn.removeDownIssue = removeDownIssue;
                $scope.fn.changeDetailPageRowCount = changeDetailPageRowCount;    //  페이지 변경
                $scope.fn.sendCommonMail = sendCommonMail;
                $scope.fn.getSubPageContent = getSubPageContent;
                //  이슈 목록 컨트롤러 vm, fn 상속 중
                $scope.vm.viewer = {};      // 현재 이슈
@@ -90,6 +92,16 @@
                    issueHostingVos : []
                };
                $scope.vm.responseData = {
                    data : []
                };
                $scope.vm.subPage = {
                    selectedRelPage : 0,
                    selectedRelPageRowCount : String(10),
                    selectedDownPage : 0,
                    selectedDownPageRowCount : String(10)
                };
                $scope.vm.issueNameDown = "";       // 선택된 하위 일감 이름
                $scope.vm.autoCompletePageDown = {
@@ -143,16 +155,21 @@
                    }
                }
                //  페이지 변경
                function changeDetailPageRowCount() {
                    $scope.fn.getIssueDetail(0,0);
                }
                function onActivate() {
                    window.scroll(0,240);
                }
                angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector}));
                 // 이슈 목록 데이터 갱신
                $scope.$on("getIssueList", function () {
                    $scope.fn.getIssueDetail();
                });
                // 이슈 목록 데이터 갱신
                /*$scope.$on("getIssueList", function () {
                    $scope.fn.getIssueDetail(0,0);
                });*/
                // 하위 이슈 삭제
                function removeDownIssue() {
@@ -214,7 +231,7 @@
                                    $resourceProvider.getPageContent(0, 10))).then(function (result) {
                                    if (result.data.message.status === "success") {
                                        $scope.fn.getIssueDetail();
                                        $scope.fn.getIssueDetail(0,0);
                                    }
                                    else {
                                        SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueDown"), result.data.message.message); // "연관일감 삭제 실패"
@@ -263,7 +280,7 @@
                    //  삭제 알림
                    SweetAlert.swal({
                            title : $filter("translate")("issue.relationIssueRemove"), // 연관 이슈 삭제
                            text : $filter("translate")("issue.wantToDeleteSelectIssue"),
                            text : $filter("translate")("issue.wantToDeleteSelectRelIssueInList"),
                            type : "warning",
                            showCancelButton : true,
                            confirmButtonColor : "#DD6B55",
@@ -287,7 +304,7 @@
                                    $resourceProvider.getPageContent(0, 10))).then(function (result) {
                                    if (result.data.message.status === "success") {
                                        $scope.fn.getIssueDetail();
                                        $scope.fn.getIssueDetail(0,0);
                                    }
                                    else {
                                        SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueRelation"), result.data.message.message); // "연관일감 삭제 실패"
@@ -387,6 +404,33 @@
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDName("modifyDate"));
                            break;
                        case "REL_COMPANY" :   //  업체
                            $scope.vm.relTableConfigs.push($tableProvider.config()
                                .setHName("common.company")
                                .setDName("companyName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_COMPANY"));
                            break;
                        case "REL_ISP" :   //  ISP
                            $scope.vm.relTableConfigs.push($tableProvider.config()
                                .setHName("common.isp")
                                .setDName("ispName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_ISP"));
                            break;
                        case "REL_HOSTING" :   //  HOSTING
                            $scope.vm.relTableConfigs.push($tableProvider.config()
                                .setHName("common.hosting")
                                .setDName("hostingName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_HOSTING"));
                            break;
                    }
@@ -488,6 +532,33 @@
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDName("modifyDate"));
                            break;
                        case "DOWN_COMPANY" :   //  업체
                            $scope.vm.downTableConfigs.push($tableProvider.config()
                                .setHName("common.company")
                                .setDName("companyName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_COMPANY"));
                            break;
                        case "DOWN_ISP" :   //  ISP
                            $scope.vm.downTableConfigs.push($tableProvider.config()
                                .setHName("common.isp")
                                .setDName("ispName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_ISP"));
                            break;
                        case "DOWN_HOSTING" :   //  HOSTING
                            $scope.vm.downTableConfigs.push($tableProvider.config()
                                .setHName("common.hosting")
                                .setDName("hostingName")
                                .setDType("renderer")
                                .setHWidth("bold " + issueTableConfig.width)
                                .setDAlign("text-center")
                                .setDRenderer("USE_HOSTING"));
                            break;
                    }
@@ -713,7 +784,7 @@
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.fn.getIssueDetail();
                            $scope.fn.getIssueDetail(0,0);
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "연관일감 생성 실패"
@@ -745,7 +816,7 @@
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                        if (result.data.message.status === "success") {
                            $scope.fn.getIssueDetail();
                            $scope.fn.getIssueDetail(0,0);
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "연관일감 생성 실패"
@@ -764,14 +835,14 @@
                //     $scope.vm.viewer.id = args["id"];
                //     $scope.fn.getIssueDetail();
                // });
                // 이메일 보낸후 상세화면 갱신
                //  $rootScope.$on("getIssueDetail", function (event, args) {
                //      $scope.fn.getIssueDetail();
                //  });
                $scope.$on("getIssueDetail", function (event, args) {
                    $scope.fn.getIssueDetail();
                    $scope.fn.getIssueDetail(0,0);
                });
                $scope.$watch(function() {
@@ -779,7 +850,7 @@
                }, function() {
                    if ($rootScope.currentDetailIssueId != null) {
                        $scope.vm.viewer.id = $rootScope.currentDetailIssueId;
                        $scope.fn.getIssueDetail();
                        $scope.fn.getIssueDetail(0,0);
                    }
                }, true);
@@ -899,7 +970,6 @@
                            parameter : function () {
                                return {
                                    issueTypeId : $scope.vm.viewer.issueTypeVo.id
                                };
                            }
                        }
@@ -967,21 +1037,75 @@
                    return result;
                }
                function getSubPageContent(relPage, relPageSize, downPage, downPageSize) {
                    return {
                        relPage: relPage,
                        relPageSize: relPageSize,
                        downPage: downPage,
                        downPageSize: downPageSize
                    };
                }
                //  이슈 상세 정보 조회
                function getIssueDetail() {
                function getIssueDetail(selectedRelPage, selectedDownPage) {
                    $rootScope.spinner = true;
                    if (selectedRelPage < 0) {
                        selectedRelPage = 0;
                    }
                    if (selectedDownPage < 0) {
                        selectedDownPage = 0;
                    }
                    //  현재 페이지 정보
                    var currentRelPage = 0;
                    var currentDownPage = 0;
                    //  쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장
                    if (angular.isUndefined(selectedRelPage) || selectedRelPage === "") {
                        currentRelPage = $scope.vm.page.selectedRelPage;
                    }
                    else {
                        currentRelPage = selectedRelPage;
                    }
                    if (angular.isUndefined(selectedDownPage) || selectedDownPage === "") {
                        currentDownPage = $scope.vm.page.selectedDownPage;
                    }
                    else {
                        currentDownPage = selectedDownPage;
                    }
                    //  초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다.
                    $scope.fn.initReload();
                    // $scope.fn.getRelTableConfigs();
                    // $scope.fn.getDownTableConfigs();
                    Issue.detail($resourceProvider.getContent(
                        {id : $scope.vm.viewer.id, deep : "02"},
                        $resourceProvider.getPageContent(0, 1))).then(function (result) {
                    var pageContent = $scope.fn.getSubPageContent(currentRelPage, $scope.vm.subPage.selectedRelPageRowCount
                        , currentDownPage, $scope.vm.subPage.selectedDownPageRowCount);
                    var content = $resourceProvider.getContent(
                        {
                            id : $scope.vm.viewer.id
                            , issueTypeId : (function () {
                                var id = "";
                                if ($rootScope.allIssueList) {
                                    id = -1;
                                } else {
                                    id = $rootScope.getCurrentIssueTypeId();
                                }
                                return id;
                            })()
                            , deep : "02", pageContent
                        }, null);
                    Issue.detail(content).then(function (result) {
                        if (result.data.message.status === "success") {
                            if (angular.isDefined(result.data.data)) {
                                $scope.vm.subPage.selectedRelPage = currentRelPage + 1;
                                $scope.vm.subPage.selectedDownPage = currentDownPage + 1;
                                $scope.vm.responseData = result.data.data;
                                $scope.vm.viewer = angular.copy(result.data.data);
                                //  이슈 이미지 미리 보기 만들기
                                $scope.fn.makePreviewImages(result.data.data.attachedFileVos);