package org.dromara.domain.vo;

import org.dromara.domain.SenFlowDetail;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;


/**
 * 流量明细视图对象 sen_flow_detail
 *
 * @author luogang
 * @date 2024-09-19
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = SenFlowDetail.class)
public class SenFlowDetailVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ExcelProperty(value = "主键")
    private Long id;

    /**
     * 任务编号
     */
    @ExcelProperty(value = "任务编号")
    private Long taskId;

    /**
     * 监控点id
     */
    @ExcelProperty(value = "监控点id")
    private Long pointId;

    /**
     * 监控点名称
     */
    @ExcelProperty(value = "监控点名称")
    private String pointName;

    /**
     * 车道号
     */
    @ExcelProperty(value = "车道号")
    private String laneNumber;

    /**
     * 车流量
     */
    @ExcelProperty(value = "车流量")
    private String vehicleCount;

    /**
     * 平均数据（km/h）
     */
    @ExcelProperty(value = "平均数据", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "k=m/h")
    private String averageSpeed;

    /**
     * 排队长度（s）
     */
    @ExcelProperty(value = "排队长度", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=")
    private String queueTime;

    /**
     * 空间占有率
     */
    @ExcelProperty(value = "空间占有率")
    private String spaceRate;

    /**
     * 时间占有率
     */
    @ExcelProperty(value = "时间占有率")
    private String timeRate;

    /**
     * 车头时距（s）
     */
    @ExcelProperty(value = "车头时距", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "s=")
    private String headwayTime;

    /**
     * 车头间距
     */
    @ExcelProperty(value = "车头间距")
    private String headwayDistance;

    /**
     * 车辆类型与行驶方向数
     */
    @ExcelProperty(value = "车辆类型与行驶方向数")
    private String vehicleRemark;

    /**
     * 时间
     */
    @ExcelProperty(value = "时间")
    private Date createTime;


}
