package com.sw.mes.store.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "入库审核记录单明细Dto")
public class WarehouseOutputRecordBillDetailDto {
    @ExcelIgnore
    private Long id;
    @ApiModelProperty(value = "出库审核记录单ID")
    @ExcelIgnore
    private Long recordBillId;
    @ApiModelProperty(value = "出库审核记录单号")
    @ExcelProperty(value = "出库审核记录单号")
    private String recordBillNo;
    @ApiModelProperty(value = "物料主数据ID")
    @ExcelIgnore
    private Long materialModelId;
    @ApiModelProperty(value = "物料主数据料号")
    @ExcelProperty(value = "物料主数据料号")
    private String materialModelCode;
    @ApiModelProperty(value = "物料主数据名称")
    @ExcelProperty(value = "物料主数据名称")
    private String materialModelName;
    @ApiModelProperty(value = "物料主数据类型")
    @ExcelProperty(value = "物料主数据类型")
    private String materialTypeName;
    @ApiModelProperty(value = "物料等级")
    @ExcelProperty(value = "物料等级")
    private String materialLevel;
    @ApiModelProperty(value = "物料粒径")
    @ExcelProperty(value = "物料粒径")
    private String suppliesGrain;
    @ApiModelProperty("物料档位")
    @ExcelProperty(value = "物料档位")
    private String materialGear;
    @ApiModelProperty(value = "系统生成唯一码")
    @ExcelProperty(value = "系统生成唯一码")
    private String uniqueCode;

    @ApiModelProperty(value = "手动录入唯一码")
    @ExcelProperty(value = "手动录入唯一码")
    private String manualUniqueCode;

    @ApiModelProperty(value = "批次号")
    @ExcelProperty(value = "批次号")
    private String batchNo;
    @ApiModelProperty(value = "物料主数据供应商")
    @ExcelProperty(value = "物料主数据供应商")
    private String supplier;
    @ApiModelProperty(value = "物料主数据规格")
    @ExcelProperty(value = "物料主数据规格")
    private String specification;
    @ApiModelProperty(value = "物料主数据图号")
    @ExcelProperty(value = "物料主数据图号")
    private String materialTh;
    @ApiModelProperty(value = "出库数量")
    @ExcelProperty(value = "出库数量")
    private BigDecimal outputCount;
    @ApiModelProperty(value = "物料单位")
    @ExcelProperty(value = "物料单位")
    private String unitName;
    @ApiModelProperty(value = "库位ID")
    @ExcelIgnore
    private Long warehouseId;
    @ApiModelProperty(value = "库位名称")
    @ExcelProperty(value = "库位名称")
    private String warehouseName;
    @ApiModelProperty(value = "库位编码")
    private String warehouseCode;
    @ApiModelProperty(value = "创建人ID")
    private Integer createUserId;
    @ApiModelProperty(value = "创建人名称")
    @ExcelProperty(value = "创建人名称")
    private String createUserName;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "创建时间")
    private Date createTime;
    @ApiModelProperty(value = "出库人ID")
    @ExcelIgnore
    private Integer updateUserId;
    @ApiModelProperty(value = "出库人名称")
    @ExcelProperty(value = "出库人名称")
    private String updateUserName;
    @ApiModelProperty(value = "出库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "出库时间")
    private Date updateTime;
    @ApiModelProperty(value = "出库类型")
    @ExcelProperty(value = "出库类型")
    private String type;
    @ApiModelProperty(value = "去向")
    @ExcelProperty(value = "去向")
    private String destination;
    @ApiModelProperty(value = "单据状态。待出库、已出库、锁定、取消")
    @ExcelProperty(value = "单据状态")
    private String status;
    @ApiModelProperty(value = "需求数量")
    @ExcelProperty(value = "需求数量")
    private BigDecimal requireCount;
    @ApiModelProperty(value = "库存数量")
    @ExcelProperty(value = "库存数量")
    private BigDecimal quantity;
    @ApiModelProperty(value = "物料类别")
    @ExcelProperty(value = "物料类别")
    private String materialCategoryName;
    @ApiModelProperty(value = "出库申请单号")
    @ExcelProperty(value = "出库申请单号")
    private String outputBillNo;
    @ApiModelProperty(value = "出库申请单ID")
    @ExcelIgnore
    private Long outputBillId;
    @ApiModelProperty("晶编编码")
    @ExcelProperty(value = "晶编编码")
    private String crystalNo;
}