package com.ruoyi.kyTask.mapper;

import java.util.List;
import com.ruoyi.kyTask.domain.KyTaskInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 科研任务Mapper接口
 * 
 * @author yanxun
 * @date 2023-08-10
 */
@Mapper
public interface KyTaskInfoMapper 
{
    /**
     * 查询科研任务
     * 
     * @param key 科研任务主键
     * @return 科研任务
     */
    public KyTaskInfo selectKyTaskInfoByKey(Long key);

    /**
     * 查询科研任务列表
     * 
     * @param kyTaskInfo 科研任务
     * @return 科研任务集合
     */
    public List<KyTaskInfo> selectKyTaskInfoList(KyTaskInfo kyTaskInfo);

    /**
     * 新增科研任务
     * 
     * @param kyTaskInfo 科研任务
     * @return 结果
     */
    public int insertKyTaskInfo(KyTaskInfo kyTaskInfo);

    /**
     * 修改科研任务
     * 
     * @param kyTaskInfo 科研任务
     * @return 结果
     */
    public int updateKyTaskInfo(KyTaskInfo kyTaskInfo);

    /**
     * 删除科研任务
     * 
     * @param key 科研任务主键
     * @return 结果
     */
    public int deleteKyTaskInfoByKey(Long key);

    /**
     * 批量删除科研任务
     * 
     * @param keys 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteKyTaskInfoByKeys(Long[] keys);


    /**
     * 获取科研任务总数
     * @return 结果
     */
    int getTaskCount();

    /**
     * 查找偏移量范围内的科研任务
     *
     * @param beginOffset 开始偏移量
     * @param size 数量
     * @return 结果
     */
    List<KyTaskInfo> seletcKyTaskInfoListByRanage(@Param("beginOffset") int beginOffset, @Param("size") int size);
}
