package com.wms_main.model.dto.request.wms;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 出库请求
 */
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class StockOutRequest extends BaseWmsRequest {
    /**
     * 出库类型
     */
    @JsonProperty("outType")
    private Integer outType;
    /**
     * 料号
     */
    @JsonProperty("goodsId")
    private String goodsId;
    /**
     * 载具号
     */
    @JsonProperty("vehicleId")
    private String vehicleId;
    /**
     * 需求数量
     */
    @JsonProperty("needNum")
    private Integer needNum;
    /**
     * 终点
     */
    @JsonProperty("destination")
    private String destination;
    /**
     * 出库理由
     */
    @JsonProperty("reason")
    private String reason;
    /**
     * 工单号
     */
    @JsonProperty("workOrder")
    private String workOrder;

    /**
     * 特殊库存标识（可选）
     */
    @JsonProperty("specialStock")
    private String specialStock;

    /**
     * so单号与供应商编号，出库指定SO号或者供应商编号出库（可选）
     */
    @JsonProperty("specialStockNo")
    private String specialStockNo;

    /**
     * 特殊库存item号（可选）
     */
    @JsonProperty("specialStockItemNo")
    private String specialStockItemNo;

    /**
     * 批次号（可选）
     */
    @JsonProperty("batchNo")
    private String batchNo;
}
