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.util.Date;

@ApiModel("气瓶库存视图")
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
public class QpBottleStorageRVo {

    /** 主键id,数据唯一标识 */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /** 司机名称 */
    @Excel(name = "司机名称")
    @Length(message = "司机名称长度不能超过50")
    @ApiModelProperty(value = "司机名称")
    private String driverName;
    /** 司机id */
    @Excel(name = "司机id")
    @ApiModelProperty(value = "司机id")
    private Long driverId;
    /** 车辆id */
    @Excel(name = "车辆id")
    @ApiModelProperty(value = "车辆id")
    private Long carCodeId;
    /** 车辆号牌 */
    @Excel(name = "车辆号牌")
    @Length(message = "车辆号牌长度不能超过20")
    @ApiModelProperty(value = "车辆号牌")
    private String carCode;
    /** 联系方式 */
    @Excel(name = "联系方式")
    @Length(message = "联系方式长度不能超过11")
    @ApiModelProperty(value = "联系方式")
    private String phone;
    /** 1.灰 2.白3.蓝色 */
    @Excel(name = "1.灰 2.白3.蓝色")
    @ApiModelProperty(value = "1.灰 2.白3.蓝色")
    private Integer color;
    /** 是否有手轮 1有 0无 */
    @Excel(name = "是否有手轮 1有 0无")
    @ApiModelProperty(value = "是否有手轮 1有 0无")
    private Integer isHandwheel;
    /** 1.是 0 否 */
    @Excel(name = "1.是 0 否")
    @ApiModelProperty(value = "1.是 0 否")
    private Integer isFixed;
    /** 电子标签 1有 0没有 */
    @Excel(name = "电子标签 1有 0没有")
    @ApiModelProperty(value = "电子标签 1有 0没有")
    private Integer isElectronicTag;
    /** 状态标牌 1有 0 没有  */
    @Excel(name = "状态标牌 1有 0 没有 ")
    @ApiModelProperty(value = "状态标牌 1有 0 没有 ")
    private Integer isStatusSign;
    /** 是否已拍照 1已拍照  0未拍照 */
    @Excel(name = "是否已拍照 1已拍照  0未拍照")
    @ApiModelProperty(value = "是否已拍照 1已拍照  0未拍照")
    private Integer isPhoto;
    /** 气表压力 */
    @Excel(name = "气表压力")
    @ApiModelProperty(value = "气表压力")
    private Integer gasPressure;
    /** 检验有效期(开始时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验有效期(开始时间)", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "检验有效期(开始时间)")
    private Date validateStartTime;
    /** 检验有效期(结束时间) */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "检验有效期(结束时间)", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "检验有效期(结束时间)")
    private Date validateEndTime;
    /** 电子标签 */
    @Excel(name = "电子标签")
    @Length(message = "电子标签长度不能超过200")
    @ApiModelProperty(value = "电子标签")
    private String electronicTag;
    /** 验收备注 */
    @Excel(name = "验收备注")
    @ApiModelProperty(value = "验收备注")
    private String validateRemark;
    /** 拒收图片 */
    @Excel(name = "拒收图片")
    @Length(message = "拒收图片长度不能超过255")
    @ApiModelProperty(value = "拒收图片")
    private String rejectionApplyImg;
    /** 拒收原因 */
    @Excel(name = "拒收原因")
    @Length(message = "拒收原因长度不能超过255")
    @ApiModelProperty(value = "拒收原因")
    private String rejectionApplyRemark;
    /** 拒收申请人 */
    @Excel(name = "拒收申请人")
    @ApiModelProperty(value = "拒收申请人")
    private Long rejectionApplyUserid;
    /** 拒收发起时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拒收发起时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "拒收发起时间")
    private Date rejectionApplyTime;
    /** 拒收处理人id */
    @Excel(name = "拒收处理人id")
    @ApiModelProperty(value = "拒收处理人id")
    private Long rejectionUserid;
    /** 拒收处理时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拒收处理时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "拒收处理时间")
    private Date rejectionTime;
    /** 待办清单详情表id */
    @Excel(name = "待办清单详情表id")
    @ApiModelProperty(value = "待办清单详情表id")
    private Long taskDetailId;
    /** 气瓶状态 0入库 1问题气瓶 */
    @Excel(name = "气瓶状态 0入库 1问题气瓶")
    @ApiModelProperty(value = "气瓶状态 0入库 1问题气瓶")
    private Long airStatus;
    /** 待办清单id */
    @Excel(name = "待办清单id")
    @ApiModelProperty(value = "待办清单id")
    private Long taskId;
    /** 入库人员id */
    @Excel(name = "入库人员id")
    @ApiModelProperty(value = "入库人员id")
    private Long storageUserid;
    /** 气瓶编号 */
    @Excel(name = "气瓶编号")
    @ApiModelProperty(value = "气瓶编号")
    private String airNumber;
    /** 余量是否符合 0符合  1不符合 */
    @Excel(name = "余量是否符合 0符合  1不符合")
    @ApiModelProperty(value = "余量是否符合 0符合  1不符合")
    private Long isSurplus;
    /** 当前压力值 */
    @Excel(name = "当前压力值")
    @ApiModelProperty(value = "当前压力值")
    private Double currentPressure;
    /** 气瓶id */
    @Excel(name = "气瓶id")
    @ApiModelProperty(value = "气瓶id")
    private Long airBottleId;
    /** 规格详情 */
    @Excel(name = "规格详情")
    @ApiModelProperty(value = "规格详情")
    private String specificationName;
    /** 气瓶配置表id */
    @ApiModelProperty(value = "气瓶配置表id")
    private Long airBottleConfigId;

    /** 入库状态 1闲置 2使用 3出库 */
    @ApiModelProperty(value = "入库状态 1闲置 2使用 3出库")
    private Integer storageStatus;

    /** 气瓶规格名称 */
    @Excel(name = "气瓶规格")
    @ApiModelProperty(value = "气瓶规格名称")
    private String configName;
    /**
     * 气瓶厂家
     */
    @ApiModelProperty(value = "气瓶厂家")
    private String companyName;
    /** 气体组成（冗余字段） */
    @ApiModelProperty(value = "气体组成")
    private String airConstituents;
    /**
     * 气瓶名称（冗余字段）
     */
    @ApiModelProperty(value = "气瓶名称")
    private String airName;

    /**
     * 实验地点（冗余字段）
     */
    @ApiModelProperty(value = "实验地点")
    private String location;
    /**
     * 实验室ID（冗余字段）
     */
    @ApiModelProperty(value = "实验室ID")
    private Long subjectId;

    /**
     * 气瓶当前状态（冗余字段）
     */
    @ApiModelProperty(value = "气瓶当前状态，1：正常状态，2：气瓶余量不足，3：用户没有用气资格，4：气瓶正在使用中")
    private Integer currentStatus=1;
    /**
     * 当前使用人Id（冗余字段）
     */
    @ApiModelProperty(value = "当前使用人")
    private Long currentUserId;
    /**
     * 气瓶所有人id
     */
    @ApiModelProperty(value = "气瓶所有人id")
    private Long ownerId;

    /**
     * 气瓶所有人
     */
    @ApiModelProperty(value = "气瓶所有人")
    private String owner;

    /**
     * 联系方式
     */
    @ApiModelProperty(value = "联系方式")
    private String ownerPhone;

}