package com.ruoyi.mqtt.dto.task;

/**
 * 任务实时状态信息
 */
public class TaskRealtimeInfo {
    
    /**
     * 里程信息
     */
    private OdomData odom;
    
    /**
     * 时间信息
     */
    private TimeData time;
    
    /**
     * 驾驶模式: auto(自动驾驶)/manual(人工驾驶)
     */
    private String driveMode;
    
    /**
     * 是否满足自动驾驶条件
     */
    private Boolean autoReady;
    
    public OdomData getOdom() {
        return odom;
    }
    
    public void setOdom(OdomData odom) {
        this.odom = odom;
    }
    
    public TimeData getTime() {
        return time;
    }
    
    public void setTime(TimeData time) {
        this.time = time;
    }
    
    public String getDriveMode() {
        return driveMode;
    }
    
    public void setDriveMode(String driveMode) {
        this.driveMode = driveMode;
    }
    
    public Boolean getAutoReady() {
        return autoReady;
    }
    
    public void setAutoReady(Boolean autoReady) {
        this.autoReady = autoReady;
    }
    
    public static class OdomData {
        /**
         * 当前任务总里程,单位:m
         */
        private Double tottal;
        
        /**
         * 当前任务剩余里程,单位:m
         */
        private Double remain;
        
        public Double getTottal() {
            return tottal;
        }
        
        public void setTottal(Double tottal) {
            this.tottal = tottal;
        }
        
        public Double getRemain() {
            return remain;
        }
        
        public void setRemain(Double remain) {
            this.remain = remain;
        }
    }
    
    public static class TimeData {
        /**
         * 当前任务预估总时长,单位:秒
         */
        private Integer total;
        
        /**
         * 当前任务预估剩余时长,单位:秒
         */
        private Integer remain;
        
        /**
         * 当前任务已持续时长,单位:秒
         */
        private Integer duration;
        
        public Integer getTotal() {
            return total;
        }
        
        public void setTotal(Integer total) {
            this.total = total;
        }
        
        public Integer getRemain() {
            return remain;
        }
        
        public void setRemain(Integer remain) {
            this.remain = remain;
        }
        
        public Integer getDuration() {
            return duration;
        }
        
        public void setDuration(Integer duration) {
            this.duration = duration;
        }
    }
}
