| | |
| | | IssueRisk issueRisk = new IssueRisk(); |
| | | issueRisk.setChangeIssueStatusCount(0L); |
| | | issueRisk.setChangeAssigneeCount(0L); |
| | | issueRisk.setChangeDepartmentCount(0L); |
| | | issueRisk.setIssue(issue); |
| | | issueRisk.setWorkspace(workspace); |
| | | issueRisk.setIssueStatusIds(issue.getIssueStatus().getId().toString()); |
| | |
| | | } |
| | | |
| | | // 이슈에서 담당자나 상태가 변경될 경우 이슈 위험 관리 정보를 업데이트한다. |
| | | @Override |
| | | /*@Override |
| | | @Transactional |
| | | public void modifyIssueRisk(Issue issue, Boolean changeIssueStatus, Boolean changeAssignee, Long issueStatusId) { |
| | | IssueRisk issueRisk = issue.getIssueRisk(); |
| | |
| | | } |
| | | |
| | | this.issueRiskRepository.saveAndFlush(issueRisk); |
| | | }*/ |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void modifyIssueRisk(Issue issue, Boolean changeIssueStatus, Boolean changeDepartment, Long issueStatusId) { |
| | | IssueRisk issueRisk = issue.getIssueRisk(); |
| | | |
| | | // 상태 변경 |
| | | if (changeIssueStatus) { |
| | | String issueStatusIds = issueRisk.getIssueStatusIds(); |
| | | issueStatusIds += "&" + issueStatusId; |
| | | |
| | | Map<String, Integer> issueStatusIdMaps = new HashMap<>(); |
| | | |
| | | for (String key : issueStatusIds.split("&")) { |
| | | if (!issueStatusIdMaps.containsKey(key)) { |
| | | issueStatusIdMaps.put(key, 1); |
| | | } |
| | | else { |
| | | issueStatusIdMaps.put(key, issueStatusIdMaps.get(key) + 1); |
| | | } |
| | | } |
| | | |
| | | Integer saveCount = 0; |
| | | |
| | | for (Integer value : issueStatusIdMaps.values()) { |
| | | if (value > saveCount) { |
| | | saveCount = value; |
| | | } |
| | | } |
| | | |
| | | issueRisk.setChangeIssueStatusCount(saveCount.longValue()); |
| | | issueRisk.setIssueStatusIds(issueStatusIds); |
| | | } |
| | | |
| | | // 담당자 변경 |
| | | if (changeDepartment) { |
| | | issueRisk.setChangeDepartmentCount(issueRisk.getChangeDepartmentCount() + 1); |
| | | } |
| | | |
| | | this.issueRiskRepository.saveAndFlush(issueRisk); |
| | | } |
| | | } |