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

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 社保信息实体（用于动态插入TRSocialSecurityTemp_2023/TRSocialSecurityTemp_2024表）
 * </p>
 *
 * @author lwd
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class SocialSecurityModel implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 社保信息ID（对应表字段socialSecurityId）
     */
    @TableField("socialSecurityId")
    private String socialSecurityId;

    /**
     * 企业ID（对应表字段entId）
     */
    @TableField("entId")
    private String entId;

    /**
     * 注册号（对应表字段regNo）
     */
    @TableField("regNo")
    private String regNo;

    /**
     * 社保类型（对应表字段socialInsuranceTpte）
     */
    @TableField("socialInsuranceTpte")
    private String socialInsuranceTpte;

    /**
     * 社保类型编号（对应表字段socialInsuranceTpteNo）
     */
    @TableField("socialInsuranceTpteNo")
    private Integer socialInsuranceTpteNo;

    /**
     * 工资总额（对应表字段totalWages）
     */
    @TableField("totalWages")
    private BigDecimal totalWages;

    /**
     * 缴费总额（对应表字段totalPayment）
     */
    @TableField("totalPayment")
    private BigDecimal totalPayment;

    /**
     * 未缴社保金额（对应表字段unpaidSocialins）
     */
    @TableField("unpaidSocialins")
    private BigDecimal unpaidSocialins;

    /**
     * 工资总额是否显示（对应表字段totalWagesWhether）
     */
    @TableField("totalWagesWhether")
    private String totalWagesWhether;

    /**
     * 缴费总额是否显示（对应表字段totalPaymentWhether）
     */
    @TableField("totalPaymentWhether")
    private String totalPaymentWhether;

    /**
     * 未缴社保金额是否显示（对应表字段unpaidSocialinsWhether）
     */
    @TableField("unpaidSocialinsWhether")
    private String unpaidSocialinsWhether;

    /**
     * 数据状态（对应表字段dstate）
     */
    @TableField("dstate")
    private String dstate;

    /**
     * 创建日期（对应表字段createDate）
     */
    @TableField("createDate")
    private Date createDate;

    /**
     * 更新日期（对应表字段updateDate）
     */
    @TableField("updateDate")
    private Date updateDate;

    /**
     * 城镇职工人数（对应表字段townNum）
     */
    @TableField("townNum")
    private Integer townNum;

    /**
     * 失业保险人数（对应表字段unemploymentNum）
     */
    @TableField("unemploymentNum")
    private Integer unemploymentNum;

    /**
     * 医疗保险人数（对应表字段medicalNum）
     */
    @TableField("medicalNum")
    private Integer medicalNum;

    /**
     * 工伤保险人数（对应表字段injuryNum）
     */
    @TableField("injuryNum")
    private Integer injuryNum;

    /**
     * 生育保险人数（对应表字段birthNum）
     */
    @TableField("birthNum")
    private Integer birthNum;

    /**
     * 主体编号（对应表字段entityNo）
     */
    @TableField("entityNo")
    private String entityNo;

    /**
     * 报告年度（用于动态定位表：2023→TRSocialSecurityTemp_2023，2024→TRSocialSecurityTemp_2024）
     */
    @TableField("reportYear")
    private String reportYear;

    /**
     * 养老工资总额（对应表字段TOTALWAGES_SO110）
     */
    @TableField("TOTALWAGES_SO110")
    private BigDecimal TOTALWAGES_SO110;

    /**
     * 失业工资总额（对应表字段TOTALWAGES_SO210）
     */
    @TableField("TOTALWAGES_SO210")
    private BigDecimal TOTALWAGES_SO210;

    /**
     * 医疗工资总额（对应表字段TOTALWAGES_SO310）
     */
    @TableField("TOTALWAGES_SO310")
    private BigDecimal TOTALWAGES_SO310;

    /**
     * 工伤工资总额（对应表字段TOTALWAGES_SO510）
     */
    @TableField("TOTALWAGES_SO510")
    private BigDecimal TOTALWAGES_SO510;

    /**
     * 养老缴费总额（对应表字段TOTALPAYMENT_SO110）
     */
    @TableField("TOTALPAYMENT_SO110")
    private BigDecimal TOTALPAYMENT_SO110;

    /**
     * 失业缴费总额（对应表字段TOTALPAYMENT_SO210）
     */
    @TableField("TOTALPAYMENT_SO210")
    private BigDecimal TOTALPAYMENT_SO210;

    /**
     * 医疗缴费总额（对应表字段TOTALPAYMENT_SO310）
     */
    @TableField("TOTALPAYMENT_SO310")
    private BigDecimal TOTALPAYMENT_SO310;

    /**
     * 生育缴费总额（对应表字段TOTALPAYMENT_SO410）
     */
    @TableField("TOTALPAYMENT_SO410")
    private BigDecimal TOTALPAYMENT_SO410;

    /**
     * 工伤缴费总额（对应表字段TOTALPAYMENT_SO510）
     */
    @TableField("TOTALPAYMENT_SO510")
    private BigDecimal TOTALPAYMENT_SO510;

    /**
     * 养老未缴金额（对应表字段UNPAIDSOCIALINS_SO110）
     */
    @TableField("UNPAIDSOCIALINS_SO110")
    private BigDecimal UNPAIDSOCIALINS_SO110;

    /**
     * 失业未缴金额（对应表字段UNPAIDSOCIALINS_SO210）
     */
    @TableField("UNPAIDSOCIALINS_SO210")
    private BigDecimal UNPAIDSOCIALINS_SO210;

    /**
     * 医疗未缴金额（对应表字段UNPAIDSOCIALINS_SO310）
     */
    @TableField("UNPAIDSOCIALINS_SO310")
    private BigDecimal UNPAIDSOCIALINS_SO310;

    /**
     * 生育未缴金额（对应表字段UNPAIDSOCIALINS_SO410）
     */
    @TableField("UNPAIDSOCIALINS_SO410")
    private BigDecimal UNPAIDSOCIALINS_SO410;

    /**
     * 工伤未缴金额（对应表字段UNPAIDSOCIALINS_SO510）
     */
    @TableField("UNPAIDSOCIALINS_SO510")
    private BigDecimal UNPAIDSOCIALINS_SO510;
}
