PeakData.java 5.93 KB
package com.bsth.entity;

import com.bsth.socket.protocol.Message0206;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import org.springframework.beans.BeanUtils;

/**
 * @author Hill
 * 极值数据
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class PeakData extends Data {

    /**
     * 最高电压电池子系统代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short maxVoltageSubSysCode;

    /**
     * 最高电压电池单体代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short maxVoltageSubCode;

    /**
     * 电池单体电压最高值 0-15000
     * 分辨率0.001v
     * 0xff 0xfe 异常
     * 0xff 0xff 无效
     */
    private short maxVoltage;

    /**
     * 最低电压电池子系统代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short minVoltageSubSysCode;

    /**
     * 最低电压电池单体代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short minVoltageSubCode;

    /**
     * 电池单体电压最低值 0-15000
     * 分辨率0.001v
     * 0xff 0xfe 异常
     * 0xff 0xff 无效
     */
    private short minVoltage;

    /**
     * 最高温度子系统代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short maxTempSubSysCode;

    /**
     * 最高温度探针代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short maxTempSensorCode;

    /**
     * 最高温度值 0-250
     * 分辨率1℃ 偏移量-40
     * 0xfe 异常
     * 0xff 无效
     */
    private short maxTemp;

    /**
     * 最低温度子系统代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short minTempSubSysCode;

    /**
     * 最低温度探针代码 1-250
     * 0xfe 异常
     * 0xff 无效
     */
    private short minTempSensorCode;

    /**
     * 最低温度值 0-250
     * 分辨率1℃ 偏移量-40
     * 0xfe 异常
     * 0xff 无效
     */
    private short minTemp;

    public PeakData() {

    }

    public PeakData(Message0206 message0206) {
        PeakData data = new PeakData();
        BeanUtils.copyProperties(data, this);
        this.maxVoltageSubSysCode &= (short) 0xFF;
        this.maxVoltageSubCode &= (short) 0xFF;
        this.minVoltageSubSysCode &= (short) 0xFF;
        this.minVoltageSubCode &= (short) 0xFF;
        this.maxTempSubSysCode &= (short) 0xFF;
        this.maxTempSensorCode &= (short) 0xFF;
        this.maxTemp -= 40;
        this.minTempSubSysCode &= (short) 0xFF;
        this.minTempSensorCode &= (short) 0xFF;
        this.minTemp -= 40;
    }

    public short getMaxVoltageSubSysCode() {
        return maxVoltageSubSysCode;
    }

    public void setMaxVoltageSubSysCode(short maxVoltageSubSysCode) {
        this.maxVoltageSubSysCode = maxVoltageSubSysCode;
    }

    public short getMaxVoltageSubCode() {
        return maxVoltageSubCode;
    }

    public void setMaxVoltageSubCode(short maxVoltageSubCode) {
        this.maxVoltageSubCode = maxVoltageSubCode;
    }

    public short getMaxVoltage() {
        return maxVoltage;
    }

    public void setMaxVoltage(short maxVoltage) {
        this.maxVoltage = maxVoltage;
    }

    public short getMinVoltageSubSysCode() {
        return minVoltageSubSysCode;
    }

    public void setMinVoltageSubSysCode(short minVoltageSubSysCode) {
        this.minVoltageSubSysCode = minVoltageSubSysCode;
    }

    public short getMinVoltageSubCode() {
        return minVoltageSubCode;
    }

    public void setMinVoltageSubCode(short minVoltageSubCode) {
        this.minVoltageSubCode = minVoltageSubCode;
    }

    public short getMinVoltage() {
        return minVoltage;
    }

    public void setMinVoltage(short minVoltage) {
        this.minVoltage = minVoltage;
    }

    public short getMaxTempSubSysCode() {
        return maxTempSubSysCode;
    }

    public void setMaxTempSubSysCode(short maxTempSubSysCode) {
        this.maxTempSubSysCode = maxTempSubSysCode;
    }

    public short getMaxTempSensorCode() {
        return maxTempSensorCode;
    }

    public void setMaxTempSensorCode(short maxTempSensorCode) {
        this.maxTempSensorCode = maxTempSensorCode;
    }

    public short getMaxTemp() {
        return maxTemp;
    }

    public void setMaxTemp(short maxTemp) {
        this.maxTemp = maxTemp;
    }

    public short getMinTempSubSysCode() {
        return minTempSubSysCode;
    }

    public void setMinTempSubSysCode(short minTempSubSysCode) {
        this.minTempSubSysCode = minTempSubSysCode;
    }

    public short getMinTempSensorCode() {
        return minTempSensorCode;
    }

    public void setMinTempSensorCode(short minTempSensorCode) {
        this.minTempSensorCode = minTempSensorCode;
    }

    public short getMinTemp() {
        return minTemp;
    }

    public void setMinTemp(short minTemp) {
        this.minTemp = minTemp;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(" 最大电压子系统编码: ").append(maxVoltageSubSysCode)
                .append(" 最大电压子单体代号: ").append(maxVoltageSubCode)
                .append(" 电池单体电压最高值: ").append(maxVoltage)
                .append(" 最低电压子系统编码: ").append(minVoltageSubSysCode)
                .append(" 最低电压子单体代号: ").append(minVoltageSubCode)
                .append(" 电池单体电压最低值: ").append(minVoltage)
                .append(" 最高温度子系统代码: ").append(maxTempSubSysCode)
                .append(" 最高温度探针代码: ").append(maxTempSensorCode)
                .append(" 最高温度值: ").append(maxTemp)
                .append(" 最低温度子系统代码: ").append(maxTempSubSysCode)
                .append(" 最低温度探针代码: ").append(maxTempSensorCode)
                .append(" 最低温度值: ").append(maxTemp);

        return sb.toString();
    }

    @Override
    public String getType() {
        return "peak_data";
    }
}