package com.e6yun.project.sdk.api.pojo.basevo.saftey;

import com.google.common.base.MoreObjects;

import java.math.BigDecimal;

/**
 * @Description TODO
 * @Author xxx@e6yun.com
 * @Created Date: 2021/7/7 10:11
 * @ClassName StatStatementVo
 * @Remark
 */
public class StatStatementVo {

    /**
     * 司机id
     */
    private Integer driverId;

    /**
     * 司机姓名
     */
    private String driverName;


    /**
     * 行驶里程
     */
    private BigDecimal runOdoMeter;

    /**
     * 行驶时长 秒数
     */
    private Integer runDuration;
    /**
     * 行驶时长
     */
    private String runDurationStr;

    /**
     * 事件总数
     */
    private Integer eventCount;


    /**
     * 高危事件数
     */
    private Integer highRiskEventCount;

    /**
     * 中危事件数
     */
    private Integer middleRiskEventCount;

    /**
     * 低危事件数
     */
    private Integer lowRiskEventCount;

    /**
     * 千公里事件数
     */
    private BigDecimal eventCountPerKilometer;

    /**
     * dms事件数
     */
    private Integer driverBehaviourCount;

    /**
     * adas事件数
     */
    private Integer drivingActionCount;

    /**
     * 打电话
     */
    private Integer phoneCount;

    /**
     * 抽烟
     */
    private Integer smokeCount;

    /**
     * 偏离驾驶位
     */
    private Integer offPositionCount;

    /**
     * 驾驶员变更
     */
    private Integer changeDriverCount;

    /**
     * 不系安全带
     */
    private Integer noBeltCount;

    /**
     * 摄像头遮挡
     */
    private Integer noCanmerCount;

    /**
     * 疲劳驾驶
     */
    private Integer figureDrivingCount;

    /**
     * 分心驾驶
     */
    private Integer distractedDrivingCount;

    /**
     * 打哈欠
     */
    private Integer yawningCount;

    /**
     * 前车碰撞危险
     */
    private Integer frontDangerCount;

    /**
     * 车道偏移
     */
    private Integer lineOffsetCount;

    /**
     * 前车近距
     */
    private Integer nearDistanceCount;

    /**
     * 行人碰撞报警
     */
    private Integer personAlarmCount;

    /**
     * 频繁变道
     */
    private Integer changeLineCount;

    /**
     * 障碍物报警
     */
    private Integer obstacleAlarmCount;

    /**
     * 车辆侧翻
     */
    private Integer vehicleRolloverCount;

    /**
     * 玩手机
     */
    private Integer playCellPhoneCount;

    /**
     * 左顾右盼
     */
    private Integer lookAroundCount;

    /**
     * 部门名称
     */
    private String orgNames;

    public Integer getDriverId() {
        return driverId;
    }

    public void setDriverId(Integer driverId) {
        this.driverId = driverId;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public BigDecimal getRunOdoMeter() {
        return runOdoMeter;
    }

    public void setRunOdoMeter(BigDecimal runOdoMeter) {
        this.runOdoMeter = runOdoMeter;
    }

    public Integer getRunDuration() {
        return runDuration;
    }

    public void setRunDuration(Integer runDuration) {
        this.runDuration = runDuration;
    }

    public String getRunDurationStr() {
        return runDurationStr;
    }

    public void setRunDurationStr(String runDurationStr) {
        this.runDurationStr = runDurationStr;
    }

    public Integer getEventCount() {
        return eventCount;
    }

    public void setEventCount(Integer eventCount) {
        this.eventCount = eventCount;
    }

    public Integer getHighRiskEventCount() {
        return highRiskEventCount;
    }

    public void setHighRiskEventCount(Integer highRiskEventCount) {
        this.highRiskEventCount = highRiskEventCount;
    }

    public Integer getMiddleRiskEventCount() {
        return middleRiskEventCount;
    }

    public void setMiddleRiskEventCount(Integer middleRiskEventCount) {
        this.middleRiskEventCount = middleRiskEventCount;
    }

    public Integer getLowRiskEventCount() {
        return lowRiskEventCount;
    }

    public void setLowRiskEventCount(Integer lowRiskEventCount) {
        this.lowRiskEventCount = lowRiskEventCount;
    }

    public BigDecimal getEventCountPerKilometer() {
        return eventCountPerKilometer;
    }

    public void setEventCountPerKilometer(BigDecimal eventCountPerKilometer) {
        this.eventCountPerKilometer = eventCountPerKilometer;
    }

    public Integer getDriverBehaviourCount() {
        return driverBehaviourCount;
    }

    public void setDriverBehaviourCount(Integer driverBehaviourCount) {
        this.driverBehaviourCount = driverBehaviourCount;
    }

    public Integer getDrivingActionCount() {
        return drivingActionCount;
    }

    public void setDrivingActionCount(Integer drivingActionCount) {
        this.drivingActionCount = drivingActionCount;
    }

    public Integer getPhoneCount() {
        return phoneCount;
    }

    public void setPhoneCount(Integer phoneCount) {
        this.phoneCount = phoneCount;
    }

    public Integer getSmokeCount() {
        return smokeCount;
    }

    public void setSmokeCount(Integer smokeCount) {
        this.smokeCount = smokeCount;
    }

    public Integer getOffPositionCount() {
        return offPositionCount;
    }

    public void setOffPositionCount(Integer offPositionCount) {
        this.offPositionCount = offPositionCount;
    }

    public Integer getChangeDriverCount() {
        return changeDriverCount;
    }

    public void setChangeDriverCount(Integer changeDriverCount) {
        this.changeDriverCount = changeDriverCount;
    }

    public Integer getNoBeltCount() {
        return noBeltCount;
    }

    public void setNoBeltCount(Integer noBeltCount) {
        this.noBeltCount = noBeltCount;
    }

    public Integer getNoCanmerCount() {
        return noCanmerCount;
    }

    public void setNoCanmerCount(Integer noCanmerCount) {
        this.noCanmerCount = noCanmerCount;
    }

    public Integer getFigureDrivingCount() {
        return figureDrivingCount;
    }

    public void setFigureDrivingCount(Integer figureDrivingCount) {
        this.figureDrivingCount = figureDrivingCount;
    }

    public Integer getDistractedDrivingCount() {
        return distractedDrivingCount;
    }

    public void setDistractedDrivingCount(Integer distractedDrivingCount) {
        this.distractedDrivingCount = distractedDrivingCount;
    }

    public Integer getYawningCount() {
        return yawningCount;
    }

    public void setYawningCount(Integer yawningCount) {
        this.yawningCount = yawningCount;
    }

    public Integer getFrontDangerCount() {
        return frontDangerCount;
    }

    public void setFrontDangerCount(Integer frontDangerCount) {
        this.frontDangerCount = frontDangerCount;
    }

    public Integer getLineOffsetCount() {
        return lineOffsetCount;
    }

    public void setLineOffsetCount(Integer lineOffsetCount) {
        this.lineOffsetCount = lineOffsetCount;
    }

    public Integer getNearDistanceCount() {
        return nearDistanceCount;
    }

    public void setNearDistanceCount(Integer nearDistanceCount) {
        this.nearDistanceCount = nearDistanceCount;
    }

    public Integer getPersonAlarmCount() {
        return personAlarmCount;
    }

    public void setPersonAlarmCount(Integer personAlarmCount) {
        this.personAlarmCount = personAlarmCount;
    }

    public Integer getChangeLineCount() {
        return changeLineCount;
    }

    public void setChangeLineCount(Integer changeLineCount) {
        this.changeLineCount = changeLineCount;
    }

    public Integer getObstacleAlarmCount() {
        return obstacleAlarmCount;
    }

    public void setObstacleAlarmCount(Integer obstacleAlarmCount) {
        this.obstacleAlarmCount = obstacleAlarmCount;
    }

    public Integer getVehicleRolloverCount() {
        return vehicleRolloverCount;
    }

    public void setVehicleRolloverCount(Integer vehicleRolloverCount) {
        this.vehicleRolloverCount = vehicleRolloverCount;
    }

    public Integer getPlayCellPhoneCount() {
        return playCellPhoneCount;
    }

    public void setPlayCellPhoneCount(Integer playCellPhoneCount) {
        this.playCellPhoneCount = playCellPhoneCount;
    }

    public Integer getLookAroundCount() {
        return lookAroundCount;
    }

    public void setLookAroundCount(Integer lookAroundCount) {
        this.lookAroundCount = lookAroundCount;
    }

    public String getOrgNames() {
        return orgNames;
    }

    public void setOrgNames(String orgNames) {
        this.orgNames = orgNames;
    }

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("driverId", driverId)
                .add("driverName", driverName)
                .add("runOdoMeter", runOdoMeter)
                .add("runDuration", runDuration)
                .add("runDurationStr", runDurationStr)
                .add("eventCount", eventCount)
                .add("highRiskEventCount", highRiskEventCount)
                .add("middleRiskEventCount", middleRiskEventCount)
                .add("lowRiskEventCount", lowRiskEventCount)
                .add("eventCountPerKilometer", eventCountPerKilometer)
                .add("driverBehaviourCount", driverBehaviourCount)
                .add("drivingActionCount", drivingActionCount)
                .add("phoneCount", phoneCount)
                .add("smokeCount", smokeCount)
                .add("offPositionCount", offPositionCount)
                .add("changeDriverCount", changeDriverCount)
                .add("noBeltCount", noBeltCount)
                .add("noCanmerCount", noCanmerCount)
                .add("figureDrivingCount", figureDrivingCount)
                .add("distractedDrivingCount", distractedDrivingCount)
                .add("yawningCount", yawningCount)
                .add("frontDangerCount", frontDangerCount)
                .add("lineOffsetCount", lineOffsetCount)
                .add("nearDistanceCount", nearDistanceCount)
                .add("personAlarmCount", personAlarmCount)
                .add("changeLineCount", changeLineCount)
                .add("obstacleAlarmCount", obstacleAlarmCount)
                .add("vehicleRolloverCount", vehicleRolloverCount)
                .add("playCellPhoneCount", playCellPhoneCount)
                .add("lookAroundCount", lookAroundCount)
                .add("orgNames", orgNames)
                .toString();
    }
}
