OWL ITS + 탐지시스템(인터넷 진흥원)
minhee
2022-02-21 95f9639088ab6a5615aa348eb206d14541782000
src/main/java/kr/wisestone/owl/service/impl/IssueTypeServiceImpl.java
@@ -51,7 +51,13 @@
    private WorkflowService workflowService;
    @Autowired
    private WorkflowDepartmentService workflowDepartmentService;
    @Autowired
    private ProjectService projectService;
    @Autowired
    private ProjectRoleService projectRoleService;
    @Autowired
    private WorkspaceService workspaceService;
@@ -92,16 +98,16 @@
            switch (projectType) {
                case BTS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "악성 도메인", "", "#ff5f99", 0L)); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, "경유지 대응", "", "#3598fe", 0L)); // 개선
                    issueTypes.add(new IssueType(workspace, workflow, "악성 도메인", "", "#ff5f99", 0L, false)); // 버그
                    issueTypes.add(new IssueType(workspace, workflow, "경유지 대응", "", "#3598fe", 0L, false)); // 개선
                    break;
                case RMS_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "유포지 대응", "", "#3bcde2", 0L)); // 요구 사항
                    issueTypes.add(new IssueType(workspace, workflow, "유포지 대응", "", "#3bcde2", 0L, false)); // 요구 사항
                    break;
                case TCM_PROJECT:
                    issueTypes.add(new IssueType(workspace, workflow, "분석결과 대응", "", "#008ca7", 0L)); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    issueTypes.add(new IssueType(workspace, workflow, "분석결과 대응", "", "#008ca7", 0L, false)); // 테스트 케이스, 실행 순서, 전제 조건, 기대 결과
                    break;
            }
            this.issueTypeRepository.saveAll(issueTypes);
@@ -144,9 +150,33 @@
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        //  워크플로우의 담당부서와 동일하게 세팅
        this.setDepartmentOfProject(project, workflow);
        issueType.setUsePartner(issueTypeForm.getUsePartner());
        issueType.setInheritPartners(issueTypeForm.getInheritPartners());
        return this.issueTypeRepository.saveAndFlush(issueType);
    }
    /**
     * 워크플로우의 담당부서와 동일하게 세팅
     * @param project Project
     * @param workflow Workflow
     */
    private void setDepartmentOfProject(Project project, Workflow workflow) {
        List<WorkflowDepartment> workflowDepartments = this.workflowDepartmentService.find(workflow.getId());
        //  해당 워크플로우의 담당부서가 존재 할 경우 해당 프로젝트의 담당부서에도 추가
        if (workflowDepartments != null && workflowDepartments.size() > 0) {
            ProjectRole projectRole = this.projectRoleService.findByProjectIdAndRoleType(project.getId(), ProjectRole.TYPE_DEFAULT);
            for (WorkflowDepartment workflowDepartment : workflowDepartments) {
                //  프로젝트 담당부서로 추가
                projectRole.addDepartment(workflowDepartment.getDepartment());
            }
        }
    }
    //  이름 유효성 체크
@@ -402,7 +432,12 @@
        Project project = this.projectService.getProject(issueTypeForm.getProjectId());
        issueType.setProject(project);
        //  워크플로우의 담당부서와 동일하게 세팅
        this.setDepartmentOfProject(project, workflow);
        issueType.setUsePartner(issueTypeForm.getUsePartner());
        issueType.setInheritPartners(issueTypeForm.getInheritPartners());
        /*if(issueTypeForm.getCompanyId() != null){
            CompanyField companyField = this.companyFieldService.getCompany(issueTypeForm.getCompanyId());
@@ -485,6 +520,13 @@
        return this.issueTypeRepository.findByWorkspaceId(this.userService.getUser(this.webAppUtil.getLoginId()).getLastWorkspaceId());
    }
    //  워크플로우 ID로 이슈 유형 조회
    @Override
    @Transactional(readOnly = true)
    public List<IssueType> findByWorkflowId(Long id) {
        return this.issueTypeRepository.findByWorkflowId(id);
    }
    //  이슈 타입 필드 목록을 엑셀로 다운로드 한다.
    @Override
    @Transactional