package com.huaheng.pc.task.taskDetail.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

@ApiModel(value = "com.huaheng.pc.task.taskDetail.domain.TaskDetail")
@Data
@TableName(value = "task_detail")
public class TaskDetail implements Serializable {
    /**
     * ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(value = "ID")
    private Integer id;

    /**
     * 任务头内部号
     */
    @TableField(value = "taskId")
    @ApiModelProperty(value = "任务头内部号")
    private Integer taskId;

    /**
     * 任务类型
     */
    @TableField(value = "taskType")
    @ApiModelProperty(value = "任务类型")
    private Integer taskType;

    /**
     * 任务类型
     */
    @TableField(value = "internalTaskType")
    @ApiModelProperty(value = "任务类型")
    private Integer internalTaskType;

    /**
     * 仓库
     */
    @TableField(value = "warehouseCode")
    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    @TableField(value = "uWarehouseCode")
    @ApiModelProperty(value = "u8仓库")
    private String uWarehouseCode;

    @TableField(exist = false)
    private String warehouseName;

    @TableField(exist = false)
    private String uWarehouseName;

    @TableField(exist = false)
    private String companyName;

    /**
     * 货主
     */
    @TableField(value = "companyCode")
    @ApiModelProperty(value = "货主")
    private String companyCode;


    /**
     * 组盘子id
     */
    @TableField(value = "allocationId")
    @ApiModelProperty(value = "组盘子id")
    private Integer allocationId;

    /**
     * 单据编码
     */
    @TableField(value = "billCode")
    @ApiModelProperty(value = "单据编码")
    private String billCode;

    /**
     * 子单ID
     */
    @TableField(value = "billDetailId")
    @ApiModelProperty(value = "子单ID")
    private Integer billDetailId;

    /**
     * 物料
     */
    @TableField(value = "materialCode")
    @ApiModelProperty(value = "物料")
    private String materialCode;

    /**
     * 物料明细
     */
    @TableField(value = "materialName")
    @ApiModelProperty(value = "物料明细")
    private String materialName;

    /**
     * 物料
     */
    @TableField(value = "materialSpec")
    @ApiModelProperty(value = "物料")
    private String materialSpec;
    /**
     * 存货代码
     */
    @TableField(exist = false)
    private String materialOldCode;

    /**
     * 物料明细
     */
    @TableField(value = "materialUnit")
    @ApiModelProperty(value = "物料明细")
    private String materialUnit;
    /**
     * 数量
     */
    @TableField(value = "qty")
    @ApiModelProperty(value = "数量")
    private BigDecimal qty;

    @TableField(exist = false)
    @ApiModelProperty(value = "库存数量")
    private BigDecimal warehouseQty;

    /**
     * 从货位
     */
    @TableField(value = "fromLocation")
    @ApiModelProperty(value = "从货位")
    private String fromLocation;

    /**
     * 到货位
     */
    @TableField(value = "toLocation")
    @ApiModelProperty(value = "到货位")
    private String toLocation;

    /**
     * 容器编码
     */
    @TableField(value = "containerCode")
    @ApiModelProperty(value = "容器编码")
    private String containerCode;

    /**
     * 从区域
     */
    @TableField(value = "fromZone")
    @ApiModelProperty(value = "从区域")
    private String fromZone;

    /**
     * 到区域
     */
    @TableField(value = "toZone")
    @ApiModelProperty(value = "到区域")
    private String toZone;

    /**
     * 属性号
     */
    @TableField(value = "attributeId")
    @ApiModelProperty(value = "属性号")
    private Integer attributeId;

    /**
     * 状态
     */
    @TableField(value = "status")
    @ApiModelProperty(value = "状态")
    private Integer status;

    /**
     * 参考单号
     */
    @TableField(value = "referenceCode")
    @ApiModelProperty(value = "参考单号")
    private String referenceCode;


    /**
     * 参考内部行号
     */
    @TableField(value = "referenceLineId")
    @ApiModelProperty(value = "参考内部行号")
    private Integer referenceLineId;

    /**
     * 指派用户
     */
    @TableField(value = "assignedUser")
    @ApiModelProperty(value = "指派用户")
    private String assignedUser;

    /**
     * 属性1
     */
    @TableField(value = "attribute1")
    @ApiModelProperty(value = "属性1")
    private String attribute1;

    /**
     * 属性2
     */
    @TableField(value = "attribute2")
    @ApiModelProperty(value = "属性2")
    private String attribute2;

    /**
     * 属性3
     */
    @TableField(value = "attribute3")
    @ApiModelProperty(value = "属性3")
    private String attribute3;


    /**
     * 批次
     */
    @TableField(value = "batch")
    @ApiModelProperty(value = "批次")
    private String batch;

    /**
     * 批号
     */
    @TableField(value = "lot")
    @ApiModelProperty(value = "批号")
    private String lot;

    /**
     * 项目号
     */
    @TableField(value = "projectNo")
    @ApiModelProperty(value = "项目号")
    private String projectNo;

    /**
     * 质检
     */
    @TableField(value = "qcCheck")
    @ApiModelProperty(value = "质检")
    private String qcCheck;

    /**
     * 生产日期
     */
    @TableField(value = "manufactureDate")
    @ApiModelProperty(value = "生产日期")
    private Date manufactureDate;

    /**
     * 失效日期
     */
    @TableField(value = "expirationDate")
    @ApiModelProperty(value = "失效日期")
    private Date expirationDate;

    /**
     * 入库日期
     */
    @TableField(value = "agingDate")
    @ApiModelProperty(value = "入库日期")
    private Date agingDate;

    /**
     * 库存状态
     */
    @TableField(value = "inventorySts")
    @ApiModelProperty(value = "库存状态")
    private String inventorySts;

    /**
     * 波次号
     */
    @TableField(value = "waveId")
    @ApiModelProperty(value = "波次号")
    private Integer waveId;

    /**
     * 分配的库存ID
     */
    @TableField(value = "fromInventoryId")
    @ApiModelProperty(value = "分配的库存ID")
    private Integer fromInventoryId;

    @TableField(value = "toInventoryId")
    @ApiModelProperty(value = "null")
    private Integer toInventoryId;

    /**
     * 确认用户
     */
    @TableField(value = "confirmedBy")
    @ApiModelProperty(value = "确认用户")
    private String confirmedBy;

    /**
     * 组号
     */
    @TableField(value = "groupNum")
    @ApiModelProperty(value = "组号")
    private Integer groupNum;

    /**
     * 序号
     */
    @TableField(value = "groupIndex")
    @ApiModelProperty(value = "序号")
    private Integer groupIndex;

    /**
     * 创建时间
     */
    @TableField(value = "created", fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date created;

    /**
     * 创建用户
     */
    @TableField(value = "createdBy", fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建用户")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField(value = "lastUpdated", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "创建时间")
    private Date lastUpdated;

    /**
     * 更新用户
     */
    @TableField(value = "lastUpdatedBy", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "更新用户")
    private String lastUpdatedBy;

    /**
     * 数据版本
     */
    @TableField(value = "version")
    @ApiModelProperty(value = "数据版本")
    private Integer version;

    /**
     * kitFlag标志 Y/N AGV专用
     */
    @TableField(value = "userDef1")
    @ApiModelProperty(value = "kitFlag标志 Y/N AGV专用")
    private String userDef1;

    /**
     * unit 单位 AGV专用
     */
    @TableField(value = "userDef2")
    @ApiModelProperty(value = "unit 单位 AGV专用")
    private String userDef2;

    /**
     * 自定义字段3
     */
    @TableField(value = "userDef3")
    @ApiModelProperty(value = "自定义字段3")
    private String userDef3;

    /**
     * 处理标记
     */
    @TableField(value = "processStamp")
    @ApiModelProperty(value = "处理标记")
    private String processStamp;

    /**
     * 需要容器数量
     */
    @TableField(value = "containQty")
    @ApiModelProperty(value = "需要容器数量")
    private Integer containQty;

    /**
     * 仓库Id
     */
    @TableField(value = "warehouseId")
    private Integer warehouseId;

    /**
     * 公司id
     */
    @TableField(value = "companyId")
    private Integer companyId;

    /**
     * 单据ID
     */
    @TableField(value = "billId")
    private Integer billId;

    /**
     * back 回传
     */
    @TableField(value = "back")
    private Integer back;


    @TableField(value = "number")
    private Integer number;

    @TableField(exist = false)
    private BigDecimal remainder;

    /**
     * 货架
     */
    @TableField(value = "goodsShelfNo")
    private String goodsShelfNo;

    @TableField(exist = false)
    private String qyUnit;

    /**
     * 物料颜色
     */
    @TableField(value = "color")
    @ApiModelProperty(value = "颜色")
    private String color;

    private static final long serialVersionUID = 1L;

}