Compare commits

...

2 Commits

8 changed files with 66 additions and 19 deletions

View File

@@ -1,5 +1,6 @@
package com.sdm.project.model.req;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sdm.common.entity.pojo.BaseEntity;
import lombok.Data;
@@ -77,11 +78,13 @@ public class SpdmEditDemandReq extends BaseEntity {
/**
* 仿真负责人
*/
@JsonProperty(value = "pMemberList")
private String pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberList")
private String eMemberList;
/**

View File

@@ -32,29 +32,33 @@ public class SpdmTaskListReq {
/**
* 任务状态
*/
private String taskStatus;
private String exeStatus;
private List<String> exeStatusList;
/**
* 达成情况
*/
private String achieveStatus;
private List<String> achieveStatusList;
/**
* 任务进度
*/
private Integer process;
private Integer progress;
/**
* 仿真负责人
*/
@JsonProperty(value = "pMemberIdList")
private String pMemberIdList;
@JsonProperty(value = "pMemberList")
private String pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberIdList")
private String eMemberIdList;
@JsonProperty(value = "eMemberList")
private String eMemberList;
private List<TaskNodeTag> idMap;

View File

@@ -1,5 +1,6 @@
package com.sdm.project.model.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sdm.common.entity.pojo.BaseEntity;
import com.sdm.project.model.req.SpdmDemandExtraReq;
import com.sdm.project.model.vo.SpdmDemandMemberVo;
@@ -71,11 +72,13 @@ public class SpdmDemandVo extends BaseEntity {
/**
* 仿真负责人
*/
@JsonProperty(value = "pMemberList")
private List<SpdmUserVo> pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberList")
private List<SpdmUserVo> eMemberList;
/**

View File

@@ -111,11 +111,13 @@ public class SpdmNewTaskVo extends BaseEntity {
/**
* 仿真负责人
*/
@JsonProperty(value = "pMemberList")
private List<SpdmTaskMemberVo> pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberList")
private List<SpdmTaskMemberVo> eMemberList;
/**

View File

@@ -112,11 +112,13 @@ public class SpdmTaskVo extends BaseEntity {
/**
* 仿真负责人
*/
@JsonProperty(value = "pMemberList")
private List<SpdmTaskMemberVo> pMemberList;
/**
* 仿真执行人
*/
@JsonProperty(value = "eMemberList")
private List<SpdmTaskMemberVo> eMemberList;
/**

View File

@@ -308,7 +308,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
throw new RuntimeException(e);
}
if (StringUtils.isBlank(currentNodeTagId)) {
throw new RuntimeException("查询任务树异常");
return;
}
String finalCurrentNodeTagId = currentNodeTagId;
// 查询当前节点下任务

View File

@@ -68,6 +68,12 @@ public class TaskServiceImpl implements ITaskService {
log.error("type必须为0或1或2");
return SdmResponse.failed("公司和工号都不能为空");
}
if (StringUtils.isNotBlank(req.getExeStatus())) {
req.setExeStatusList(Arrays.stream(req.getExeStatus().split(",")).toList());
}
if (StringUtils.isNotBlank(req.getAchieveStatus())) {
req.setAchieveStatusList(Arrays.stream(req.getAchieveStatus().split(",")).toList());
}
List<SpdmTaskVo> allTaskList = mapper.getTaskList(tenantId, req);
if (CollectionUtils.isEmpty(allTaskList)) {
log.error("根据tenantId{},未查询到任务", tenantId);
@@ -102,27 +108,43 @@ public class TaskServiceImpl implements ITaskService {
log.info("未查询任务");
return SdmResponse.success(new ArrayList<>());
}
JSONObject jsonObject = new JSONObject();
jsonObject.put("currentPage", req.getCurrent());
jsonObject.put("pageSize", req.getSize());
List<String> taskIdList = taskList.stream().map(SpdmTaskVo::getUuid).toList();
List<SpdmTaskMemberVo> taskMemberVoList = mapper.getMemberList(taskIdList, null);
Map<String, List<SpdmTaskMemberVo>> memberMap = Map.of();
if (CollectionUtils.isNotEmpty(taskMemberVoList)) {
if (ObjectUtils.isNotEmpty(req.getPMemberIdList())) {
List<Long> pMemberIdList = Stream.of(req.getPMemberIdList().split(",")).map(Long::valueOf).toList();
if (ObjectUtils.isNotEmpty(req.getPMemberList())) {
List<Long> pMemberIdList = Stream.of(req.getPMemberList().split(",")).map(Long::valueOf).toList();
// 通过仿真负责人过滤
taskMemberVoList = taskMemberVoList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType()) && pMemberIdList.contains(member.getUserId())).collect(Collectors.toList());
}
if (StringUtils.isNotBlank(req.getEMemberIdList())) {
if (StringUtils.isNotBlank(req.getEMemberList())) {
// 通过仿真执行人过滤
List<Long> eMemberIdList = Stream.of(req.getEMemberIdList().split(",")).map(Long::valueOf).toList();
List<Long> eMemberIdList = Stream.of(req.getEMemberList().split(",")).map(Long::valueOf).toList();
// 通过仿真负责人过滤
taskMemberVoList = taskMemberVoList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType()) && eMemberIdList.contains(member.getUserId())).collect(Collectors.toList());
}
if (CollectionUtils.isEmpty(taskMemberVoList)) {
log.error("taskMemberVoList为空");
jsonObject.put("total", 0);
jsonObject.put("data", new ArrayList<>());
return SdmResponse.success(jsonObject);
}
memberMap = taskMemberVoList.stream().collect(Collectors.groupingBy(SpdmTaskMemberVo::getTaskId));
List<String> realTaskIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getTaskId).distinct().toList();
// 根据负责人信息过滤任务
taskList = taskList.stream().filter(task -> realTaskIdList.contains(task.getUuid())).toList();
if (CollectionUtils.isEmpty(taskList)) {
log.error("taskList为空");
jsonObject.put("total", 0);
jsonObject.put("data", new ArrayList<>());
return SdmResponse.success(jsonObject);
}
}
List<SpdmTaskMemberVo> eachMemberList;
JSONObject jsonObject = new JSONObject();
jsonObject.put("currentPage", req.getCurrent());
jsonObject.put("pageSize", req.getSize());
List<String> tagList = idMapList.stream().map(TaskNodeTag::getValue).toList();
List<String> nodeIdList = new ArrayList<>();
List<String> eachNodeIdList;

View File

@@ -6,7 +6,7 @@
<insert id="saveAttentionList">
insert into simulation_task_attention (task_id,identity,name,user_id,creator,create_time) values
<foreach collection='attentionList' item='attention' index='index' separator=','>
(#{attention.taskId},#{attention.identity},#{attention.name},#{attention.userId},#{attention.creator},#{attention.createTime})
(#{attention.taskId},null,null,#{attention.userId},#{attention.creator},#{attention.createTime})
</foreach>
</insert>
@@ -49,11 +49,22 @@
<if test="req.taskName != null and req.taskName != ''">
and task_name = #{req.taskName}
</if>
<if test="req.process != null and req.process != ''">
and process = #{req.process}
<if test="req.progress != null and req.progress != ''">
and progress = #{req.progress}
</if>
<if test="req.achieveStatus != null and req.achieveStatus != ''">
and achieve_status = #{req.achieveStatus}
<if test="req.exeStatusList != null and req.exeStatusList.size > 0">
and exe_status in (
<foreach collection='req.exeStatusList' item='exeStatus' index='index' separator=','>
#{exeStatus}
</foreach>
)
</if>
<if test="req.achieveStatusList != null and req.achieveStatusList.size > 0">
and achieve_status in (
<foreach collection='req.achieveStatusList' item='achieveStatus' index='index' separator=','>
#{achieveStatus}
</foreach>
)
</if>
<if test="req.finishTime != null and req.finishTime != ''">
and finish_time = #{req.finishTime}