package com.chinaweal.aiccs.crgs.entity;

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

/**
 * <p>
 * 迁出记录表
 * </p>
 *
 * @author lwd
 * @since 2025-11-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("CRGS.E_MOVE_OUT")
public class EMoveOut extends Model<EMoveOut> {

    private static final long serialVersionUID = 1L;

    /**
     * 迁出记录唯一标识（主键）
     */
    @TableField("MOUT_ID")
    private String moutId;

    /**
     * 主体标识
     */
    @TableField("PRIPID")
    private String pripid;

    /**
     * 迁出编号
     */
    @TableField("MOUTLETNUM")
    private String moutletnum;

    /**
     * 迁入地区
     */
    @TableField("MINAREA")
    private String minarea;

    /**
     * 迁出地区
     */
    @TableField("MOUTREA")
    private String moutrea;

    /**
     * 迁入地登记机关
     */
    @TableField("MINAREREGORG")
    private String minareregorg;

    /**
     * 迁出时间
     */
    @TableField("MOUTDATE")
    private Timestamp moutdate;

    /**
     * 来源节点标识
     */
    @TableField("S_EXT_FROMNODE")
    private String sExtFromnode;

    /**
     * 数据时间戳
     */
    @TableField("S_EXT_DATATIME")
    private Timestamp sExtDatatime;

    /**
     * 迁移类型代码
     */
    @TableField("MOVE_TYPE")
    private String moveType;

    /**
     * 迁移类型详情
     */
    @TableField("MOVE_TYPE_DETAIL")
    private String moveTypeDetail;

    @Override
    protected Serializable pkVal() {
        // 表中MOUT_ID为主键，返回主键字段
        return moutId;
    }
}
