| | |
| | | private WorkflowTransitionService workflowTransitionService; |
| | | |
| | | @Autowired |
| | | private WorkflowDepartmentService workflowDepartmentService; |
| | | |
| | | @Autowired |
| | | private IssueTypeService issueTypeService; |
| | | |
| | | @Autowired |
| | |
| | | // 삭제할 이슈 상태가 워크플로우 에서 사용되고 있는지 확인한다. |
| | | this.checkUseWorkflow(issueStatus); |
| | | |
| | | // 기본으로 제공되는 이슈 상태는 삭제 금지 |
| | | if (issueStatus.getDefaultYn()) { |
| | | // 기본으로 제공되는 이슈 상태는 삭제 금지 -> 기본제공이여도 사용하지 않으면 삭제 가능하도록 수정 |
| | | /*if (issueStatus.getDefaultYn()) { |
| | | throw new OwlRuntimeException( |
| | | this.messageAccessor.getMessage(MsgConstants.DEFAULT_ISSUE_STATUS_NOT_REMOVE)); |
| | | } |
| | | }*/ |
| | | |
| | | this.issueStatusRepository.delete(issueStatus); |
| | | } |
| | |
| | | if (count < 1) { |
| | | IssueStatusVo issueStatusVo = new IssueStatusVo(workflowTransitionVo.getTargetStatusId(), workflowTransitionVo.getTargetStatusName()); |
| | | issueStatusVos.add(issueStatusVo); |
| | | |
| | | List<WorkflowDepartmentVo> workflowDepartments = this.workflowDepartmentService.find(workflow.getId(), issueStatusVo.getId()); |
| | | issueStatusVo.setWorkflowDepartmentVos(workflowDepartments); |
| | | } |
| | | else { |
| | | // 두번째 이슈부터 첫번째 이슈에서 이동 가능했던 상태 중 없는 대상을 찾는다. |
| | | for (IssueStatusVo issueStatusVo : issueStatusVos) { |
| | | if (issueStatusVo.getId().equals(workflowTransitionVo.getTargetStatusId())) { |
| | | tempIssueStatusVos.add(issueStatusVo); |
| | | |
| | | List<WorkflowDepartmentVo> workflowDepartments = this.workflowDepartmentService.find(workflow.getId(), issueStatusVo.getId()); |
| | | issueStatusVo.setWorkflowDepartmentVos(workflowDepartments); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | resJsonData.put(Constants.RES_KEY_CONTENTS, issueStatusVos); |
| | | } |
| | | |
| | | } |