OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-26 247dcf648bbceb4cc4f2fa405c1e331e9b901181
src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -6,6 +6,7 @@
import kr.wisestone.owl.constant.Constants;
import kr.wisestone.owl.constant.ElasticSearchConstants;
import kr.wisestone.owl.constant.MsgConstants;
import kr.wisestone.owl.constant.UseCompany;
import kr.wisestone.owl.domain.*;
import kr.wisestone.owl.domain.enumType.CustomFieldType;
import kr.wisestone.owl.domain.enumType.EmailType;
@@ -828,6 +829,7 @@
    private void setDownIssues(Issue issue, IssueVo issueVo) {
        List<Issue> downIssues = this.issueRepository.findByParentIssueId(issue.getId());
        List<IssueVo> downIssueVos = ConvertUtil.convertObjectsToClasses(downIssues, IssueVo.class);
        List<IssueVo> resultList = new ArrayList<>();
        for(IssueVo downIssueVo : downIssueVos){
            for(Issue downIssue : downIssues){
@@ -837,9 +839,11 @@
                downIssueVo.setSeverityVo(ConvertUtil.copyProperties(downIssue.getSeverity(), SeverityVo.class));
                this.setRegister(downIssue, downIssueVo); // 등록자
                this.setIssueDepartment(downIssue, downIssueVo);  //  담당부서 정보 셋팅
                this.setIssueCustomFields(downIssue, downIssueVo);   // 사용자정의필드 정보 세팅
            }
            issueVo.setIssueDownVos(downIssueVo);
            resultList.add(downIssueVo);
        }
        issueVo.setIssueDownVos(resultList); //프론트에서 List형태로 받아줘서 리스트 형식으로 보내줌
    }
    //  이슈 상세 정보를 셋팅한다.
@@ -862,9 +866,35 @@
        this.setIssueHistory(issue, issueVo);   //  이슈 기록 정보 셋팅
        this.setRelationIssue(issue, issueVo);        //연관 일감 셋팅
        this.setDownIssues(issue, issueVo);
        IssueType issueType = this.issueTypeService.getIssueType(issueVo.getIssueTypeVo().getId()); // 이슈의 이슈유형 객체
        Integer using = issueType.getUseCompany() != null ? issueType.getUseCompany().intValue() : 0; // 이슈유형별로 사용중인 업체/ISP/호스팅 값
        List<UseCompanyVo> useCompanyVos = Lists.newArrayList();
        for (Integer useAbleCompany : UseCompany.useCompanies) { //1(업체), 2(ISP), 4(호스팅)
            UseCompanyVo useCompanyVo = UseCompany.checkUseCompany(using, useAbleCompany);
            if (useCompanyVo != null) {
                useCompanyVos.add(useCompanyVo);
                //useCompanyVo.setValues();
            }
            issueVo.setUseCompanyVo(useCompanyVos);
        }
//        List<UseCompanyVo> useCompanyVoList =issueVo.getIssueTypeVo().getUseCompanyVos();
//        for (Integer useCompany : UseCompany.useCompanies) {
//            UseCompanyVo useCompanyVo = UseCompany.checkUseCompany(use, useCompany);
//
//            if (useCompanyVo != null) {
//                useCompanyVoList.add(useCompanyVo);
//            }
//        }
        this.setIssueCompanyField(issue, issueVo);  //업체 정보 세팅
        this.setIssueIspField(issue, issueVo);  //ISP 정보 세팅
        this.setIssueHostingField(issue, issueVo);  //HOSTING 정보 세팅
        this.setParentIssue(issue,issueVo); //상위 이슈 정보 세팅
    }
@@ -917,6 +947,7 @@
                issueRelationVo.setSeverityVo(ConvertUtil.copyProperties(relationIssue.getSeverity(), SeverityVo.class));
                this.setRegister(relationIssue, relIssueVo); // 등록자
                this.setIssueDepartment(relationIssue, relIssueVo);  //  담당부서 정보 셋팅
                this.setIssueCustomFields(relationIssue, relIssueVo);   // 사용자정의필드 정보 세팅
                issueVo.addIssueRelationVo(issueRelationVo);
            }
        } else {
@@ -1779,6 +1810,14 @@
            //  이슈 상태 변경
            this.modifyIssueStatus(issueForm);
        }
        // 담당 부서 수정
        if (issueForm.getDepartmentIds().size() > 0) {
            Issue issue = this.getIssue(issueForm.getId());
            Project project = this.projectService.getProject(issueForm.getProjectId());
            this.issueDepartmentService.modifyIssueDepartment(issue, project.getWorkspace(), issueForm.getDepartmentIds());
        }
    }
    //  이슈 Import 용 엑셀 템플릿 다운로드