package com.muchinfo.mtp3pojos.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
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 XKF
 * @since 2025-07-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("PERFORMANCEDELAY")
@ApiModel(value="Performancedelay对象", description="履约延期申请表 - 导历史")
public class Performancedelay extends Model<Performancedelay> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "自增ID")
    private Long autoid;

    @ApiModelProperty(value = "履约计划ID(132+Unix秒时间戳(10位)+xxxxxx)")
    @TableField("PLANID")
    private Long planid;

    @ApiModelProperty(value = "履约计划步骤ID")
    @TableField("STEPID")
    private Long stepid;

    @ApiModelProperty(value = "申请延期天数")
    @TableField("DELAYDAYS")
    private Integer delaydays;

    @ApiModelProperty(value = "延期状态 - 1:待审核 2:审核通过 3:审核拒绝 4:已撤销 5:系统撤销")
    @TableField("DELAYSTATUS")
    private Integer delaystatus;

    @ApiModelProperty(value = "申请时间")
    @TableField("APPLYTIME")
    private Date applytime;

    @ApiModelProperty(value = "申请人")
    @TableField("APPLICANT")
    private Long applicant;

    @ApiModelProperty(value = "申请备注")
    @TableField("APPLYREMARK")
    private String applyremark;

    @ApiModelProperty(value = "审核时间")
    @TableField("AUDITTIME")
    private Date audittime;

    @ApiModelProperty(value = "审核人")
    @TableField("AUDITOR")
    private Long auditor;

    @ApiModelProperty(value = "审核备注")
    @TableField("AUDITREMARK")
    private String auditremark;


    @Override
    public Serializable pkVal() {
        return this.autoid;
    }

}
