|
|
@@ -704,35 +704,30 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
} else {
|
|
|
plan.setBuildTaskNow(0);
|
|
|
}
|
|
|
- //事务提交后执行
|
|
|
- TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
|
|
|
- @Override
|
|
|
- public void afterCommit() {
|
|
|
|
|
|
- final CompletableFuture<List<CoreDrillPlan>> planListFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
- List<CoreDrillPlan> planList = lambdaQuery()
|
|
|
- .eq(CoreDrillPlan::getParentId, planId)
|
|
|
- .select(CoreDrillPlan::getId).list();
|
|
|
- if (planList.isEmpty()) {
|
|
|
- planList = buildPlanData(plan, new ArrayList<>(), true, status);
|
|
|
- } else {
|
|
|
- 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());
|
|
|
- }
|
|
|
- return planList;
|
|
|
- }, threadPoolTaskExecutor);
|
|
|
-
|
|
|
- planListFuture.thenAcceptAsync((result) -> {
|
|
|
- for (CoreDrillPlan drillPlan : result) {
|
|
|
- if (checkCanBuildTaskNow(plan)) {
|
|
|
- final CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
|
- coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
|
|
|
- }
|
|
|
- }
|
|
|
- }, threadPoolTaskExecutor);
|
|
|
+ final CompletableFuture<List<CoreDrillPlan>> planListFuture = CompletableFuture.supplyAsync(() -> {
|
|
|
+ List<CoreDrillPlan> planList = lambdaQuery()
|
|
|
+ .eq(CoreDrillPlan::getParentId, planId)
|
|
|
+ .select(CoreDrillPlan::getId).list();
|
|
|
+ if (planList.isEmpty()) {
|
|
|
+ planList = buildPlanData(plan, new ArrayList<>(), true, status);
|
|
|
+ } else {
|
|
|
+ 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());
|
|
|
}
|
|
|
- });
|
|
|
+ return planList;
|
|
|
+ }, threadPoolTaskExecutor);
|
|
|
+
|
|
|
+ planListFuture.thenAcceptAsync((result) -> {
|
|
|
+ for (CoreDrillPlan drillPlan : result) {
|
|
|
+ if (checkCanBuildTaskNow(drillPlan)) {
|
|
|
+ final CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(drillPlan.getId());
|
|
|
+ coreDrillTaskService.createTaskForNow(detailPlanData, drillPlan.getPlanStartDate(), drillPlan.getPlanEndDate());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, threadPoolTaskExecutor);
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -870,6 +865,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
|
|
|
//走到这说明,执行机构中都是省联社/办事处 这些不需要子机话,所以直接返回,
|
|
|
//但是如果后期扩展多选执行机构类型,此处将不再适用
|
|
|
plan.setParentId(plan.getId());
|
|
|
+ updateById(plan);
|
|
|
list.add(plan);
|
|
|
return list;
|
|
|
}
|