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 BMSOverViewVo {

    /** 设备名称 */
    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 stackVoltage;

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

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

    /** 电池堆总电流 (A) */
    private BigDecimal stackCurrent;

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

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

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

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

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

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

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

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

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

    private List<BMSBatteryDataList> 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 getStackVoltage() {
        return stackVoltage;
    }

    public void setStackVoltage(BigDecimal stackVoltage) {
        this.stackVoltage = stackVoltage;
    }

    public BigDecimal getAvailableChargeCapacity() {
        return availableChargeCapacity;
    }

    public void setAvailableChargeCapacity(BigDecimal availableChargeCapacity) {
        this.availableChargeCapacity = availableChargeCapacity;
    }

    public BigDecimal getTotalChargeCapacity() {
        return totalChargeCapacity;
    }

    public void setTotalChargeCapacity(BigDecimal totalChargeCapacity) {
        this.totalChargeCapacity = totalChargeCapacity;
    }

    public BigDecimal getStackCurrent() {
        return stackCurrent;
    }

    public void setStackCurrent(BigDecimal stackCurrent) {
        this.stackCurrent = stackCurrent;
    }

    public BigDecimal getAvailableDischargeCapacity() {
        return availableDischargeCapacity;
    }

    public void setAvailableDischargeCapacity(BigDecimal availableDischargeCapacity) {
        this.availableDischargeCapacity = availableDischargeCapacity;
    }

    public BigDecimal getTotalDischargeCapacity() {
        return totalDischargeCapacity;
    }

    public void setTotalDischargeCapacity(BigDecimal totalDischargeCapacity) {
        this.totalDischargeCapacity = totalDischargeCapacity;
    }

    public BigDecimal getStackSoh() {
        return stackSoh;
    }

    public void setStackSoh(BigDecimal stackSoh) {
        this.stackSoh = stackSoh;
    }

    public BigDecimal getOperatingTemp() {
        return operatingTemp;
    }

    public void setOperatingTemp(BigDecimal operatingTemp) {
        this.operatingTemp = operatingTemp;
    }

    public BigDecimal getStackInsulationResistance() {
        return stackInsulationResistance;
    }

    public void setStackInsulationResistance(BigDecimal stackInsulationResistance) {
        this.stackInsulationResistance = stackInsulationResistance;
    }

    public BigDecimal getStackSoc() {
        return stackSoc;
    }

    public void setStackSoc(BigDecimal stackSoc) {
        this.stackSoc = stackSoc;
    }

    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 int getAlarmNum() {
        return alarmNum;
    }

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

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

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