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

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

import java.math.BigDecimal;

/**
 * Wcs任务请求
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class WcsStackerTaskRequest {
    /**
     * 任务号
     */
    @JsonProperty("taskId")
    private String taskId;
    /**
     * 任务类型
     */
    @JsonProperty("taskType")
    private Integer taskType;
    /**
     * 优先级
     */
    @JsonProperty("priority")
    private Integer priority;
    /**
     * 起点
     */
    @JsonProperty("origin")
    private String origin;
    /**
     * 终点
     */
    @JsonProperty("destination")
    private String destination;
    /**
     * 任务号
     */
    @JsonProperty("vehicleNo")
    private String vehicleNo;
    /**
     * 载具尺寸
     */
    @JsonProperty("vehicleSize")
    private Integer vehicleSize = 0;
    /**
     * 重量
     */
    @JsonProperty("weight")
    private BigDecimal weight = BigDecimal.ZERO;

    /**
     * 构造函数
     *
     * @param taskId      任务号
     * @param taskType    任务类型
     * @param priority    优先级
     * @param origin      起点
     * @param destination 终点
     * @param vehicleNo   载具号
     */
    public WcsStackerTaskRequest(String taskId, Integer taskType, Integer priority, String origin, String destination, String vehicleNo) {
        this.taskId = taskId;
        this.taskType = taskType;
        this.priority = priority;
        this.origin = origin;
        this.destination = destination;
        this.vehicleNo = vehicleNo;
    }
}
