package com.chinaweal.aiccs.aiccs.abnormal.entity.datamove;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 企业年报社会保险信息表
 * </p>
 *
 * @author lwd
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("AICCS.AN_SOCSECINFOData") // 包含GZGS.前缀
public class AnSocsecinfoAiccs extends Model<AnSocsecinfoAiccs> {

    private static final long serialVersionUID = 1L;

    /**
     * 物理主键
     */
    @TableId(value = "SOSEID")
    @TableField("SOSEID")
    private String soseid;

    /**
     * 年报ID
     */
    @TableField("ANCHEID")
    private String ancheid;

    /**
     * 城镇职工基本养老保险参保人数
     */
    @TableField("SO110")
    private Integer so110;

    /**
     * 失业保险参保人数
     */
    @TableField("SO210")
    private Integer so210;

    /**
     * 职工基本医疗保险参保人数
     */
    @TableField("SO310")
    private Integer so310;

    /**
     * 工伤保险参保人数
     */
    @TableField("SO410")
    private Integer so410;

    /**
     * 生育保险参保人数
     */
    @TableField("SO510")
    private Integer so510;

    /**
     * 单位参加城镇职工基本养老保险缴费基数
     */
    @TableField("TOTALWAGES_SO110")
    private BigDecimal totalwagesSo110;

    /**
     * 单位参加失业保险缴费基数
     */
    @TableField("TOTALWAGES_SO210")
    private BigDecimal totalwagesSo210;

    /**
     * 单位参加职工基本医疗保险缴费基数
     */
    @TableField("TOTALWAGES_SO310")
    private BigDecimal totalwagesSo310;

    /**
     * 单位参加工伤保险缴费基数
     */
    @TableField("TOTALWAGES_SO410")
    private BigDecimal totalwagesSo410;

    /**
     * 单位参加生育保险缴费基数
     */
    @TableField("TOTALWAGES_SO510")
    private BigDecimal totalwagesSo510;

    /**
     * 单位缴费基数是否公示
     */
    @TableField("TOTALWAGESDIS")
    private String totalwagesdis;

    /**
     * 参加城镇职工基本养老保险本期实际缴费金额
     */
    @TableField("TOTALPAYMENT_SO110")
    private BigDecimal totalpaymentSo110;

    /**
     * 参加失业保险本期实际缴费金额
     */
    @TableField("TOTALPAYMENT_SO210")
    private BigDecimal totalpaymentSo210;

    /**
     * 参加职工基本医疗保险本期实际缴费金额
     */
    @TableField("TOTALPAYMENT_SO310")
    private BigDecimal totalpaymentSo310;

    /**
     * 参加工伤保险本期实际缴费金额
     */
    @TableField("TOTALPAYMENT_SO410")
    private BigDecimal totalpaymentSo410;

    /**
     * 参加生育保险本期实际缴费金额
     */
    @TableField("TOTALPAYMENT_SO510")
    private BigDecimal totalpaymentSo510;

    /**
     * 本期实际缴费金额是否公示
     */
    @TableField("TOTALPAYMENTDIS")
    private String totalpaymentdis;

    /**
     * 单位参加城镇职工基本养老保险累计欠缴金额
     */
    @TableField("UNPAIDSOCIALINS_SO110")
    private BigDecimal unpaidsocialinsSo110;

    /**
     * 单位参加失业保险累计欠缴金额
     */
    @TableField("UNPAIDSOCIALINS_SO210")
    private BigDecimal unpaidsocialinsSo210;

    /**
     * 单位参加职工基本医疗保险累计欠缴金额
     */
    @TableField("UNPAIDSOCIALINS_SO310")
    private BigDecimal unpaidsocialinsSo310;

    /**
     * 参加工伤保险累计欠缴金额
     */
    @TableField("UNPAIDSOCIALINS_SO410")
    private BigDecimal unpaidsocialinsSo410;

    /**
     * 单位参加生育保险累计欠缴金额
     */
    @TableField("UNPAIDSOCIALINS_SO510")
    private BigDecimal unpaidsocialinsSo510;

    /**
     * 单位累计欠缴金额是否公示
     */
    @TableField("UNPAIDSOCIALINSDIS")
    private String unpaidsocialinsdis;

    @Override
    protected Serializable pkVal() {
        return soseid; // 以物理主键作为主键
    }
}
