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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;

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

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

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

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

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

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

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

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

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

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

    @ApiModelProperty("托号")
    private String groupNo;

    @ApiModelProperty("创建人")
    private String createUser;

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

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

    @ApiModelProperty("更新时间")
    private LocalDateTime updateTime;

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

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

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


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

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

    /**
     * ERP订单编号
     */
    @Column(length = 30)
    private String erpOrder;

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

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

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

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

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

    @ApiModelProperty("起始库位")
    private String warehouseCode;

    @ApiModelProperty("终止库位")
    private String nextWarehouseCode;

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

    @ApiModelProperty(value = "托位号(物理起始位置)")
    private String trayNumber;

    @ApiModelProperty(value = "实物托盘号")
    private String trayCode;

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

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