package com.ruoyi.invest.service;

import com.ruoyi.invest.domain.TProjectPool;

import java.util.List;

/**
 * 项目池Service接口
 * 
 * @author ruoyi
 * @date 2024-02-21
 */
public interface ITProjectPoolService 
{
    /**
     * 查询项目池
     * 
     * @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 ids 需要删除的项目池主键集合
     * @return 结果
     */
    public int deleteTProjectPoolByIds(String[] ids);

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

    /**
     * 批量删除项目池(修改del_flag状态)
     *
     * @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(String id,String flag);

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

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

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

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

}
