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

import com.alibaba.excel.annotation.ExcelProperty;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 领料单
 * </p>
 *
 * @author liuzemin
 * @since 2022-11-10
 */
@Getter
@Setter
@TableName("material_apply_order")
@ApiModel(value = "MaterialApplyOrder对象", description = "领料单")
public class MaterialApplyOrder implements Serializable {

    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty("领料的生产批次号")
    private String productBatchNo;

    //清洗批次号
    @ApiModelProperty("清洗批次号")
    private String clanProductBatchNo;

    @ApiModelProperty("物料箱号")
    private String materialBoxNo;

    @ApiModelProperty("回收料载具号")
    private String boxNo;

    @ApiModelProperty("去向")
    private String hasGone;

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

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

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

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

    @ApiModelProperty("物料型号编码")
    private String materialModelCode;

    @ApiModelProperty("物料档位")
    private String materialGear;

    @ApiModelProperty("重量")
    private BigDecimal weight;

    @ApiModelProperty("厂家")
    private String materialComp;

    @ApiModelProperty("物料来源 1：清洗 2：循环料破碎 3：多晶破碎 4：分选")
    private Integer materialSource;

    @ApiModelProperty("物料属性：1原生多晶、2回收料、3落地料、4返工、5分选拆箱、6分选成箱")
    /**
     * {@link com.sw.mes.core.enums.ItemCleanEnums.MaterialProp}
     */
    private Integer materialProp;

    @ApiModelProperty("领料人")
    private String applyName;

    @ApiModelProperty("领料时间")
    private LocalDateTime applyTime;

    @ApiModelProperty("领料单类型：1：原生多晶 2：回收料 3：落地料 4：返工料")
    /**
     * {@link com.sw.mes.core.enums.ItemCleanEnums.MaterialType}
     */
    private Integer orderType;

    @ApiModelProperty("儿子id  -  拆箱再成箱的id")
    private Integer sonId;

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

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

    @ApiModelProperty("创建时间")
    private LocalDateTime createTime;

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

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

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

    /**
     * 此字段平移自包头
     */
    @ApiModelProperty("erp拉取(0未拉取，1已拉取)")
    private Integer pulled = 0;
    /**
     * erp库位
     */
    @ApiModelProperty("erp库位")
    private String erpWarehouseCode;


    @ApiModelProperty("已使用重量")
    private BigDecimal usedWeight;

    @ApiModelProperty("剩余重量")
    private BigDecimal unusedWeight;
}
