package com.ktg.iscs.domain.vo.materialsReminder;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktg.common.annotation.Excel;
import com.ktg.common.core.domain.model.BaseBean;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 物资借出对象 is_materials_loan
 *
 * @author cgj
 * @date 2024-11-08
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MaterialsReminderVO extends BaseBean
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "记录ID")
    @TableId(type = IdType.AUTO)
    private Long recordId;

    @ApiModelProperty(value = "出借记录ID")
    private Long materialsLoanId;

    @ApiModelProperty(value = "提醒类型(0-提醒 1-警告)")
    private Integer reminderType;

    @ApiModelProperty(value = "是否已读(0-未读 1-已读)")
    private Integer readFlag;

    @ApiModelProperty(value = "物资ID")
    private Long materialsId;

    @ApiModelProperty(value = "物资编号")
    private String materialsCode;

    @ApiModelProperty(value = "物资名称")
    private String materialsName;

    @ApiModelProperty(value = "领取人ID")
    private Long loanUserId;

    @ApiModelProperty(value = "领取人Name")
    private String loanUserName;

    @ApiModelProperty(value = "领取柜ID")
    private Long loanFromId;

    @ApiModelProperty(value = "领取柜Name")
    private String loanFromName;

    @ApiModelProperty(value = "领取时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "领取时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date loanTime;

    @ApiModelProperty(value = "提醒时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "提醒时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reminderTime;

    @ApiModelProperty(value = "归还人ID")
    @Excel(name = "归还人ID")
    private Long restitutionUserId;

    @ApiModelProperty(value = "归还柜ID")
    @Excel(name = "归还柜ID")
    private Long restitutionToId;

    @ApiModelProperty(value = "理应归还时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "理应归还时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date restitutionTime;

    @ApiModelProperty(value = "实际归还时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "实际归还时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date actualRestitutionTime;

    @ApiModelProperty(value = "超时报警")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "超时报警", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date timeoutAlarm;

    @ApiModelProperty(value = "是否需要归还")
    @Excel(name = "是否需要归还")
    private Integer restitutionRequired;

    @ApiModelProperty(value = "删除标志（0代表存在 2代表删除）")
    private String delFlag;

}
