package com.rongwei.trainingcommon.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.rongwei.rwcommon.base.R;
import com.rongwei.training.domain.EmpExamDo;
import com.rongwei.training.domain.PlanCourseDo;
import com.rongwei.training.domain.PlanDo;
import com.rongwei.training.domain.PlanPaperDo;

import java.util.List;
import java.util.Set;

public interface PlanService extends IService<PlanDo> {
    Set<String> getPlanUserIdsFromPlan(PlanDo planDo);

    List<PlanCourseDo> getPlanCourseByPlanId(String planId);

    List<PlanPaperDo> getPlanPaperByPlanId(String planId);

    /**
     * 删除被取消的员工培训记录
     *
     * @param planDo     培训计划对象
     * @param userIds    需要参与本次培训的员工
     * @param examDoList 员工考试记录表
     */
    void disposeTrainingEmpExam(PlanDo planDo, Set<String> userIds, List<EmpExamDo> examDoList);

    /**
     * 培训取消邮件提醒
     *
     * @param cancelEmpidS
     */
    void sendCancelTrainingNotification(List<String> cancelEmpidS, PlanDo planDo);

    /**
     * 培训计划删除方法
     *
     * @param ids
     * @return
     */
    R deletedByIds(List<String> ids);
}
