package com.sw.common.accessory.server.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.util.Date;

/**
 * @Author
 * @Description：
 * @Date: Create in
 * @Modified By:
 */
@Data
@ApiModel(value = "辅料退库记录Dto")
public class ReturnRecordDto {
    @ExcelIgnore
    private Long id;
    @ApiModelProperty(value = "辅材id", required = true)
    @ExcelIgnore
    private Long accessoryId;
    @ApiModelProperty(value = "退料单号", required = true)
    @ExcelProperty(value = "退料单号")
    private String code;
    @ApiModelProperty(value = "设备号", required = true)
    @ExcelProperty(value = "设备号")
    private String equipmentCode;
    @ApiModelProperty(value = "物料类型", required = true)
    @ExcelProperty(value = "物料类型")
    private String materialType;
    @ApiModelProperty(value = "物料名称", required = true)
    @ExcelProperty(value = "物料名称")
    private String materialName;
    @ApiModelProperty(value = "物料料号", required = true)
    @ExcelProperty(value = "物料料号")
    private String materialCode;
    @ApiModelProperty(value = "批次号")
    @ExcelProperty(value = "批次号")
    private String batchCode;
    @ApiModelProperty(value = "唯一码")
    @ExcelProperty(value = "唯一码")
    private String uniqueCode;
    @ApiModelProperty(value = "数量", required = true)
    @ExcelProperty(value = "数量")
    private Integer number;
    @ApiModelProperty(value = "规格", required = true)
    @ExcelProperty(value = "规格")
    private String specification;
    @ApiModelProperty(value = "单位", required = true)
    @ExcelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "供应商")
    @ExcelProperty(value = "供应商")
    private String supplier;
    @ApiModelProperty(value = "额定寿命", required = true)
    @ExcelProperty(value = "额定寿命")
    private Integer ratedLife;
    @ApiModelProperty(value = "已使用寿命", required = true)
    @ExcelProperty(value = "已使用寿命")
    private Integer usefulLife;
    @ApiModelProperty(value = "剩余寿命", required = true)
    @ExcelProperty(value = "剩余寿命")
    private Integer remainingLife;
    @ApiModelProperty(value = "退库原因")
    @ExcelProperty(value = "退库原因")
    private String reason;
    @ApiModelProperty(value = "使用状态（0：待上机，1：上机中）")
    @ExcelProperty(value = "使用状态")
    private Integer useStatus;
    @ApiModelProperty(value = "退库状态（0：待接收，1：已接收，2：已取消，3：已拒收）")
    @ExcelProperty(value = "退库状态")
    private Integer status;
    @ApiModelProperty(value = "申请人", required = true)
    @ExcelProperty(value = "申请人")
    private String userCreate;
    @ApiModelProperty(value = "申请时间", required = true)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "申请时间")
    private Date gmtCreate;
    @ApiModelProperty(value = "确认人")
    @ExcelProperty(value = "确认人")
    private String userConfirm;
    @ApiModelProperty(value = "确认时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "确认时间")
    private Date gmtConfirm;
    /**
     * 退库状态
     */
    @ApiModelProperty(value = "退库状态")
    @ExcelProperty(value = "退库状态")
    private Integer accessoryStatus;
}