1、现场问题修改
This commit is contained in:
@@ -106,4 +106,8 @@ public interface SimulationNodeMapper extends BaseMapper<SimulationNode> {
|
|||||||
|
|
||||||
List<SimulationNode> queryNodeCodeByTags(@Param("list")List<String> tag1List, @Param("tagKey")String tagKey,@Param("tagValue") String tagValue);
|
List<SimulationNode> queryNodeCodeByTags(@Param("list")List<String> tag1List, @Param("tagKey")String tagKey,@Param("tagValue") String tagValue);
|
||||||
|
|
||||||
|
List<TaskNodePo> getTaskListByProjectNodeId(@Param("nodeId") String nodeId);
|
||||||
|
|
||||||
|
List<TaskNodePo> getTaskListByPhaseNodeId(@Param("nodeId") String nodeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -134,6 +134,9 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ISimulationTaskExtraService simulationTaskExtraService;
|
private ISimulationTaskExtraService simulationTaskExtraService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISimulationTaskService taskService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 扩展属性名称常量
|
* 扩展属性名称常量
|
||||||
*/
|
*/
|
||||||
@@ -344,11 +347,21 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
// 删
|
// 删
|
||||||
List<String> deleteNodeIdList = req.getDeleteNodeIdList();
|
List<String> deleteNodeIdList = req.getDeleteNodeIdList();
|
||||||
if (CollectionUtils.isNotEmpty(deleteNodeIdList)) {
|
if (CollectionUtils.isNotEmpty(deleteNodeIdList)) {
|
||||||
|
// 删除项目下所有的任务
|
||||||
|
if (!deleteTask(deleteNodeIdList)) {
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return SdmResponse.failed("操作节点关联的任务失败,原因:删除节点关联的任务时失败!");
|
||||||
|
}
|
||||||
|
if (!deleteDemand(deleteNodeIdList)) {
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return SdmResponse.failed("操作节点关联的需求失败,原因:删除节点关联的需求时失败!");
|
||||||
|
}
|
||||||
// 手动回滚数据
|
// 手动回滚数据
|
||||||
if (!deleteNode(deleteNodeIdList)) {
|
if (!deleteNode(deleteNodeIdList)) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
return SdmResponse.failed("操作节点失败,原因:删除节点时失败!");
|
return SdmResponse.failed("操作节点失败,原因:删除节点时失败!");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除项目下所有的需求
|
// 删除项目下所有的需求
|
||||||
if (!deleteDemand(deleteNodeIdList)) {
|
if (!deleteDemand(deleteNodeIdList)) {
|
||||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
@@ -364,12 +377,44 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
return SdmResponse.success();
|
return SdmResponse.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean deleteTask(List<String> deleteNodeIdList) {
|
||||||
|
String nodeId = deleteNodeIdList.get(0);
|
||||||
|
// 查询节点类型
|
||||||
|
SpdmNodeVo node = nodeMapper.getNodeById(nodeId);
|
||||||
|
if (!NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType()) && !NodeTypeEnum.PHASE.getValue().equals(node.getNodeType())) {
|
||||||
|
log.info("只删除项目或阶段类型下的任务");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 删除当前节点及子节点下的分析项相关信息
|
||||||
|
List<SimulationTask> taskNodePoList;
|
||||||
|
if (NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())) {
|
||||||
|
taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag1,nodeId).list();
|
||||||
|
}else {
|
||||||
|
taskNodePoList = taskService.lambdaQuery().eq(SimulationTask::getTag2,nodeId).list();
|
||||||
|
}
|
||||||
|
if (CollectionUtils.isNotEmpty(taskNodePoList)) {
|
||||||
|
nodeMapper.deleteTaskBatch(deleteNodeIdList);
|
||||||
|
List<String> taskIdList = taskNodePoList.stream().map(SimulationTask::getUuid).toList();
|
||||||
|
nodeMapper.deleteTaskExtraBatch(taskIdList);
|
||||||
|
nodeMapper.deleteTaskMemberBatch(taskIdList);
|
||||||
|
// 删除当前节点及子节点下的指标相关信息
|
||||||
|
List<PerformanceNodePo> performanceNodePoList = nodeMapper.getPerformanceListByNodeIdList(taskIdList);
|
||||||
|
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
List<Long> performanceIdList = performanceNodePoList.stream().map(PerformanceNodePo::getId).toList();
|
||||||
|
nodeMapper.deletePerformanceBatch(performanceIdList);
|
||||||
|
nodeMapper.deletePerformanceExtraBatch(performanceNodePoList.stream().map(PerformanceNodePo::getUuid).toList());
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
private boolean deleteDemand(List<String> deleteNodeIdList) {
|
private boolean deleteDemand(List<String> deleteNodeIdList) {
|
||||||
try {
|
try {
|
||||||
String nodeId = deleteNodeIdList.get(0);
|
String nodeId = deleteNodeIdList.get(0);
|
||||||
// 查询是否是项目类型节点,只有项目类型节点才去删除需求
|
// 查询是否是项目类型节点,只有项目类型节点才去删除需求
|
||||||
SpdmNodeVo node = nodeMapper.getNodeById(nodeId);
|
SpdmNodeVo node = nodeMapper.getNodeById(nodeId);
|
||||||
if (ObjectUtils.isEmpty(node) || NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())) {
|
if (ObjectUtils.isEmpty(node) || !NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())) {
|
||||||
log.info("node为空或不为项目类型,不删除需求,node:{}",node);
|
log.info("node为空或不为项目类型,不删除需求,node:{}",node);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -416,22 +461,6 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
nodeMapper.deleteNodeExtraBatch(deleteNodeIdList);
|
nodeMapper.deleteNodeExtraBatch(deleteNodeIdList);
|
||||||
// 删除当前节点及子节点的成员信息
|
// 删除当前节点及子节点的成员信息
|
||||||
nodeMapper.deleteNodeMemberBatch(deleteNodeIdList);
|
nodeMapper.deleteNodeMemberBatch(deleteNodeIdList);
|
||||||
// 删除当前节点及子节点下的分析项相关信息
|
|
||||||
List<TaskNodePo> taskNodePoList = nodeMapper.getTaskListByNodeIdList(deleteNodeIdList);
|
|
||||||
if (CollectionUtils.isNotEmpty(taskNodePoList)) {
|
|
||||||
nodeMapper.deleteTaskBatch(deleteNodeIdList);
|
|
||||||
List<String> taskIdList = taskNodePoList.stream().map(TaskNodePo::getUuid).toList();
|
|
||||||
nodeMapper.deleteTaskExtraBatch(taskIdList);
|
|
||||||
nodeMapper.deleteTaskMemberBatch(taskIdList);
|
|
||||||
// 删除当前节点及子节点下的指标相关信息
|
|
||||||
List<PerformanceNodePo> performanceNodePoList = nodeMapper.getPerformanceListByNodeIdList(taskIdList);
|
|
||||||
if (CollectionUtils.isEmpty(performanceNodePoList)) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
List<Long> performanceIdList = performanceNodePoList.stream().map(PerformanceNodePo::getId).toList();
|
|
||||||
nodeMapper.deletePerformanceBatch(performanceIdList);
|
|
||||||
nodeMapper.deletePerformanceExtraBatch(performanceNodePoList.stream().map(PerformanceNodePo::getUuid).toList());
|
|
||||||
}
|
|
||||||
List<SpdmNodeVo> childrenNodeList = nodeMapper.getNodeListByNodeIdList(deleteNodeIdList);
|
List<SpdmNodeVo> childrenNodeList = nodeMapper.getNodeListByNodeIdList(deleteNodeIdList);
|
||||||
if (CollectionUtils.isEmpty(childrenNodeList)) {
|
if (CollectionUtils.isEmpty(childrenNodeList)) {
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -947,24 +947,6 @@ public class ProjectServiceImpl extends BaseService implements IProjectService {
|
|||||||
taskNodePo.setAttionMembers(taskNodePo.getPayAttentionMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
|
taskNodePo.setAttionMembers(taskNodePo.getPayAttentionMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(pUserIdList)) {
|
|
||||||
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(pUserIdList).build());
|
|
||||||
taskNodePo.setPMemberList(cidUserResp.getData());
|
|
||||||
if (CollectionUtils.isNotEmpty(taskNodePo.getPMemberList())) {
|
|
||||||
taskNodePo.setPMembers(taskNodePo.getPMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 设置关注人
|
|
||||||
if (CollectionUtils.isNotEmpty(attionUserIdList)) {
|
|
||||||
SdmResponse<List<CIDUserResp>> cidUserResp= sysUserFeignClient.listUserByIds(UserQueryReq.builder().userIds(attionUserIdList).build());
|
|
||||||
taskNodePo.setPayAttentionMemberList(cidUserResp.getData());
|
|
||||||
if (CollectionUtils.isNotEmpty(taskNodePo.getPayAttentionMemberList())) {
|
|
||||||
taskNodePo.setAttionMembers(taskNodePo.getPayAttentionMemberList().stream().map(CIDUserResp::getNickname).collect(Collectors.joining(",")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -772,5 +772,13 @@
|
|||||||
</if>
|
</if>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getTaskListByProjectNodeId" resultType="com.sdm.project.model.po.TaskNodePo">
|
||||||
|
select * from simulation_task where tag1 = #{nodeId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="getTaskListByPhaseNodeId" resultType="com.sdm.project.model.po.TaskNodePo">
|
||||||
|
select * from simulation_task where tag2 = #{nodeId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
Reference in New Issue
Block a user