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

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_change_record
 *
 * @author cgj
 * @date 2025-01-14
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class ChangeRecordVO extends BaseBean
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "物资更换id")
    @TableId(type = IdType.AUTO)
    private Long changeId;

    @ApiModelProperty(value = "物资柜id")
    private Long cabinetId;

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

    @ApiModelProperty(value = "物资检查记录id")
    @Excel(name = "物资检查记录id")
    private Long checkRecordId;

    @ApiModelProperty(value = "原物资id")
    @Excel(name = "原物资id")
    private Long oldMaterialsId;

    @ApiModelProperty(value = "原物资id")
    @Excel(name = "原物资id")
    private String oldMaterialsName;

    @ApiModelProperty(value = "原物资rfid")
    @Excel(name = "原物资rfid")
    private String oldMaterialsRfid;

    @ApiModelProperty(value = "新物资id")
    @Excel(name = "新物资id")
    private Long newMaterialsId;

    @ApiModelProperty(value = "新物资id")
    @Excel(name = "新物资id")
    private String newMaterialsName;

    @ApiModelProperty(value = "新物资rfid")
    @Excel(name = "新物资rfid")
    private String newMaterialsRfid;

    @ApiModelProperty(value = "更换人id")
    private Long changeUserId;

    @ApiModelProperty(value = "更换时间")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "更换时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date changeDate;

    @ApiModelProperty(value = "检查状态(0代表未开始，1代表已完成)")
    @Excel(name = "检查状态(0代表未开始，1代表已完成)")
    private String status;

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

    @ApiModelProperty(value = "物资类型ID")
    private Long materialsTypeId;

    @ApiModelProperty(value = "物资类型Name")
    private String materialsTypeName;

    @ApiModelProperty(value = "物资类型图标")
    private String materialsTypeIcon;

    @ApiModelProperty(value = "物资类型缩略图")
    private String materialsTypePicture;

    @ApiModelProperty(value = "更换人")
    @Excel(name = "更换人")
    private String changeUserName;

    @ApiModelProperty(value = "操作类型(0-取出 1-放入 2-替换 3-维修)")
    private String operateType;

}
