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

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

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
public class PositionMapLineDTO {
    @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 = "行走方法 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 = "开始控制点x轴")
    private String beginControlX;

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

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

    @Schema(description = "结束控制点y轴")
    private String endControlY;
    /**
     * 开始点位x轴
     */
    private String actualStartPointX;
    /**
     * 开始点位y轴
     */
    private String actualStartPointY;
    /**
     * 结束点位x轴
     */
    private String actualEndPointX;
    /**
     * 结束点位y轴
     */
    private String actualEndPointY;
    /**
     * 开始控制点x轴
     */
    private String actualBeginControlX;
    /**
     * 开始控制点y轴
     */
    private String actualBeginControlY;
    /**
     * 结束控制点x轴
     */
    private String actualEndControlX;
    /**
     * 结束控制点y轴
     */
    private String actualEndControlY;
    @Schema(description = "膨胀区域前")
    private BigDecimal expansionZoneFront;

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

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

    @Schema(description = "膨胀区域右")
    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:正反 2:反正 3:反反 4正随 5随正 6随反 7反随 8随随")
    private Integer toward;
}
