OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-24 fde64479e1c100a9667c40d5d1ae07cba4713959
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -43,6 +43,9 @@
    private WorkflowService workflowService;
    @Autowired
    private ProjectService projectService;
    @Autowired
    private WorkspaceService workspaceService;
    @Autowired
@@ -75,16 +78,16 @@
            switch (projectType) {
                case BTS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.bug"), "", "#ff5f99")); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.improvement"), "", "#3598fe")); // 개선
                    issueTypes.add(new IssueType(workspace, workflow, "악성 도메인", "", "#ff5f99")); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, "경유지 대응", "", "#3598fe")); // 개선
                    break;
                case RMS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.requirement"), "", "#3bcde2")); // 요구 사항
                    issueTypes.add(new IssueType(workspace, workflow, "유포지 대응", "", "#3bcde2")); // 요구 사항
                    break;
                case TCM_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, this.messageAccessor.message("common.testcase"), "", "#008ca7")); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    issueTypes.add(new IssueType(workspace, workflow, "분석결과 대응", "", "#008ca7")); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    break;
            }
@@ -108,6 +111,8 @@
        issueType.setWorkspace(workspace);
        Workflow workflow = this.workflowService.getWorkflow(issueTypeForm.getWorkflowId());
        issueType.setWorkflow(workflow);
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        return this.issueTypeRepository.saveAndFlush(issueType);
    }
@@ -166,6 +171,8 @@
            this.setUseIssueTypeByWorkflow(issueTypeVos);
        }
        this.setUseIssueTypeByProject(issueTypeVos);
        resJsonData.put(Constants.REQ_KEY_PAGE_VO, new ResPage(pageable.getPageNumber(), pageable.getPageSize(),
                totalPage, totalCount));
@@ -179,6 +186,18 @@
        for (IssueTypeVo issueTypeVo : issueTypeVos) {
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
        }
    }
    //  이슈 유형에 연결된 프로젝트 정보를 셋팅한다.
    private void setUseIssueTypeByProject(List<IssueTypeVo> issueTypeVos) {
        for (IssueTypeVo issueTypeVo : issueTypeVos) {
            IssueType issueType = this.getIssueType(issueTypeVo.getId());
            Project project = issueType.getProject();
            if (project != null) {
                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
            }
        }
    }
@@ -196,6 +215,11 @@
                case "01": //  워크플로우 정보를 가져온다.
                    issueTypeVo.setWorkflowVo(ConvertUtil.copyProperties(issueType.getWorkflow(), WorkflowVo.class));
                    break;
            }
            Project project = issueType.getProject();
            if (project != null) {
                issueTypeVo.setProjectVo(ConvertUtil.copyProperties(issueType.getProject(), ProjectVo.class));
            }
        }
@@ -222,6 +246,9 @@
        ConvertUtil.copyProperties(issueTypeForm, issueType, "id", "issueTypeType");
        issueType.setWorkflow(workflow);
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        this.issueTypeRepository.saveAndFlush(issueType);
        return issueType;