package com.ruoyi.invest.mapper;

import com.ruoyi.invest.domain.TProjectPool;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 项目池Mapper接口
 * 
 * @author ruoyi
 * @date 2024-02-21
 */
public interface TProjectPoolMapper 
{
    /**
     * 查询项目池
     * 
     * @param id 项目池主键
     * @return 项目池
     */
    public TProjectPool selectTProjectPoolById(String id);

    /**
     * 查询项目池列表
     * 
     * @param tProjectPool 项目池
     * @return 项目池集合
     */
    public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool);

    /**
     * 查询项目阶段列表
     *
     * @param tProjectPool 项目池
     * @return 项目池集合
     */
    public List<TProjectPool> selectTProjectPoolListStage(TProjectPool tProjectPool);

    /**
     * 新增项目池
     * 
     * @param tProjectPool 项目池
     * @return 结果
     */
    public int insertTProjectPool(TProjectPool tProjectPool);

    /**
     * 修改项目池
     * 
     * @param tProjectPool 项目池
     * @return 结果
     */
    public int updateTProjectPool(TProjectPool tProjectPool);

    /**
     * 删除项目池
     * 
     * @param id 项目池主键
     * @return 结果
     */
    public int deleteTProjectPoolById(String id);

    /**
     * 批量删除项目池
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTProjectPoolByIds(String[] ids);

    /**
     * 批量删除项目池
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int updateTProjectPoolByIds(String[] ids);

    /**
     * 根绝年份后两位查询编号数量实现自增
     * @param year
     * @return
     */
    int selectTProjectPoolCode(String year);

    /**
     * 查询评估考察列表
     * @param tProjectPool
     * @return
     */
    List<TProjectPool> selectTProjectPoolReviewList(TProjectPool tProjectPool);

    /**
     * 修改立项状态
     * @param id
     * @param flag
     * @return
     */
    int updateTProjectPoolByApprovalFlag(@Param("id") String id,@Param("flag") String flag);

    /**
     * 修改尽调状态
     * @param id
     * @param flag
     * @return
     */
    int updateTProjectPoolByInvestigateFlag(@Param("id") String id,@Param("flag") String flag);

    /**
     * 修改投决状态
     * @param id
     * @param flag
     * @return
     */
    int updateTProjectPoolByDecisionFlag(@Param("id") String id,@Param("flag") String flag);

    /**
     * 修改终止状态
     * @param id
     * @param flag
     * @return
     */
    int updateTProjectPoolByTerminationFlag(@Param("id") String id,@Param("flag") String flag);

    /**
     * 修改终止状态
     * @param id
     * @param flag
     * @return
     */
    int updateTProjectPoolByDelFlag(@Param("id") String id,@Param("flag") String flag);

}
