Merge remote-tracking branch 'origin/main'
This commit is contained in:
@@ -174,6 +174,17 @@ public class ProjectNode extends BaseEntity {
|
||||
|
||||
private List<ProjectNodeMemberPo> memberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private String eMemberList;
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private String pMemberList;
|
||||
|
||||
private String levelType;
|
||||
|
||||
private String nodeLevel;
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.sdm.project.model.po;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.project.model.bo.ProjectNode;
|
||||
import lombok.Data;
|
||||
|
||||
@@ -117,6 +118,18 @@ public class ProjectNodePo extends NodeAllBase {
|
||||
|
||||
public String members;
|
||||
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private List<CIDUserResp> pMemberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private List<CIDUserResp> eMemberList;
|
||||
|
||||
/**
|
||||
* 拓展属性集合
|
||||
*/
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.sdm.project.model.po;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.common.entity.pojo.BaseEntity;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -125,6 +126,18 @@ public class TaskNodePo extends NodeAllBase {
|
||||
|
||||
public String members;
|
||||
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private List<CIDUserResp> pMemberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private List<CIDUserResp> eMemberList;
|
||||
|
||||
/**
|
||||
* 拓展属性集合
|
||||
*/
|
||||
|
||||
@@ -178,6 +178,17 @@ public class TaskEditNodeReq extends BaseEntity {
|
||||
|
||||
private List<TaskMemberNode> memberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private String eMemberList;
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private String pMemberList;
|
||||
|
||||
|
||||
private String performanceId;
|
||||
|
||||
|
||||
@@ -23,15 +23,13 @@ import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import com.sdm.project.model.entity.SimulationNode;
|
||||
import com.sdm.project.model.entity.SimulationRun;
|
||||
import com.sdm.project.model.entity.SimulationTask;
|
||||
import com.sdm.project.model.entity.SimulationTaskMember;
|
||||
import com.sdm.project.model.po.PerformanceNodePo;
|
||||
import com.sdm.project.model.po.ProjectNodePo;
|
||||
import com.sdm.project.model.po.TaskNodePo;
|
||||
import com.sdm.project.model.req.*;
|
||||
import com.sdm.project.model.vo.*;
|
||||
import com.sdm.project.service.INodeService;
|
||||
import com.sdm.project.service.IProjectService;
|
||||
import com.sdm.project.service.ISimulationRunService;
|
||||
import com.sdm.project.service.ISimulationTaskService;
|
||||
import com.sdm.project.service.*;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
@@ -68,6 +66,9 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
@Autowired
|
||||
private ISimulationRunService simulationRunService;
|
||||
|
||||
@Autowired
|
||||
private ISimulationTaskMemberService simulationTaskMemberService;
|
||||
|
||||
@Resource
|
||||
private SimulationDemandMapper demandMapper;
|
||||
|
||||
@@ -552,7 +553,16 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
log.error("allNodeIdList:{},未查询到团队成员", allNodeIdList);
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
List<Long> userIdList = spdmNodeMemberVoList.stream().map(SpdmNodeMemberVo::getUserId).distinct().toList();
|
||||
List<Long> userIdList = spdmNodeMemberVoList.stream().map(SpdmNodeMemberVo::getUserId).distinct().collect(Collectors.toList());;
|
||||
|
||||
// 查询node节点下的task的成员(仿真负责人和执行人)
|
||||
List<SimulationTask> taskList = simulationTaskService.lambdaQuery().in(SimulationTask::getNodeId, allNodeIdList).list();
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
List<SimulationTaskMember> taskMemberList = simulationTaskMemberService.lambdaQuery().in(SimulationTaskMember::getTaskId, taskList.stream().map(SimulationTask::getUuid).toList()).list();
|
||||
if (CollectionUtils.isNotEmpty(taskMemberList)) {
|
||||
userIdList.addAll(taskMemberList.stream().map(SimulationTaskMember::getUserId).distinct().toList());
|
||||
}
|
||||
}
|
||||
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(userIdList).build());
|
||||
List<CIDUserResp> userList = cidUserResp.getData();
|
||||
|
||||
|
||||
@@ -12,16 +12,22 @@ import com.sdm.common.entity.enums.NodeTypeEnum;
|
||||
import com.sdm.common.entity.req.data.CreateDirReq;
|
||||
import com.sdm.common.entity.req.data.DelDirReq;
|
||||
import com.sdm.common.entity.req.data.RenameDirReq;
|
||||
import com.sdm.common.entity.req.system.UserQueryReq;
|
||||
import com.sdm.common.entity.resp.system.CIDUserResp;
|
||||
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
|
||||
import com.sdm.common.feign.impl.system.SysUserFeignClientImpl;
|
||||
import com.sdm.common.service.BaseService;
|
||||
import com.sdm.common.utils.RandomUtil;
|
||||
import com.sdm.project.common.MemberTypeEnum;
|
||||
import com.sdm.project.common.VersionEnum;
|
||||
import com.sdm.project.dao.SimulationNodeMapper;
|
||||
import com.sdm.project.dao.SimulationProjectMapper;
|
||||
import com.sdm.project.model.bo.*;
|
||||
import com.sdm.project.model.entity.SimulationTaskMember;
|
||||
import com.sdm.project.model.po.*;
|
||||
import com.sdm.project.model.req.*;
|
||||
import com.sdm.project.service.IProjectService;
|
||||
import com.sdm.project.service.ISimulationTaskMemberService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.collections4.MapUtils;
|
||||
@@ -53,6 +59,12 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
@Autowired
|
||||
private DataClientFeignClientImpl dataClientFeignClient;
|
||||
|
||||
@Autowired
|
||||
private ISimulationTaskMemberService simulationTaskMemberService;
|
||||
|
||||
@Autowired
|
||||
SysUserFeignClientImpl sysUserFeignClient;
|
||||
|
||||
private String currentTopNodeType = "";
|
||||
|
||||
// private HashMap<String, List<String>> idMap = new HashMap<>();
|
||||
@@ -192,11 +204,19 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
mapper.updateProjectNodeItemExtra(taskExtraNode);
|
||||
}
|
||||
}
|
||||
taskMemberNodeList = taskEditNodeReq.getMemberList();
|
||||
if (CollectionUtils.isNotEmpty(taskMemberNodeList)) {
|
||||
for (TaskMemberNode taskMemberNode : taskMemberNodeList) {
|
||||
mapper.updateProjectNodeItemMember(taskMemberNode);
|
||||
}
|
||||
// 修改仿真执行人
|
||||
if (StringUtils.isNotBlank(taskEditNodeReq.getEMemberList())) {
|
||||
String[] userIdArr = taskEditNodeReq.getEMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.deleteTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode());
|
||||
simulationTaskMemberService.saveTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
|
||||
}
|
||||
// 修改仿真负责人
|
||||
if (StringUtils.isNotBlank(taskEditNodeReq.getPMemberList())) {
|
||||
String[] userIdArr = taskEditNodeReq.getPMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.deleteTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.PRINCIPAL.getCode());
|
||||
simulationTaskMemberService.saveTaskMemberList(taskEditNodeReq.getUuid(), MemberTypeEnum.PRINCIPAL.getCode(), longUserIdList);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -395,6 +415,22 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
}
|
||||
}
|
||||
}
|
||||
// 查询当前任务的负责人和执行人
|
||||
for (TaskNodePo taskNodePo : currentNodeAssociatedTaskList) {
|
||||
List<SimulationTaskMember> memberList = simulationTaskMemberService.lambdaQuery().eq(SimulationTaskMember::getTaskId, taskNodePo.getUuid()).list();
|
||||
if (CollectionUtils.isNotEmpty(memberList)) {
|
||||
List<Long> eUserIdList = memberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList();
|
||||
List<Long> pUserIdList = memberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).map(SimulationTaskMember::getUserId).distinct().toList();
|
||||
if (CollectionUtils.isNotEmpty(eUserIdList)) {
|
||||
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(eUserIdList).build());
|
||||
taskNodePo.setEMemberList(cidUserResp.getData());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(pUserIdList)) {
|
||||
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(pUserIdList).build());
|
||||
taskNodePo.setPMemberList(cidUserResp.getData());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 查询子节点,可能是同类型节点也可能是不同类型节点
|
||||
@@ -1226,18 +1262,19 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
|
||||
taskNodeList.add(projectNode);
|
||||
List<TaskMemberNode> taskMemberNodeList = projectNode.getMemberList();
|
||||
if (CollectionUtils.isNotEmpty(taskMemberNodeList)) {
|
||||
for (TaskMemberNode member : taskMemberNodeList) {
|
||||
TaskMemberNode taskMemberNode = new TaskMemberNode();
|
||||
taskMemberNode.setTaskId(projectNode.getUuid());
|
||||
taskMemberNode.setNodeId(projectNode.getUuid());
|
||||
taskMemberNode.setIdentity(member.getIdentity());
|
||||
taskMemberNode.setName(member.getName());
|
||||
taskMemberNode.setUserId(member.getUserId());
|
||||
taskMemberNode.setType(member.getType());
|
||||
projectNodeMemberList.add(taskMemberNode);
|
||||
}
|
||||
// 设置仿真执行人
|
||||
if (StringUtils.isNotBlank(projectNode.getEMemberList())) {
|
||||
String[] userIdArr = projectNode.getEMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.saveTaskMemberList(projectNode.getUuid(), MemberTypeEnum.EXECUTOR.getCode(), longUserIdList);
|
||||
}
|
||||
// 设置仿真负责人
|
||||
if (StringUtils.isNotBlank(projectNode.getPMemberList())) {
|
||||
String[] userIdArr = projectNode.getPMemberList().split(",");
|
||||
List<Long> longUserIdList = Arrays.stream(userIdArr).filter(s -> !s.isEmpty()).map(Long::valueOf).collect(Collectors.toList());
|
||||
simulationTaskMemberService.saveTaskMemberList(projectNode.getUuid(), MemberTypeEnum.PRINCIPAL.getCode(), longUserIdList);
|
||||
}
|
||||
|
||||
List<TaskExtraNode> extraList = projectNode.getTaskExtraNodeList();
|
||||
if (CollectionUtils.isNotEmpty(extraList)) {
|
||||
for (TaskExtraNode extra : extraList) {
|
||||
|
||||
@@ -124,6 +124,9 @@
|
||||
<if test="taskNode.realDays != null and taskNode.realDays != ''">
|
||||
real_days = #{taskNode.realDays},
|
||||
</if>
|
||||
<if test="taskNode.days != null and taskNode.days != ''">
|
||||
days = #{taskNode.days},
|
||||
</if>
|
||||
<if test="taskNode.standard != null and taskNode.standard != ''">
|
||||
standard = #{taskNode.standard},
|
||||
</if>
|
||||
|
||||
Reference in New Issue
Block a user