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

import com.cico.nest.lcdp.boot.core.qxsd.adapter.web.vo.tunnelHoleLine.TunnelHoleMarkerlineRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 隧道设施上下行洞 Response VO")
@Data
@ExcelIgnoreUnannotated
public class TunnelHoleRespVO {

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

    @Schema(description = "洞名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
    @ExcelProperty("洞名称")
    private String holeName;

    @Schema(description = "所属隧道ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9201")
    @ExcelProperty("所属隧道ID")
    private String tunnelId;

    @Schema(description = "上下行方向：上行/下行", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("上下行方向：100700上行/100701下行")
    private String directionUpdown;

    @Schema(description = "行车方向：如杭州方向", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("行车方向：如杭州方向")
    private String directionName;

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

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

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

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

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

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

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

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

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

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

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    /**
     * 隧道标志线
     */
    private List<TunnelHoleMarkerlineRespVO> makerlines;
}
