|  | @@ -1,13 +1,14 @@
 | 
	
		
			
				|  |  |  package com.xunmei.core.drill.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  import cn.hutool.core.collection.CollectionUtil;
 | 
	
		
			
				|  |  |  import cn.hutool.core.map.MapUtil;
 | 
	
		
			
				|  |  |  import cn.hutool.core.util.ObjectUtil;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson2.JSON;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
		
			
				|  |  |  import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  | +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.constant.ErrorMsgConstants;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.constant.SecurityConstants;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.domain.IdName;
 | 
	
	
		
			
				|  | @@ -22,32 +23,32 @@ import com.xunmei.common.core.domain.drill.vo.CoreDrillPlanRoleVo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.enums.OrgTypeEnum;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.exception.SystemException;
 | 
	
		
			
				|  |  |  import com.xunmei.common.core.utils.DateUtils;
 | 
	
		
			
				|  |  | +import com.xunmei.common.core.web.page.TableDataInfo;
 | 
	
		
			
				|  |  |  import com.xunmei.common.security.utils.SecurityUtils;
 | 
	
		
			
				|  |  |  import com.xunmei.core.drill.mapper.*;
 | 
	
		
			
				|  |  | +import com.xunmei.core.drill.service.ICoreDrillPlanService;
 | 
	
		
			
				|  |  |  import com.xunmei.core.drill.service.ICoreDrillPlanToExecOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.core.drill.service.ICoreDrillPlanToRoleService;
 | 
	
		
			
				|  |  |  import com.xunmei.core.drill.service.ICoreDrillTaskService;
 | 
	
		
			
				|  |  | +import com.xunmei.core.thread.ThreadPoolConfig;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.RemoteOrgService;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.domain.SysOrg;
 | 
	
		
			
				|  |  |  import com.xunmei.system.api.function.RemoteCallHandlerExecutor;
 | 
	
		
			
				|  |  |  import lombok.extern.slf4j.Slf4j;
 | 
	
		
			
				|  |  |  import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | +import org.springframework.beans.factory.annotation.Qualifier;
 | 
	
		
			
				|  |  | +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.support.TransactionSynchronizationAdapter;
 | 
	
		
			
				|  |  | +import org.springframework.transaction.support.TransactionSynchronizationManager;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import java.util.*;
 | 
	
		
			
				|  |  |  import java.util.concurrent.CompletableFuture;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  import java.util.stream.Stream;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 | 
	
		
			
				|  |  | -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 | 
	
		
			
				|  |  | -import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 | 
	
		
			
				|  |  | -import com.xunmei.common.core.web.page.TableDataInfo;
 | 
	
		
			
				|  |  | -import com.xunmei.core.drill.service.ICoreDrillPlanService;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.support.TransactionSynchronizationAdapter;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.support.TransactionSynchronizationManager;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 预案演练计划Service业务层处理
 | 
	
		
			
				|  |  |   *
 | 
	
	
		
			
				|  | @@ -73,8 +74,11 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
 | 
	
		
			
				|  |  |      private CoreDrillTaskMapper coreDrillTaskMapper;
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private CoreDrillTaskToRoleMapper coreDrillTaskToRoleMapper;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  | -    private CoreDrillTaskToUserMapper coreDrillTaskToUserMapper;
 | 
	
		
			
				|  |  | +    @Qualifier(ThreadPoolConfig.SOC_EXECUTOR)
 | 
	
		
			
				|  |  | +    private ThreadPoolTaskExecutor threadPoolTaskExecutor;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      @Autowired
 | 
	
		
			
				|  |  |      private RemoteOrgService orgService;
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -292,7 +296,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
 | 
	
		
			
				|  |  |              CompletableFuture.runAsync(() -> {
 | 
	
		
			
				|  |  |                  //说明有任务并且都没执行过,需要重新生成任务
 | 
	
		
			
				|  |  |                  coreDrillTaskService.createTaskForNow(dataVo, plan.getPlanStartDate(), plan.getPlanEndDate());
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | +            },threadPoolTaskExecutor);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -322,7 +326,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
 | 
	
		
			
				|  |  |              CompletableFuture.runAsync(() -> {
 | 
	
		
			
				|  |  |                  //说明有任务并且都没执行过,需要重新生成任务
 | 
	
		
			
				|  |  |                  coreDrillTaskService.createTaskForNow(dataVo, plan.getPlanStartDate(), plan.getPlanEndDate());
 | 
	
		
			
				|  |  | -            });
 | 
	
		
			
				|  |  | +            },threadPoolTaskExecutor);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      private Boolean checkCanUpdate(CoreDrillPlanUpdateDto request, CoreDrillPlan plan) {
 | 
	
	
		
			
				|  | @@ -647,7 +651,7 @@ public class CoreDrillPlanServiceImpl extends ServiceImpl<CoreDrillPlanMapper, C
 | 
	
		
			
				|  |  |                              final CoreDrillPlanDataVo detailPlanData = getCoreDrillPlanDataVo(drillPlan.getId());
 | 
	
		
			
				|  |  |                              coreDrillTaskService.createTaskForNow(detailPlanData, plan.getPlanStartDate(), plan.getPlanEndDate());
 | 
	
		
			
				|  |  |                          }
 | 
	
		
			
				|  |  | -                    });
 | 
	
		
			
				|  |  | +                    },threadPoolTaskExecutor);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          });
 |