|
|
@@ -362,7 +362,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
public void createTaskForNow(CoreDrillPlanDataVo plan, Date start, Date end) {
|
|
|
if (plan.getPlanCycle() != 0) {
|
|
|
//如果不是无周期的计划,那么需要查询出他的时间范围,且需要判断作息时间是否存在
|
|
|
- DateRange dateRange = DateUtils.getStartAndEnd(new Date(), EduTrainingPlanCycleEnum.toCommmonEnum(plan.getPlanCycle()));
|
|
|
+ DateRange dateRange = DateUtils.getStartAndEnd(new Date(), EduTrainingPlanCycleEnum.toCommonEnum(plan.getPlanCycle()));
|
|
|
start = dateRange.getStartTime();
|
|
|
end = dateRange.getEndTime();
|
|
|
} else {
|
|
|
@@ -400,7 +400,9 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
}
|
|
|
List<Long> workOrgIdList = workTimeList.stream().filter(time -> ObjectUtil.equal(time.getIsEnable(), WORK))
|
|
|
.map(SysWorkTime::getOrgId).collect(Collectors.toList());
|
|
|
- return orgList.stream().filter(org -> workOrgIdList.contains(org.getId())).collect(Collectors.toList());
|
|
|
+ return orgList.stream()
|
|
|
+ .filter(org -> workOrgIdList.contains(org.getId())||!OrgTypeEnum.YINGYE_WANGDIAN.getCode().equals(org.getType()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
// return orgList;
|
|
|
|
|
|
}
|
|
|
@@ -421,19 +423,11 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
.eq(CoreDrillTask::getPlanId, plan.getId())
|
|
|
.select(CoreDrillTask::getId, CoreDrillTask::getOrgId, CoreDrillTask::getStartDate, CoreDrillTask::getEndDate, CoreDrillTask::getPlanId)
|
|
|
);
|
|
|
- //生成任务时,只有特定类型的机构类型才需要判断作息
|
|
|
- final List<Integer> orgTypeList = Arrays.asList(
|
|
|
- OrgTypeEnum.YINGYE_WANGDIAN.getCode()
|
|
|
-// OrgTypeEnum.LIHANG_ZIZHU_YINGHANG.getCode(),
|
|
|
-// OrgTypeEnum.ZHONGXIN_YEWUKU.getCode(),
|
|
|
-// OrgTypeEnum.BAOGUAN_XAINGKU.getCode(),
|
|
|
-// OrgTypeEnum.WANGDIAN_YEWUKU.getCode()
|
|
|
- );
|
|
|
for (SysOrg org : orgList) {
|
|
|
int x = 0;
|
|
|
for (int i = 1; i <= plan.getExecTimes(); i++) {
|
|
|
final LocalDateTime time = DateUtils.toLocalDateTime(DateUtils.getPreciseTime(dateRangeMap.get(i).getEndTime()));
|
|
|
- if (time.isBefore(LocalDateTime.now()) && orgTypeList.contains(org.getType())) {
|
|
|
+ if (time.isBefore(LocalDateTime.now())) {
|
|
|
//如果任务的结束时间 已经小于当前时间则没必要生成任务了,
|
|
|
//用于处理周期中生成多次任务,周期初的任务一经生成就无法执行(预期)的问题,
|
|
|
log.warn("生成任务时,任务的结束时间已经小于当前时间,本次任务跳过,任务id:{},任务执行机构id:{},任务时间范围:{}-{}", plan.getId(), org.getId(), dateRangeMap.get(i).getStartTime(), dateRangeMap.get(i).getEndTime());
|
|
|
@@ -731,7 +725,7 @@ public class CoreDrillTaskServiceImpl extends ServiceImpl<CoreDrillTaskMapper, C
|
|
|
//此处因为planService会导致循环依赖
|
|
|
final CoreDrillPlanDataVo detailPlanData = coreDrillPlanMapper.getDetailPlanData(plan.getId());
|
|
|
detailPlanData.setFileList(ObjectUtil.isNotEmpty(detailPlanData.getFile()) ? JSON.parseArray(detailPlanData.getFile(), String.class) : null);
|
|
|
- DateRange range = DateUtils.getStartAndEnd(finalDate, EduTrainingPlanCycleEnum.toCommmonEnum(plan.getPlanCycle()));
|
|
|
+ DateRange range = DateUtils.getStartAndEnd(finalDate, DrillPlanCycleEnum.toCommonEnum(plan.getPlanCycle()));
|
|
|
this.createTaskForNow(detailPlanData, range.getStartTime(), range.getEndTime());
|
|
|
}, threadPoolTaskExecutor);
|
|
|
}
|