|
|
@@ -567,9 +567,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
List<CoreDrillPlan> planList = lambdaQuery()
|
|
|
.eq(CoreDrillPlan::getParentId, planId)
|
|
|
.select(CoreDrillPlan::getId).list();
|
|
|
+ boolean isPublishAgain=false;
|
|
|
if (planList.isEmpty()) {
|
|
|
planList = buildPlanData(plan, new ArrayList<>(), true);
|
|
|
} else {
|
|
|
+ isPublishAgain=true;
|
|
|
planList.forEach(plan1 -> plan1.setPlanStatus(EduTrainingPlanStatus.USING.getCode()));
|
|
|
List<Long> collect = planList.stream().map(CoreDrillPlan::getId).collect(Collectors.toList());
|
|
|
coreDrillPlanMapper.updatePlanStatusByIdList(collect, EduTrainingPlanStatus.USING.getCode());
|
|
|
@@ -578,7 +580,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
plan.setPlanStatus(DrillPlanStatus.USING.getCode());
|
|
|
plan.setIssue(1);
|
|
|
this.updateById(plan);
|
|
|
- if (ObjectUtil.isNotEmpty(planList)){
|
|
|
+ if (isPublishAgain){
|
|
|
//说明是计划是二次下发,下个周期生效,此处临时set为0,不保存入库,
|
|
|
plan.setBuildTaskNow(0);
|
|
|
}
|
|
|
@@ -611,8 +613,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
|
|
|
//无周期计划撤回,不管任务状态,删除所有任务,撤回后计划停用
|
|
|
//有周期计划撤回,如果没有任务已执行,删除所有任务,撤回后计划停用
|
|
|
- Integer isExecute = coreDrillTaskMapper.checkHasTaskIsDone(list);
|
|
|
- if (ObjectUtil.equal(isExecute, null) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
|
|
|
+ Integer isExecute = coreDrillTaskMapper.selectCount(new LambdaQueryWrapper<CoreDrillTask>()
|
|
|
+ .in(CoreDrillTask::getPlanId, list)
|
|
|
+ .eq(CoreDrillTask::getStatus,DrillDoStatus.DONE.getCode()))
|
|
|
+ .intValue();
|
|
|
+ if (ObjectUtil.equal(isExecute, 0) || EduTrainingPlanCycleEnum.NONE.getCode().equals(plan.getPlanCycle())) {
|
|
|
coreDrillTaskService.delByStartTimeAndEndTimeAndPlanIdList(list, null, null);
|
|
|
}
|
|
|
coreDrillPlanMapper.updatePlanStatusByIdOrParentId(planId, EduTrainingPlanStatus.DELETED.getCode());
|