package org.nl.acs.instruction.service.dto;

import lombok.Data;

import java.io.Serializable;

/**
 * @author ldjun
 * @description /
 * @date 2021-04-01
 **/
@Data
public class InstructionDto implements Serializable {

    /**
     * 指令标识
     */
    private String instruction_id;

    /**
     * 任务标识
     */
    private String task_id;

    /**
     * 指令编码
     */
    private String instruction_code;

    /**
     * MES任务关联编号
     */
    private String link_num;

    /**
     * 是否下发
     */
    private String is_send = "0";

    /**
     * 指令由哪台设备做
     */
    private String execute_device_code;

    /**
     * 执行状态
     */
    //暂定 0就绪 1请求取货 2取货完成离开 3请求放货 4放货完成离开
    private String execute_status;

    /**
     * 执行状态描述
     */
    private String execute_status_description;

    /**
     * 下一条指令由哪台设备做
     */
    private String follow_device_code;

    /**
     * 指令类型
     */
    private String instruction_type = "1";

    /**
     * 指令状态
     */
    public String instruction_status;

    /**
     * 创建类型
     */
    private String create_type;

    /**
     * 完成类型
     */
    private String finish_type;

    /**
     * 优先级
     */
    private String priority = "0";

    /**
     * 执行编码
     */
    private String execute_code;

    /**
     * 执行信息
     */
    private String execute_message;

    /**
     * 起始点位编码
     */
    private String start_point_code;

    /**
     * 起始设备编码
     */
    private String start_device_code;

    /**
     * 目标点位编码
     */
    private String next_point_code;

    /**
     * 目标设备编码
     */
    private String next_device_code;

    /**
     * 起始点位编码2
     */
    private String start_point_code2;

    /**
     * 起始设备编码2
     */
    private String start_device_code2;

    /**
     * 目标点位编码2
     */
    private String next_point_code2;

    /**
     * 目标设备编码2
     */
    private String next_device_code2;

    /**
     * 放货点位编码
     */
    private String put_point_code;

    /**
     * 放货设备编码
     */
    private String put_device_code;

    /**
     * 排
     */
    private String from_x;

    /**
     * 列
     */
    private String from_y;

    /**
     * 层
     */
    private String from_z;

    /**
     * 排2
     */
    private String from_x2;

    /**
     * 列2
     */
    private String from_y2;

    /**
     * 层2
     */
    private String from_z2;

    /**
     * 排
     */
    private String put_x;

    /**
     * 列
     */
    private String put_y;

    /**
     * 层
     */
    private String put_z;


    /**
     * 排
     */
    private String to_x;

    /**
     * 列
     */
    private String to_y;

    /**
     * 层
     */
    private String to_z;

    /**
     * 排2
     */
    private String to_x2;

    /**
     * 列2
     */
    private String to_y2;

    /**
     * 层2
     */
    private String to_z2;


    /**
     * 最后一条指令标识
     */
    private String last_instruction_id;

    /**
     * 是否允许修改
     */
    private String can_modify;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否启用
     */
    private String is_active;

    /**
     * 是否删除
     */
    private String is_delete;

    /**
     * 创建者
     */
    private String create_by;

    /**
     * 创建时间
     */
    private String create_time;

    /**
     * 修改者
     */
    private String update_by;

    /**
     * 修改时间
     */
    private String update_time;

    /**
     * 任务号
     */
    private String task_code;

    /**
     * 载具号
     */
    private String vehicle_code;

    /**
     * 载具类型
     */
    private String vehicle_type;

    /**
     * agv车号
     */
    private String carno;

    /**
     * 物料类型
     */
    private String material;

    /**
     * 物料数量
     */
    private String quantity;

    /**
     * 物料批次
     */
    private String batch;

    /**
     * 物料重量
     */
    private String weight;

    private String route_plan_code = "normal";

    /**
     * 是否复合任务
     */
    private String compound_inst;

    /**
     * 复合任务数据
     */
    private String compound_inst_data;

    /**
     * agv任务号（NDC系统使用）
     */
    private String agv_jobno;


    /**
     * agv指令类型（NDC系统使用）
     */
    private String agv_inst_type;

    /**
     * 下发agv状态 0未下发 1成功 2失败
     */
    private String send_status;

    /**
     * 起点父级编码
     */
    private String start_parent_code;

    /**
     * 终点父级编码
     */
    private String next_parent_code;

    /**
     * AGV系统类型
     */
    private String agv_system_type;


    /**
     * lms任务id
     */
    private String ext_task_id;
}
