package com.xzzn.ems.domain;

import com.xzzn.common.annotation.Excel;
import com.xzzn.common.core.domain.BaseEntity;

import java.math.BigDecimal;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * PCS设备配置对象 ems_pcs_setting
 * 
 * @author xzzn
 * @date 2025-12-29
 */
public class EmsPcsSetting extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID，主键自增长 */
    private Long id;

    /** 设备配置关联ID */
    @Excel(name = "设备配置关联ID")
    private Long deviceSettingId;

    /** 开关机地址 */
    @Excel(name = "开关机地址")
    private String pointAddress;

    /** 功率地址 */
    @Excel(name = "功率地址")
    private String powerAddress;

    /** 开机指令 */
    @Excel(name = "开机指令")
    private String startCommand;

    /** 关机指令 */
    @Excel(name = "关机指令")
    private String stopCommand;

    /** 开机目标功率 */
    @Excel(name = "开机目标功率")
    private BigDecimal startPower;

    /** 关机目标功率 */
    @Excel(name = "关机目标功率")
    private BigDecimal stopPower;

    /** 目标功率倍率 */
    @Excel(name = "目标功率倍率")
    private BigDecimal powerMultiplier;

    /** 电池簇数 */
    @Excel(name = "电池簇数")
    private Integer clusterNum;

    /** 电池簇地址 */
    @Excel(name = "电池簇地址")
    private String clusterPointAddress;

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

    public Long getId() 
    {
        return id;
    }

    public void setDeviceSettingId(Long deviceSettingId) 
    {
        this.deviceSettingId = deviceSettingId;
    }

    public Long getDeviceSettingId() 
    {
        return deviceSettingId;
    }

    public String getPowerAddress() {
        return powerAddress;
    }

    public void setPowerAddress(String powerAddress) {
        this.powerAddress = powerAddress;
    }

    public void setPointAddress(String pointAddress)
    {
        this.pointAddress = pointAddress;
    }

    public String getPointAddress() 
    {
        return pointAddress;
    }

    public void setStartCommand(String startCommand) 
    {
        this.startCommand = startCommand;
    }

    public String getStartCommand() 
    {
        return startCommand;
    }

    public void setStopCommand(String stopCommand) 
    {
        this.stopCommand = stopCommand;
    }

    public String getStopCommand() 
    {
        return stopCommand;
    }

    public void setStartPower(BigDecimal startPower) 
    {
        this.startPower = startPower;
    }

    public BigDecimal getStartPower() 
    {
        return startPower;
    }

    public void setStopPower(BigDecimal stopPower) 
    {
        this.stopPower = stopPower;
    }

    public BigDecimal getStopPower() 
    {
        return stopPower;
    }

    public BigDecimal getPowerMultiplier()
    {
        return powerMultiplier;
    }

    public void setPowerMultiplier(BigDecimal powerMultiplier)
    {
        this.powerMultiplier = powerMultiplier;
    }

    public void setClusterNum(Integer clusterNum)
    {
        this.clusterNum = clusterNum;
    }

    public Integer getClusterNum()
    {
        return clusterNum;
    }

    public void setClusterPointAddress(String clusterPointAddress) 
    {
        this.clusterPointAddress = clusterPointAddress;
    }

    public String getClusterPointAddress() 
    {
        return clusterPointAddress;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("deviceSettingId", getDeviceSettingId())
            .append("pointAddress", getPointAddress())
            .append("startCommand", getStartCommand())
            .append("stopCommand", getStopCommand())
            .append("startPower", getStartPower())
            .append("stopPower", getStopPower())
            .append("powerMultiplier", getPowerMultiplier())
            .append("clusterNum", getClusterNum())
            .append("clusterPointAddress", getClusterPointAddress())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
