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

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 TunnelBaseRespVO {

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

    @Schema(description = "隧道编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("隧道编码")
    private String tunnelCode;

    @Schema(description = "隧道名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @ExcelProperty("隧道名称")
    private String tunnelName;

    @Schema(description = "所属组织", requiredMode = Schema.RequiredMode.REQUIRED, example = "23135")
    @ExcelProperty("所属组织")
    private String deptId;

    @Schema(description = "所属路段", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("所属路段")
    private String road;

    @Schema(description = "经度")
    @ExcelProperty("经度")
    private String longitude;

    @Schema(description = "纬度")
    @ExcelProperty("纬度")
    private String latitude;

    @Schema(description = "隧道类型 0双洞双向1单洞双向2单洞单向", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @ExcelProperty("隧道类型 0双洞双向1单洞双向2单洞单向")
    private String tunnelType;

    @Schema(description = "隧道设计类型（隧道管控）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("隧道设计类型（隧道管控）")
    private String tunnelDesignType;

    @Schema(description = "长度（米）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("长度（米）")
    private String length;

    @Schema(description = "设计流量")
    @ExcelProperty("设计流量")
    private Long trafficFlow;

    @Schema(description = "横通道数量")
    @ExcelProperty("横通道数量")
    private Integer crossNum;

    @Schema(description = "开始桩号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("开始桩号")
    private String mileStart;

    @Schema(description = "结束桩号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("结束桩号")
    private String mileEnd;

    @Schema(description = "是否常用隧道,1是，0不是")
    @ExcelProperty("是否常用隧道,1是，0不是")
    private String isCommon;

    @Schema(description = "是否有3D模型,1是，0不是")
    @ExcelProperty("是否有3D模型,1是，0不是")
    private String model3dFlag;

    @Schema(description = "3D模型文件路径")
    @ExcelProperty("3D模型文件路径")
    private String model3dPath;

    @Schema(description = "模块")
    @ExcelProperty("模块")
    private String modules;

    @Schema(description = "是否启用:1启用,0不启用")
    @ExcelProperty("是否启用:1启用,0不启用")
    private Integer enable;

    @Schema(description = "第三方隧道id")
    private String sfTunnelId;

    @Schema(description = "排序")
    @ExcelProperty("排序")
    private Integer sort;

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

    // 所属组织名称
    private String deptName;
    //隧道类型
    private String tunnelTypeName;
}
