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

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

/**
 * 党建信息临时表Mapper（动态插入/查询/更新）
 * @author lwd
 * @since 2025-11-04
 */
public interface PartyBuildInfoMapper {

    /**
     * 动态插入党建信息到TRPartyBuildInfoTemp_2023或TRPartyBuildInfoTemp_2024表
     * @param entity 党建信息实体（需包含reportYear字段）
     * @return 插入成功条数
     */
    int insertPartyBuildInfo(@Param("entity") PartyBuildInfoModel entity);

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

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

    void insertPartyBuildInfozs(@Param("entity") PartyBuildInfoModel partyBuildInfoModel);

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

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