package cn.iocoder.yudao.module.system.controller.admin.positionmap.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 仓库点位地图连线新增/修改 Request VO")
@Data
public class PositionMapLineSaveReqVO {

    @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "28062")
    private Long id;


    @Schema(description = "地图id", example = "20863")
    private Long positionMapId;

    @Schema(description = "出发点id(点位子表id)", example = "20863")
    private Long startingPointId;

    @Schema(description = "结束点id(点位子表id)", example = "15890")
    private Long endPointId;

    @Schema(description = "出发点序号", example = "20863")
    private Integer startingSortNum;
    @Schema(description = "结束点序号", example = "20863")
    private Integer endPointSortNum;

    @Schema(description = "开始点位x轴", example = "15890")
    private String startPointX;
    @Schema(description = "开始点位y轴", example = "15890")
    private String startPointY;
    @Schema(description = "结束点位x轴", example = "15890")
    private String endPointX;
    @Schema(description = "结束点位y轴", example = "15890")
    private String endPointY;

    @Schema(description = "开始控制点x轴", example = "15890")
    private String beginControlX;

    @Schema(description = "开始控制点y轴", example = "15890")
    private String beginControlY;

    @Schema(description = "结束控制点x轴", example = "15890")
    private String endControlX;

    @Schema(description = "结束控制点y轴", example = "15890")
    private String endControlY;

    @Schema(description = "实际开始点位x轴", example = "15890")
    private String actualStartPointX;

    @Schema(description = "实际开始点位y轴", example = "15890")
    private String actualStartPointY;

    @Schema(description = "实际结束点位x轴", example = "15890")
    private String actualEndPointX;

    @Schema(description = "实际结束点位y轴", example = "15890")
    private String actualEndPointY;

    @Schema(description = "实际开始控制点x轴", example = "15890")
    private String actualBeginControlX;

    @Schema(description = "实际开始控制点y轴", example = "15890")
    private String actualBeginControlY;

    @Schema(description = "实际结束控制点x轴", example = "15890")
    private String actualEndControlX;

    @Schema(description = "实际结束控制点y轴", example = "15890")
    private String actualEndControlY;

    @Schema(description = "膨胀区域前", example = "15890")
    private BigDecimal expansionZoneFront;

    @Schema(description = "膨胀区域后", example = "15890")
    private BigDecimal expansionZoneAfter;

    @Schema(description = "膨胀区域左", example = "15890")
    private BigDecimal expansionZoneLeft;

    @Schema(description = "膨胀区域右", example = "15890")
    private BigDecimal expansionZoneRight;

//    @Schema(description = "起点宽")
//    private BigDecimal beginWidth;
//
//    @Schema(description = "起点高")
//    private BigDecimal beginHigh;
//
//    @Schema(description = "终点宽")
//    private BigDecimal endWidth;
//
//    @Schema(description = "终点高")
//    private BigDecimal endHigh;

    @Schema(description = "行走方法 0.直线 1.曲线")
    private Integer method;

    @Schema(description = "方向 1.单向 2.双向", example = "15890")
    private Integer direction;

    @Schema(description = "正向限速(m/s)", example = "15890")
    private BigDecimal forwardSpeedLimit;

    @Schema(description = "反向限速(m/s)", example = "15890")
    private BigDecimal reverseSpeedLimit;


    @Schema(description = "车头朝向(0:正正 1:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随 如果是单向的话 0代表正 1代表反 2代表随意", example = "15890")
    private Integer toward;

}
