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

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
 *
 * @author cgj
 * @date 2024-11-08
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class MaterialsPageVO extends BaseBean
{
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "物资ID")
    @TableId(type = IdType.AUTO)
    private Long materialsId;

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

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

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

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

    @ApiModelProperty(value = "区域ID")
    @Excel(name = "区域ID")
    private Long workareaId;

    @ApiModelProperty(value = "物资柜ID")
    @Excel(name = "物资柜ID")
    private Long materialsCabinetId;

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

    @ApiModelProperty(value = "可用寿命")
    @Excel(name = "可用寿命")
    private String serviceLife;

    @ApiModelProperty(value = "剩余寿命")
    @Excel(name = "剩余寿命")
    private String availableLife;

    @ApiModelProperty(value = "可用次数")
    @Excel(name = "可用次数")
    private Long serviceTimes;

    @ApiModelProperty(value = "剩余次数")
    @Excel(name = "剩余次数")
    private Long availableTimes;

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

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

    @ApiModelProperty(value = "状态(0-借出 1-柜中)")
    private String loanState;

    @ApiModelProperty(value = "物资RFID")
    private String materialsRfid;

    @ApiModelProperty(value = "供应商")
    @Excel(name = "供应商")
    private String supplier;

    @ApiModelProperty(value = "有效期")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationDate;

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

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

    @ApiModelProperty(value = "属性数组，JSON 格式 [{propertId: , valueId: }, {propertId: , valueId: }]")
    private String properties;

    @ApiModelProperty(value = "物资规格id")
    private String propertiesValueId;

    @ApiModelProperty(value = "物资规格")
    private String propertiesValue;

    @ApiModelProperty(value = "物资规格种类id")
    private String propertiesPropertyId;

    @ApiModelProperty(value = "物资规格种类")
    private String propertiesProperty;

    @ApiModelProperty(value = "物资状态(字典material_info_status)")
    private String status;

    @ApiModelProperty(value = "最近借取人id")
    private Long loanUserId;

}
