Compare commits
2 Commits
cccbea676c
...
5bb77c2a51
| Author | SHA1 | Date | |
|---|---|---|---|
| 5bb77c2a51 | |||
| 7d5935eae7 |
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
@@ -111,11 +111,13 @@ public class SpdmNewTaskVo extends BaseEntity {
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private List<SpdmTaskMemberVo> pMemberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private List<SpdmTaskMemberVo> eMemberList;
|
||||
|
||||
/**
|
||||
|
||||
@@ -112,11 +112,13 @@ public class SpdmTaskVo extends BaseEntity {
|
||||
/**
|
||||
* 仿真负责人
|
||||
*/
|
||||
@JsonProperty(value = "pMemberList")
|
||||
private List<SpdmTaskMemberVo> pMemberList;
|
||||
|
||||
/**
|
||||
* 仿真执行人
|
||||
*/
|
||||
@JsonProperty(value = "eMemberList")
|
||||
private List<SpdmTaskMemberVo> eMemberList;
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
// 查询当前节点下任务
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user