|  | @@ -258,18 +258,21 @@ public class CoreEduTrainingPlanServiceImpl extends ServiceImpl<CoreEduTrainingP
 | 
	
		
			
				|  |  |          batchSavePlanToRole(request.getPlanRoleId(), plan.getId());
 | 
	
		
			
				|  |  |          batchSavePlanToExecOrg(request.getPlanExecOrgIdList(), plan.getId());
 | 
	
		
			
				|  |  |          final int i = coreEduTrainingPlanMapper.updateById(plan);
 | 
	
		
			
				|  |  | -        if (ObjectUtil.equal(plan.getStandard(), 0)) {
 | 
	
		
			
				|  |  | -            //自建计划
 | 
	
		
			
				|  |  | -            Integer exit = coreEduTrainingTaskMapper.checkHasTask(request.getId());
 | 
	
		
			
				|  |  | -            Integer hasDone = coreEduTrainingTaskMapper.checkHasTaskIsDone(Collections.singletonList(request.getId()));
 | 
	
		
			
				|  |  | -            if (ObjectUtil.equal(exit, 1) && ObjectUtil.isNull(hasDone)) {
 | 
	
		
			
				|  |  | -                coreEduTrainingTaskMapper.deleteByMap(MapUtil.of("plan_id", request.getId()));
 | 
	
		
			
				|  |  | -                //说明有任务并且都没执行过,需要重新生成任务
 | 
	
		
			
				|  |  | -                final CoreEduTrainingPlanDataVo dataVo = getCoreEduTrainingPlanDataVo(request.getId());
 | 
	
		
			
				|  |  | -                coreEduTrainingTaskService.createTaskForNow(dataVo, plan.getStartDate(), plan.getEndDate());
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        /*
 | 
	
		
			
				|  |  | +          判断能否修改: 如果上面返回了true; 说明两种情况
 | 
	
		
			
				|  |  | +                   1:计划生成了任务,但是未执行:  此时需要删除所有任务,修改计划数据后重新创建任务
 | 
	
		
			
				|  |  | +                   2:计划生成了任务且执行了,但是没有修改到关键信息,此时则不能删除任务,只允许修改计划信息
 | 
	
		
			
				|  |  | +         */
 | 
	
		
			
				|  |  | +        final Integer done = coreEduTrainingTaskMapper.checkHasTaskIsDone(Arrays.asList(plan.getId()));
 | 
	
		
			
				|  |  | +        if (ObjectUtil.equal(1,done)){
 | 
	
		
			
				|  |  | +            //此为情况二, 计划生成了任务且执行 不能删除任务,只允许修改计划信息,所以直接返回
 | 
	
		
			
				|  |  | +            return i;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        //此为情况一,计划没有生成任务或者生成了任务但未执行
 | 
	
		
			
				|  |  | +        coreEduTrainingTaskMapper.deleteByMap(MapUtil.of("plan_id", request.getId()));
 | 
	
		
			
				|  |  | +        //说明有任务并且都没执行过,需要重新生成任务
 | 
	
		
			
				|  |  | +        final CoreEduTrainingPlanDataVo dataVo = getCoreEduTrainingPlanDataVo(request.getId());
 | 
	
		
			
				|  |  | +        coreEduTrainingTaskService.createTaskForNow(dataVo, plan.getStartDate(), plan.getEndDate());
 | 
	
		
			
				|  |  |          return i;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |