package com.ruoyi.web.modules.prosperity.mapper;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.web.modules.prosperity.domain.BizCommonProsperityProject;
import com.ruoyi.web.modules.screen.domain.vo.CommonProsperityProjectTypeDetailVo;

/**
 * 共同富裕项目 Mapper
 */
public interface BizCommonProsperityProjectMapper
{
    BizCommonProsperityProject selectBizCommonProsperityProjectById(Long id);

    List<BizCommonProsperityProject> selectBizCommonProsperityProjectList(BizCommonProsperityProject query);

    int insertBizCommonProsperityProject(BizCommonProsperityProject row);

    int updateBizCommonProsperityProject(BizCommonProsperityProject row);

    int deleteBizCommonProsperityProjectByIds(Long[] ids);

    /**
     * 大屏：已发布且实施年限等于统计年的项目。
     */
    List<BizCommonProsperityProject> selectPublishedForScreen(@Param("statYear") int statYear);

    /**
     * 大屏：已发布项目的实施年限并集（可选年份下拉）。
     */
    List<String> selectDistinctStatYearsFromPublished();

    /**
     * 大屏：共富项目分类情况明细（按实施年限聚合类型数量；年份倒序）。
     *
     * @param statYear 所属年份（实施年限），可选；未传不过滤
     */
    List<CommonProsperityProjectTypeDetailVo> selectPublishedTypeDetailsByYear(
            @Param("statYear") Integer statYear);
}
