package com.tofly.stocks.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.stocks.entity.DeviceHandleDetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class DeviceHandleDetailVo extends DeviceHandleDetail {

    /**
     * 设备Id
     */
    @ApiModelProperty(value = "设备Id")
    private Long deviceId;


    /**
     * 当前库存
     */
    @ApiModelProperty(value = "当前库存",hidden = true)
    private Double stockNum;

    /**
     * 入库数量
     */
    @ApiModelProperty(value = "入库总数量",hidden = true)
    private Double instockTotalNum;

    /**
     * 出库数量
     */
    @ApiModelProperty(value = "出库总数量",hidden = true)
    private Double outstockTotalNum;
    /**
     * 使用数量
     */
    @ApiModelProperty(value = "使用总数量",hidden = true)
    private Double usestockTotalNum;

    /**
     * 转移总数量
     */
    @ApiModelProperty(value = "转移总数量",hidden = true)
    private Double transTotalNum;

    /**
     * 处置总数量
     */
    @ApiModelProperty(value = "处置总数量",hidden = true)
    private Double handleTotalNum;


    /**
     * 仓库id
     */
    @ApiModelProperty(value = "仓库id",hidden = true)
    private Long storeId;

    /**
     * 仓库名称
     */
    @ApiModelProperty(value = "仓库名称",hidden = true)
    private String storeName;

    /**
     * 货架id
     */
    @ApiModelProperty(value = "货架id")
    private Long shelvesId;

    /**
     * 货架编号
     */
    @ApiModelProperty(value = "货架编号",hidden = true)
    private String shelvesNo;

    /**
     * 水厂id
     */
    @ApiModelProperty(value = "水厂id",hidden = true)
    private Long waterworksId;

    /**
     * 水厂名称
     */
    @ApiModelProperty(value = "水厂名称",hidden = true)
    private String waterworksName;


    /**
     * 设备唯一编码
     */
    @ApiModelProperty(value = "设备唯一编码",hidden = true)
    private String deviceNo;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    /**
     * 设备规格型号
     */
    @ApiModelProperty(value = "设备规格型号")
    private String deviceSpecsModel;

    /**
     * 设备单位名称
     */
    @ApiModelProperty(value = "设备单位名称")
    private String deviceUnitName;
    /**
     * 设备所在地址
     */
    @ApiModelProperty(value = "设备所在地址",hidden = true)
    private String deviceAddress;
    /**
     * 设备购买时间
     */
    @ApiModelProperty(value = "设备购买时间",hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date devicePurchaseTime;
    /**
     * 设备安装时间
     */
    @ApiModelProperty(value = "设备安装时间",hidden = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deviceInstallTime;
    /**
     * 物资类型Id
     */
    @ApiModelProperty(value = "物资类型Id，关联类型表",hidden = true)
    private Long materialTypeId;


    /**
     * 物资类型名称
     */
    @ApiModelProperty(value = "物资类型名称")
    @TableField(exist = false)
    private String materialTypeName;

    /**
     * 物资类别（物料 ,设备,药品）
     */
    @ApiModelProperty(value = "物资类别（物料 ,设备,药品），关联字典",hidden = true)
    @NotNull(message = "物资类别不能为空")
    private Long deviceType;


    /**
     * 物资类别名称
     */
    @ApiModelProperty(value = "物资类别名称")
    private String deviceTypeName;
}
