package org.dromara.elevator.domain.vo;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 电梯实时信息
 *
 * @author ym
 * @version 1.0.0
 * @date 2024-09-28 14:08
 */
@Data
public class ElevatorRealInfoVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 维保状态
     */
    private Integer maintenanceState;

    /**
     * 在线状态;1：在线  0：不在线
     */
    private Integer onlineState;

    /**
     * 故障上报状态
     */
    private Integer faultReportState;

    /**
     * 行梯状态0：停梯，上电后静止状态搜索成功；17：上行；18:下行;
     * 33：上行到停梯；34：下行到停梯；255：未知状态
     */
    private Integer runState;

    /**
     * 门开关状态0：开门到位；1：关门到位;2：开门过程中;3：关门过程中;255：未知状态，轿门状态未校准;
     */
    private Integer doorState;

    /**
     * 楼层
     */
    private String floor;

    /**
     * 当前实时速度，单位：cm/s
     */
    private BigDecimal speed;

    /**
     * 1：故障消息11：实时数据
     */
    private Integer type;

    /**
     * 平层状态0：非平层；1：平层；255未知状态
     */
    private Integer levelStatus;

    /**
     * 前后振幅
     */
    private BigDecimal frontAndRearAmplitude;

    /**
     * 左右振幅
     */
    private BigDecimal leftAndRightAmplitude;

    /**
     * 冲顶/下蹲状态
     */
    private Integer headUpSquattingState;

    /**
     * 当次运行距离，单位：cm
     */
    private BigDecimal currRunDis;

    /**
     * 上行运行距离，单位：cm
     */
    private BigDecimal upRunDis;

    /**
     * 下行运行距离，单位：cm
     */
    private BigDecimal downRunDis;
}
