OWL ITS + 탐지시스템(인터넷 진흥원)
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -459,10 +459,12 @@
            // 가상 상위 이슈 추가
            parentIssueForm.setUseIssueCustomFields(issueApiForm.getUseIssueCustomFieldIds());
            //  같은 도메인 업체 찾기
            IssueForm partners = this.findCompanyField(parentIssueForm);
            parentIssueForm.setIssueCompanyFields(partners.getIssueCompanyFields());
            parentIssueForm.setIssueIspFields(partners.getIssueIspFields());
            parentIssueForm.setIssueHostingFields(partners.getIssueHostingFields());
            if (parentIssueForm.getIssueCompanyFields() == null) {
                IssueForm partners = this.findCompanyField(parentIssueForm);
                parentIssueForm.setIssueCompanyFields(partners.getIssueCompanyFields());
                parentIssueForm.setIssueIspFields(partners.getIssueIspFields());
                parentIssueForm.setIssueHostingFields(partners.getIssueHostingFields());
            }
            Issue issue = addIssue(user, parentIssueForm, null);
            issues.add(issue);
@@ -2694,21 +2696,24 @@
                    this.messageAccessor.getMessage(MsgConstants.ISSUE_REMOVE_NOT_SELECT));
        }
        List<Issue> removeIssues = Lists.newArrayList();
        Set<Long> removeIds = new HashSet<>();
        for (Long issueId : issueForm.getRemoveIds()) {
            removeIds.add(issueId);
            //하위이슈 체크
            List<Issue> downIssues = this.issueRepository.findByParentIssueId(issueId);
            if(downIssues != null && downIssues.size() > 0){
                for(Issue downIssue : downIssues){
                    Long downIssueId = downIssue.getId();
                    downIssue = this.issueRemoves(downIssueId, user);
                    removeIssues.add(downIssue);
                    removeIds.add(downIssueId);
                }
            }
            Issue issue = this.issueRemoves(issueId, user);
            removeIssues.add(issue);
        }
        for (Long removeId : removeIds) {
            this.issueRemoves(removeId, user);
        }
        //  사용자 시스템 기능 사용 정보 수집
        log.info(ElasticSearchUtil.makeUserActiveHistoryMessage(this.webAppUtil.getLoginUser(), ElasticSearchConstants.ISSUE_REMOVE));
    }