Compare commits
2 Commits
faa230afb0
...
989cfdf70f
| Author | SHA1 | Date | |
|---|---|---|---|
| 989cfdf70f | |||
| 8f07e3b04c |
@@ -1,6 +1,7 @@
|
|||||||
package com.sdm.project.model.req;
|
package com.sdm.project.model.req;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
import com.sdm.common.validator.annotation.EnumValue;
|
import com.sdm.common.validator.annotation.EnumValue;
|
||||||
import com.sdm.project.common.TaskQryTypeEnum;
|
import com.sdm.project.common.TaskQryTypeEnum;
|
||||||
import com.sdm.project.model.bo.TaskNodeTag;
|
import com.sdm.project.model.bo.TaskNodeTag;
|
||||||
@@ -19,8 +20,71 @@ public class SpdmTaskCountReq {
|
|||||||
@EnumValue(enumClass = TaskQryTypeEnum.class, message = "type任务类型无效")
|
@EnumValue(enumClass = TaskQryTypeEnum.class, message = "type任务类型无效")
|
||||||
private Integer type;
|
private Integer type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务名称
|
||||||
|
*/
|
||||||
|
private String taskName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务状态
|
||||||
|
*/
|
||||||
|
private String exeStatus;
|
||||||
|
|
||||||
|
private List<String> exeStatusList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 达成情况
|
||||||
|
*/
|
||||||
|
private String achieveStatus;
|
||||||
|
|
||||||
|
private List<String> achieveStatusList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务进度
|
||||||
|
*/
|
||||||
|
private Integer progress;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仿真负责人
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "pMemberList")
|
||||||
|
private String pMemberList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仿真执行人
|
||||||
|
*/
|
||||||
|
@JsonProperty(value = "eMemberList")
|
||||||
|
private String eMemberList;
|
||||||
|
|
||||||
private List<TaskNodeTag> idMap;
|
private List<TaskNodeTag> idMap;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划开始时间
|
||||||
|
*/
|
||||||
|
private List<String> beginTime;
|
||||||
|
|
||||||
|
private String beginSTime;
|
||||||
|
|
||||||
|
private String beginETime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 计划结束时间
|
||||||
|
*/
|
||||||
|
private List<String> endTime;
|
||||||
|
|
||||||
|
private String endSTime;
|
||||||
|
|
||||||
|
private String endETime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实际结束时间
|
||||||
|
*/
|
||||||
|
private List<String> finishTime;
|
||||||
|
|
||||||
|
private String finishSTime;
|
||||||
|
|
||||||
|
private String finishETime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 今明任务 筛选计划结束时间为今明两天的
|
* 今明任务 筛选计划结束时间为今明两天的
|
||||||
*/
|
*/
|
||||||
@@ -30,4 +94,23 @@ public class SpdmTaskCountReq {
|
|||||||
*/
|
*/
|
||||||
private String todayTime;
|
private String todayTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序顺序 按创建时间 0-先序/1-倒序排序
|
||||||
|
*/
|
||||||
|
private Integer sortOrder;
|
||||||
|
|
||||||
|
private String demandId;
|
||||||
|
|
||||||
|
private Boolean convertTag = true;
|
||||||
|
|
||||||
|
private String approvalStatus;
|
||||||
|
|
||||||
|
private List<String> approvalStatusList;
|
||||||
|
|
||||||
|
private List<TaskNodeTag> nodeTypeMap;
|
||||||
|
|
||||||
|
private Long userId;
|
||||||
|
|
||||||
|
private List<String> filterDiscipline;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1085,75 +1085,21 @@ public class TaskServiceImpl implements ITaskService {
|
|||||||
TaskCountResp taskCountResp = new TaskCountResp();
|
TaskCountResp taskCountResp = new TaskCountResp();
|
||||||
List<String> taskIdList = taskList.stream().map(SpdmTaskVo::getUuid).toList();
|
List<String> taskIdList = taskList.stream().map(SpdmTaskVo::getUuid).toList();
|
||||||
List<SpdmTaskMemberVo> taskMemberVoList = mapper.getMemberList(taskIdList, null);
|
List<SpdmTaskMemberVo> taskMemberVoList = mapper.getMemberList(taskIdList, null);
|
||||||
|
List<SpdmTaskAttentionMemberVo> taskAttentionMemberVoList = mapper.getAttentionMemberList(taskIdList);
|
||||||
// List<String> realTaskIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getTaskId).distinct().toList();
|
|
||||||
// 根据负责人信息过滤任务
|
|
||||||
// taskList = taskList.stream().filter(task -> realTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
|
|
||||||
if (type == 2) {
|
if (type == 2) {
|
||||||
// 过滤所有任务
|
// 过滤所有任务
|
||||||
Set<SpdmTaskVo> returnTaskSet = getSpdmTaskVos(taskList, userId, taskMemberVoList);
|
Set<SpdmTaskVo> returnTaskSet = getSpdmTaskVos(taskList, userId, taskMemberVoList);
|
||||||
// 过滤今明任务
|
// 过滤今明任务
|
||||||
Set<SpdmTaskVo> todayReturnTaskSet = getSpdmTaskVos(todayTmrTaskList, userId, taskMemberVoList);
|
Set<SpdmTaskVo> todayReturnTaskSet = getSpdmTaskVos(todayTmrTaskList, userId, taskMemberVoList);
|
||||||
|
|
||||||
// 去重后的Set转List,赋值回任务列表
|
// 去重后的Set转List,赋值回任务列表
|
||||||
taskList = new ArrayList<>(returnTaskSet);
|
taskList = new ArrayList<>(returnTaskSet);
|
||||||
todayTmrTaskList = new ArrayList<>(todayReturnTaskSet);
|
todayTmrTaskList = new ArrayList<>(todayReturnTaskSet);
|
||||||
|
|
||||||
// 所有任务
|
// 所有任务
|
||||||
countTask(taskList, todayTmrTaskList, taskCountResp);
|
countTask(taskList, todayTmrTaskList, taskCountResp);
|
||||||
} else {
|
} else {
|
||||||
// 我分发的、我执行的、我关注的 需要查询当前登陆人信息
|
taskList = filterTaskByType(taskList, req.getType(), userId, taskMemberVoList, taskAttentionMemberVoList);
|
||||||
SdmResponse<CIDUserResp> cidUserResp = sysUserFeignClient.queryUserDetail(UserQueryReq.builder().userId(userId).build());
|
todayTmrTaskList = filterTaskByType(todayTmrTaskList, req.getType(), userId, taskMemberVoList, taskAttentionMemberVoList);
|
||||||
if (ObjectUtils.isEmpty(cidUserResp.getData())) {
|
countTask(taskList, todayTmrTaskList, taskCountResp);
|
||||||
log.error("根据jobNumber:{},未查询到用户", userId);
|
|
||||||
return SdmResponse.success();
|
|
||||||
}
|
|
||||||
if (type == 0) {
|
|
||||||
// 仿真执行人是当前用户
|
|
||||||
if (CollectionUtils.isNotEmpty(taskMemberVoList)) {
|
|
||||||
taskMemberVoList = taskMemberVoList.stream().filter(taskMember -> MemberTypeEnum.EXECUTOR.getCode().equals(taskMember.getType()) && userId.equals(taskMember.getUserId())).toList();
|
|
||||||
if (CollectionUtils.isEmpty(taskMemberVoList)) {
|
|
||||||
log.error("任务列表中未查询到仿真执行人");
|
|
||||||
return SdmResponse.success();
|
|
||||||
}
|
|
||||||
List<String> myTaskIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getTaskId).toList();
|
|
||||||
taskList = taskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
todayTmrTaskList = todayTmrTaskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
countTask(taskList, todayTmrTaskList, taskCountResp);
|
|
||||||
}
|
|
||||||
} else if (type == 3) {
|
|
||||||
// 仿真负责人是当前用户
|
|
||||||
if (CollectionUtils.isNotEmpty(taskMemberVoList)) {
|
|
||||||
taskMemberVoList = taskMemberVoList.stream().filter(taskMember -> MemberTypeEnum.PRINCIPAL.getCode().equals(taskMember.getType()) && userId.equals(taskMember.getUserId())).toList();
|
|
||||||
if (CollectionUtils.isEmpty(taskMemberVoList)) {
|
|
||||||
log.error("任务列表中未查询到仿真负责人");
|
|
||||||
return SdmResponse.success();
|
|
||||||
}
|
|
||||||
List<String> myTaskIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getTaskId).toList();
|
|
||||||
taskList = taskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
todayTmrTaskList = todayTmrTaskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
countTask(taskList, todayTmrTaskList, taskCountResp);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
CIDUserResp cidUser = cidUserResp.getData();
|
|
||||||
List<SpdmTaskAttentionMemberVo> taskAttentionMemberVoList = mapper.getAttentionMemberList(taskIdList);
|
|
||||||
if (CollectionUtils.isEmpty(taskAttentionMemberVoList)) {
|
|
||||||
log.error("未查询到关注人");
|
|
||||||
return SdmResponse.success();
|
|
||||||
}
|
|
||||||
// 当前用户的主键id
|
|
||||||
Long curUserId = cidUser.getUserId();
|
|
||||||
taskAttentionMemberVoList = taskAttentionMemberVoList.stream().filter(member -> curUserId.equals(member.getUserId())).toList();
|
|
||||||
if (CollectionUtils.isEmpty(taskAttentionMemberVoList)) {
|
|
||||||
log.error("任务列表中未查询到仿真执行人3");
|
|
||||||
return SdmResponse.success();
|
|
||||||
}
|
|
||||||
List<String> myTaskIdList = taskAttentionMemberVoList.stream().map(SpdmTaskAttentionMemberVo::getTaskId).toList();
|
|
||||||
taskList = taskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
todayTmrTaskList = todayTmrTaskList.stream().filter(task -> myTaskIdList.contains(task.getUuid())).toList();
|
|
||||||
countTask(taskList, todayTmrTaskList, taskCountResp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return SdmResponse.success(taskCountResp);
|
return SdmResponse.success(taskCountResp);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user