OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/webapp/scripts/app/issue/issueAddDown.controller.js
@@ -90,6 +90,8 @@
                    companyTel : "",  // 업체 전화번호
                    companyEmail : "",  // 업체 이메일
                    companyUrl : "", // 업체 url
                    ipStart : "", //ip시작주소
                    ipEnd : "", //ip종료주소
                    companyMemo : "",  // 업체 비고
                    ispId : -1, // ISP ID
                    ispName : "", // ISP 명
@@ -184,7 +186,6 @@
                //  프로젝트가 변경되면 담당자 초기화
                $scope.$watch("vm.form.projects", function (newValue, oldValue) {
                    if (angular.isDefined(newValue)) {
                        if (newValue.length < 1) {
@@ -421,7 +422,16 @@
                }
                // 업체 카테고리 autocomplete page 업데이트
                function getParentSectorListCallBack(result) {
                function getParentSectorListCallBack(result, value) {
                    if (value === "") {
                        $scope.vm.form.parentSectorId = "";
                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
                            $scope.vm.form.parentSectors[0].id = "";
                        }
                        $scope.vm.form.childSectorId = "";
                        $scope.vm.form.childSector = "";
                        $scope.vm.form.childSectors = [];
                    }
                    $scope.vm.autoCompletePage.parentSector.totalPage = result.data.page.totalPage;
                }
@@ -450,70 +460,74 @@
                // 업체정보 결과 값 Event 처리(set)
                $scope.$on("companyFieldEvent", function (event, result) {
                    var ispFieldVo = result[0].ispFieldVo;
                    var hostingFieldVo = result[0].hostingFieldVo;
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        var ispFieldVo = result[0].ispFieldVo;
                        var hostingFieldVo = result[0].hostingFieldVo;
                    $scope.vm.companyId = result[0].id;
                    $scope.vm.companyName = result[0].name;
                    $scope.vm.companyManager = result[0].manager;
                    $scope.vm.companyTel = result[0].tel;
                    $scope.vm.companyEmail = result[0].email;
                    $scope.vm.companyUrl = result[0].url;
                    $scope.vm.companyMemo = result[0].memo;
                    $scope.vm.form.companyTypeId = result[0].companyTypeId;
                    $scope.vm.form.parentSectorId = result[0].parentSectorId;
                    $scope.vm.form.childSectorId = result[0].childSectorId;
                    $scope.vm.form.regionId = result[0].regionId;
                    $scope.vm.form.statusId = result[0].statusId;
                    $scope.vm.form.companyType = result[0].companyTypeName;
                    $scope.vm.form.parentSector = result[0].parentSectorName;
                    $scope.vm.form.childSector = result[0].childSectorName;
                    $scope.vm.form.region = result[0].regionName;
                    $scope.vm.form.status = result[0].statusName;
                        $scope.vm.companyId = result[0].id;
                        $scope.vm.companyName = result[0].name;
                        $scope.vm.companyManager = result[0].manager;
                        $scope.vm.companyTel = result[0].tel;
                        $scope.vm.companyEmail = result[0].email;
                        $scope.vm.companyUrl = result[0].url;
                        $scope.vm.ipStart = result[0].ipStart;
                        $scope.vm.ipEnd = result[0].ipEnd;
                        $scope.vm.companyMemo = result[0].memo;
                        $scope.vm.form.companyTypeId = result[0].companyTypeId;
                        $scope.vm.form.parentSectorId = result[0].parentSectorId;
                        $scope.vm.form.childSectorId = result[0].childSectorId;
                        $scope.vm.form.regionId = result[0].regionId;
                        $scope.vm.form.statusId = result[0].statusId;
                        $scope.vm.form.companyType = result[0].companyTypeName;
                        $scope.vm.form.parentSector = result[0].parentSectorName;
                        $scope.vm.form.childSector = result[0].childSectorName;
                        $scope.vm.form.region = result[0].regionName;
                        $scope.vm.form.status = result[0].statusName;
                    $scope.vm.ispId = "";
                    $scope.vm.ispName = "";
                    $scope.vm.ispCode = "";
                    $scope.vm.ispManager = "";
                    $scope.vm.ispTel = "";
                    $scope.vm.ispEmail = "";
                    $scope.vm.ispUrl = "";
                    $scope.vm.ispMemo = "";
                        $scope.vm.ispId = "";
                        $scope.vm.ispName = "";
                        $scope.vm.ispCode = "";
                        $scope.vm.ispManager = "";
                        $scope.vm.ispTel = "";
                        $scope.vm.ispEmail = "";
                        $scope.vm.ispUrl = "";
                        $scope.vm.ispMemo = "";
                    $scope.vm.hostingId = "";
                    $scope.vm.hostingName = "";
                    $scope.vm.hostingCode = "";
                    $scope.vm.hostingManager = "";
                    $scope.vm.hostingTel = "";
                    $scope.vm.hostingEmail = "";
                    $scope.vm.hostingUrl = "";
                    $scope.vm.hostingMemo = "";
                        $scope.vm.hostingId = "";
                        $scope.vm.hostingName = "";
                        $scope.vm.hostingCode = "";
                        $scope.vm.hostingManager = "";
                        $scope.vm.hostingTel = "";
                        $scope.vm.hostingEmail = "";
                        $scope.vm.hostingUrl = "";
                        $scope.vm.hostingMemo = "";
                    if (ispFieldVo != null){
                        $scope.vm.ispId = ispFieldVo.id;
                        $scope.vm.ispName = ispFieldVo.name;
                        $scope.vm.ispCode = ispFieldVo.code;
                        $scope.vm.ispManager = ispFieldVo.manager;
                        $scope.vm.ispTel = ispFieldVo.tel;
                        $scope.vm.ispEmail = ispFieldVo.email;
                        $scope.vm.ispUrl = ispFieldVo.url;
                        $scope.vm.ispMemo = ispFieldVo.memo;
                    }
                    if (hostingFieldVo != null){
                        $scope.vm.hostingId = hostingFieldVo.id;
                        $scope.vm.hostingName = hostingFieldVo.name;
                        $scope.vm.hostingCode = hostingFieldVo.code;
                        $scope.vm.hostingManager = hostingFieldVo.manager;
                        $scope.vm.hostingTel = hostingFieldVo.tel;
                        $scope.vm.hostingEmail = hostingFieldVo.email;
                        $scope.vm.hostingUrl = hostingFieldVo.url;
                        $scope.vm.hostingMemo = hostingFieldVo.memo;
                        if (ispFieldVo != null) {
                            $scope.vm.ispId = ispFieldVo.id;
                            $scope.vm.ispName = ispFieldVo.name;
                            $scope.vm.ispCode = ispFieldVo.code;
                            $scope.vm.ispManager = ispFieldVo.manager;
                            $scope.vm.ispTel = ispFieldVo.tel;
                            $scope.vm.ispEmail = ispFieldVo.email;
                            $scope.vm.ispUrl = ispFieldVo.url;
                            $scope.vm.ispMemo = ispFieldVo.memo;
                        }
                        if (hostingFieldVo != null) {
                            $scope.vm.hostingId = hostingFieldVo.id;
                            $scope.vm.hostingName = hostingFieldVo.name;
                            $scope.vm.hostingCode = hostingFieldVo.code;
                            $scope.vm.hostingManager = hostingFieldVo.manager;
                            $scope.vm.hostingTel = hostingFieldVo.tel;
                            $scope.vm.hostingEmail = hostingFieldVo.email;
                            $scope.vm.hostingUrl = hostingFieldVo.url;
                            $scope.vm.hostingMemo = hostingFieldVo.memo;
                        }
                    }
                });
                // ISP정보 결과 값 Event 처리(set)
                $scope.$on("ispFieldEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.ispId = result[0].id;
                        $scope.vm.ispName = result[0].name;
                        $scope.vm.ispCode = result[0].code;
@@ -527,7 +541,7 @@
                // 호스팅정보 결과 값 Event 처리(set)
                $scope.$on("hostingFieldEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.hostingId = result[0].id;
                        $scope.vm.hostingName = result[0].name;
                        $scope.vm.hostingCode = result[0].code;
@@ -540,30 +554,35 @@
                });
                $scope.$on("companyTypeEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.form.companyTypeId = result[0].id;
                    }
                });
                $scope.$on("parentSectorEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }  else {
                        $scope.vm.form.parentSectorId = "";
                        if ($rootScope.isDefined($scope.vm.form.parentSectors) && $rootScope.isDefined($scope.vm.form.parentSectors[0])) {
                            $scope.vm.form.parentSectors[0].id = "";
                        }
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
                $scope.$on("childSectorEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.form.childSectorId = result[0].id;
                    }
                });
                $scope.$on("regionEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.form.regionId = result[0].id;
                    }
                });
                $scope.$on("statusEvent", function (event, result) {
                    if ($rootScope.isDefined(result[0])) {
                    if ($rootScope.isDefined(result) && $rootScope.isDefined(result[0])) {
                        $scope.vm.form.statusId = result[0].id;
                    }
                });
@@ -581,6 +600,8 @@
                        companyTel : $scope.vm.companyTel,
                        companyEmail :$scope.vm.companyEmail,
                        companyUrl : $scope.vm.companyUrl,
                        ipStart :$scope.vm.ipStart,
                        ipEnd :$scope.vm.ipEnd,
                        companyMemo : $scope.vm.companyMemo,
                        companyTypeId : (function () {
                            var companyTypeId = -1;
@@ -725,12 +746,15 @@
                                    tel : $scope.vm.companyTel,
                                    email :$scope.vm.companyEmail,
                                    url :$scope.vm.companyUrl,
                                    ipStart :$scope.vm.ipStart,
                                    ipEnd :$scope.vm.ipEnd,
                                    memo : $scope.vm.companyMemo,
                                    companyTypeId : $scope.vm.form.companyTypeId,
                                    parentSectorId : $scope.vm.form.parentSectorId,
                                    childSectorId : $scope.vm.form.childSectorId,
                                    regionId : $scope.vm.form.regionId,
                                    statusId : $scope.vm.form.statusId
                                    statusId : $scope.vm.form.statusId,
                                    statusName : $scope.vm.form.status
                                });
                            }
@@ -829,8 +853,6 @@
                        if (result.data.message.status === "success") {
                            $scope.fn.addDownIssue(result.data.data);
                            $scope.fn.cancel();
                            //  이슈 상세 화면 요청
                            $rootScope.$broadcast("getIssueDetail", {
                                id : parameter.id
@@ -845,40 +867,84 @@
                    });
                }
                // 연관 이슈 추가
                function addDownIssue(downId) {
                    /*if ($scope.vm.issueName.length == 0 || $scope.vm.form.issues.length == 0
                        || $scope.vm.issueName != $scope.vm.form.issues[0].title) {
                        SweetAlert.error($filter("translate")("issue.errorSelectRelationIssue"), "");
                        return;
                    }*/
                // 하위 이슈 추가
                function addDownIssue(issueVo) {
                    $rootScope.spinner = true;
                    let inheritYn = issueVo.inheritPartners;
                    let usePartner = issueVo.usePartner;
                    var ids = [];
                    if (downId != null) {
                        ids.push(downId);
                    if (issueVo.id != null) {
                        ids.push(issueVo.id);
                    }
                    var contents = {
                        //relationIssueType : $scope.vm.form.relationIssueTypeId,
                        // issueId : $rootScope.currentDetailIssueId,
                        issueId :  parameter.id,
                        ids : ids,
                        parentIssueId : parameter.id
                    };
                    if ($rootScope.isDefined(usePartner) && usePartner > 0
                            && $rootScope.isDefined(inheritYn) && inheritYn) {
                        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 = false;
                            }
                    Issue.modifyParentIssue($resourceProvider.getContent(
                        contents,
                        $resourceProvider.getPageContent(0, 10))).then(function (result) {
                            var contents = {
                                issueId :  parameter.id,
                                ids : ids,
                                parentIssueId : parameter.id,
                                inheritYn : inheritYn
                            };
                        if (result.data.message.status === "success") {
                            //  이슈 상세 화면 요청
                            $rootScope.$broadcast("getIssueDetail", {
                                id : parameter.id
                            Issue.modifyParentIssue($resourceProvider.getContent(
                                contents,
                                $resourceProvider.getPageContent(0, 10))).then(function (result) {
                                if (result.data.message.status === "success") {
                                    $scope.fn.cancel();
                                    //  이슈 상세 화면 요청
                                    $rootScope.$broadcast("getIssueDetail", {
                                        id : parameter.id
                                    });
                                }
                                else {
                                    SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "하위이슈 생성 실패"
                                }
                                $rootScope.spinner = false;
                            });
                        }
                        else {
                            SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "연관일감 생성 실패"
                        }
                    });
                        });
                    } else {
                        var contents = {
                            issueId :  parameter.id,
                            ids : ids,
                            parentIssueId : parameter.id,
                            inheritYn : inheritYn
                        };
                        Issue.modifyParentIssue($resourceProvider.getContent(
                            contents,
                            $resourceProvider.getPageContent(0, 10))).then(function (result) {
                            if (result.data.message.status === "success") {
                                $scope.fn.cancel();
                                //  이슈 상세 화면 요청
                                $rootScope.$broadcast("getIssueDetail", {
                                    id : parameter.id
                                });
                            }
                            else {
                                SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueDown"), result.data.message.message); // "하위이슈 생성 실패"
                            }
                        });
                    }
                }
                //  팝업 창 닫기
@@ -1101,6 +1167,9 @@
                            $scope.vm.projectName = $rootScope.workProject.name;
                            $scope.vm.form.projects = [];
                            $scope.vm.form.projects.push($rootScope.workProject);
                        } else {
                            $scope.vm.projectName = parameter.project.name;
                            $scope.vm.form.projects.push(parameter.project);
                        }
                        // 현재 이슈타입 유형 설정
                        var id = $rootScope.getCurrentIssueTypeId();
@@ -1109,6 +1178,8 @@
                        } else {
                            $scope.vm.form.issueTypeId = parameter.issueTypeId.toString();
                        }
                        // 이슈유형, 프로젝트 set 한 후에 사용자정의필드 set
                        $scope.fn.getIssueTypeCustomFields();
                        $log.debug("promises 결과 ", results);
                    });
                }