package com.xzzn.ems.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;

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

/**
 * BMS电池簇数据
 *
 */
public class BMSBatteryClusterVo {

    /** 设备名称 */
    private String deviceName;

    /** 数据更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dataUpdateTime;

    /** 工作状态 */
    private String workStatus;

    /** 与PCS通信状态 */
    private String pcsCommunicationStatus;

    /** 与EMS通信状态 */
    private String emsCommunicationStatus;

    /** 簇电压 (V) */
    private BigDecimal clusterVoltage;

    /** 可充电量 (kWh) */
    private BigDecimal chargeableCapacity;

    /** 累计充电量 (kWh) */
    private BigDecimal totalChargedCapacity;

    /** 簇电流 (A) */
    private BigDecimal clusterCurrent;

    /** 可放电量 (kWh) */
    private BigDecimal dischargeableCapacity;

    /** 累计放电量 (kWh) */
    private BigDecimal totalDischargedCapacity;

    /** SOH (%) */
    private BigDecimal soh;

    /** 平均温度 (℃) */
    private BigDecimal averageTemperature;

    /** 绝缘电阻 (Ω) */
    private BigDecimal insulationResistance;

    /** 当前SOC (%) */
    private BigDecimal currentSoc;

    /** 站点id */
    private String siteId;

    /** 设备唯一标识符 */
    private String deviceId;

    /** 父类设备名称 */
    private String parentDeviceName;

    /** 报警个数 */
    private int alarmNum;

    private List<BMSBatteryClusterDataList> batteryDataList;

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public Date getDataUpdateTime() {
        return dataUpdateTime;
    }

    public void setDataUpdateTime(Date dataUpdateTime) {
        this.dataUpdateTime = dataUpdateTime;
    }

    public String getWorkStatus() {
        return workStatus;
    }

    public void setWorkStatus(String workStatus) {
        this.workStatus = workStatus;
    }

    public String getPcsCommunicationStatus() {
        return pcsCommunicationStatus;
    }

    public void setPcsCommunicationStatus(String pcsCommunicationStatus) {
        this.pcsCommunicationStatus = pcsCommunicationStatus;
    }

    public String getEmsCommunicationStatus() {
        return emsCommunicationStatus;
    }

    public void setEmsCommunicationStatus(String emsCommunicationStatus) {
        this.emsCommunicationStatus = emsCommunicationStatus;
    }

    public BigDecimal getClusterVoltage() {
        return clusterVoltage;
    }

    public void setClusterVoltage(BigDecimal clusterVoltage) {
        this.clusterVoltage = clusterVoltage;
    }

    public BigDecimal getChargeableCapacity() {
        return chargeableCapacity;
    }

    public void setChargeableCapacity(BigDecimal chargeableCapacity) {
        this.chargeableCapacity = chargeableCapacity;
    }

    public BigDecimal getTotalChargedCapacity() {
        return totalChargedCapacity;
    }

    public void setTotalChargedCapacity(BigDecimal totalChargedCapacity) {
        this.totalChargedCapacity = totalChargedCapacity;
    }

    public BigDecimal getClusterCurrent() {
        return clusterCurrent;
    }

    public void setClusterCurrent(BigDecimal clusterCurrent) {
        this.clusterCurrent = clusterCurrent;
    }

    public BigDecimal getDischargeableCapacity() {
        return dischargeableCapacity;
    }

    public void setDischargeableCapacity(BigDecimal dischargeableCapacity) {
        this.dischargeableCapacity = dischargeableCapacity;
    }

    public BigDecimal getTotalDischargedCapacity() {
        return totalDischargedCapacity;
    }

    public void setTotalDischargedCapacity(BigDecimal totalDischargedCapacity) {
        this.totalDischargedCapacity = totalDischargedCapacity;
    }

    public BigDecimal getSoh() {
        return soh;
    }

    public void setSoh(BigDecimal soh) {
        this.soh = soh;
    }

    public BigDecimal getAverageTemperature() {
        return averageTemperature;
    }

    public void setAverageTemperature(BigDecimal averageTemperature) {
        this.averageTemperature = averageTemperature;
    }

    public BigDecimal getInsulationResistance() {
        return insulationResistance;
    }

    public void setInsulationResistance(BigDecimal insulationResistance) {
        this.insulationResistance = insulationResistance;
    }

    public BigDecimal getCurrentSoc() {
        return currentSoc;
    }

    public void setCurrentSoc(BigDecimal currentSoc) {
        this.currentSoc = currentSoc;
    }

    public String getSiteId() {
        return siteId;
    }

    public void setSiteId(String siteId) {
        this.siteId = siteId;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public List<BMSBatteryClusterDataList> getBatteryDataList() {
        return batteryDataList;
    }

    public void setBatteryDataList(List<BMSBatteryClusterDataList> batteryDataList) {
        this.batteryDataList = batteryDataList;
    }

    public String getParentDeviceName() {
        return parentDeviceName;
    }

    public void setParentDeviceName(String parentDeviceName) {
        this.parentDeviceName = parentDeviceName;
    }

    public int getAlarmNum() {
        return alarmNum;
    }

    public void setAlarmNum(int alarmNum) {
        this.alarmNum = alarmNum;
    }
}
