package com.chinaweal.aiccs.aicepsqy.mapper.datamove;

import org.apache.ibatis.annotations.Param;
import com.chinaweal.aiccs.aicepsqy.entity.datamove.IndividualReportModel;

/**
 * 个人报告信息临时表Mapper（动态插入/查询/更新）
 * @author lwd
 * @since 2025-11-13
 */
public interface IndividualReportMapper {

    /**
     * 动态插入个人报告信息到TRIndividualReportTemp_2023或TRIndividualReportTemp_2024表
     * @param entity 个人报告信息实体（需包含reportYear字段）
     * @return 插入成功条数
     */
    int insertIndividualReport(@Param("entity") IndividualReportModel entity);

    /**
     * 根据EntityNo和ReportYear查询个人报告信息（动态匹配表）
     * @param entityNo 主体编号
     * @param reportYear 报告年度（2023/2024）
     * @return 匹配的个人报告信息实体
     */
    IndividualReportModel selectIndividualByEntityNoAndReportYear(
            @Param("entId") String entityNo,
            @Param("reportYear") String reportYear
    );

    /**
     * 根据EntityNo和ReportYear更新个人报告信息（动态匹配表）
     * @param entity 待更新的个人报告信息实体
     * @param entityNo 主体编号（定位条件1）
     * @param reportYear 报告年度（定位条件2）
     * @return 更新成功条数
     */
    int updateIndividualByEntityNoAndReportYear(
            @Param("entity") IndividualReportModel entity,
            @Param("entId") String entityNo,
            @Param("reportYear") String reportYear
    );

    void insertIndividualReportzs(@Param("entity") IndividualReportModel individualReportModel);

    void deleteByIndividualId(@Param("entid") String ancheidnew,@Param("reportYear") String reportYear);

    void deleteByIndividualIdzs(@Param("entid") String ancheidnew,@Param("reportYear") String reportYear);
}
