删除节点方法添加
This commit is contained in:
parent
0082a3a5d6
commit
6479e0112d
@ -20,6 +20,7 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.jsoup.helper.W3CDom;
|
import org.jsoup.helper.W3CDom;
|
||||||
import org.springframework.core.task.VirtualThreadTaskExecutor;
|
import org.springframework.core.task.VirtualThreadTaskExecutor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -182,17 +183,70 @@ public class StageServiceImpl implements StageService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteStagesOrTask(String taskId) {
|
public void deleteStagesOrTask(String taskId) {
|
||||||
PipTask pipTask = new PipTask();
|
PipTask taskQuery = new PipTask();
|
||||||
// pipTask.set
|
taskQuery.setTaskId(taskId);
|
||||||
List<PipTask> taskById = taskService.getTask(pipTask);
|
List<PipTask> taskList = taskService.getTask(taskQuery);
|
||||||
|
if (CollectionUtils.isEmpty(taskList)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
PipTask task = taskList.get(0);
|
||||||
|
taskService.deleteTaskById(taskId);
|
||||||
|
// 查询上一级stage下有无其他task 没有则连着stage删除
|
||||||
|
String stageId = task.getStageId();
|
||||||
|
String pipelineId = task.getPipelineId();
|
||||||
|
taskQuery.setTaskId("");
|
||||||
|
taskQuery.setStageId(stageId);
|
||||||
|
List<PipTask> otherTask = taskService.getTask(task);
|
||||||
|
if (CollectionUtils.isEmpty(otherTask)) {
|
||||||
|
// 删除当前task的父stage,然后判断父stage的父级有无其他子集如果没有就继续删除当前阶段
|
||||||
|
|
||||||
|
PipStage stageQuery = new PipStage();
|
||||||
|
stageQuery.setPipelineId(stageId);
|
||||||
|
List<PipStage> currStageList = getPipStageList(stageQuery);
|
||||||
|
if (CollectionUtils.isEmpty(currStageList)) {
|
||||||
|
throw new ServiceException(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR.getCode(),"stage不存在");
|
||||||
|
}
|
||||||
|
PipStage currStage = currStageList.get(0);
|
||||||
|
deleteStages(stageId);
|
||||||
|
String parentId = currStage.getParentId();
|
||||||
|
stageQuery.setParentId(parentId);
|
||||||
|
stageQuery.setStageId(null);
|
||||||
|
// 查询同阶段其他二级stage,如果不存在其他stage则删除阶段stage并整理sort值
|
||||||
|
List<PipStage> otherStageList = getPipStageList(stageQuery);
|
||||||
|
if (CollectionUtils.isEmpty(otherStageList)) {
|
||||||
|
//没有其他并行路径就需要删除当前阶段
|
||||||
|
deleteStages(parentId);
|
||||||
|
} else {
|
||||||
|
for (PipStage stage : otherStageList) {
|
||||||
|
if (currStage.getStageSort()<stage.getStageSort()) {
|
||||||
|
stage.setStageSort(stage.getStageSort()-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (PipTask pipTask : otherTask) {
|
||||||
|
if (task.getTaskSort()<pipTask.getTaskSort()) {
|
||||||
|
pipTask.setTaskSort(pipTask.getTaskSort()-1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAllStagesOrTask(String pipelineId) {
|
public void deleteAllStagesOrTask(String pipelineId) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<PipStage> getPipStageList(PipStage pipStage){
|
||||||
|
LambdaQueryWrapper<PipStage> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.eq(StringUtils.isNotEmpty(pipStage.getStageId()),PipStage::getStageId,pipStage.getStageId());
|
||||||
|
wrapper.eq(StringUtils.isNotEmpty(pipStage.getPipelineId()),PipStage::getPipelineId,pipStage.getPipelineId());
|
||||||
|
wrapper.eq(StringUtils.isNotEmpty(pipStage.getParentId()),PipStage::getParentId,pipStage.getParentId());
|
||||||
|
return stageDao.selectList(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateStageName(StageReq stage) {
|
public void updateStageName(StageReq stage) {
|
||||||
LambdaUpdateWrapper<PipStage> wrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<PipStage> wrapper = new LambdaUpdateWrapper<>();
|
||||||
@ -235,7 +289,7 @@ public class StageServiceImpl implements StageService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteStages(String stageId) {
|
public void deleteStages(String stageId) {
|
||||||
|
stageDao.deleteById(stageId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -14,4 +14,5 @@ public interface TaskService {
|
|||||||
public String createTasksOrTask(PipTask tasks);
|
public String createTasksOrTask(PipTask tasks);
|
||||||
List<PipTask> finAllStageTask(String stageId);
|
List<PipTask> finAllStageTask(String stageId);
|
||||||
List<PipTask> getTask(PipTask pipTask);
|
List<PipTask> getTask(PipTask pipTask);
|
||||||
|
void deleteTaskById(String taskId);
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ public class TaskServiceImpl implements TaskService {
|
|||||||
|
|
||||||
String tasksId = createTasks(tasks);
|
String tasksId = createTasks(tasks);
|
||||||
//创建任务
|
//创建任务
|
||||||
createDifferentTask(tasksId,taskType,tasks.getValues());
|
// createDifferentTask(tasksId,taskType,tasks.getValues());
|
||||||
return tasksId;
|
return tasksId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -114,6 +114,11 @@ public class TaskServiceImpl implements TaskService {
|
|||||||
return taskDao.selectList(wrapper);
|
return taskDao.selectList(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteTaskById(String taskId) {
|
||||||
|
taskDao.deleteById(taskId);
|
||||||
|
}
|
||||||
|
|
||||||
void createDifferentTask(String taskId,String taskType,Object values){
|
void createDifferentTask(String taskId,String taskType,Object values){
|
||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user