package com.ruoyi.project.training.mapper;

import java.util.List;
import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
import com.ruoyi.project.training.domain.TTrainingParticipants;

/**
 * 人员-公司级培训关系Mapper接口
 *
 * @author ruoyi
 * @date 2021-05-30
 */
public interface TTrainingParticipantsMapper
{
    /**
     * 查询人员-公司级培训关系
     *
     * @param id 人员-公司级培训关系ID
     * @return 人员-公司级培训关系
     */
    public TTrainingParticipants selectTTrainingParticipantsById(Long id);

    /**
     * 查询人员-公司级培训关系列表
     *
     * @param tTrainingParticipants 人员-公司级培训关系
     * @return 人员-公司级培训关系集合
     */
    @DataScope(deptAlias = "d")
    public List<TTrainingParticipants> selectTTrainingParticipantsList(TTrainingParticipants tTrainingParticipants);

    public List<TTrainingParticipants> selectTTrainingParticipantsListTask(TTrainingParticipants tTrainingParticipants);

    /**
     * 新增人员-公司级培训关系
     *
     * @param tTrainingParticipants 人员-公司级培训关系
     * @return 结果
     */
    public int insertTTrainingParticipants(TTrainingParticipants tTrainingParticipants);

    /**
     * 修改人员-公司级培训关系
     *
     * @param tTrainingParticipants 人员-公司级培训关系
     * @return 结果
     */
    public int updateTTrainingParticipants(TTrainingParticipants tTrainingParticipants);

    public int updateTTrainingParticipantsByStaffAndCom(TTrainingParticipants tTrainingParticipants);
    /**
     * 删除人员-公司级培训关系
     *
     * @param id 人员-公司级培训关系ID
     * @return 结果
     */
    public int deleteTTrainingParticipantsById(Long id);

    /**
     * 批量删除人员-公司级培训关系
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTTrainingParticipantsByIds(Long[] ids);

    /**
     * 删除该类公司级培训ID信息
     *
     * @param tTrainingParticipant 人员-公司级培训关系
     * @return 结果
     */
    public int deleteTTrainingParticipantsByCompanyId(TTrainingParticipants tTrainingParticipant);

    /**
     * 删除所有历史人员-公司级培训关系信息
     *
     * @return 结果
     */
    public int deleteTTrainingParticipantsAll();

    void deleteTParticipantsByCompanyId(Long id);

    /**
     * 去重
     */
    void duplicateParticipants();
}
