1、项目任务树查询 bug fix
2、任务列表新增标签字段
This commit is contained in:
@@ -29,7 +29,7 @@ spring:
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.65.161:8848
|
||||
server-addr: 127.0.0.1:8848
|
||||
# server-addr: 127.0.0.1:8848
|
||||
enabled: true
|
||||
# username: nacos
|
||||
|
||||
@@ -67,21 +67,10 @@ public class SimulationTaskController {
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
@PostMapping("/list")
|
||||
@Operation(summary = "任务列表(我执行的、我关注的、所有)", description = "任务列表(我执行的、我关注的、所有)")
|
||||
public SdmResponse list(@Validated SpdmTaskListReq req) {
|
||||
public SdmResponse list(@RequestBody SpdmTaskListReq req) {
|
||||
return taskService.list(req);
|
||||
}
|
||||
|
||||
@GetMapping("/test")
|
||||
public SdmResponse test() {
|
||||
// 创建一个ScheduledExecutorService实例
|
||||
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
|
||||
// 定义要执行的任务
|
||||
Runnable task = () -> System.out.println("任务执行: " + System.nanoTime());
|
||||
// 延时5秒后执行任务
|
||||
scheduler.schedule(task, 5, TimeUnit.SECONDS);
|
||||
|
||||
return SdmResponse.success();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,10 +113,15 @@ public class SpdmNodeDetailReq extends BaseEntity {
|
||||
private List<String> Tag4;
|
||||
@JsonProperty(value = "Tag5")
|
||||
private List<String> Tag5;
|
||||
@JsonProperty(value = "Tag6")
|
||||
private List<String> Tag6;
|
||||
@JsonProperty(value = "Tag7")
|
||||
private List<String> Tag7;
|
||||
@JsonProperty(value = "Tag8")
|
||||
private List<String> Tag8;
|
||||
@JsonProperty(value = "Tag9")
|
||||
private List<String> Tag9;
|
||||
@JsonProperty(value = "Tag10")
|
||||
private List<String> Tag10;
|
||||
|
||||
private String exeStatus;
|
||||
|
||||
@@ -2,9 +2,12 @@ package com.sdm.project.model.req;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
@Data
|
||||
public class SpdmTaskListReq {
|
||||
@@ -53,20 +56,7 @@ public class SpdmTaskListReq {
|
||||
@JsonProperty(value = "eMemberIdList")
|
||||
private String eMemberIdList;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 阶段名称
|
||||
*/
|
||||
private String phaseName;
|
||||
|
||||
/**
|
||||
* 学科名称
|
||||
*/
|
||||
private String disciplineName;
|
||||
private List<TaskNodeTag> idMap;
|
||||
|
||||
/**
|
||||
* 实际结束时间
|
||||
|
||||
@@ -102,9 +102,7 @@ public class TaskEditNodeReq extends BaseEntity {
|
||||
/**
|
||||
* 项目进度状态(未开始、进行中、已完成)
|
||||
*/
|
||||
private Integer exeStatus;
|
||||
|
||||
private String exeStatusValue;
|
||||
private String exeStatus;
|
||||
|
||||
/**
|
||||
* 项目进度状态
|
||||
|
||||
@@ -89,5 +89,6 @@ public class SpdmNodeDetailVo extends BaseEntity {
|
||||
*/
|
||||
List<SpdmUserVo> memberList;
|
||||
|
||||
private SpdmUserVo creatorObj;
|
||||
|
||||
}
|
||||
|
||||
@@ -89,5 +89,6 @@ public class SpdmNodeVo extends BaseEntity {
|
||||
*/
|
||||
private String description;
|
||||
|
||||
private SpdmUserVo creatorObj;
|
||||
|
||||
}
|
||||
|
||||
@@ -124,4 +124,16 @@ public class SpdmTaskVo extends BaseEntity {
|
||||
*/
|
||||
private Integer attentionFlag;
|
||||
|
||||
|
||||
private String tag1;
|
||||
private String tag2;
|
||||
private String tag3;
|
||||
private String tag4;
|
||||
private String tag5;
|
||||
private String tag6;
|
||||
private String tag7;
|
||||
private String tag8;
|
||||
private String tag9;
|
||||
private String tag10;
|
||||
|
||||
}
|
||||
|
||||
@@ -458,56 +458,6 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
@Override
|
||||
public SdmResponse getNodeDetail(GetProjectDetailReq req) {
|
||||
log.info("项目详情参数为:{}", req);
|
||||
// String tenantId = ThreadLocalContext.getCompany();
|
||||
// SpdmNodeDetailVo nodeDetailVo = nodeMapper.getNodeDetail(req.getProjectNodeId(), tenantId);
|
||||
// if (ObjectUtils.isEmpty(nodeDetailVo)) {
|
||||
// SdmResponse.failed("根据节点id:" + req.getProjectNodeId() + ",未查询到节点信息");
|
||||
// }
|
||||
// // 查询节点的额外属性
|
||||
// String nodeId = nodeDetailVo.getUuid();
|
||||
// nodeDetailVo.setExtraList(nodeMapper.getNodeExtraListByNodeIdList(Collections.singletonList(nodeId)));
|
||||
// // TODO 转换项目进度状态
|
||||
// if (ObjectUtils.isNotEmpty(nodeDetailVo.getProgress())) {
|
||||
// switch (nodeDetailVo.getProgress()) {
|
||||
// case 0:
|
||||
// nodeDetailVo.setProgressStatusValue("未开始");
|
||||
// break;
|
||||
// case 1:
|
||||
// nodeDetailVo.setProgressStatusValue("进行中");
|
||||
// break;
|
||||
// case 2:
|
||||
// nodeDetailVo.setProgressStatusValue("已完成");
|
||||
// break;
|
||||
// default:
|
||||
// nodeDetailVo.setProgressStatusValue("未知");
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// // TODO 项目达成状态(红黄绿灯)
|
||||
// if (ObjectUtils.isNotEmpty(nodeDetailVo.getAchieveStatus())) {
|
||||
// switch (nodeDetailVo.getAchieveStatus()) {
|
||||
// case 1:
|
||||
// nodeDetailVo.setAchieveStatusValue("red");
|
||||
// break;
|
||||
// case 2:
|
||||
// nodeDetailVo.setProgressStatusValue("yellow");
|
||||
// break;
|
||||
// case 3:
|
||||
// nodeDetailVo.setProgressStatusValue("grey");
|
||||
// break;
|
||||
// case 4:
|
||||
// nodeDetailVo.setProgressStatusValue("grey");
|
||||
// break;
|
||||
// default:
|
||||
// nodeDetailVo.setProgressStatusValue("unknown");
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// // TODO 用户信息待定
|
||||
// nodeDetailVo.setMemberList(null);
|
||||
// return SdmResponse.success(nodeDetailVo);
|
||||
|
||||
|
||||
SpdmNodeVo projectNode = nodeMapper.getNodeById(req.getProjectNodeId());
|
||||
if (ObjectUtils.isEmpty(projectNode)) {
|
||||
log.error("根据节点id:{},未查询到项目节点!", req.getProjectNodeId());
|
||||
@@ -576,7 +526,14 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 创建人要返回对象
|
||||
String creator = projectNode.getCreator();
|
||||
if (StringUtils.isNotBlank(creator)) {
|
||||
List<SpdmUserVo> userList = demandMapper.getUserList(Collections.singletonList(Long.valueOf(creator)));
|
||||
if (CollectionUtils.isNotEmpty(userList)) {
|
||||
projectNode.setCreatorObj(userList.get(0));
|
||||
}
|
||||
}
|
||||
SpdmNodeDetailVo spdmNodeDetailVo = new SpdmNodeDetailVo();
|
||||
BeanUtils.copyProperties(projectNode, spdmNodeDetailVo);
|
||||
return SdmResponse.success(spdmNodeDetailVo);
|
||||
|
||||
@@ -95,100 +95,61 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
||||
for (Map.Entry<String, List<TaskEditNodeReq>> taskEntry : editNodeListMap.entrySet()) {
|
||||
nodeType = taskEntry.getKey();
|
||||
log.info("nodeType为:{}", nodeType);
|
||||
switch (nodeType) {
|
||||
case SystemConstants.PROJECT_TAG:
|
||||
case SystemConstants.PHASE_TAG:
|
||||
case SystemConstants.MACHINE_TAG:
|
||||
case SystemConstants.WORKSPACE_TAG:
|
||||
case SystemConstants.DISCIPLINE_TAG:
|
||||
SpdmEditNodeReq spdmEditNodeReq = new SpdmEditNodeReq();
|
||||
List<SpdmNodeDetailReq> editNodeList = new ArrayList<>();
|
||||
for (TaskEditNodeReq taskEditNodeReq : taskEntry.getValue()) {
|
||||
SpdmNodeDetailReq spdmNodeDetailReq = new SpdmNodeDetailReq();
|
||||
BeanUtils.copyProperties(taskEditNodeReq, spdmNodeDetailReq);
|
||||
spdmNodeDetailReq.setTenantId(tenantId);
|
||||
spdmNodeDetailReq.setUpdater(jobNumber);
|
||||
spdmNodeDetailReq.setUpdateTime(updateTime);
|
||||
editNodeList.add(spdmNodeDetailReq);
|
||||
}
|
||||
spdmEditNodeReq.setEditNodeList(editNodeList);
|
||||
if (!editNode(editNodeList, tenantId, jobNumber)) {
|
||||
log.error("更新节点失败!");
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return SdmResponse.failed("更新节点失败!");
|
||||
}
|
||||
break;
|
||||
case SystemConstants.TASK_TAG:
|
||||
editTaskList(taskEntry.getValue());
|
||||
break;
|
||||
case SystemConstants.PERFORMANCE_TAG:
|
||||
editPerformanceList(taskEntry.getValue());
|
||||
break;
|
||||
default:
|
||||
log.error("不支持的节点类型:{}", nodeType);
|
||||
break;
|
||||
if (SystemConstants.TASK_TAG.equals(nodeType)) {
|
||||
editTaskList(taskEntry.getValue());
|
||||
}else if (SystemConstants.PERFORMANCE_TAG.equals(nodeType)) {
|
||||
editPerformanceList(taskEntry.getValue());
|
||||
}else {
|
||||
SpdmEditNodeReq spdmEditNodeReq = new SpdmEditNodeReq();
|
||||
List<SpdmNodeDetailReq> editNodeList = new ArrayList<>();
|
||||
for (TaskEditNodeReq taskEditNodeReq : taskEntry.getValue()) {
|
||||
SpdmNodeDetailReq spdmNodeDetailReq = new SpdmNodeDetailReq();
|
||||
BeanUtils.copyProperties(taskEditNodeReq, spdmNodeDetailReq);
|
||||
spdmNodeDetailReq.setTenantId(tenantId);
|
||||
spdmNodeDetailReq.setUpdater(jobNumber);
|
||||
spdmNodeDetailReq.setUpdateTime(updateTime);
|
||||
editNodeList.add(spdmNodeDetailReq);
|
||||
}
|
||||
spdmEditNodeReq.setEditNodeList(editNodeList);
|
||||
if (!editNode(editNodeList, tenantId, jobNumber)) {
|
||||
log.error("更新节点失败!");
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return SdmResponse.failed("更新节点失败!");
|
||||
}
|
||||
}
|
||||
}
|
||||
// TaskNodeTree taskNodeTree = parseTaskTree(jsonObject);
|
||||
// SdmResponse response = realUpdateSimulationTaskItems(taskNodeTree, "", tenantId);
|
||||
// if (response.getCode() != ResultCode.SUCCESS.getCode()) {
|
||||
// log.error("新增任务失败,清理新增数据!");
|
||||
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
// return SdmResponse.failed("新增任务失败!");
|
||||
// }
|
||||
return SdmResponse.success();
|
||||
}
|
||||
|
||||
private boolean editNode(List<SpdmNodeDetailReq> editNodeList, String tenantId, String jobNumber) {
|
||||
// log.info("editNode参数为:{}", editNodeList);
|
||||
// String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
// List<SpdmNodeRelateMemberReq> nodeManagerList;
|
||||
// List<SpdmNodeRelateMemberReq> allNodeManagerList = new ArrayList<>();
|
||||
// List<SpdmNodeExtraReq> extraList;
|
||||
// List<SpdmNodeExtraReq> allExtraList = new ArrayList<>();
|
||||
// for (SpdmNodeDetailReq editNode : editNodeList) {
|
||||
// editNode.setUpdateTime(curDateStr);
|
||||
// editNode.setUpdater(jobNumber);
|
||||
// nodeManagerList = editNode.getMemberList();
|
||||
// if (CollectionUtils.isNotEmpty(nodeManagerList)) {
|
||||
// nodeManagerList.forEach(nodeManager -> {
|
||||
// nodeManager.setUpdateTime(curDateStr);
|
||||
// nodeManager.setUpdater(jobNumber);
|
||||
// });
|
||||
// allNodeManagerList.addAll(nodeManagerList);
|
||||
// }
|
||||
// extraList = editNode.getExtraList();
|
||||
// if (CollectionUtils.isNotEmpty(extraList)) {
|
||||
// extraList.forEach(extra -> {
|
||||
// extra.setUpdateTime(curDateStr);
|
||||
// extra.setUpdater(jobNumber);
|
||||
// });
|
||||
// allExtraList.addAll(extraList);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// for (SpdmNodeDetailReq editNode : editNodeList) {
|
||||
// if (nodeMapper.editNode(editNode) <= 0) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (CollectionUtils.isNotEmpty(allNodeManagerList)) {
|
||||
// for (SpdmNodeRelateMemberReq nodeManager : allNodeManagerList) {
|
||||
// if (nodeMapper.editNodeMember(nodeManager) <= 0) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (CollectionUtils.isNotEmpty(allExtraList)) {
|
||||
// for (SpdmNodeExtraReq nodeExtra : allExtraList) {
|
||||
// if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
log.info("editNode参数为:{}", editNodeList);
|
||||
String curDateStr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
|
||||
List<SpdmNodeExtraReq> extraList;
|
||||
List<SpdmNodeExtraReq> allExtraList = new ArrayList<>();
|
||||
for (SpdmNodeDetailReq editNode : editNodeList) {
|
||||
editNode.setUpdateTime(curDateStr);
|
||||
editNode.setUpdater(jobNumber);
|
||||
extraList = editNode.getExtraList();
|
||||
if (CollectionUtils.isNotEmpty(extraList)) {
|
||||
extraList.forEach(extra -> {
|
||||
extra.setUpdateTime(curDateStr);
|
||||
extra.setUpdater(jobNumber);
|
||||
});
|
||||
allExtraList.addAll(extraList);
|
||||
}
|
||||
}
|
||||
for (SpdmNodeDetailReq editNode : editNodeList) {
|
||||
if (nodeMapper.editNode(editNode) <= 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(allExtraList)) {
|
||||
for (SpdmNodeExtraReq nodeExtra : allExtraList) {
|
||||
if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import com.sdm.project.dao.SimulationTaskMapper;
|
||||
import com.sdm.project.model.bo.ModifyTaskNode;
|
||||
import com.sdm.project.model.bo.TaskExtraNode;
|
||||
import com.sdm.project.model.bo.TaskMemberNode;
|
||||
import com.sdm.project.model.bo.TaskNodeTag;
|
||||
import com.sdm.project.model.po.PerformanceNodePo;
|
||||
import com.sdm.project.model.po.ProjectNodePo;
|
||||
import com.sdm.project.model.po.TaskNodeMemberPo;
|
||||
@@ -33,6 +34,9 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.sdm.project.service.impl.NodeServiceImpl.getTagProperty;
|
||||
import static com.sdm.project.service.impl.NodeServiceImpl.setTagProperty;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
public class TaskServiceImpl implements ITaskService {
|
||||
@@ -62,11 +66,38 @@ public class TaskServiceImpl implements ITaskService {
|
||||
Integer type = req.getType();
|
||||
if (type != 0 && type != 1 && type != 2) {
|
||||
log.error("type必须为0或1或2");
|
||||
return SdmResponse.failed("公司和工号都不能为空");
|
||||
}
|
||||
List<SpdmTaskVo> allTaskList = mapper.getTaskList(tenantId, req);
|
||||
if (CollectionUtils.isEmpty(allTaskList)) {
|
||||
log.error("根据tenantId:{},未查询到任务", tenantId);
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
List<SpdmTaskVo> taskList = mapper.getTaskList(tenantId, req);
|
||||
List<SpdmTaskVo> taskList = new ArrayList<>();
|
||||
List<TaskNodeTag> idMapList = req.getIdMap();
|
||||
if (CollectionUtils.isEmpty(idMapList)) {
|
||||
log.error("任务列表中的idMap不能为空");
|
||||
return SdmResponse.failed("任务列表中的idMap不能为空");
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(idMapList)) {
|
||||
String currentNodeTagId = "";
|
||||
for (TaskNodeTag taskNodeTag : idMapList) {
|
||||
for (SpdmTaskVo spdmTaskVo : allTaskList) {
|
||||
try {
|
||||
currentNodeTagId = getTagProperty(spdmTaskVo, taskNodeTag.getValue().replace("T", "t"));
|
||||
if (StringUtils.isNotBlank(currentNodeTagId) && StringUtils.isNotBlank(taskNodeTag.getKey()) && currentNodeTagId.contains(taskNodeTag.getKey())) {
|
||||
taskList.add(spdmTaskVo);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
taskList = allTaskList;
|
||||
}
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
log.error("根据tenantId:{},未查询到任务", tenantId);
|
||||
log.info("未查询任务");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
List<String> taskIdList = taskList.stream().map(SpdmTaskVo::getUuid).toList();
|
||||
@@ -90,6 +121,11 @@ public class TaskServiceImpl implements ITaskService {
|
||||
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;
|
||||
String eachNodeId;
|
||||
SpdmNodeVo eachNodeVo;
|
||||
if (type == 2) {
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
@@ -100,7 +136,60 @@ public class TaskServiceImpl implements ITaskService {
|
||||
if (CollectionUtils.isNotEmpty(attentionMemberList)) {
|
||||
attentionMap = attentionMemberList.stream().collect(Collectors.groupingBy(SpdmTaskAttentionMemberVo::getTaskId));
|
||||
}
|
||||
for (SpdmTaskVo spdmTaskVo : taskList) {
|
||||
for (String tag : tagList) {
|
||||
try {
|
||||
eachNodeId = getTagProperty(spdmTaskVo, tag.replace("T", "t"));
|
||||
if (StringUtils.isNotBlank(eachNodeId)) {
|
||||
eachNodeIdList = Arrays.stream(eachNodeId.split(",")).filter(nodeId -> !nodeId.equals("null")).toList();
|
||||
if (CollectionUtils.isNotEmpty(eachNodeIdList)) {
|
||||
nodeIdList.addAll(eachNodeIdList);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<String, SpdmNodeVo> nodeMap = Map.of();
|
||||
if (CollectionUtils.isNotEmpty(nodeIdList)) {
|
||||
List<SpdmNodeVo> nodeList = nodeMapper.getNodeListByIds(nodeIdList.stream().distinct().toList());
|
||||
nodeMap = nodeList.stream().collect(Collectors.groupingBy(
|
||||
SpdmNodeVo::getUuid,
|
||||
Collectors.collectingAndThen(
|
||||
Collectors.toList(),
|
||||
list -> list.get(0)
|
||||
)
|
||||
));
|
||||
}
|
||||
for (SpdmTaskVo task : taskList) {
|
||||
for (String tag : tagList) {
|
||||
tag = tag.replace("T", "t");
|
||||
try {
|
||||
eachNodeId = getTagProperty(task, tag);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (StringUtils.isNotBlank(eachNodeId)) {
|
||||
eachNodeIdList = Arrays.stream(eachNodeId.split(",")).filter(nodeId -> !nodeId.equals("null")).toList();
|
||||
if (CollectionUtils.isNotEmpty(eachNodeIdList)) {
|
||||
List<SpdmNodeVo> eachNodeList = new ArrayList<>();
|
||||
for (String nodeId : eachNodeIdList) {
|
||||
eachNodeVo = nodeMap.get(nodeId);
|
||||
if (ObjectUtils.isNotEmpty(eachNodeVo)) {
|
||||
eachNodeList.add(eachNodeVo);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(eachNodeList)) {
|
||||
try {
|
||||
setTagProperty(task, tag, eachNodeList.stream().map(SpdmNodeVo::getNodeName).collect(Collectors.joining(",")));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eachAttentionMemberList = attentionMap.get(task.getUuid());
|
||||
task.setAttentionFlag(CollectionUtils.isEmpty(eachAttentionMemberList) ? 0 :
|
||||
(eachAttentionMemberList.stream().map(SpdmTaskAttentionMemberVo::getUserId).toList().contains(Long.valueOf(jobNumber)) ? 1 : 0));
|
||||
@@ -112,7 +201,26 @@ public class TaskServiceImpl implements ITaskService {
|
||||
task.setEMemberList(eachMemberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType())).toList());
|
||||
}
|
||||
jsonObject.put("total", taskList.size());
|
||||
jsonObject.put("data", taskList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList());
|
||||
taskList = taskList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList();
|
||||
List<SpdmNewTaskVo> newTaskList = new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||
for (SpdmTaskVo taskVo : taskList) {
|
||||
SpdmNewTaskVo spdmNewTaskVo = new SpdmNewTaskVo();
|
||||
BeanUtils.copyProperties(taskVo, spdmNewTaskVo);
|
||||
spdmNewTaskVo.setTag1(taskVo.getTag1());
|
||||
spdmNewTaskVo.setTag2(taskVo.getTag2());
|
||||
spdmNewTaskVo.setTag3(taskVo.getTag3());
|
||||
spdmNewTaskVo.setTag4(taskVo.getTag4());
|
||||
spdmNewTaskVo.setTag5(taskVo.getTag5());
|
||||
spdmNewTaskVo.setTag6(taskVo.getTag6());
|
||||
spdmNewTaskVo.setTag7(taskVo.getTag7());
|
||||
spdmNewTaskVo.setTag8(taskVo.getTag8());
|
||||
spdmNewTaskVo.setTag9(taskVo.getTag9());
|
||||
spdmNewTaskVo.setTag10(taskVo.getTag10());
|
||||
newTaskList.add(spdmNewTaskVo);
|
||||
}
|
||||
}
|
||||
jsonObject.put("data", newTaskList);
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
if (type == 0) {
|
||||
@@ -128,19 +236,6 @@ public class TaskServiceImpl implements ITaskService {
|
||||
log.error("任务列表中未查询到仿真执行人1");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
// List<Long> userIdList = taskMemberVoList.stream().map(SpdmTaskMemberVo::getUserId).distinct().toList();
|
||||
// List<SpdmUserVo> userList = demandMapper.getUserList(userIdList);
|
||||
// if (CollectionUtils.isEmpty(userList)) {
|
||||
// log.error("任务列表中未查询到用户");
|
||||
// return SdmResponse.success(new ArrayList<>());
|
||||
// }
|
||||
// List<SpdmUserVo> eTaskMemberVoList = userList.stream().filter(taskMember -> jobNumber.equals(taskMember.getUsername())).toList();
|
||||
// if (CollectionUtils.isEmpty(eTaskMemberVoList)) {
|
||||
// log.error("任务列表中未查询到匹配的成员");
|
||||
// return SdmResponse.success(new ArrayList<>());
|
||||
// }
|
||||
// List<Long> curUserIdList = eTaskMemberVoList.stream().map(SpdmUserVo::getId).distinct().toList();
|
||||
// log.info("过滤后的userIdList:{}", userIdList);
|
||||
Long curUserId = userByJobNumber.getId();
|
||||
taskMemberVoList = taskMemberVoList.stream().filter(member -> curUserId.equals(member.getUserId())).toList();
|
||||
if (CollectionUtils.isEmpty(taskMemberVoList)) {
|
||||
@@ -161,17 +256,6 @@ public class TaskServiceImpl implements ITaskService {
|
||||
log.error("未查询到关注人");
|
||||
return SdmResponse.success(new ArrayList<>());
|
||||
}
|
||||
// List<Long> userIdList = taskAttentionMemberVoList.stream().map(SpdmTaskAttentionMemberVo::getUserId).distinct().toList();
|
||||
// List<SpdmUserVo> userList = demandMapper.getUserList(userIdList);
|
||||
// if (CollectionUtils.isEmpty(userList)) {
|
||||
// log.error("未查询到用用户");
|
||||
// return SdmResponse.success(new ArrayList<>());
|
||||
// }
|
||||
// Optional<SpdmUserVo> curUser = userList.stream().filter(user -> jobNumber.equals(user.getUsername())).findFirst();
|
||||
// if (curUser.isEmpty()) {
|
||||
// log.error("当前用户工号:{},在用户表中没有匹配数据",jobNumber);
|
||||
// return SdmResponse.success(new ArrayList<>());
|
||||
// }
|
||||
// 当前用户的主键id
|
||||
Long curUserId = userByJobNumber.getId();
|
||||
taskAttentionMemberVoList = taskAttentionMemberVoList.stream().filter(member -> curUserId.equals(member.getUserId())).toList();
|
||||
@@ -189,6 +273,38 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
jsonObject.put("total", taskList.size());
|
||||
taskList = taskList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList();
|
||||
if (CollectionUtils.isEmpty(taskList)) {
|
||||
jsonObject.put("data", taskList);
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
for (SpdmTaskVo spdmTaskVo : taskList) {
|
||||
for (String tag : tagList) {
|
||||
try {
|
||||
eachNodeId = getTagProperty(spdmTaskVo, tag.replace("T", "t"));
|
||||
if (StringUtils.isNotBlank(eachNodeId)) {
|
||||
eachNodeIdList = Arrays.stream(eachNodeId.split(",")).filter(nodeId -> !nodeId.equals("null")).toList();
|
||||
if (CollectionUtils.isNotEmpty(eachNodeIdList)) {
|
||||
nodeIdList.addAll(eachNodeIdList);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<String, SpdmNodeVo> nodeMap = Map.of();
|
||||
if (CollectionUtils.isNotEmpty(nodeIdList)) {
|
||||
List<SpdmNodeVo> nodeList = nodeMapper.getNodeListByIds(nodeIdList.stream().distinct().toList());
|
||||
nodeMap = nodeList.stream().collect(Collectors.groupingBy(
|
||||
SpdmNodeVo::getUuid,
|
||||
Collectors.collectingAndThen(
|
||||
Collectors.toList(),
|
||||
list -> list.get(0)
|
||||
)
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
List<SpdmTaskAttentionMemberVo> attentionMemberList = mapper.getAttentionMemberList(taskList.stream().map(SpdmTaskVo::getUuid).toList());
|
||||
Map<String, List<SpdmTaskAttentionMemberVo>> attentionMap = Map.of();
|
||||
List<SpdmTaskAttentionMemberVo> eachAttentionMemberList;
|
||||
@@ -197,6 +313,33 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
List<SpdmTaskMemberVo> eachTaskMemberList;
|
||||
for (SpdmTaskVo task : taskList) {
|
||||
for (String tag : tagList) {
|
||||
tag = tag.replace("T", "t");
|
||||
try {
|
||||
eachNodeId = getTagProperty(task, tag);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
if (StringUtils.isNotBlank(eachNodeId)) {
|
||||
eachNodeIdList = Arrays.stream(eachNodeId.split(",")).filter(nodeId -> !nodeId.equals("null")).toList();
|
||||
if (CollectionUtils.isNotEmpty(eachNodeIdList)) {
|
||||
List<SpdmNodeVo> eachNodeList = new ArrayList<>();
|
||||
for (String nodeId : eachNodeIdList) {
|
||||
eachNodeVo = nodeMap.get(nodeId);
|
||||
if (ObjectUtils.isNotEmpty(eachNodeVo)) {
|
||||
eachNodeList.add(eachNodeVo);
|
||||
}
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(eachNodeList)) {
|
||||
try {
|
||||
setTagProperty(task, tag, eachNodeList.stream().map(SpdmNodeVo::getNodeName).collect(Collectors.joining(",")));
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
eachAttentionMemberList = attentionMap.get(task.getUuid());
|
||||
task.setAttentionFlag(CollectionUtils.isEmpty(eachAttentionMemberList) ? 0 :
|
||||
(eachAttentionMemberList.stream().map(SpdmTaskAttentionMemberVo::getUserId).toList().contains(Long.valueOf(jobNumber)) ? 1 : 0));
|
||||
@@ -206,9 +349,24 @@ public class TaskServiceImpl implements ITaskService {
|
||||
}
|
||||
task.setPMemberList(eachTaskMemberList.stream().filter(member -> MemberTypeEnum.PRINCIPAL.getCode().equals(member.getType())).toList());
|
||||
task.setEMemberList(eachTaskMemberList.stream().filter(member -> MemberTypeEnum.EXECUTOR.getCode().equals(member.getType())).toList());
|
||||
|
||||
}
|
||||
jsonObject.put("data", taskList);
|
||||
List<SpdmNewTaskVo> newTaskList = new ArrayList<>();
|
||||
for (SpdmTaskVo taskVo : taskList) {
|
||||
SpdmNewTaskVo spdmNewTaskVo = new SpdmNewTaskVo();
|
||||
BeanUtils.copyProperties(taskVo, spdmNewTaskVo);
|
||||
spdmNewTaskVo.setTag1(taskVo.getTag1());
|
||||
spdmNewTaskVo.setTag2(taskVo.getTag2());
|
||||
spdmNewTaskVo.setTag3(taskVo.getTag3());
|
||||
spdmNewTaskVo.setTag4(taskVo.getTag4());
|
||||
spdmNewTaskVo.setTag5(taskVo.getTag5());
|
||||
spdmNewTaskVo.setTag6(taskVo.getTag6());
|
||||
spdmNewTaskVo.setTag7(taskVo.getTag7());
|
||||
spdmNewTaskVo.setTag8(taskVo.getTag8());
|
||||
spdmNewTaskVo.setTag9(taskVo.getTag9());
|
||||
spdmNewTaskVo.setTag10(taskVo.getTag10());
|
||||
newTaskList.add(spdmNewTaskVo);
|
||||
}
|
||||
jsonObject.put("data", newTaskList);
|
||||
return SdmResponse.success(jsonObject);
|
||||
}
|
||||
|
||||
@@ -223,28 +381,6 @@ public class TaskServiceImpl implements ITaskService {
|
||||
log.error("根据taskId:{},未查询到任务", taskId);
|
||||
return SdmResponse.failed("未查询到任务");
|
||||
}
|
||||
// if (operationType.equals(TaskOperationTypeEnum.REJECTED.getCode())) {
|
||||
// task.setStatus(TaskOperationTypeEnum.REJECTED.getName());
|
||||
// } else if (operationType.equals(TaskOperationTypeEnum.IN_PROGRESS.getCode())) {
|
||||
// task.setExeStatus(TaskOperationTypeEnum.IN_PROGRESS.getName());
|
||||
// } else if (operationType.equals(TaskOperationTypeEnum.PAUSE.getCode())) {
|
||||
// task.setExeStatus(TaskOperationTypeEnum.PAUSE.getName());
|
||||
// } else if (operationType.equals(TaskOperationTypeEnum.CLOSED.getCode())) {
|
||||
// task.setExeStatus(TaskOperationTypeEnum.CLOSED.getName());
|
||||
// }
|
||||
//
|
||||
// // TODO LDY 工时
|
||||
// if (operationType.equals(TaskOperationTypeEnum.DAYS.getCode())) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if (operationType.equals(TaskOperationTypeEnum.FOLLOW.getCode())) {
|
||||
//
|
||||
// }
|
||||
//
|
||||
// if (operationType.equals(TaskOperationTypeEnum.UN_FOLLOW.getCode())) {
|
||||
//
|
||||
// }
|
||||
task.setExeStatus(exeStatus);
|
||||
task.setAchieveStatus(achieveStatus);
|
||||
task.setProgress(process);
|
||||
|
||||
@@ -56,6 +56,9 @@
|
||||
<if test="editNode.detailImgUrl != null and editNode.detailImgUrl != ''">
|
||||
detailImgUrl = #{editNode.detailImgUrl}
|
||||
</if>
|
||||
<if test="editNode.exeStatus != null and editNode.exeStatus != ''">
|
||||
exe_status = #{editNode.exeStatus}
|
||||
</if>
|
||||
<if test="editNode.updater != null and editNode.updater != ''">
|
||||
updater = #{editNode.updater},
|
||||
</if>
|
||||
|
||||
@@ -29,7 +29,7 @@ spring:
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.65.161:8848
|
||||
server-addr: 127.0.0.1:8848
|
||||
# server-addr: localhost:8848
|
||||
enabled: true
|
||||
data:
|
||||
|
||||
@@ -30,7 +30,7 @@ spring:
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 192.168.65.161:8848
|
||||
server-addr: 127.0.0.1:8848
|
||||
# server-addr: 127.0.0.1:8848
|
||||
enabled: true
|
||||
# username: nacos
|
||||
|
||||
Reference in New Issue
Block a user