package com.zd.airbottle.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@ApiModel("气瓶异常记录视图类")
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class QpBottleStorageErrorVo {

    /**
     * 主键id,数据唯一标识
     */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    @Excel(name = "操作人")
    @ApiModelProperty(value = "操作人")
    private String createBy;
    /**
     * 联系方式
     */
    @Excel(name = "联系方式")
    @Length(message = "联系方式长度不能超过11")
    @ApiModelProperty(value = "联系方式")
    private String phone;

    /**
     * 实验室ID
     */
    @ApiModelProperty(value = "实验室ID")
    private Long locationId;
    /**
     * 实验室
     */
    @Excel(name = "实验地点")
    @ApiModelProperty(value = "实验室")
    private String location;
    /**
     * 气瓶入库ID
     */
    @ApiModelProperty(value = "气瓶入库ID")
    private Long storageId;
    @Excel(name = "气体名称")
    @ApiModelProperty(value = "气体名称")
    private String airName;
    @Excel(name = "气体级别/规格")
    @ApiModelProperty(value = "气瓶规格")
    private String configName;
    /**
     * 修改前气压
     */
    @ApiModelProperty(value = "修改前气压")
    private BigDecimal beforeEdit;

    /**
     * 修改前气压导出
     */
    @Excel(name = "修改前气压")
    private String beforeEditValue;
    /**
     * 修改后气压
     */
    @ApiModelProperty(value = "修改后气压")
    private BigDecimal afterEdit;
    /**
     * 修改后气压导出
     */
    @Excel(name = "修改后气压")
    @ApiModelProperty(value = "修改后气压")
    private String afterEditValue;
    /**
     * 操作时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "操作时间")
    private Date opTime;

    /**
     * 气瓶厂家
     */
    @ApiModelProperty(value = "气瓶厂家")
    private String companyName;

    /** 气体组成（冗余字段） */
    @ApiModelProperty(value = "气体组成")
    private String airConstituents;
    @ApiModelProperty(value = "气瓶编号")
    private String airNumber;

    private List<QpUseRecordVo> recordVos;

}
