OWL ITS + 탐지시스템(인터넷 진흥원)
- 이슈 수정 시 대분류만 선택하고 수정 시 오류 해결
- 전체 댓글 + 메일 보기 / 하위 이슈 댓글 + 메일 보기
11개 파일 변경됨
286 ■■■■■ 파일 변경됨
src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js 2 ●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/i18n/ko/global.json 2 ●●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueAdd.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueAddDown.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueAddRelation.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueDetail.controller.js 92 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueModify.controller.js 12 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js 4 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/views/issue/issueDetail.html 114 ●●●● 패치 | 보기 | raw | blame | 히스토리
src/main/webapp/custom_components/js-autocomplete-single/js-autocomplete-single.js
@@ -227,7 +227,7 @@
                function toggleDropdown() {
                    //  아이템이 선택되어 있을 경우 목록 레이어는 표시될 수 없다.
                    $scope.open = true;
                    if ($rootScope.isDefined($scope.selectedModel) && $scope.selectedModel.length > 0) {
                    if ($rootScope.isDefined($scope.search)) {
                        $scope.open = false;
                        $scope.options = [];
                    }
src/main/webapp/i18n/ko/global.json
@@ -770,6 +770,8 @@
        "countDownIssue": "하위 이슈",
        "noDate": "기간 없음",
        "fullView": "전체보기",
        "fullMailsAndComments": "전체보기(메일+댓글)",
        "downMailsAndComments": "하위이슈(메일+댓글)",
        "comments": "댓글",
        "mails": "메일",
        "record": "기록",
src/main/webapp/scripts/app/companyField/companyFieldAdd.controller.js
@@ -154,7 +154,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -227,35 +227,35 @@
                        memo : $scope.vm.form.memo,  //비고
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            }
                            return companyTypeId;
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            }
                            return parentSectorId;
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            }
                            return childSectorId;
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            }
                            return regionId;
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else if ($scope.vm.form.status !== ""){
                                statusId = 120; //직접입력 일 경우
src/main/webapp/scripts/app/companyField/companyFieldModify.controller.js
@@ -158,7 +158,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -237,7 +237,7 @@
                        memo : $rootScope.preventXss($scope.vm.form.memo),
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            } else {
                                companyTypeId = $scope.vm.form.companyTypeId;
@@ -246,7 +246,7 @@
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            } else {
                                parentSectorId = $scope.vm.form.parentSectorId;
@@ -255,7 +255,7 @@
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            } else {
                                childSectorId = $scope.vm.form.childSectorId;
@@ -264,7 +264,7 @@
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            } else {
                                regionId = $scope.vm.form.regionId;
@@ -273,7 +273,7 @@
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else {
                                statusId = $scope.vm.form.statusId;
src/main/webapp/scripts/app/issue/issueAdd.controller.js
@@ -554,7 +554,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -681,35 +681,35 @@
                        companyMemo : $scope.vm.companyMemo,
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            }
                            return companyTypeId;
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            }
                            return parentSectorId;
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            }
                            return childSectorId;
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            }
                            return regionId;
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else if ($scope.vm.form.status !== ""){
                                statusId = 120; //직접입력 일 경우
src/main/webapp/scripts/app/issue/issueAddDown.controller.js
@@ -542,7 +542,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -572,35 +572,35 @@
                        companyMemo : $scope.vm.companyMemo,
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            }
                            return companyTypeId;
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            }
                            return parentSectorId;
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            }
                            return childSectorId;
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            }
                            return regionId;
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else if ($scope.vm.form.status !== ""){
                                statusId = 120; //직접입력 일 경우
src/main/webapp/scripts/app/issue/issueAddRelation.controller.js
@@ -557,7 +557,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -587,35 +587,35 @@
                        companyMemo : $scope.vm.companyMemo,
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            }
                            return companyTypeId;
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            }
                            return parentSectorId;
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            }
                            return childSectorId;
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            }
                            return regionId;
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else if ($scope.vm.form.status !== ""){
                                statusId = 120; //직접입력 일 경우
src/main/webapp/scripts/app/issue/issueDetail.controller.js
@@ -50,6 +50,7 @@
                $scope.fn.setDownTableConfigs = setDownTableConfigs;
                $scope.fn.containsPartner = containsPartner;
                $scope.fn.onActivate = onActivate;
                $scope.fn.issueBack = issueBack;
                $scope.fn.goParentIssue = goParentIssue;
                $scope.fn.removeRelationIssue = removeRelationIssue;
                $scope.fn.removeDownIssue = removeDownIssue;
@@ -146,10 +147,22 @@
                    $scope.fn.onActivate();
                }
                // 뒤로가기 버튼
                function issueBack() {
                    var index = $scope.$parent.vm.issueIds.length -2;
                    if (index > -1) {
                        var preIssueId = $scope.$parent.vm.issueIds[index];
                        $scope.$parent.vm.issueIds.splice(index + 1, 1);
                        $scope.$parent.tableEvent.changeDetailView(preIssueId, true);
                    }
                }
                // 상위 이슈 클릭시 상위 이슈로 이동
                function goParentIssue() {
                    var parentIssueId = $scope.vm.parentIssueId;
                    $scope.$parent.tableEvent.changeDetailView(parentIssueId, true);
                    //하위이슈-> 상위이슈 -> 연관이슈에서 뒤로가기 버튼 클릭 시 하위이슈로 이동되는 문제로 마지막 배열값 제거
                    $scope.$parent.vm.issueIds.pop();
                }
                //  페이지 변경
@@ -1246,25 +1259,38 @@
                //  활동 이력 만들기
                function makeActiveHistory() {
                    $scope.vm.viewer.activeParentHistory = "";
                    $scope.vm.viewer.activeHistory = "";
                    $scope.vm.viewer.activeParentMailHistory = "";
                    $scope.vm.viewer.activeParentHistory = [];
                    $scope.vm.viewer.activeHistory = [];
                    $scope.vm.viewer.activeParentMailHistory = [];
                    $scope.vm.viewer.activeAllMailAndReplyHistory = []; //상위+하위 메일,댓글 히스토리
                    var oriMailHistory = [];
                    var oriCommentHistory = [];
                    if ($scope.vm.viewer.issueHistoryVos != null && $scope.vm.viewer.issueHistoryVos.length > 0) {
                        //  상위이슈 메일 히스토리
                        for (var i=0; i<$scope.vm.viewer.issueHistoryVos.length; i++) {
                            if ($scope.vm.viewer.issueHistoryVos[i].issueHistoryType === "SEND") {
                                oriMailHistory.push($scope.vm.viewer.issueHistoryVos[i]);
                            }
                        }
                        $scope.vm.viewer.activeParentMailHistory = angular.copy(oriMailHistory);
                        //$scope.vm.viewer.activeParentMailHistory = angular.copy(oriMailHistory);
                    }
                    //  상위이슈 댓글 히스토리
                    if ($scope.vm.viewer.issueCommentVos != null && $scope.vm.viewer.issueCommentVos.length > 0) {
                        for (var i=0; i<$scope.vm.viewer.issueCommentVos.length; i++) {
                            oriCommentHistory.push($scope.vm.viewer.issueCommentVos[i]);
                        }
                    }
                    $scope.vm.viewer.activeAllMailAndReplyHistory = oriMailHistory.concat(oriCommentHistory);
                    //  하위이슈 히스토리
                    if ($scope.vm.viewer.issueDownVos != null && $scope.vm.viewer.issueDownVos.length > 0) {
                        $scope.vm.viewer.activeDownHistory = ""; //하위이슈 히스토리만
                        $scope.vm.viewer.downComment = ""; //하위이슈 댓글만
                        $scope.vm.viewer.activeDownMailHistory = ""; //하위이슈 메일만
                        $scope.vm.viewer.activeDownAllHistory = ""; //하위이슈 히스토리+댓글
                        $scope.vm.viewer.activeDownHistory = []; //하위이슈 히스토리만
                        $scope.vm.viewer.downComment = []; //하위이슈 댓글만
                        $scope.vm.viewer.activeDownAllHistory = []; //하위이슈 히스토리+댓글
                        $scope.vm.viewer.activeDownMailAndReplyHistory = []; //하위 메일+댓글 히스토리
                        var downTitle = "";
                        var oriDownHistory = [];
                        var oriDownCommentHistory = [];
@@ -1273,7 +1299,6 @@
                        // 하위이슈 히스토리
                        for (var i=0; i<$scope.vm.viewer.issueDownVos.length; i++){
                            oriDownHistory.push($scope.vm.viewer.issueDownVos[i].issueHistoryVos);
                            oriDownCommentHistory.push($scope.vm.viewer.issueDownVos[i].issueCommentVos);
                            //  하위이슈 메일 기록
                            for (var j=0; j<$scope.vm.viewer.issueDownVos[i].issueHistoryVos.length; j++) {
@@ -1281,13 +1306,22 @@
                                    oriDownMailHistory.push($scope.vm.viewer.issueDownVos[i].issueHistoryVos[j]);
                                }
                            }
                            //  하위이슈 댓글 기록
                            for (var k=0; k<$scope.vm.viewer.issueDownVos[i].issueCommentVos.length; k++) {
                                oriDownCommentHistory.push($scope.vm.viewer.issueDownVos[i].issueCommentVos[k]);
                            }
                        }
                        //  하위이슈 메일만 저장
                        $scope.vm.viewer.activeDownMailHistory = angular.copy(oriDownMailHistory);
                        $scope.vm.viewer.activeDownMailHistory.sort(function (a, b) {   //내림차순
                        //  하위이슈 메일+댓글 저장
                        $scope.vm.viewer.activeDownMailAndReplyHistory = oriDownCommentHistory.concat(oriDownMailHistory);
                        for (var i=0; i<$scope.vm.viewer.activeDownMailAndReplyHistory.length; i++){
                            downTitle = "<div class='dot' style='margin-bottom: -8px'>*하위이슈 : "+$scope.vm.viewer.activeDownMailAndReplyHistory[i].title+"</div>";
                            $scope.vm.viewer.activeDownMailAndReplyHistory[i].desc = downTitle + $scope.vm.viewer.activeDownMailAndReplyHistory[i].description;
                        }
                        $scope.vm.viewer.activeDownMailAndReplyHistory.sort(function (a, b) {   //"MAIL_AND_REPLY_DOWN" 내림차순
                            return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                        });
                        for (var i=0; i<oriDownHistory.length; i++){
                            if ($scope.vm.viewer.activeDownHistory === "") {
                                $scope.vm.viewer.activeDownHistory = oriDownHistory[i];
@@ -1305,29 +1339,41 @@
                        });
                        // 하위이슈 댓글 히스토리
                       for (var i=0; i<oriDownCommentHistory.length; i++) {
                        for (var i=0; i<oriDownCommentHistory.length; i++) {
                           if ($scope.vm.viewer.downComment === "") {
                               $scope.vm.viewer.downComment = oriDownCommentHistory[i];
                           } else {
                               $scope.vm.viewer.downComment = $scope.vm.viewer.downComment.concat(oriDownCommentHistory[i]);
                           }
                       }
                       $scope.vm.viewer.issueDownVos.sort(function (a, b) {   //내림차순
                           return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                       });
                        }
                        $scope.vm.viewer.issueDownVos.sort(function (a, b) {   //내림차순
                            return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                        });
                       $scope.vm.viewer.activeDownAllHistory = $scope.vm.viewer.downComment.concat($scope.vm.viewer.activeDownHistory);
                       $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                       $scope.vm.viewer.activeHistory = $scope.vm.viewer.activeParentHistory.concat($scope.vm.viewer.activeDownAllHistory);
                        $scope.vm.viewer.activeDownAllHistory = $scope.vm.viewer.downComment.concat($scope.vm.viewer.activeDownHistory);
                        $scope.vm.viewer.activeDownAllHistory.sort(function (a, b) {   //"RECODE_DOWN" 내림차순
                            return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                        });
                        $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                        $scope.vm.viewer.activeHistory = $scope.vm.viewer.activeParentHistory.concat($scope.vm.viewer.activeDownAllHistory);
                        $scope.vm.viewer.activeAllMailAndReplyHistory = $scope.vm.viewer.activeAllMailAndReplyHistory.concat($scope.vm.viewer.activeDownMailAndReplyHistory);
                    }else {
                        $scope.vm.viewer.activeParentHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                        $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos);
                    }
                    $scope.vm.viewer.activeParentHistory.sort(function (a, b) {   //내림차순
                    $scope.vm.viewer.activeHistory.sort(function (a, b) {   //"ALL" 내림차순
                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                    });
                    $scope.vm.viewer.activeHistory.sort(function (a, b) {   //내림차순
                    $scope.vm.viewer.activeParentHistory.sort(function (a, b) {   //"RECODE" 내림차순
                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                    });
                    $scope.vm.viewer.activeAllMailAndReplyHistory.sort(function (a, b) {   //"MAIL_AND_REPLY" 내림차순
                        return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0;
                    });
                }
src/main/webapp/scripts/app/issue/issueModify.controller.js
@@ -442,7 +442,7 @@
                    if ($rootScope.isDefined(result[0])) {
                        $scope.vm.form.parentSectorId = result[0].id;
                    }
                    $scope.vm.form.childSectorId = "";
                    $scope.vm.form.childSector = "";
                    $scope.vm.form.childSectors = [];
                });
@@ -561,7 +561,7 @@
                        companyTypeId : (function () {
                            var companyTypeId = -1;
                            if ($scope.vm.form.companyTypes != null) {
                            if ($scope.vm.form.companyTypes != null && $scope.vm.form.companyTypes.length > 0) {
                                companyTypeId = $scope.vm.form.companyTypes[0].id;
                            } else {
                                companyTypeId = $scope.vm.form.companyTypeId;
@@ -570,7 +570,7 @@
                        })(),
                        parentSectorId : (function () {
                            var parentSectorId = -1;
                            if ($scope.vm.form.parentSectors != null) {
                            if ($scope.vm.form.parentSectors != null && $scope.vm.form.parentSectors.length > 0) {
                                parentSectorId = $scope.vm.form.parentSectors[0].id;
                            } else {
                                parentSectorId = $scope.vm.form.parentSectorId;
@@ -579,7 +579,7 @@
                        })(),
                        childSectorId : (function () {
                            var childSectorId = -1;
                            if ($scope.vm.form.childSectors != null) {
                            if ($scope.vm.form.childSectors != null && $scope.vm.form.childSectors.length > 0) {
                                childSectorId = $scope.vm.form.childSectors[0].id;
                            } else {
                                childSectorId = $scope.vm.form.childSectorId;
@@ -588,7 +588,7 @@
                        })(),
                        regionId : (function () {
                            var regionId = -1;
                            if ($scope.vm.form.regions != null) {
                            if ($scope.vm.form.regions != null && $scope.vm.form.regions.length > 0) {
                                regionId = $scope.vm.form.regions[0].id;
                            } else {
                                regionId = $scope.vm.form.regionId;
@@ -597,7 +597,7 @@
                        })(),
                        statusId : (function () {
                            var statusId = -1;
                            if ($scope.vm.form.statuses != null) {
                            if ($scope.vm.form.statuses != null && $scope.vm.form.statuses.length > 0) {
                                statusId = $scope.vm.form.statuses[0].id;
                            } else {
                                statusId = $scope.vm.form.statusId;
src/main/webapp/scripts/app/issue/issueSendMailPartners.controller.js
@@ -27,13 +27,13 @@
                    companyVos : parameter.companyVos,
                    ispVos : parameter.ispVos,
                    hostingVos : parameter.hostingVos,
                    partners : parameter.partnersAll.slice(),
                    partners : parameter.partnersAll,
                    html : "",
                    tab : "SEND_TEMPLATE",
                    form : {
                        id : parameter.issueId,  //  이슈 번호
                        projects : [{ id : parameter.projectId}],  //  프로젝트
                        mailUsers : parameter.partners.slice(),   //  메일 전송받는 사용자
                        mailUsers : parameter.partners,   //  메일 전송받는 사용자
                        account : [{account : [], name : [], id : []}],
                        files : [], //  업로드 파일
                        attachedFiles : [], //  섬머노트로 파일 업로드를 할 경우 서버에서 pk를 따고 issue id와 연동 작업이 필요하다.
src/main/webapp/views/issue/issueDetail.html
@@ -110,7 +110,7 @@
                <i class="os-icon os-icon-edit-1 mr-20" ng-click="fn.modify(vm.viewer.id)"
                   ng-if="vm.viewer.modifyPermissionCheck" data-toggle="tooltip" data-placement="left" title="이슈 수정 하기"></i>
                <!-- 상위 이슈가 있을때 뒤로가기 버튼 생성 -->
                <span ng-if="vm.issueIds.length != 0 && vm.issueIds.length != 1" class="issue-close mr-10" ng-click="fn.issueBack()"><i class="os-icon os-icon-arrow-left7" data-toggle="tooltip" data-placement="left" title="이슈 뒤로 이동"></i></span>
                <span ng-if="vm.issueIds[0] != vm.viewer.id && vm.issueIds.length != 0 && vm.issueIds.length != 1" class="issue-close mr-10" ng-click="fn.issueBack()"><i class="os-icon os-icon-arrow-left7" data-toggle="tooltip" data-placement="left" title="이슈 뒤로 이동"></i></span>
                <!-- 상위 이슈가 있을때 상세화면 닫기버튼 위치 조정 -->
                <span class="issue-close" ng-click="fn.listView()"><i class="os-icon os-icon-close" data-toggle="tooltip" data-placement="left" title="상세 화면 닫기"></i></span>
            </a>
@@ -828,28 +828,20 @@
                                                translate="common.fullView">전체보기</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL_AND_REPLY' }"
                                           ng-click="vm.activeTab = 'MAIL_AND_REPLY'"><span translate="common.fullMailsAndComments">전체보기(메일+댓글)</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'RECODE' }"
                                           ng-click="vm.activeTab = 'RECODE'"><span translate="common.record">기록</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL' }"
                                           ng-click="vm.activeTab = 'MAIL'"><span translate="common.mails">메일</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'REPLY' }"
                                           ng-click="vm.activeTab = 'REPLY'"><span translate="common.comments">댓글</span></a>
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL_AND_REPLY_DOWN' }"
                                           ng-click="vm.activeTab = 'MAIL_AND_REPLY_DOWN'"><span translate="common.downMailsAndComments">하위이슈(메일+댓글)</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'RECODE_DOWN' }"
                                           ng-click="vm.activeTab = 'RECODE_DOWN'"><span translate="common.recordDown">하위이슈 기록</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'MAIL_DOWN' }"
                                           ng-click="vm.activeTab = 'MAIL_DOWN'"><span translate="common.downMails">하위이슈 메일</span></a>
                                    </li>
                                    <li class="nav-item cursor">
                                        <a class="nav-link" ng-class="{ 'active' : vm.activeTab == 'REPLY_DOWN' }"
                                           ng-click="vm.activeTab = 'REPLY_DOWN'"><span translate="common.downComments">하위이슈 댓글</span></a>
                                    </li>
                                </ul>
                            </div>
@@ -992,15 +984,55 @@
                                    </div>
                                </div>
                                <!--    메일 보기    -->
                                <div ng-if="vm.activeTab == 'MAIL'">
                                    <div class="no-cont2" ng-if="vm.viewer.activeParentMailHistory.length < 1" translate="common.noRecord">
                                <!--    전체(상위+하위) 메일+댓글 보기    -->
                                <div ng-if="vm.activeTab == 'MAIL_AND_REPLY'">
                                    <div class="no-cont2" ng-if="vm.viewer.activeAllMailAndReplyHistory.length < 1" translate="common.noRecord">
                                        기록이 없습니다.
                                    </div>
                                    <div class="ae-item" ng-repeat="issueHistory in vm.viewer.activeParentMailHistory">
                                    <div class="ae-item row" ng-repeat="issueHistory in vm.viewer.activeAllMailAndReplyHistory">
                                        <!-- 메일인 경우 -->
                                        <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)">
                                            <div dom-append dom="issueHistory.description"></div>
                                            <div ng-if="!$root.isDefined(issueHistory.desc)" dom-append dom="issueHistory.description"></div>
                                            <div ng-if="$root.isDefined(issueHistory.desc)" dom-append dom="issueHistory.desc"></div>
                                        </div>
                                        <!--    댓글인 경우  -->
                                        <div ng-if="!$root.isDefined(issueHistory.issueHistoryType)"
                                             ng-show="vm.viewer.title !== issueHistory.title">
                                            <span class="dot">
                                                *하위이슈 : {{::issueHistory.title}}
                                            </span>
                                        </div>
                                        <div class="aei-image" style="position: absolute; top: 30%" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <div class="user-avatar-w">
                                                <img ng-show="vm.viewer.title !== issueHistory.title"
                                                     style="margin-top: 15px" alt="image" ng-src="{{::issueHistory.profile}}">
                                                <img ng-show="vm.viewer.title === issueHistory.title"
                                                     alt="image" ng-src="{{::issueHistory.profile}}">
                                            </div>
                                        </div>
                                        <div class="aei-content"
                                             ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <h6 class="aei-title mt-1 ml-3per">
                                                {{::issueHistory.registerName}}
                                            </h6>
                                            <div class="date-break mt-2 ml-3per">
                                                <span>{{::issueHistory.registerDate}}</span>
                                            </div>
                                            <div class="aei-delete"
                                                 ng-click="fn.removeComment(issueHistory)"
                                                 ng-show="vm.viewer.modifyPermissionCheck || $root.user.id == issueHistory.registerId">
                                                <i class="os-icon os-icon-close"></i>
                                            </div>
                                            <div class="chat-messages">
                                                <div class="message" style="margin-left: 3.3%">
                                                    <div class="message-content">
                                                        <span class="issue-detail-word-break">{{::issueHistory.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
@@ -1049,15 +1081,47 @@
                                    </div>
                                </div>
                                <!--    하위이슈 메일 보기    -->
                                <div ng-if="vm.activeTab == 'MAIL_DOWN'">
                                    <div class="no-cont2" ng-if="vm.viewer.activeDownMailHistory.length < 1" translate="common.noRecord">
                                <!--    하위이슈 메일+댓글 보기    -->
                                <div ng-if="vm.activeTab == 'MAIL_AND_REPLY_DOWN'">
                                    <div class="no-cont2" ng-if="vm.viewer.activeDownMailAndReplyHistory.length < 1" translate="common.noRecord">
                                        기록이 없습니다.
                                    </div>
                                    <div class="ae-item" ng-repeat="issueHistory in vm.viewer.activeDownMailHistory">
                                    <div class="ae-item row" ng-repeat="issueHistory in vm.viewer.activeDownMailAndReplyHistory">
                                        <div class="aei-content" ng-if="$root.isDefined(issueHistory.issueHistoryType)">
                                            <div dom-append dom="issueHistory.description"></div>
                                            <div dom-append dom="issueHistory.desc"></div>
                                        </div>
                                        <!--    댓글인 경우  -->
                                        <div class="aei-content pb-3" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <div class="dot">
                                                *하위이슈 : {{::issueHistory.title}}
                                            </div>
                                        </div>
                                        <div class="aei-image" style="position: absolute; top: 30%" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <div class="user-avatar-w ">
                                                <img style="margin-top: 15px" alt="image" ng-src="{{::issueHistory.profile}}">
                                            </div>
                                        </div>
                                        <div class="aei-content" ng-if="!$root.isDefined(issueHistory.issueHistoryType)">
                                            <h6 class="aei-title mt-1 ml-3per">
                                                {{::issueHistory.registerName}}
                                            </h6>
                                            <div class="date-break mt-2" style="margin-left: 3.3%">
                                                <span>{{::issueHistory.registerDate}}</span>
                                            </div>
                                            <div class="aei-delete"
                                                 ng-click="fn.removeComment(issueHistory)"
                                                 ng-show="vm.viewer.modifyPermissionCheck || $root.user.id == issueHistory.registerId">
                                                <i class="os-icon os-icon-close"></i>
                                            </div>
                                            <div class="chat-messages">
                                                <div class="message" style="margin-left: 3.3%">
                                                    <div class="message-content">
                                                        <span class="issue-detail-word-break">{{::issueHistory.description}}</span>
                                                    </div>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>