package com.xzzn.ems.domain;

import java.math.BigDecimal;

import com.xzzn.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xzzn.common.annotation.Excel;

/**
 * 电池组数据对象 ems_battery_group
 *
 * @author xzzn
 * @date 2025-07-29
 */
public class EmsBatteryGroup extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 电池组状态 */
    @Excel(name = "电池组状态")
    private String status;

    /** 电压 (V) */
    @Excel(name = "电压 (V)")
    private BigDecimal voltage;

    /** 电流 (A) */
    @Excel(name = "电流 (A)")
    private BigDecimal current;

    /** SOC (%) */
    @Excel(name = "SOC (%)")
    private BigDecimal soc;

    /** SOH (%) */
    @Excel(name = "SOH (%)")
    private BigDecimal soh;

    /** 备电预估时长 */
    @Excel(name = "备电预估时长")
    private BigDecimal estimatedBackupDuration;

    /** 站点id */
    @Excel(name = "站点id")
    private String siteId;

    /** 设备唯一标识符 */
    @Excel(name = "设备唯一标识符")
    private String deviceId;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setVoltage(BigDecimal voltage)
    {
        this.voltage = voltage;
    }

    public BigDecimal getVoltage()
    {
        return voltage;
    }

    public void setCurrent(BigDecimal current)
    {
        this.current = current;
    }

    public BigDecimal getCurrent()
    {
        return current;
    }

    public void setSoc(BigDecimal soc)
    {
        this.soc = soc;
    }

    public BigDecimal getSoc()
    {
        return soc;
    }

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

    public BigDecimal getSoh()
    {
        return soh;
    }

    public void setEstimatedBackupDuration(BigDecimal estimatedBackupDuration)
    {
        this.estimatedBackupDuration = estimatedBackupDuration;
    }

    public BigDecimal getEstimatedBackupDuration()
    {
        return estimatedBackupDuration;
    }

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

    public String getSiteId()
    {
        return siteId;
    }

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

    public String getDeviceId()
    {
        return deviceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("status", getStatus())
                .append("voltage", getVoltage())
                .append("current", getCurrent())
                .append("soc", getSoc())
                .append("soh", getSoh())
                .append("estimatedBackupDuration", getEstimatedBackupDuration())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("siteId", getSiteId())
                .append("deviceId", getDeviceId())
                .toString();
    }
}
