package com.shkj.wcs.third.rcs.dto;

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 发送任务dto
 * <p>
 * {
 * "taskType": "tote_outbound",
 * "businessType": "pick_outbound",
 * "taskGroupCode": "001",
 * "groupPriority": 0,
 * "tasks": [
 * {
 * "taskCode": "001",
 * "taskPriority": 0,
 * "taskDescribe": {
 * "deadline":"",
 * "containerCode": "test_001",
 * "fromLocationCode":"S07-001-008-02",
 * "toStationCode": ["10"],
 * "toLocationCode":"",
 * "specifiedTrunk":2
 * }
 * }
 * }
 * ]
 * }
 *
 * @author lch
 * @date 2023/02/02
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class RcsCreateTaskDto implements Serializable {


    /**
     * 地图 id
     */
    private Integer mapId;
    /**
     * 任务类型：23 含义：从 A 点顶起托盘搬运至 B 点放下
     * 任务类型：24 含义：从 A 点顶起托盘搬运至 B 点不放下
     * 任务类型：25 含义：在负载情况下将 AGV 移动至目标点并放下
     */
    private Integer taskType;
    /**
     * 任务id 任务 id,唯一标识(不能重复)
     */
    private String taskId;
    /**
     * 不提供该字段或者为 0 时将由 RCS 自动分配
     */
    private String robotId;

    /**
     * 目标点集合，如从 A 点搬运到 B 点需要提供两个目标点 注意 只有2个 第一个是 起点信息 第二个是目标点
     */
    private List<RcsIdList> targets;


}
