use of com.dtstack.taier.dao.domain.ScheduleTaskShade in project Taier by DTStack.
the class TaskTaskService method displayOffSpring.
/**
* 展开任务上下游
* @return 上下游规则
*/
public ReturnTaskDisplayVO displayOffSpring(QueryTaskDisplayDTO dto) {
// 查询的最长层级不能超过 max.jobJob.level
dto.setLevel(JobUtils.checkLevel(dto.getLevel(), context.getMaxLevel()));
// 查询任务
ScheduleTaskShade taskShade = taskService.lambdaQuery().eq(ScheduleTaskShade::getTaskId, dto.getTaskId()).eq(ScheduleTaskShade::getIsDeleted, Deleted.NORMAL.getStatus()).one();
if (taskShade == null) {
return null;
}
// 创建节点
TaskNodeVO rootNode = new TaskNodeVO();
setNode(taskShade, rootNode);
Tenant tenant = tenantService.getTenantById(taskShade.getTenantId());
if (null != tenant) {
rootNode.setTenantName(tenant.getTenantName());
rootNode.setTenantId(tenant.getId());
}
String userName = userService.getUserName(taskShade.getCreateUserId());
rootNode.setOperatorId(taskShade.getCreateUserId());
rootNode.setOperatorName(userName);
if (DisplayDirect.CHILD.getType().equals(dto.getDirectType())) {
rootNode.setChildNode(displayLevelNode(taskShade, dto.getLevel(), dto.getDirectType()));
} else {
rootNode.setParentNode(displayLevelNode(taskShade, dto.getLevel(), dto.getDirectType()));
}
ReturnTaskDisplayVO vo = new ReturnTaskDisplayVO();
vo.setDirectType(dto.getDirectType());
vo.setRootTaskNode(rootNode);
return vo;
}
use of com.dtstack.taier.dao.domain.ScheduleTaskShade in project Taier by DTStack.
the class JobJobService method displayAllFlowSubJobs.
private ReturnJobDisplayVO displayAllFlowSubJobs(ScheduleJob scheduleJob) {
List<ScheduleJob> scheduleJobList = jobService.lambdaQuery().eq(ScheduleJob::getFlowJobId, scheduleJob.getJobId()).eq(ScheduleJob::getIsDeleted, Deleted.NORMAL.getStatus()).list();
Map<String, ScheduleJob> jobMap = scheduleJobList.stream().collect(Collectors.toMap(ScheduleJob::getJobKey, g -> (g)));
// 查询实例直接的关系
Set<String> jobKeySet = jobMap.keySet();
jobKeySet.add(scheduleJob.getJobKey());
List<ScheduleJobJob> scheduleJobJobs = this.lambdaQuery().in(ScheduleJobJob::getJobKey, jobKeySet).in(ScheduleJobJob::getIsDeleted, Deleted.NORMAL.getStatus()).list();
Map<String, List<String>> jobJobMaps = scheduleJobJobs.stream().collect(Collectors.groupingBy(ScheduleJobJob::getParentJobKey, Collectors.mapping(ScheduleJobJob::getJobKey, Collectors.toList())));
// 查询任务信息
List<Long> taskIdList = scheduleJobList.stream().map(ScheduleJob::getTaskId).collect(Collectors.toList());
taskIdList.add(scheduleJob.getTaskId());
List<ScheduleTaskShade> taskShades = taskService.lambdaQuery().in(ScheduleTaskShade::getTaskId, taskIdList).eq(ScheduleTaskShade::getIsDeleted, Deleted.NORMAL.getStatus()).list();
Map<Long, ScheduleTaskShade> taskShadeMap = taskShades.stream().collect(Collectors.toMap(ScheduleTaskShade::getTaskId, g -> (g)));
ReturnJobDisplayVO vo = new ReturnJobDisplayVO();
vo.setRootNode(buildRootNode(DisplayDirect.CHILD.getType(), scheduleJob, taskShadeMap, jobMap, jobJobMaps));
return vo;
}
use of com.dtstack.taier.dao.domain.ScheduleTaskShade in project Taier by DTStack.
the class JobService method buildReturnJobListVO.
/**
* 构建ReturnJobListVO
* @param returnJobListVOS 结果集
* @param records 记录数
*/
private void buildReturnJobListVO(List<ReturnJobListVO> returnJobListVOS, List<ScheduleJob> records) {
List<Long> taskIdList = records.stream().map(ScheduleJob::getTaskId).collect(Collectors.toList());
List<ScheduleTaskShade> taskShadeList = taskService.lambdaQuery().in(ScheduleTaskShade::getTaskId, taskIdList).eq(ScheduleTaskShade::getIsDeleted, Deleted.NORMAL.getStatus()).list();
Map<Long, ScheduleTaskShade> taskShadeMap = taskShadeList.stream().collect(Collectors.toMap(ScheduleTaskShade::getTaskId, g -> (g)));
Map<Long, User> userMap = userService.listAll().stream().collect(Collectors.toMap(User::getId, g -> (g)));
// 封装返回值
for (ScheduleJob scheduleJob : records) {
ReturnJobListVO returnJobListVO = JobMapstructTransfer.INSTANCE.scheduleJobToReturnJobListVO(scheduleJob);
returnJobListVO.setCycTime(DateUtil.addTimeSplit(scheduleJob.getCycTime()));
returnJobListVO.setStartExecTime(DateUtil.getDate(scheduleJob.getExecStartTime(), DateUtil.STANDARD_DATETIME_FORMAT));
returnJobListVO.setEndExecTime(DateUtil.getDate(scheduleJob.getExecEndTime(), DateUtil.STANDARD_DATETIME_FORMAT));
returnJobListVO.setExecTime(getExecTime(scheduleJob));
returnJobListVO.setStatus(TaskStatus.getShowStatus(scheduleJob.getStatus()));
ScheduleTaskShade scheduleTaskShade = taskShadeMap.get(returnJobListVO.getTaskId());
if (scheduleTaskShade != null) {
returnJobListVO.setTaskName(scheduleTaskShade.getName());
returnJobListVO.setOperatorId(scheduleTaskShade.getCreateUserId());
returnJobListVO.setOperatorName(userMap.get(scheduleTaskShade.getCreateUserId()) != null ? userMap.get(scheduleTaskShade.getCreateUserId()).getUserName() : "");
}
returnJobListVOS.add(returnJobListVO);
}
}
Aggregations