package com.yanzhu.jh.work.mapper;

import java.util.List;
import com.yanzhu.jh.work.domain.WorkTrain;
import com.yanzhu.jh.work.domain.WorkTrainDept;

/**
 * 演练培训Mapper接口
 * 
 * @author JiangYuQi
 * @date 2023-08-09
 */
public interface WorkTrainMapper 
{
    /**
     * 查询演练培训
     * 
     * @param id 演练培训主键
     * @return 演练培训
     */
    public WorkTrain selectWorkTrainById(Long id);

    /**
     * 查询演练培训列表
     * 
     * @param workTrain 演练培训
     * @return 演练培训集合
     */
    public List<WorkTrain> selectWorkTrainList(WorkTrain workTrain);

    /**
     * 查询演练培训列表
     *
     * @param workTrain 演练培训
     * @return 演练培训集合
     */
    public List<WorkTrain> selectBgscreenWorkTrainList(WorkTrain workTrain);

    /**
     * 查询演练培训列表
     *
     * @param workTrain 演练培训
     * @return 演练培训集合
     */
    public List<WorkTrain> selectBgscreenWorkTrainListv2(WorkTrain workTrain);

    /**
     * 新增演练培训
     * 
     * @param workTrain 演练培训
     * @return 结果
     */
    public int insertWorkTrain(WorkTrain workTrain);

    /**
     * 修改演练培训
     * 
     * @param workTrain 演练培训
     * @return 结果
     */
    public int updateWorkTrain(WorkTrain workTrain);

    /**
     * 删除演练培训
     * 
     * @param id 演练培训主键
     * @return 结果
     */
    public int deleteWorkTrainById(Long id);

    /**
     * 批量删除演练培训
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWorkTrainByIds(Long[] ids);

    /**
     * 批量删除演练培训协同部门
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWorkTrainDeptByTrainIds(Long[] ids);
    
    /**
     * 批量新增演练培训协同部门
     * 
     * @param workTrainDeptList 演练培训协同部门列表
     * @return 结果
     */
    public int batchWorkTrainDept(List<WorkTrainDept> workTrainDeptList);
    

    /**
     * 通过演练培训主键删除演练培训协同部门信息
     * 
     * @param id 演练培训ID
     * @return 结果
     */
    public int deleteWorkTrainDeptByTrainId(Long id);
}
