feat(REQ-3714): 处理项目内工人退场
This commit is contained in:
parent
25e1513168
commit
a3bce5367e
@ -170,7 +170,7 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
|
|||||||
List<Long> nodeUserIds = req.stream().map(NodeUserUpdate::getId).collect(Collectors.toList());
|
List<Long> nodeUserIds = req.stream().map(NodeUserUpdate::getId).collect(Collectors.toList());
|
||||||
List<NodeUserQueryRepository.NodeUserResp> dbNodeUsers = nodeUserQueryRepository.list(NodeUserQueryRepository.ListReq.builder()
|
List<NodeUserQueryRepository.NodeUserResp> dbNodeUsers = nodeUserQueryRepository.list(NodeUserQueryRepository.ListReq.builder()
|
||||||
.ids(nodeUserIds).build());
|
.ids(nodeUserIds).build());
|
||||||
Axssert.checkNotEmpty(dbNodeUsers,"部门人员不存在 {}",nodeUserIds);
|
Axssert.checkNotEmpty(dbNodeUsers, "部门人员不存在 {}", nodeUserIds);
|
||||||
|
|
||||||
List<NodeUserUpsertRepository.UpdateReq> updateReqs = BeanUtil.copyToList(req, NodeUserUpsertRepository.UpdateReq.class);
|
List<NodeUserUpsertRepository.UpdateReq> updateReqs = BeanUtil.copyToList(req, NodeUserUpsertRepository.UpdateReq.class);
|
||||||
return nodeUserUpsertRepository.updateBatchById(updateReqs);
|
return nodeUserUpsertRepository.updateBatchById(updateReqs);
|
||||||
@ -188,6 +188,8 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
|
|||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return CollUtil.newArrayList();
|
return CollUtil.newArrayList();
|
||||||
}
|
}
|
||||||
|
Map<Long, Set<Long>> ouPersonIdsMap = list.stream().collect(Collectors.groupingBy(NodeUserQueryRepository.NodeUserResp::getOrganizationalUnitId,
|
||||||
|
Collectors.mapping(OrganizationalNodeUser::getPersonId, Collectors.toSet())));
|
||||||
//批量删除node_user
|
//批量删除node_user
|
||||||
nodeUserUpsertRepository.batchDelete(list.stream().map(NodeUserQueryRepository.NodeUserResp::getId).collect(Collectors.toSet()));
|
nodeUserUpsertRepository.batchDelete(list.stream().map(NodeUserQueryRepository.NodeUserResp::getId).collect(Collectors.toSet()));
|
||||||
List<OrganizationalNodeUser> nodeUserList = list.stream().map(e -> BeanUtil.toBean(e, OrganizationalNodeUser.class)).collect(Collectors.toList());
|
List<OrganizationalNodeUser> nodeUserList = list.stream().map(e -> BeanUtil.toBean(e, OrganizationalNodeUser.class)).collect(Collectors.toList());
|
||||||
@ -199,12 +201,18 @@ public class NodeUserFoundationServiceImpl implements NodeUserFoundationService
|
|||||||
OrgUserWithdrawOrQuitReq quitReq = new OrgUserWithdrawOrQuitReq();
|
OrgUserWithdrawOrQuitReq quitReq = new OrgUserWithdrawOrQuitReq();
|
||||||
quitReq.setUnitUpdate(req.isUnitDelete());
|
quitReq.setUnitUpdate(req.isUnitDelete());
|
||||||
quitReq.setWorkspaceId(req.getWorkspaceId());
|
quitReq.setWorkspaceId(req.getWorkspaceId());
|
||||||
|
quitReq.setTopNodeIdAndPersonIds(quitMap);
|
||||||
if (req.isUnitDelete()) {
|
if (req.isUnitDelete()) {
|
||||||
quitReq.setOuId(req.getOuId());
|
quitReq.setOuId(req.getOuId());
|
||||||
quitReq.setWorkspaceId(nodeUserList.get(0).getWorkspaceId());
|
quitReq.setWorkspaceId(nodeUserList.get(0).getWorkspaceId());
|
||||||
}
|
|
||||||
quitReq.setTopNodeIdAndPersonIds(quitMap);
|
|
||||||
orgUserFoundationService.batchWithdrawOrQuit(quitReq);
|
orgUserFoundationService.batchWithdrawOrQuit(quitReq);
|
||||||
|
} else {
|
||||||
|
for (Map.Entry<Long, Set<Long>> unitPersonIds : ouPersonIdsMap.entrySet()) {
|
||||||
|
quitReq.setOuId(unitPersonIds.getKey());
|
||||||
|
quitReq.setPersonIds(unitPersonIds.getValue());
|
||||||
|
orgUserFoundationService.batchWithdrawOrQuit(quitReq);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//项目内工人退场
|
//项目内工人退场
|
||||||
OrgProjectWorkerWithdrawReq workerReq = new OrgProjectWorkerWithdrawReq();
|
OrgProjectWorkerWithdrawReq workerReq = new OrgProjectWorkerWithdrawReq();
|
||||||
|
|||||||
@ -60,6 +60,9 @@ public class OrgUserFoundationServiceImpl implements OrgUserFoundationService {
|
|||||||
listOrgUserReq.setWorkspaceId(req.getWorkspaceId());
|
listOrgUserReq.setWorkspaceId(req.getWorkspaceId());
|
||||||
Set<Long> personIds = req.getTopNodeIdAndPersonIds().values().stream().flatMap(Set::stream).collect(Collectors.toSet());
|
Set<Long> personIds = req.getTopNodeIdAndPersonIds().values().stream().flatMap(Set::stream).collect(Collectors.toSet());
|
||||||
listOrgUserReq.setPersonIds(personIds);
|
listOrgUserReq.setPersonIds(personIds);
|
||||||
|
if (CollUtil.isNotEmpty(req.getPersonIds())) {
|
||||||
|
listOrgUserReq.setPersonIds(req.getPersonIds());
|
||||||
|
}
|
||||||
List<OrgUserQueryRepository.OrgUserResp> list = orgUserQueryRepository.list(listOrgUserReq);
|
List<OrgUserQueryRepository.OrgUserResp> list = orgUserQueryRepository.list(listOrgUserReq);
|
||||||
if (CollUtil.isEmpty(list)) {
|
if (CollUtil.isEmpty(list)) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -18,6 +18,8 @@ public class OrgUserWithdrawOrQuitReq {
|
|||||||
|
|
||||||
private Map<Long, Set<Long>> topNodeIdAndPersonIds;
|
private Map<Long, Set<Long>> topNodeIdAndPersonIds;
|
||||||
|
|
||||||
|
private Set<Long> personIds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否单位更新
|
* 是否单位更新
|
||||||
*/
|
*/
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user