feat(REQ-3714): 判断是小组长
This commit is contained in:
parent
6571282886
commit
4187120b6b
@ -9,9 +9,7 @@ import cn.axzo.orgmanax.dto.common.util.NumberUtil;
|
||||
import cn.axzo.orgmanax.dto.cooperateship.dto.OrgCooperateShipDTO;
|
||||
import cn.axzo.orgmanax.dto.cooperateship.enums.CooperateShipTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.cooperateship.req.ListOrgCooperateShipReq;
|
||||
import cn.axzo.orgmanax.dto.node.dto.OrgNodeDTO;
|
||||
import cn.axzo.orgmanax.dto.node.enums.NodeTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.node.req.ListNodeReq;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.dto.NodeUserDTO;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.enums.CheckInfoTypeEnum;
|
||||
import cn.axzo.orgmanax.dto.nodeuser.req.BatchDeleteNodeUserCheckReq;
|
||||
@ -46,7 +44,6 @@ import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.ToIntFunction;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@ -231,8 +228,8 @@ public class NodeUserCheckServiceImpl implements NodeUserCheckService {
|
||||
addFailInfo(failInfoMap, e.getPersonId(), checkFailInfo);
|
||||
});
|
||||
|
||||
// 判断是否合作小组小组长,合作小组小组长不允许删除
|
||||
checkIndependentGroupLeader(nodeUsers, failInfoMap);
|
||||
// 判断小组长,小组长不允许删除
|
||||
checkGroupLeader(nodeUsers, failInfoMap);
|
||||
|
||||
// 判断是否拥有admin角色 判断是否是分包管理员
|
||||
List<Long> adminRoleIds = getSpecialRole();
|
||||
@ -306,27 +303,15 @@ public class NodeUserCheckServiceImpl implements NodeUserCheckService {
|
||||
}));
|
||||
}
|
||||
|
||||
private void checkIndependentGroupLeader(List<NodeUserDTO> nodeUsers, Map<Long, List<BatchDeleteNodeUserCheckResp.CheckFailInfo>> failInfoMap) {
|
||||
private void checkGroupLeader(List<NodeUserDTO> nodeUsers, Map<Long, List<BatchDeleteNodeUserCheckResp.CheckFailInfo>> failInfoMap) {
|
||||
if (CollUtil.isEmpty(nodeUsers)) {
|
||||
return;
|
||||
}
|
||||
Set<Long> nodeIdList = nodeUsers.stream().map(NodeUserDTO::getOrganizationalNodeId).collect(Collectors.toSet());
|
||||
ListNodeReq nodeBatchQueryVO = new ListNodeReq();
|
||||
nodeBatchQueryVO.setIds(nodeIdList);
|
||||
List<OrgNodeDTO> nodeVOList = nodeService.list(nodeBatchQueryVO);
|
||||
if (CollectionUtil.isEmpty(nodeVOList)) {
|
||||
throw ResultCode.INVALID_PARAMS.toException("操作失败:获取部门节点信息失败");
|
||||
}
|
||||
Map<Long, OrgNodeDTO> nodeVOMap = nodeVOList.stream().collect(Collectors.toMap(OrgNodeDTO::getId, Function.identity()));
|
||||
for (NodeUserDTO u : nodeUsers) {
|
||||
if (projectTeamGPLeader.equals(u.getJob().getCode())) {
|
||||
OrgNodeDTO nodeVO = nodeVOMap.getOrDefault(u.getOrganizationalNodeId(), null);
|
||||
if (Objects.nonNull(nodeVO) && NodeTypeEnum.PROJECT_GROUP.getValue().equals(nodeVO.getNodeType())
|
||||
&& Objects.nonNull(nodeVO.independentGroup()) && nodeVO.independentGroup()) {
|
||||
BatchDeleteNodeUserCheckResp.CheckFailInfo checkFailInfo = new BatchDeleteNodeUserCheckResp.CheckFailInfo();
|
||||
checkFailInfo.setType(CheckInfoTypeEnum.PROJECT_GROUP_LEADER);
|
||||
addFailInfo(failInfoMap, u.getPersonId(), checkFailInfo);
|
||||
}
|
||||
BatchDeleteNodeUserCheckResp.CheckFailInfo checkFailInfo = new BatchDeleteNodeUserCheckResp.CheckFailInfo();
|
||||
checkFailInfo.setType(CheckInfoTypeEnum.PROJECT_GROUP_LEADER);
|
||||
addFailInfo(failInfoMap, u.getPersonId(), checkFailInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user