| | |
| | | @Autowired |
| | | private DepartmentService departmentService; |
| | | |
| | | @Autowired |
| | | private IssueTypeService issueTypeService; |
| | | |
| | | @Autowired |
| | | private ProjectRoleService projectRoleService; |
| | | |
| | | @Override |
| | | protected JpaRepository<WorkflowDepartment, Long> getRepository() { |
| | | return workflowDepartmentRepository; |
| | |
| | | workflowDepartment.setDepartment(department); |
| | | |
| | | workflowDepartmentList.add(workflowDepartment); |
| | | |
| | | // 변경한 워크플로우의 담당부서를 이슈유형과 연결된 프로젝트의 담당부서에도 세팅 |
| | | this.setDepartmentOfProject(workflow, department); |
| | | } |
| | | } |
| | | this.workflowDepartmentRepository.saveAll(workflowDepartmentList); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 워크플로우의 담당부서를 이슈유형과 연결된 프로젝트의 담당부서에도 세팅 |
| | | * @param workflow Workflow |
| | | * @param department Department |
| | | */ |
| | | private void setDepartmentOfProject(Workflow workflow, Department department) { |
| | | List<IssueType> issueTypeList = this.issueTypeService.findByWorkflowId(workflow.getId()); |
| | | if (issueTypeList != null && issueTypeList.size() > 0) { |
| | | for (IssueType issueType : issueTypeList) { |
| | | if (issueType.getProject() != null) { |
| | | ProjectRole projectRole = this.projectRoleService.findByProjectIdAndRoleType(issueType.getProject().getId(), ProjectRole.TYPE_DEFAULT); |
| | | // 프로젝트 담당부서로 추가 |
| | | projectRole.addDepartment(department); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Override |