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

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

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

    /**
     * 动态插入社保信息到TRSocialSecurityTemp_2023或TRSocialSecurityTemp_2024表
     * @param entity 社保信息实体（需包含reportYear字段）
     * @return 插入成功条数
     */
    int insertSocialSecurityModel(@Param("entity") SocialSecurityModel entity);

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

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

    void insertSocialSecurityModelzs(@Param("entity") SocialSecurityModel socialSecurityModel);

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

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