package com.wms_main.model.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 数据库出库单表映射
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "t_app_outs", autoResultMap = true)
public class TAppOuts {
    /**
     * 任务号
     */
    @TableId(value = "task_id")
    private String taskId;
    /**
     * 料号
     */
    @TableField(value = "goods_id")
    private String goodsId;
    /**
     * 载具号
     */
    @TableField(value = "vehicle_id")
    private String vehicleId;
    /**
     * 需求数量
     */
    @TableField(value = "need_num")
    private Integer needNum;
    /**
     * 已分发数量
     */
    @TableField(value = "distribute_num")
    private Integer distributeNum;
    /**
     * 已拣选数量
     */
    @TableField(value = "pick_num")
    private Integer pickNum;
    /**
     * 出库类型
     */
    @TableField(value = "out_type")
    private Integer outType;
    /**
     * 目的地
     */
    @TableField(value = "destination")
    private String destination;
    /**
     * 用户名
     */
    @TableField(value = "user_name")
    private String userName;
    /**
     * 出库理由
     * 紧急出库必填
     */
    @TableField(value = "reason")
    private String reason;
    /**
     * 请求时间
     */
    @TableField(value = "request_time")
    private LocalDateTime requestTime;
    /**
     * 工单号
     */
    @TableField(value = "work_order")
    private String workOrder;

    /**
     * 客户工单号
     */
    @TableField(value = "order_no")
    private String orderNo;

    /**
     * 特殊库存（E,K,Q）
     */
    @TableField(value = "special_stock")
    private String specialStock;

    /**
     * 特殊库存编号（SO单号或供应商编号）
     */
    @TableField(value = "special_stock_no")
    private String specialStockNo;

    /**
     * 特殊库存Item号
     */
    @TableField(value = "special_stock_item_no")
    private String specialStockItemNo;

    /**
     * 批次号
     */
    @TableField(value = "batch_no")
    private String batchNo;

    /**
     * 拣选类型
     */
    @TableField(value = "picking_type")
    private String pickingType;

    /**
     * 波次号
     */
    @TableField(value = "wave_no")
    private String waveNo;


    /**
     * 单位
     */
    @TableField(value = "unit")
    private String unit;


    /**
     * 二次拣货码/颗粒度
     */
    @TableField(value = "second_picking_code")
    private String secondPickingCode;

    /**
     * 拣货时间
     */
    @TableField(value = "picking_date")
    private Date pickingDate;
}
