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

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chinaweal.aiccs.aicepsqy.entity.datamove.TREntBaseInfoTemp;
import org.apache.ibatis.annotations.Param;

/**
 * 企业基础信息临时表Mapper（动态插入2023/2024表）
 * @author lwd
 * @since 2025-11-04
 */
public interface TREntBaseInfoTempMapper extends BaseMapper<TREntBaseInfoTemp> {

    /**
     * 动态插入数据到TREntBaseInfoTemp_2023或TREntBaseInfoTemp_2024表
     * @param entity 实体对象（需包含reportYear字段，值为"2023"或"2024"）
     * @return 插入成功条数
     */
    int insertTREntBaseInfo(@Param("entity") TREntBaseInfoTemp entity);

    /**
     * 动态更新数据到TREntBaseInfoTemp_2023或TREntBaseInfoTemp_2024表
     * @param entity 实体对象（需包含reportYear和主键字段EntID）
     * @return 更新成功条数
     */
    int updateDynamicTable(@Param("entity") TREntBaseInfoTemp entity);

    /**
     * 根据EntityNo和ReportYear动态查询（匹配TREntBaseInfoTemp_2023/2024表）
     * @param entityNo 主体编号（查询条件）
     * @param reportYear 报告年度（用于定位表：2023/2024）
     * @return 匹配的实体记录（无匹配返回null）
     */
    TREntBaseInfoTemp selectByEntityNoAndReportYear(
            @Param("entityNo") String entityNo,
            @Param("reportYear") String reportYear
    );

    void insertTREntBaseInfozs(@Param("entity") TREntBaseInfoTemp trEntBaseInfoTemp);

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

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