package com.tofly.stocks.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tofly.mybatisplus.config.ToflySqlCondition;
import com.tofly.stocks.entity.DeviceInfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Date;

@Data
public class DeviceDepreciateSelectVo {


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

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


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



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

    /**
     * 水厂Id
     */
    @ApiModelProperty(value = "水厂Id")
    private Long waterworksId;

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



    /**
     * 入库时间
     */
    @ApiModelProperty(value = "入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "入库时间不能为空")
    private Date instockTime;



    /*入库详情*/

    /**
     * 入库详情id
     */
    @ApiModelProperty(value = "入库详情id")
    private Long instockDetailId;

    /**
     * 入库数量
     */
    @ApiModelProperty(value = "入库数量")
    private Double instockNum;
    /**
     * 入库单价
     */
    @ApiModelProperty(value = "入库单价")
    private Double unitPrice;
    /**
     * 税额
     */
    @ApiModelProperty(value = "税额")
    private Double taxAmount;
    /**
     * 含税单价
     */
    @ApiModelProperty(value = "含税单价")
    private Double taxUnitPrice;
    /**
     * 价税合计
     */
    @ApiModelProperty(value = "价税合计")
    private Double totalPrice;
    /**
     * 税率
     */
    @ApiModelProperty(value = "税率")
    private Double taxRate;

    /**
     * 库存id
     */
    @ApiModelProperty(value = "库存id")
    private Double stockInfoId;

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

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

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


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

    /**
     * 物资类别（物料 ,设备,药品）
     */
    @ApiModelProperty(value = "物资类别（物料 ,设备,药品），关联字典")
    private Long deviceType;


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

}
