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;
import java.util.Date;

/**
 * <p>
 * 企业年报对外提供保证担保信息表
 * </p>
 *
 * @author lwd
 * @since 2025-11-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("AICCS.AN_FORGUARANTEEINFOData")
public class AnForguaranteeinfoAiccs extends Model<AnForguaranteeinfoAiccs> {

    private static final long serialVersionUID = 1L;

    /**
     * 对外担保标识ID
     */
    @TableId(value = "MOREID")
    @TableField("MOREID")
    private String moreid;

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

    /**
     * 债权人
     */
    @TableField("MORE")
    private String more;

    /**
     * 债务人
     */
    @TableField("MORTGAGOR")
    private String mortgagor;

    /**
     * 主债权种类
     */
    @TableField("PRICLASECKIND")
    private String priclaseckind;

    /**
     * 主债权数额
     */
    @TableField("PRICLASECAM")
    private BigDecimal priclasecam;

    /**
     * 履行债务的期限自
     */
    @TableField("PEFPERFORM")
    private Date pefperform;

    /**
     * 履行债务的期限至
     */
    @TableField("PEFPERTO")
    private Date pefperto;

    /**
     * 保证的期间
     */
    @TableField("GUARANPERIOD")
    private String guaranperiod;

    /**
     * 对外担保是否公示
     */
    @TableField("MOREDIS")
    private String moredis;

    /**
     * 保证的方式
     */
    @TableField("GATYPE")
    private String gatype;

    @Override
    protected Serializable pkVal() {
        return moreid; // 以对外担保标识ID作为主键，符合唯一标识逻辑
    }
}
