From dc873bdc1e57945d6cb6eadd41ef38cc2a4b35d3 Mon Sep 17 00:00:00 2001 From: 이민희 <mhlee@maprex.co.kr> Date: 월, 15 11월 2021 17:21:18 +0900 Subject: [PATCH] 담당자 -> 담당부서 변경 * db날리고 실행 --- src/main/java/kr/wisestone/owl/service/impl/IssueUserServiceImpl.java | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 77 insertions(+), 0 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/service/impl/IssueUserServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/IssueUserServiceImpl.java index 13dfa3f..f202174 100644 --- a/src/main/java/kr/wisestone/owl/service/impl/IssueUserServiceImpl.java +++ b/src/main/java/kr/wisestone/owl/service/impl/IssueUserServiceImpl.java @@ -75,7 +75,84 @@ } } + // �씠�뒋 �떞�떦遺��꽌瑜� 蹂�寃쏀븳�떎. + @Override + @Transactional + public void modifyIssueDepartment(Issue issue, Workspace workspace, List<Long> departmentIds) { + List<Long> oldDepartmentIds = Lists.newArrayList(); + // �씠�쟾 �떞�떦 遺��꽌 + for (IssueUser issueUser : issue.getIssueUsers()) { + oldDepartmentIds.add(issueUser.getDepartment().getId()); + } + + List<Long> newDepartmentIds = CommonUtil.searchChangeList(oldDepartmentIds, departmentIds); // 異붽��빐�빞�븷 遺��꽌瑜� 李얜뒗�떎. + List<Long> removeDepartmentIds = CommonUtil.searchChangeList(departmentIds, oldDepartmentIds); // �궘�젣�빐�빞�븷 遺��꽌瑜� 李얜뒗�떎. + + if (removeDepartmentIds.size() > 0) { + Map<String, Object> removeIssueAssigneeMap = new HashMap<>(); + removeIssueAssigneeMap.put("issueId", issue.getId()); + removeIssueAssigneeMap.put("departmentIds", removeDepartmentIds); + + // �떞�떦遺��꽌 �궘�젣 + this.issueUserMapper.deleteIssueUserByIssueIdAndMultiDepartmentId(removeIssueAssigneeMap); + } + + if (newDepartmentIds.size() > 0) { + List<Map<String, Long>> addIssueAssigneeMaps = Lists.newArrayList(); + + for (Long departmentId : newDepartmentIds) { + Map<String, Long> issueAssigneeMap = new HashMap<>(); + issueAssigneeMap.put("departmentId", departmentId); //�떞�떦遺��꽌 + issueAssigneeMap.put("issueId", issue.getId()); + issueAssigneeMap.put("workspaceId", workspace.getId()); + issueAssigneeMap.put("registerId", this.webAppUtil.getLoginId()); + addIssueAssigneeMaps.add(issueAssigneeMap); + } + + // �떞�떦遺��꽌 異붽� + this.issueUserMapper.insertIssueUser(addIssueAssigneeMaps); + } + } + + @Override + @Transactional + public void insertIssueDepartment(List<Map<String, Long>> issueAssigneeMaps) { + // �씠�뒋 �떞�떦遺��꽌 踰뚰겕 �벑濡� + this.issueUserMapper.insertIssueUser(issueAssigneeMaps); + } + + // �씠�뒋 �떞�떦遺��꽌�뿉�꽌 �젣�쇅�븳�떎. + @Override + @Transactional + public void removeIssueDepartment(Long projectId, List<Long> excludeDepartmentIds) { + for (Long departmentId : excludeDepartmentIds) { + Map<String, Object> issueUserMap = new HashMap<>(); + issueUserMap.put("departmentId", departmentId); + issueUserMap.put("projectId", projectId); + + List<Map<String, Object>> results = this.issueUserMapper.findByDepartmentIdAndProjectId(issueUserMap); + + if (results.size() > 0) { + List<Long> issueIds = Lists.newArrayList(); + + for (Map<String, Object> result : results) { + Long id = MapUtil.getLong(result, "id"); + + if (id != null) { + issueIds.add(id); + } + } + + if (issueIds.size() > 0) { + Map<String, Object> removeIssueAssigneeMap = new HashMap<>(); + removeIssueAssigneeMap.put("departmentId", departmentId); + removeIssueAssigneeMap.put("issueIds", issueIds); + this.issueUserMapper.deleteIssueUserByDepartmentIdAndMultiIssueId(removeIssueAssigneeMap); + } + } + } + } // �씠�뒋 �떞�떦�옄 李얘린 @Override -- Gitblit v1.8.0