数据总览优化

优化文件检索
This commit is contained in:
2025-11-06 16:18:40 +08:00
parent 4f224f37ef
commit 76b132b580
31 changed files with 623 additions and 532 deletions

View File

@@ -1,8 +1,10 @@
package com.sdm.project.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.feign.inter.project.ISimuluationNodeFeignClient;
import com.sdm.common.feign.inter.project.ISimulationNodeFeignClient;
import com.sdm.project.model.req.*;
import com.sdm.project.service.INodeService;
import io.swagger.v3.oas.annotations.Operation;
@@ -19,7 +21,7 @@ import java.util.List;
@RestController
@RequestMapping("/node")
@Tag(name = "项目、阶段节点管理", description = "项目、阶段节点管理相关接口")
public class SimulationNodeController implements ISimuluationNodeFeignClient {
public class SimulationNodeController implements ISimulationNodeFeignClient {
@Resource
private INodeService nodeService;
@@ -60,18 +62,6 @@ public class SimulationNodeController implements ISimuluationNodeFeignClient {
return nodeService.delete(req);
}
// /**
// * 操作节点(增、删、改)
// *
// * @param req
// * @return
// */
// @PostMapping("/modify")
// public SdmResponse modify(@RequestBody @Validated SpdmNodeReq req) {
// return nodeService.modify(req);
// }
/**
* 节点列表
*
@@ -137,14 +127,14 @@ public class SimulationNodeController implements ISimuluationNodeFeignClient {
/**
* 根据项目ID和节点类型获取所有节点信息
*
* @param chooseNodeId 项目ID
* @param uuid 项目ID
* @param nextNodeType 下一级节点类型
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>> 节点信息
*/
@GetMapping("/getAllNodeByProjectIdAndType")
@Operation(summary = "根据项目ID和节点类型获取所有节点信息", description = "根据项目ID和节点类型获取所有节点信息")
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(@RequestParam(value = "chooseNodeId") Long chooseNodeId, @RequestParam(value = "nextNodeType") String nextNodeType) {
return nodeService.getAllNodeByProjectIdAndType(chooseNodeId, nextNodeType);
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(@RequestParam(value = "chooseNodeId") String uuid, @RequestParam(value = "nextNodeType") String nextNodeType) {
return nodeService.getAllNodeByProjectIdAndType(uuid, nextNodeType);
}
@@ -194,4 +184,16 @@ public class SimulationNodeController implements ISimuluationNodeFeignClient {
return nodeService.getWorkstationReviewStatistics(req);
}
@PostMapping("/renameNode")
@Operation(summary = "重命名node/task/run的名称", description = "重命名node/task/run的名称")
public SdmResponse renameNode(@RequestBody RenameNodeReq req) {
return nodeService.renameNode(req);
}
@PostMapping("/delteNode")
@Operation(summary = "删除node/task/run", description = "删除node/task/run")
public SdmResponse delteNode(@RequestBody DelNodeReq req) {
return nodeService.delteNode(req);
}
}

View File

@@ -23,18 +23,6 @@ public class SimulationProjectController {
private IProjectService projectService;
/**
* 操作节点(增、删、改)
*
* @param req
* @return
*/
// @PostMapping("/modify")
// @Operation(summary = "新增修改删除任务、分析项", description = "新增修改删除任务、分析项")
// public SdmResponse modify(@RequestBody SpdmNodeReq req) {
// return projectService.modify(req);
// }
/**
* 操作节点(增、删、改)
*
@@ -47,30 +35,6 @@ public class SimulationProjectController {
return projectService.newModify(req);
}
/**
* 新建节点
*
* @param jsonObject
* @return
*/
// @PostMapping("/add")
// @Operation(summary = "新增任务、分析项", description = "新增任务分析项")
// public SdmResponse add(@RequestBody JSONObject jsonObject) {
// return projectService.add(jsonObject);
// }
/**
* 修改节点
*
* @param taskEditNodeReqList
* @return
*/
// @PostMapping(value = "/edit")
// @Operation(summary = "修改任务、分析项", description = "修改任务、分析项")
// SdmResponse edit(@RequestBody List<TaskEditNodeReq> taskEditNodeReqList) {
// return projectService.edit(taskEditNodeReqList);
// }
/**
* 任务分析项树
*
@@ -83,16 +47,5 @@ public class SimulationProjectController {
return projectService.getTaskTree(req);
}
/**
* 删除节点
*
* @param req
* @return
*/
// @PostMapping("/delete")
// @Operation(summary = "删除任务、分析项", description = "删除任务、分析项")
// public SdmResponse delete(@RequestBody SpdmDeleteProjectReq req) {
// return projectService.delete(req);
// }
}

View File

@@ -2,6 +2,8 @@ package com.sdm.project.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.project.model.entity.SimulationNode;
import com.sdm.project.model.req.*;
@@ -28,7 +30,7 @@ public interface INodeService extends IService<SimulationNode> {
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId);
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(Long chooseNodeId, String nextNodeType);
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(String uuid, String nextNodeType);
SdmResponse getUserGroupProjectStatistics(Long userGroupId, Long userId);
@@ -42,4 +44,9 @@ public interface INodeService extends IService<SimulationNode> {
// 工位评审通过统计查询
SdmResponse getWorkstationReviewStatistics(GetWorkstationApproveStatusReq req);
// 重命名node/task/run的名称
SdmResponse renameNode(RenameNodeReq req);
// 删除node/task/run
SdmResponse delteNode(DelNodeReq req);
}

View File

@@ -22,8 +22,6 @@ public interface IProjectService {
SdmResponse modify(SpdmNodeReq req);
// SdmResponse list(ProjectNodeListReq req);
SdmResponse taskHandle(String taskId, Integer handleType);
SdmResponse newModify(ModifyProjectNode req);

View File

@@ -135,8 +135,8 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
}
CreateDirReq createDirReq = new CreateDirReq();
createDirReq.setNodeId(demandId);
createDirReq.setParentNodeId(null);
createDirReq.setUuId(uuid);
createDirReq.setParentUuId(null);
createDirReq.setDirName(req.getDemandName());
createDirReq.setDirType(Constants.DirType.PROJECT_NODE_DIR.getValue());
log.info("创建需求时,调用创建文件夹的参数为:{}", createDirReq);
@@ -448,8 +448,8 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
return SdmResponse.success(new ArrayList<>());
}
long parentId = getLastNodeId(taskNodeList.get(0));
log.info("下发任务时parentId为{}", parentId);
String parentUuid = getLastNodeId(taskNodeList.get(0));
log.info("下发任务时parentId为{}", parentUuid);
String demandId = req.getDemandId();
List<TaskMemberNode> projectNodeMemberList = new ArrayList<>();
List<TaskExtraNode> projectNodeExtraList = new ArrayList<>();
@@ -538,7 +538,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
)
));
for (TaskNode taskNode : taskNodeList) {
createDir(taskNode.getId(), parentId, taskNode.getNodeName());
createDir(taskNode.getUuid(), parentUuid, taskNode.getNodeName());
}
}
if (CollectionUtils.isNotEmpty(projectNodeExtraList)) {
@@ -581,8 +581,8 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
response = SdmResponse.failed("新增指标时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getId() : taskNodeMap.get(taskNode.getTaskId()).getId(),
createDir(taskNode.getUuid(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(),
taskNode.getNodeName());
}
@@ -598,7 +598,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
return response;
}
private long getLastNodeId(TaskNode taskNode) {
private String getLastNodeId(TaskNode taskNode) {
// List<String> tag1 = taskNode.getTag1();
// if (CollectionUtils.isNotEmpty(tag1)) {
// tag1.get(tag1.size() - 1);
@@ -615,7 +615,7 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
throw new RuntimeException(e);
}
}
return projectMapper.getNodeListByNodeIdList(Collections.singletonList(lastNodeId)).get(0).getId();
return projectMapper.getNodeListByNodeIdList(Collections.singletonList(lastNodeId)).get(0).getUuid();
}
// @Override
@@ -779,10 +779,10 @@ public class DemandServiceImpl extends BaseService implements IDemandService {
// }
private void createDir(Long nodeId, Long parentNodeId, String dirName) {
private void createDir(String uuid, String parentUuid, String dirName) {
CreateDirReq createDirReq = new CreateDirReq();
createDirReq.setNodeId(nodeId);
createDirReq.setParentNodeId(parentNodeId);
createDirReq.setUuId(uuid);
createDirReq.setParentUuId(parentUuid);
createDirReq.setDirName(dirName);
log.info("下发任务调用创建文件夹的参数为:{}", createDirReq);
// SdmResponse response = dataClientAPIClient.createDir(createDirReq);

View File

@@ -3,10 +3,14 @@ package com.sdm.project.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sdm.common.common.Constants;
import com.sdm.common.common.ResultCode;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.constants.SystemConstants;
import com.sdm.common.entity.enums.NodeType;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.entity.req.project.DelNodeReq;
import com.sdm.common.entity.req.project.RenameNodeReq;
import com.sdm.common.entity.req.system.UserQueryReq;
import com.sdm.common.entity.resp.AllNodeByProjectIdAndTypeResp;
import com.sdm.common.entity.resp.system.CIDUserResp;
@@ -18,12 +22,17 @@ import com.sdm.project.dao.SimulationNodeMapper;
import com.sdm.project.dao.SimulationProjectMapper;
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.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 lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
@@ -54,12 +63,21 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
@Autowired
private DataClientFeignClientImpl dataClientFeignClient;
@Autowired
private ISimulationTaskService simulationTaskService;
@Autowired
private ISimulationRunService simulationRunService;
@Resource
private SimulationDemandMapper demandMapper;
@Autowired
private SysUserFeignClientImpl sysUserFeignClient;
@Autowired
IProjectService projectService;
private HashMap<String, String> idMap = new HashMap<>();
@@ -331,56 +349,15 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
}
// for (SpdmProjectNodeEditReq addNode : addNodeList) {
// addNode.setUuid(RandomUtil.generateString(32));
// addNode.setCreateTime(curDateStr);
// addNode.setCreator(jobNumber);
// addNode.setTenantId(tenantId);
// if (CollectionUtils.isNotEmpty(tagMap)) {
// log.info("tagMap不为空");
// tagOptional = tagMap.stream().filter(tag -> tag.getKey().equals(addNode.getNodeType())).findFirst();
// if (tagOptional.isPresent()) {
// log.info("当前nodeType为{}tag为{}",addNode.getNodeType(),tagOptional.get().getValue());
// try {
// setTagProperty(addNode,tagOptional.get().getValue(),addNode.getUuid());
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// }
// }
// nodeManagerList = addNode.getMemberList();
// if (StringUtils.isNoneBlank(nodeManagerList)) {
// for (String userId : nodeManagerList.split(",")) {
// SpdmNodeRelateMemberReq spdmNodeRelateMemberReq = new SpdmNodeRelateMemberReq();
// spdmNodeRelateMemberReq.setNodeId(addNode.getUuid());
// spdmNodeRelateMemberReq.setUserId(Integer.parseInt(userId));
// spdmNodeRelateMemberReq.setCreateTime(curDateStr);
// spdmNodeRelateMemberReq.setCreator(jobNumber);
// allNodeManagerList.add(spdmNodeRelateMemberReq);
// }
// }
// extraList = addNode.getExtraList();
// if (CollectionUtils.isNotEmpty(extraList)) {
// extraList.forEach(extra -> {
// extra.setNodeId(addNode.getUuid());
// extra.setCreateTime(curDateStr);
// extra.setCreator(jobNumber);
// });
// allExtraList.addAll(extraList);
// }
// }
if (nodeMapper.addNodeBatch(addNodeList) <= 0) {
return null;
}
Optional<SpdmProjectNodeEditReq> projectOptional = addNodeList.stream().filter(node -> SystemConstants.PROJECT_TAG.equals(node.getNodeType())).findFirst();
if (projectOptional.isPresent()) {
SpdmProjectNodeEditReq projectNode = projectOptional.get();
long projectNodeId = projectNode.getId();
String uuid = projectNode.getUuid();
// 创建项目节点的文件夹
createDir(projectNodeId, null, projectNode.getNodeName());
createDir(uuid, null, projectNode.getNodeName());
} else {
List<ProjectNodePo> projectNodePoList = mapper.queryNodeListByNodeId(addNodeList.get(0).getPid());
if (CollectionUtils.isEmpty(projectNodePoList)) {
@@ -388,9 +365,9 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
return null;
}
ProjectNodePo projectNodePo = projectNodePoList.get(0);
long projectNodeId = projectNodePo.getId();
String projectUuid = projectNodePo.getUuid();
for (SpdmProjectNodeEditReq node : addNodeList) {
createDir(node.getId(), projectNodeId, node.getNodeName());
createDir(node.getUuid(), projectUuid, node.getNodeName());
}
}
if (CollectionUtils.isNotEmpty(allNodeManagerList) && nodeMapper.addNodeMemberBatch(allNodeManagerList) <= 0) {
@@ -574,30 +551,6 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
log.error("getProjectMemberList未查询到用户");
return SdmResponse.success(new ArrayList<>());
}
// spdmNodeMemberVoList.stream().map(SpdmNodeMemberVo::get)
// List<BaseEntity> memberList = new ArrayList<>();
// HashSet memberSet = new HashSet();
// if (CollectionUtils.isNotEmpty(spdmNodeMemberVoList)) {
// for (SpdmNodeMemberVo spdmNodeMemberVo : spdmNodeMemberVoList) {
// if (!memberSet.contains(spdmNodeMemberVo.getIdentity())) {
// memberList.add(spdmNodeMemberVo);
// }
// memberSet.add(spdmNodeMemberVo.getIdentity());
// }
// }
//
// List<TaskNodePo> taskNodePoList = nodeMapper.getTaskListByNodeIdList(allNodeIdList);
// if (CollectionUtils.isNotEmpty(taskNodePoList)) {
// List<TaskNodeMemberPo> taskNodeMemberPoList = nodeMapper.getTaskMemberListByNodeIdList(taskNodePoList.stream().map(TaskNodePo::getUuid).toList());
// if (CollectionUtils.isNotEmpty(taskNodeMemberPoList)) {
// for (TaskNodeMemberPo taskNodeMemberPo : taskNodeMemberPoList) {
// if (!memberSet.contains(taskNodeMemberPo.getIdentity())) {
// memberList.add(taskNodeMemberPo);
// }
// memberSet.add(taskNodeMemberPo.getIdentity());
// }
// }
// }
JSONObject jsonObject = new JSONObject();
jsonObject.put("data", userList.stream().skip((long) (req.getCurrent() - 1) * req.getSize()).limit(req.getSize()).toList());
return SdmResponse.success(jsonObject);
@@ -629,10 +582,10 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
return SdmResponse.success(projectNodePoList);
}
private void createDir(Long nodeId, Long parentNodeId, String dirName) {
private void createDir(String uuid, String parentUuid, String dirName) {
CreateDirReq createDirReq = new CreateDirReq();
createDirReq.setNodeId(nodeId);
createDirReq.setParentNodeId(ObjectUtils.isNotEmpty(parentNodeId) ? parentNodeId : null);
createDirReq.setUuId(uuid);
createDirReq.setParentUuId(ObjectUtils.isNotEmpty(parentUuid) ? parentUuid : null);
createDirReq.setDirName(dirName);
createDirReq.setDirType(Constants.DirType.PROJECT_NODE_DIR.getValue());
log.info("创建项目阶段时,调用创建文件夹的参数为:{}", createDirReq);
@@ -667,8 +620,8 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
@Override
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(Long chooseNodeId, String nextNodeType) {
String ownRootNodeUuid = this.lambdaQuery().eq(SimulationNode::getId, chooseNodeId).one().getOwnRootNodeUuid();
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(String uuid, String nextNodeType) {
String ownRootNodeUuid = this.lambdaQuery().eq(SimulationNode::getUuid, uuid).one().getOwnRootNodeUuid();
if (ownRootNodeUuid == null) {
return SdmResponse.failed("未找到根节点uuid");
}
@@ -932,4 +885,41 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
resultResponse.put("result", result);
return SdmResponse.success(resultResponse);
}
@Override
public SdmResponse renameNode(RenameNodeReq req) {
if(Constants.NodeTypeEnum.TASK.getValue().equals(req.getUuidOwnType())){
simulationTaskService.lambdaUpdate()
.set(SimulationTask::getTaskName, req.getNewName())
.eq(SimulationTask::getUuid, req.getUuid())
.update();
} else if(Constants.NodeTypeEnum.RUN.getValue().equals(req.getUuidOwnType())){
simulationRunService.lambdaUpdate()
.set(SimulationRun::getRunName, req.getNewName())
.eq(SimulationRun::getUuid, req.getUuid())
.update();
} else {
this.lambdaUpdate()
.set(SimulationNode::getNodeName, req.getNewName())
.eq(SimulationNode::getUuid, req.getUuid())
.update();
}
return SdmResponse.success();
}
@Override
public SdmResponse delteNode(DelNodeReq req) {
SpdmDeleteProjectDetailReq deleteNode = new SpdmDeleteProjectDetailReq();
deleteNode.setNodeType(req.getUuidOwnType());
deleteNode.setUuid(req.getUuid());
List<SpdmDeleteProjectDetailReq> deleteNodeList = new ArrayList<>();
deleteNodeList.add(deleteNode);
SpdmDeleteProjectReq spdmDeleteProjectReq = new SpdmDeleteProjectReq();
spdmDeleteProjectReq.setDeleteNodeList(deleteNodeList);
projectService.delete(spdmDeleteProjectReq);
return SdmResponse.success();
}
}

View File

@@ -7,7 +7,6 @@ import com.sdm.common.common.ResultCode;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.constants.SystemConstants;
import com.sdm.common.entity.constants.TagConstant;
import com.sdm.common.entity.req.data.CreateDirReq;
import com.sdm.common.feign.impl.data.DataClientFeignClientImpl;
import com.sdm.common.service.BaseService;
@@ -17,7 +16,6 @@ import com.sdm.project.dao.SimulationProjectMapper;
import com.sdm.project.model.bo.*;
import com.sdm.project.model.po.*;
import com.sdm.project.model.req.*;
import com.sdm.project.model.vo.SpdmAnalysisTaskVo;
import com.sdm.project.service.IProjectService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
@@ -29,7 +27,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import reactor.util.function.Tuple2;
import java.text.SimpleDateFormat;
import java.util.*;
@@ -1275,43 +1272,6 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
}
}
// private SdmResponse realUpdateSimulationTaskItems(TaskNodeTree taskNodeTree, String parentId, String tenantId) {
// SdmResponse response = SdmResponse.success();
// if (CollectionUtils.isEmpty(taskNodeTree.getNodeList())) {
// response = SdmResponse.failed("节点不能为空");
// } else {
// List<TaskNode> projectNodeList = new ArrayList<>();
// List<TaskMemberNode> projectNodeMemberList = new ArrayList<>();
// List<TaskExtraNode> projectNodeExtraList = new ArrayList<>();
// List<TaskNode> taskNodeList = new ArrayList<>();
// List<TaskMemberNode> taskNodeMemberList = new ArrayList<>();
// List<TaskExtraNode> taskNodeExtraList = new ArrayList<>();
// List<TaskNode> projectNodePerformanceList = new ArrayList<>();
// List<TaskExtraNode> projectNodePerformanceExtraList = new ArrayList<>();
// for (TaskNode taskNode : taskNodeTree.getNodeList()) {
// traverseTaskNode(taskNode.getPid(), tenantId, VersionEnum.INITIAL.getCode(), taskNode, projectNodeList, projectNodeMemberList, projectNodeExtraList, taskNodeList, taskNodeMemberList, taskNodeExtraList, projectNodePerformanceList, projectNodePerformanceExtraList);
// }
// if (!projectNodeList.isEmpty() && mapper.batchUpdateSimulationNodes(projectNodeList) <= 0) {
// response = SdmResponse.failed("添加节点失败");
// } else if (!projectNodeExtraList.isEmpty() && mapper.batchUpdateSimulationNodeExtra(projectNodeExtraList) <= 0) {
// response = SdmResponse.failed("添加节点附加属性失败");
// } else if (!projectNodeExtraList.isEmpty() && mapper.batchUpdateSimulationNodeMember(projectNodeMemberList) <= 0) {
// response = SdmResponse.failed("添加节点成员属性失败");
// } else if (!taskNodeList.isEmpty() && mapper.batchUpdateSimulationTask(taskNodeList) <= 0) {
// response = SdmResponse.failed("新增任务失败");
// } else if (!taskNodeExtraList.isEmpty() && mapper.batchUpdateSimulationTaskExtra(taskNodeExtraList) <= 0) {
// response = SdmResponse.failed("新增任务附加属性失败");
// } else if (!taskNodeExtraList.isEmpty() && mapper.batchUpdateSimulationTaskMember(taskNodeMemberList) <= 0) {
// response = SdmResponse.failed("新增任务成员属性失败");
// } else if (!projectNodePerformanceList.isEmpty() && mapper.batchUpdateSimulationPerformance(projectNodePerformanceList) <= 0) {
// response = SdmResponse.failed("新增任务指标项失败");
// } else if (!projectNodePerformanceExtraList.isEmpty() && mapper.batchUpdateSimulationPerformanceExtra(projectNodePerformanceExtraList) <= 0) {
// response = SdmResponse.failed("新增任务指标附加属性失败");
// }
// }
// return response;
// }
private SdmResponse newRealAddSimulationTaskItems(TaskNodeTree taskNodeTree, String tenantId, List<TaskNodeTag> tagList) {
String jobNumber = ThreadLocalContext.getCommonHeader().getJobNumber();
SdmResponse response = SdmResponse.success();
@@ -1327,16 +1287,11 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
List<TaskExtraNode> taskNodeExtraList = new ArrayList<>();
List<TaskNode> projectNodePerformanceList = new ArrayList<>();
List<TaskExtraNode> projectNodePerformanceExtraList = new ArrayList<>();
// List<String> newAllProjectNodeList = new ArrayList<>();
// List<TaskNode> eachProjectNodeList = new ArrayList<>();
HashMap<String, List<String>> idMap = new HashMap<>();
HashMap<String, List<String>> taskIdMap = new HashMap<>();
for (TaskNode taskNode : taskNodeTree.getNodeList()) {
currentTopNodeType = taskNode.getNodeType();
traverseTaskNode(taskNode.getPid(), tenantId, VersionEnum.INITIAL.getCode(), taskNode, projectNodeList, projectNodeMemberList, projectNodeExtraList, taskNodeList, taskNodeMemberList, taskNodeExtraList, projectNodePerformanceList, projectNodePerformanceExtraList, tagList,idMap,taskIdMap);
// eachProjectNodeList = projectNodeList.stream().filter(node -> !newAllProjectNodeList.contains(node.getUuid())).toList();
// newAllProjectNodeList.addAll(eachProjectNodeList.stream().map(TaskNode::getUuid).toList());
taskIdMap.clear();
}
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@@ -1344,47 +1299,6 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
Map<String, TaskNode> projectNodeMap = Map.of();
Map<String, TaskNode> taskNodeMap = Map.of();
if (CollectionUtils.isNotEmpty(projectNodeList)) {
// 设置节点的tag信息
// if (CollectionUtils.isNotEmpty(tagMap)) {
// List<TaskNode> currentNodeList;
// for (TaskNodeTag tagReq : tagMap) {
// String currentNodeType = tagReq.getKey();
// log.info("当前nodeType为{}tag为{}", currentNodeType, tagReq.getValue());
// currentNodeList = projectNodeList.stream().filter(node -> node.getNodeType().equals(currentNodeType)).toList();
// if (CollectionUtils.isEmpty(currentNodeList)) {
// log.error("newRealAddSimulationTaskItems中不存在{}类型的节点", currentNodeType);
// continue;
// }
// List<String> currentNodeIdList = new ArrayList<>();
// for (TaskNode addNode : currentNodeList) {
// if (MapUtils.isNotEmpty(projectIdMap)) {
// for (Map.Entry<String, List<String>> entry : projectIdMap.entrySet()) {
// // 之前的tag
// String preTag = entry.getKey();
// log.info("preTag为{}", preTag);
// try {
// setTagProperty(addNode, preTag, entry.getValue());
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// }
// }
//// addNode.setUuid(RandomUtil.generateString(32));
// addNode.setCreateTime(createTime);
// addNode.setCreator(jobNumber);
// addNode.setTenantId(tenantId);
// try {
// setTagProperty(addNode, tagReq.getValue(), Collections.singletonList(addNode.getUuid()));
// } catch (Exception e) {
// throw new RuntimeException(e);
// }
// currentNodeIdList.add(addNode.getUuid());
// }
// projectIdMap.put(tagReq.getValue(), currentNodeIdList);
// }
// }
projectNodeList.forEach(node -> node.setCreateTime(curDateStr));
if (mapper.batchAddSimulationNodes(projectNodeList) <= 0) {
@@ -1416,10 +1330,10 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增节点时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
createDir(taskNode.getUuid(),
SystemConstants.PROJECT_TAG.equals(taskNode.getNodeType()) ? null : (ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId()))
? projectNodePoMap.get(taskNode.getParentId()).getId()
: projectNodeMap.get(taskNode.getParentId()).getId()),
? projectNodePoMap.get(taskNode.getParentId()).getUuid()
: projectNodeMap.get(taskNode.getParentId()).getUuid()),
taskNode.getNodeName());
}
}
@@ -1472,7 +1386,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增分析项时,创建文件失败");
return response;
}
createDir(taskNode.getId(), projectNodePoMap.get(taskNode.getParentId()).getId(), taskNode.getNodeName());
createDir(taskNode.getUuid(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName());
}
} else {
for (TaskNode taskNode : taskNodeList) {
@@ -1481,8 +1395,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增分析项时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getId() : projectNodeMap.get(taskNode.getParentId()).getId(),
createDir(taskNode.getUuid(),
ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid(),
taskNode.getNodeName());
}
}
@@ -1526,7 +1440,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增指标时,创建文件失败");
return response;
}
createDir(taskNode.getId(), taskNodePoMap.get(taskNode.getTaskId()).getId(), taskNode.getNodeName());
createDir(taskNode.getUuid(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName());
}
} else {
for (TaskNode taskNode : projectNodePerformanceList) {
@@ -1535,8 +1449,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增指标时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getId() : taskNodeMap.get(taskNode.getTaskId()).getId(),
createDir(taskNode.getUuid(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(),
taskNode.getNodeName());
}
}
@@ -1604,10 +1518,10 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增节点时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
createDir(taskNode.getUuid(),
SystemConstants.PROJECT_TAG.equals(taskNode.getNodeType()) ? null : (ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId()))
? projectNodePoMap.get(taskNode.getParentId()).getId()
: projectNodeMap.get(taskNode.getParentId()).getId()),
? projectNodePoMap.get(taskNode.getParentId()).getUuid()
: projectNodeMap.get(taskNode.getParentId()).getUuid()),
taskNode.getNodeName());
}
}
@@ -1660,7 +1574,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增分析项时,创建文件失败");
return response;
}
createDir(taskNode.getId(), projectNodePoMap.get(taskNode.getParentId()).getId(), taskNode.getNodeName());
createDir(taskNode.getUuid(), projectNodePoMap.get(taskNode.getParentId()).getUuid(), taskNode.getNodeName());
}
} else {
for (TaskNode taskNode : taskNodeList) {
@@ -1669,8 +1583,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增分析项时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getId() : projectNodeMap.get(taskNode.getParentId()).getId(),
createDir(taskNode.getUuid(),
ObjectUtils.isNotEmpty(projectNodePoMap.get(taskNode.getParentId())) ? projectNodePoMap.get(taskNode.getParentId()).getUuid() : projectNodeMap.get(taskNode.getParentId()).getUuid(),
taskNode.getNodeName());
}
}
@@ -1714,7 +1628,7 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增指标时,创建文件失败");
return response;
}
createDir(taskNode.getId(), taskNodePoMap.get(taskNode.getTaskId()).getId(), taskNode.getNodeName());
createDir(taskNode.getUuid(), taskNodePoMap.get(taskNode.getTaskId()).getUuid(), taskNode.getNodeName());
}
} else {
for (TaskNode taskNode : projectNodePerformanceList) {
@@ -1723,8 +1637,8 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
response = SdmResponse.failed("新增指标时,创建文件失败");
return response;
}
createDir(taskNode.getId(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getId() : taskNodeMap.get(taskNode.getTaskId()).getId(),
createDir(taskNode.getUuid(),
ObjectUtils.isNotEmpty(taskNodePoMap.get(taskNode.getTaskId())) ? taskNodePoMap.get(taskNode.getTaskId()).getUuid() : taskNodeMap.get(taskNode.getTaskId()).getUuid(),
taskNode.getNodeName());
}
}
@@ -1740,10 +1654,10 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
return response;
}
private void createDir(Long nodeId, Long parentNodeId, String dirName) {
private void createDir(String uuid, String parentUuid, String dirName) {
CreateDirReq createDirReq = new CreateDirReq();
createDirReq.setNodeId(nodeId);
createDirReq.setParentNodeId(parentNodeId);
createDirReq.setUuId(uuid);
createDirReq.setParentUuId(parentUuid);
createDirReq.setDirName(dirName);
log.info("调用创建文件夹的参数为:{}", createDirReq);
// SdmResponse response = dataClientAPIClient.createDir(createDirReq);