package com.cico.nest.lcdp.boot.core.qxsd.adapter.web.vo.tunnelHole;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 隧道设施上下行洞新增/修改 Request VO")
@Data
public class TunnelHoleSaveReqVO {

    @Schema(description = "洞主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "14546")
    private String id;

    @Schema(description = "洞名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @NotEmpty(message = "洞名称不能为空")
    private String holeName;

    @Schema(description = "所属隧道ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9201")
    @NotEmpty(message = "所属隧道ID不能为空")
    private String tunnelId;

    @Schema(description = "上下行方向：上行/下行", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "上下行方向：上行/下行不能为空")
    private String directionUpdown;

    @Schema(description = "行车方向：如杭州方向", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "行车方向：如杭州方向不能为空")
    private String directionName;

    @Schema(description = "开始桩号")
    private String mileStart;

    @Schema(description = "结束桩号")
    private String mileEnd;

    @Schema(description = "洞长度（米）")
    private String length;

    @Schema(description = "洞宽度（米）")
    private String width;

    @Schema(description = "洞高度（米）")
    private String height;

    @Schema(description = "限高(米)")
    private String limitHeight;

    @Schema(description = "车道数量")
    private Integer laneNum;

    @Schema(description = "紧急停车带数量")
    private Integer emergencyNum;

    @Schema(description = "序号")
    private Integer orderNo;

    @Schema(description = "第三方id", example = "23022")
    private String sfHoleId;

}
