package com.yanzhu.jh.work.service;

import java.util.List;
import java.util.Map;

import com.yanzhu.jh.work.domain.WorkTrain;

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

    /**
     * 查询演练培训
     *
     * @param id 演练培训主键
     * @return 演练培训
     */
    public WorkTrain selectById(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 workTrain 演练培训
     * @return 结果
     */
    public int updateWorkTrainDataType(WorkTrain workTrain);

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

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

    /**
     * 根据项目统计教育培训
     *
     * @param projectId 项目主键
     * @return 结果
     */
    public List<Map<String,Object>> findGroupCountByProjectId(Long projectId);

    public List<WorkTrain> getGroupByDataType(WorkTrain workTrain);

    public List<WorkTrain> queryWorkTrainList(WorkTrain where);
}
