src/main/java/kr/wisestone/owl/domain/IssueDepartment.java
@@ -26,7 +26,8 @@ public IssueDepartment() { } public IssueDepartment(Issue issue, Department department) { public IssueDepartment(Workspace workspace, Issue issue, Department department) { this.workspace = workspace; this.issue = issue; this.department = department; } src/main/java/kr/wisestone/owl/service/IssueDepartmentService.java
@@ -26,4 +26,6 @@ List<IssueDepartment> findByDepartmentId(Long departmentId); boolean usingDepartment(Long departmentId); void add(List<Long> departmentsIds, Workspace workspace, Issue issue); } src/main/java/kr/wisestone/owl/service/impl/IssueDepartmentServiceImpl.java
@@ -5,6 +5,7 @@ import kr.wisestone.owl.mapper.IssueDepartmentMapper; import kr.wisestone.owl.mapper.IssueUserMapper; import kr.wisestone.owl.repository.IssueDepartmentRepository; import kr.wisestone.owl.service.DepartmentService; import kr.wisestone.owl.service.IssueDepartmentService; import kr.wisestone.owl.util.CommonUtil; import kr.wisestone.owl.util.MapUtil; @@ -26,6 +27,9 @@ private static final Logger log = LoggerFactory.getLogger(IssueDepartmentServiceImpl.class); @Autowired private DepartmentService departmentService; @Autowired private IssueDepartmentRepository issueDepartmentRepository; @Autowired @@ -36,6 +40,25 @@ return this.issueDepartmentRepository; } /** * 이슈의 담당부서 추가 * @param departmentsIds List<Long> * @param workspace Workspace * @param issue Issue */ @Override @Transactional public void add(List<Long> departmentsIds, Workspace workspace, Issue issue) { List<IssueDepartment> issueDepartments = Lists.newArrayList(); for (Long departmentId : departmentsIds) { Department department = this.departmentService.getDepartment(departmentId); issueDepartments.add(new IssueDepartment(workspace, issue, department)); } this.issueDepartmentRepository.saveAll(issueDepartments); } // 이슈 담당부서를 변경한다. @Override @Transactional src/main/java/kr/wisestone/owl/service/impl/IssueServiceImpl.java
@@ -3208,23 +3208,14 @@ } saveIssueForm.setId(issue.getId()); IssueDepartment issueDepartment = new IssueDepartment(); issueDepartment.setIssue(issue); issueDepartment.setWorkspace(workspace); // 워크플로우 대기 상태의 부서 추가 List<Long> departmentsIds = this.workflowDepartmentService.findFirstDepartmentIds(workflow); if (departmentsIds != null && departmentsIds.size() > 0) { for (Long departmentId : departmentsIds) { issueDepartment.setDepartment(this.departmentService.getDepartment(departmentId)); } issue.addIssueDepartment(issueDepartment); this.issueDepartmentService.add(departmentsIds, workspace, issue); } this.setIssuePartners(saveIssueForm, issue); } // 0.416 - 0.439