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

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

/**
 * 企业资产信息表Mapper（动态插入/查询/更新）
 * @author lwd
 * @since 2025-11-04
 */
public interface AssetModelMapper {

    /**
     * 动态插入数据到TREntAssets_2023或TREntAssets_2024表
     * @param entity 实体对象（需包含reportYear字段）
     * @return 插入成功条数
     */
    int insertToAssetModel(@Param("entity") AssetModel entity);

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

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

    void insertToAssetModelzs(@Param("entity") AssetModel assetModel);

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

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