OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-25 bb9cc79a03a90cb2a6a03275f6ff6d8ea7d2fc5e
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -49,6 +49,15 @@
    private WorkspaceService workspaceService;
    @Autowired
    private CompanyFieldService companyFieldService;
    @Autowired
    private IspFieldService ispFieldService;
    @Autowired
    private HostingFieldService hostingFieldService;
    @Autowired
    private IssueTypeMapper issueTypeMapper;
    @Autowired
@@ -114,6 +123,19 @@
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        if(issueTypeForm.getCompanyId() != null){
            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
            issueType.setCompanyField(companyField);
        }
        if(issueTypeForm.getIspId() != null){
            IspField ispField = this.ispFieldService.getIsp(issueTypeForm.getIspId());
            issueType.setIspField(ispField);
        }
        if(issueTypeForm.getHostingId() != null){
            HostingField hostingField = this.hostingFieldService.getHosting(issueTypeForm.getHostingId());
            issueType.setHostingField(hostingField);
        }
        return this.issueTypeRepository.saveAndFlush(issueType);
    }
@@ -172,6 +194,9 @@
        }
        this.setUseIssueTypeByProject(issueTypeVos);
        this.setUseIssueTypeByCompanyField(issueTypeVos);
        this.setUseIssueTypeByIspField(issueTypeVos);
        this.setUseIssueTypeByHostingField(issueTypeVos);
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                totalPage, totalCount));
@@ -201,6 +226,37 @@
        }
    }
    //  이슈 유형에 연결된 업체 정보를 셋팅한다.
    private void setUseIssueTypeByCompanyField(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos){
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            CompanyField companyField = issueType.getCompanyField();
            if(companyField != null){
                issueTypeVo.setCompanyFieldVo(ConvertUtil.copyProperties(issueType.getCompanyField(), CompanyFieldVo.class));
            }
        }
    }
    //  이슈 유형에 연결된 ISP 정보를 셋팅한다.
    private void setUseIssueTypeByIspField(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos){
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            IspField ispField = issueType.getIspField();
            if(ispField != null){
                issueTypeVo.setIspFieldVo(ConvertUtil.copyProperties(issueType.getIspField(), IspFieldVo.class));
            }
        }
    }
    //  이슈 유형에 연결된 호스팅 정보를 셋팅한다.
    private void setUseIssueTypeByHostingField(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos){
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            HostingField hostingField = issueType.getHostingField();
            if(hostingField != null){
                issueTypeVo.setHostingFieldVo(ConvertUtil.copyProperties(issueType.getHostingField(), HostingFieldVo.class));
            }
        }
    }
    //  이슈 유형 상세 정보를 조회한다.
    @Override
    @Transactional(readOnly = true)
@@ -220,6 +276,19 @@
            Project project = issueType.getProject();
            if (project != null) {
                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
            }
            CompanyField companyField = issueType.getCompanyField();
            if(companyField != null){
                issueTypeVo.setCompanyFieldVo(ConvertUtil.copyProperties(issueType.getCompanyField(), CompanyFieldVo.class));
            }
            IspField ispField = issueType.getIspField();
            if (ispField != null){
                issueTypeVo.setIspFieldVo(ConvertUtil.copyProperties(issueType.getIspField(), IspFieldVo.class));
            }
            HostingField hostingField = issueType.getHostingField();
            if (hostingField != null){
                issueTypeVo.setHostingFieldVo(ConvertUtil.copyProperties(issueType.getHostingField(), HostingFieldVo.class));
            }
        }
@@ -249,6 +318,19 @@
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        if(issueTypeForm.getCompanyId() != null){
            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
            issueType.setCompanyField(companyField);
        }
        if(issueTypeForm.getIspId() != null) {
            IspField ispField = this.ispFieldService.getIsp(issueTypeForm.getIspId());
            issueType.setIspField(ispField);
        }
        if(issueTypeForm.getHostingId() != null) {
            HostingField hostingField = this.hostingFieldService.getHosting(issueTypeForm.getHostingId());
            issueType.setHostingField(hostingField);
        }
        this.issueTypeRepository.saveAndFlush(issueType);
        return issueType;