参照之前的实验orcale使用递归(测试)
1.前端入参
@Data
public class NjryTaskInfoQueryCriteria{
private String taskId;
private String taskName;
private Integer taskType;
private String procName;
private Integer startTime;
private Set<String> taskSet;
}
2.control层
@GetMapping(value = "/getDependency")
@Log("获取任务管理依赖列表 根据任务编号获取下级与上级数据")
@ApiOperation("获取任务管理依赖列表 根据任务编号获取下级与上级数据")
@PreAuthorize("@el.check('njryTaskInfo:list')")
public ResponseEntity<PageResult<NjryTaskInfo>> getDependency(NjryTaskInfoQueryCriteria criteria, Page<Object> page){
Set<String> taskSet = new LinkedHashSet<>();
// 递归获取当前任务的所有依赖
List<String> superiorTasks = njryTaskInfoService.getSuperior(criteria.getTaskId(), new ArrayList<>());
List<String> subTasks = njryTaskInfoService.getSub(criteria.getTaskId(), new ArrayList<>());
taskSet.addAll(superiorTasks);
taskSet.addAll(subTasks);
// 查询任务管理列表排除这些依赖不带分页
// List<NjryTaskInfo> list = njryTaskInfoService.queryAllWithoutDependency(taskSet);
// return new ResponseEntity<>(list,HttpStatus.OK);
criteria.setTaskSet(taskSet);
PageResult<NjryTaskInfo> pageList = njryTaskInfoService.queryAllNoDependency(criteria,page);
return new ResponseEntity<>