package com.gci.boot.modules.gis.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
import com.gci.boot.common.dict.annotation.Dict;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 24642
 */

@Data
public class EverydayGisVo {

    private Integer index;

    /**
     * 项目id
     */
    @JsonPropertyDescription("项目id")
    @Dict(dictTable = "tb_projects", dicText = "project_name", dicCode = "id")
    @Excel(name = "所属项目",dict = "tb_projects,project_name,id")
    private String projectId;

    /**
     * 车牌号
     */
    @JsonPropertyDescription("车牌号")
    @Excel(name = "车牌号")
    private String plateNumber;

    /**
     * 车辆种类
     */
    @JsonPropertyDescription("车辆种类")
    @Dict(dicCode = "vehicle_type")
    @Excel(name = "车辆种类",dict = "vehicle_type")
    private String vehicleType;

    /**
     * 车辆品牌
     */
    @JsonPropertyDescription("车辆品牌")
    @Dict(dicCode = "vehicle_brand")
    @Excel(name = "车辆品牌",dict = "vehicle_brand")
    private String vehicleBrand;

    /**
     * 车辆型号
     */
    @JsonPropertyDescription("车辆型号")
    private String vehicleModel;

    /**
     * 统计时间
     */
    @JsonPropertyDescription("统计时间")
    private String statisTime;

    /**
     * 行驶里程 km
     */
    @JsonPropertyDescription("行驶里程 km")
    private BigDecimal totalMile;

    /**
     * 作业里程 km
     */
    @JsonPropertyDescription("作业里程 km")
    private BigDecimal workMile;

    /**
     * 行驶时长 h
     */
    @JsonPropertyDescription("行驶时长 h")
    private BigDecimal totalTime;

    /**
     * 作业时长 h
     */
    @JsonPropertyDescription("作业时长 h")
    private BigDecimal workTime;

    /**
     * 行驶作业时长 h
     */
    @JsonPropertyDescription("行驶作业时长 h")
    private BigDecimal travelWorkTime;

    /**
     * 停靠作业时长 h
     */
    @JsonPropertyDescription("停靠作业时长 h")
    private BigDecimal stopWorkTime;

    /**
     * 平均行驶速度 km/h
     */
    @JsonPropertyDescription("平均行驶速度 km/h")
    private BigDecimal avgSpeed = BigDecimal.ZERO;

    /**
     * 平均作业速度 km/h
     */
    @JsonPropertyDescription("平均作业速度 km/h")
    private BigDecimal avgWorkSpeed = BigDecimal.ZERO;

    /**
     *  作业开始时间
     */
    @JsonPropertyDescription("作业开始时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date workStartTime;

    /**
     *  作业结束时间
     */
    @JsonPropertyDescription("作业结束时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date workEndTime;

    /**
     * 在线时长 h
     */
    @JsonPropertyDescription("在线时长 h")
    private BigDecimal onlineTime;

    /**
     * 通电停靠时长 h
     */
    @JsonPropertyDescription("通电停靠时长 h")
    private BigDecimal onlineStopTime;
}
