Search in sources :

Example 31 with ScheduleTaskShade

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;
}
Also used : ReturnTaskDisplayVO(com.dtstack.taier.develop.vo.schedule.ReturnTaskDisplayVO) Tenant(com.dtstack.taier.dao.domain.Tenant) ScheduleTaskShade(com.dtstack.taier.dao.domain.ScheduleTaskShade) TaskNodeVO(com.dtstack.taier.develop.vo.schedule.TaskNodeVO)

Example 32 with ScheduleTaskShade

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;
}
Also used : UserService(com.dtstack.taier.develop.service.user.UserService) ScheduleJob(com.dtstack.taier.dao.domain.ScheduleJob) EnvironmentContext(com.dtstack.taier.common.env.EnvironmentContext) Autowired(org.springframework.beans.factory.annotation.Autowired) RdosDefineException(com.dtstack.taier.common.exception.RdosDefineException) ArrayList(java.util.ArrayList) A(org.checkerframework.checker.units.qual.A) DisplayDirect(com.dtstack.taier.common.enums.DisplayDirect) Lists(com.google.common.collect.Lists) CollectionUtils(org.apache.commons.collections.CollectionUtils) Service(org.springframework.stereotype.Service) RelyType(com.dtstack.taier.scheduler.enums.RelyType) Map(java.util.Map) DateUtil(com.dtstack.taier.pluginapi.util.DateUtil) ScheduleJobJob(com.dtstack.taier.dao.domain.ScheduleJobJob) ServiceImpl(com.baomidou.mybatisplus.extension.service.impl.ServiceImpl) ScheduleTaskShade(com.dtstack.taier.dao.domain.ScheduleTaskShade) ReturnJobDisplayVO(com.dtstack.taier.develop.vo.schedule.ReturnJobDisplayVO) QueryJobDisplayDTO(com.dtstack.taier.scheduler.dto.schedule.QueryJobDisplayDTO) JobNodeVO(com.dtstack.taier.develop.vo.schedule.JobNodeVO) Set(java.util.Set) ScheduleJobJobMapper(com.dtstack.taier.dao.mapper.ScheduleJobJobMapper) Maps(com.google.common.collect.Maps) Collectors(java.util.stream.Collectors) Sets(com.google.common.collect.Sets) List(java.util.List) JobUtils(com.dtstack.taier.develop.utils.JobUtils) EScheduleJobType(com.dtstack.taier.common.enums.EScheduleJobType) Deleted(com.dtstack.taier.common.enums.Deleted) ScheduleJob(com.dtstack.taier.dao.domain.ScheduleJob) ScheduleJobJob(com.dtstack.taier.dao.domain.ScheduleJobJob) ReturnJobDisplayVO(com.dtstack.taier.develop.vo.schedule.ReturnJobDisplayVO) ScheduleTaskShade(com.dtstack.taier.dao.domain.ScheduleTaskShade) ArrayList(java.util.ArrayList) List(java.util.List)

Example 33 with ScheduleTaskShade

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);
    }
}
Also used : ReturnJobStatusStatisticsVO(com.dtstack.taier.develop.vo.schedule.ReturnJobStatusStatisticsVO) CountFillDataJobStatusPO(com.dtstack.taier.dao.domain.po.CountFillDataJobStatusPO) UserService(com.dtstack.taier.develop.service.user.UserService) FillDataJobMapstructTransfer(com.dtstack.taier.develop.mapstruct.fill.FillDataJobMapstructTransfer) PageResult(com.dtstack.taier.dao.pager.PageResult) Autowired(org.springframework.beans.factory.annotation.Autowired) StringUtils(org.apache.commons.lang3.StringUtils) NumberUtils(org.apache.commons.lang.math.NumberUtils) DateUtil(com.dtstack.taier.pluginapi.util.DateUtil) StatusCountPO(com.dtstack.taier.dao.domain.po.StatusCountPO) TaskStatus(com.dtstack.taier.pluginapi.enums.TaskStatus) ServiceImpl(com.baomidou.mybatisplus.extension.service.impl.ServiceImpl) Wrappers(com.baomidou.mybatisplus.core.toolkit.Wrappers) ScheduleTaskShade(com.dtstack.taier.dao.domain.ScheduleTaskShade) QueryFillDataListDTO(com.dtstack.taier.scheduler.dto.fill.QueryFillDataListDTO) Timestamp(java.sql.Timestamp) ReturnJobListVO(com.dtstack.taier.develop.vo.schedule.ReturnJobListVO) QueryFillDataJobListDTO(com.dtstack.taier.scheduler.dto.fill.QueryFillDataJobListDTO) ReturnFillDataJobListVO(com.dtstack.taier.develop.vo.fill.ReturnFillDataJobListVO) ScheduleFillDataInfoDTO(com.dtstack.taier.scheduler.dto.fill.ScheduleFillDataInfoDTO) Collectors(java.util.stream.Collectors) ReturnDisplayPeriodVO(com.dtstack.taier.develop.vo.schedule.ReturnDisplayPeriodVO) FillGeneratStatusEnum(com.dtstack.taier.scheduler.enums.FillGeneratStatusEnum) Deleted(com.dtstack.taier.common.enums.Deleted) FillDataJobVO(com.dtstack.taier.develop.vo.fill.FillDataJobVO) java.util(java.util) ScheduleJob(com.dtstack.taier.dao.domain.ScheduleJob) RdosDefineException(com.dtstack.taier.common.exception.RdosDefineException) FillDataRunnable(com.dtstack.taier.scheduler.server.action.fill.FillDataRunnable) FillDataThreadPoolExecutor(com.dtstack.taier.scheduler.server.action.fill.FillDataThreadPoolExecutor) Lists(com.google.common.collect.Lists) CollectionUtils(org.apache.commons.collections.CollectionUtils) Service(org.springframework.stereotype.Service) FillStatusUpdateFinishEvent(com.dtstack.taier.develop.event.FillStatusUpdateFinishEvent) QueryJobListDTO(com.dtstack.taier.scheduler.dto.schedule.QueryJobListDTO) ErrorCode(com.dtstack.taier.common.exception.ErrorCode) ReturnFillDataListVO(com.dtstack.taier.develop.vo.fill.ReturnFillDataListVO) ScheduleFillDataJob(com.dtstack.taier.dao.domain.ScheduleFillDataJob) FillDataTypeEnum(com.dtstack.taier.scheduler.enums.FillDataTypeEnum) ScheduleJobMapper(com.dtstack.taier.dao.mapper.ScheduleJobMapper) User(com.dtstack.taier.dao.domain.User) DateTime(org.joda.time.DateTime) EScheduleType(com.dtstack.taier.common.enums.EScheduleType) Maps(com.google.common.collect.Maps) ApplicationContext(org.springframework.context.ApplicationContext) Page(com.baomidou.mybatisplus.extension.plugins.pagination.Page) ScheduleFillJobParticipateDTO(com.dtstack.taier.scheduler.dto.fill.ScheduleFillJobParticipateDTO) JSON(com.alibaba.fastjson.JSON) QueryJobStatusStatisticsDTO(com.dtstack.taier.scheduler.dto.schedule.QueryJobStatusStatisticsDTO) JobMapstructTransfer(com.dtstack.taier.develop.mapstruct.job.JobMapstructTransfer) FillJobTypeEnum(com.dtstack.taier.scheduler.enums.FillJobTypeEnum) JobsStatusStatisticsPO(com.dtstack.taier.dao.domain.po.JobsStatusStatisticsPO) ScheduleJob(com.dtstack.taier.dao.domain.ScheduleJob) User(com.dtstack.taier.dao.domain.User) ReturnJobListVO(com.dtstack.taier.develop.vo.schedule.ReturnJobListVO) ScheduleTaskShade(com.dtstack.taier.dao.domain.ScheduleTaskShade)

Aggregations

ScheduleTaskShade (com.dtstack.taier.dao.domain.ScheduleTaskShade)33 ScheduleJob (com.dtstack.taier.dao.domain.ScheduleJob)13 RdosDefineException (com.dtstack.taier.common.exception.RdosDefineException)12 Deleted (com.dtstack.taier.common.enums.Deleted)7 List (java.util.List)7 Collectors (java.util.stream.Collectors)7 CollectionUtils (org.apache.commons.collections.CollectionUtils)7 Autowired (org.springframework.beans.factory.annotation.Autowired)7 UserService (com.dtstack.taier.develop.service.user.UserService)6 Lists (com.google.common.collect.Lists)6 Timestamp (java.sql.Timestamp)6 Map (java.util.Map)6 Service (org.springframework.stereotype.Service)6 JSONObject (com.alibaba.fastjson.JSONObject)5 ServiceImpl (com.baomidou.mybatisplus.extension.service.impl.ServiceImpl)5 EnvironmentContext (com.dtstack.taier.common.env.EnvironmentContext)5 ScheduleTaskTaskShade (com.dtstack.taier.dao.domain.ScheduleTaskTaskShade)5 EScheduleJobType (com.dtstack.taier.common.enums.EScheduleJobType)4 Tenant (com.dtstack.taier.dao.domain.Tenant)4 User (com.dtstack.taier.dao.domain.User)4