package com.sw.mes.itemclean.clean.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 组托入库
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
@Getter
@Setter
@ApiModel(value = "MaterialGroup对象", description = "组托入库")
public class MaterialGroupDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @ExcelIgnore
    private Integer id;

    @ApiModelProperty("重量（上料总计）")
    @ExcelProperty(value = "重量")
    private BigDecimal weight;

    @ApiModelProperty("物料编号")
    @ExcelProperty(value = "物料编号")
    private String materialCode;

    @ApiModelProperty("物料名称")
    @ExcelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty("物料等级")
    @ExcelProperty(value = "物料等级")
    private String materialLevel;

    @ApiModelProperty("物料型号")
    @ExcelProperty(value = "物料型号")
    private String materialModel;

    @ApiModelProperty("电阻档位")
    @ExcelProperty(value = "电阻档位")
    private String materialGear;

    @ApiModelProperty("设备号")
    @ExcelProperty(value = "设备号")
    private String deviceNo;

    @ApiModelProperty("生产分选批次")
    @ExcelProperty(value = "生产分选批次")
    private String productBatchNo;

    @ApiModelProperty("托号")
    @ExcelProperty(value = "托号")
    private String groupNo;

    @ApiModelProperty("创建人-组托人")
    @ExcelProperty(value = "创建人")
    private String createUser;

    @ApiModelProperty("创建时间-组托时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private LocalDateTime createTime;

    @ApiModelProperty("更新人")
    @ExcelProperty(value = "更新人")
    private String updateUser;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private LocalDateTime updateTime;

    @ApiModelProperty("逻辑删除标记")
    @ExcelIgnore
    private Integer delFlag;

    @ApiModelProperty("打托备注")
    @ExcelProperty(value = "打托备注")
    private String remark;

    @ApiModelProperty("是否上传wms成功标记 0 未入库,1 已入库,2 调拨成功")
    @ExcelIgnore
    private Integer status;

    @ApiModelProperty("ERP工单")
    @ExcelIgnore
    private String aufnr;

    @ApiModelProperty("ERP订单编号")
    @ExcelIgnore
    private String erpOrder;

    @ApiModelProperty("erp库位")
    @ExcelIgnore
    private String erpWarehouseCode;

    /**
     * ERP上报状态，0 未上报，1 已上报
     */
    @ApiModelProperty("ERP上报状态，0 未上报，1 已上报")
    @ExcelIgnore
    private Integer reportedState;

    @ApiModelProperty("成品编号")
    @ExcelIgnore
    private String finishedCode;

    @ApiModelProperty("erp上报时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private LocalDateTime erpTime;

    @ApiModelProperty("发起入库人")
    @ExcelProperty(value = "发起入库人")
    private String warehousingUser;

    @ApiModelProperty("发起入库时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "发起入库时间")
    private LocalDateTime warehousingTime;

    @ApiModelProperty(value = "粒径范围")
    @ExcelProperty(value = "粒径范围")
    private String suppliesGrain;

    @ApiModelProperty(value = "箱号")
    @ExcelIgnore
    private String boxNo;

    @ApiModelProperty(value = "日生产批次号")
    @ExcelProperty(value = "日生产批次号")
    private String dateProduceBatchNo;
}
