package com.xzzn.ems.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xzzn.common.annotation.Excel;
import com.xzzn.common.core.domain.BaseEntity;

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

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

/**
 * PCS数据对象 ems_pcs_data
 *
 * @author xzzn
 * @date 2025-09-25
 */
public class EmsPcsData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

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

    /** 工作状态：0-运行 1-停机 2-故障 */
    @Excel(name = "工作状态：0-运行 1-停机 2-故障")
    private String workStatus;

    /** 并网状态：0-并网 1-未并网 */
    @Excel(name = "并网状态：0-并网 1-未并网")
    private String gridStatus;

    /** 设备运行状态：0-离线、1-在线 */
    @Excel(name = "设备运行状态：0-离线、1-在线")
    private String deviceStatus;

    /** 控制模式：0-远程 1-本地 */
    @Excel(name = "控制模式：0-远程 1-本地")
    private String controlMode;

    /** 总交流有功电率 (kW) */
    @Excel(name = "总交流有功电率 (kW)")
    private BigDecimal totalActivePower;

    /** 当天交流充电量 (kWh) */
    @Excel(name = "当天交流充电量 (kWh)")
    private BigDecimal dailyAcChargeEnergy;

    /** A相电压 (V) */
    @Excel(name = "A相电压 (V)")
    private BigDecimal aPhaseVoltage;

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

    /** 总交流无功电率 (kVar) */
    @Excel(name = "总交流无功电率 (kVar)")
    private BigDecimal totalReactivePower;

    /** 当天交流放电量 (kWh) */
    @Excel(name = "当天交流放电量 (kWh)")
    private BigDecimal dailyAcDischargeEnergy;

    /** B相电压 (V) */
    @Excel(name = "B相电压 (V)")
    private BigDecimal bPhaseVoltage;

    /** B相电流 (A) */
    @Excel(name = "B相电流 (A)")
    private BigDecimal bPhaseCurrent;

    /** 总交流视在功率 (kVA) */
    @Excel(name = "总交流视在功率 (kVA)")
    private BigDecimal totalApparentPower;

    /** PCS模块温度 (℃) */
    @Excel(name = "PCS模块温度 (℃)")
    private BigDecimal pcsModuleTemperature;

    /** C相电压 (V) */
    @Excel(name = "C相电压 (V)")
    private BigDecimal cPhaseVoltage;

    /** C相电流 (A) */
    @Excel(name = "C相电流 (A)")
    private BigDecimal cPhaseCurrent;

    /** 总交流功率因数 */
    @Excel(name = "总交流功率因数")
    private BigDecimal totalPowerFactor;

    /** PCS环境温度 (℃) */
    @Excel(name = "PCS环境温度 (℃)")
    private BigDecimal pcsEnvironmentTemperature;

    /** 交流频率 (Hz) */
    @Excel(name = "交流频率 (Hz)")
    private BigDecimal acFrequency;

    /** 支路状态：0-备用 1-正常 2-切换中 */
    @Excel(name = "支路状态：0-备用 1-正常 2-切换中")
    private String branchStatus;

    /** 放电状态：0-充电中 1-待机 */
    @Excel(name = "放电状态：0-充电中 1-待机")
    private String dischargeStatus;

    /** 直流功率 (kW) */
    @Excel(name = "直流功率 (kW)")
    private BigDecimal dcPower;

    /** 直流电压 (V) */
    @Excel(name = "直流电压 (V)")
    private BigDecimal dcVoltage;

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

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

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

    /** 月 */
    @Excel(name = "月")
    private Long dateMonth;

    /** 日 */
    @Excel(name = "日")
    private Long dateDay;

    /** 总交流充电量 (kWh) */
    @Excel(name = "总交流充电量 (kWh)")
    private BigDecimal totalAcChargeEnergy;

    /** 总交流放电量 (kWh) */
    @Excel(name = "总交流放电量 (kWh)")
    private BigDecimal totalAcDischargeEnergy;

    /** 交流侧充电有功功率 */
    @Excel(name = "交流侧充电有功功率")
    private BigDecimal acChargeActivePower;

    /** 交流侧容性无功功率 */
    @Excel(name = "交流侧容性无功功率")
    private BigDecimal acCapacitiveReactivePower;

    /** 交流侧放电有功功率 */
    @Excel(name = "交流侧放电有功功率")
    private BigDecimal acDischargeActivePower;

    /** 交流侧感性无功功率 */
    @Excel(name = "交流侧感性无功功率")
    private BigDecimal acInductiveReactivePower;

    /** 最大容性无功能力 */
    @Excel(name = "最大容性无功能力")
    private BigDecimal maxCapacitivePowerCapacity;

    /** 最大感性无功能力 */
    @Excel(name = "最大感性无功能力")
    private BigDecimal maxInductivePowerCapacity;

    /** 最大可冲功率 */
    @Excel(name = "最大可冲功率")
    private BigDecimal maxChargePowerCapacity;

    /** 最大可放功率 */
    @Excel(name = "最大可放功率")
    private BigDecimal maxDischargePowerCapacity;

    /** 交流开关状态 */
    @Excel(name = "交流开关状态")
    private String acSwitchStatus;

    /** 直流开关状态 */
    @Excel(name = "直流开关状态")
    private String dcSwitchStatus;

    /** 远程投退状态 */
    @Excel(name = "远程投退状态")
    private String remoteControlStatus;

    /** 系统输出U相电流 */
    @Excel(name = "系统输出U相电流")
    private BigDecimal sysUCurrent;

    /** 系统输出V相电流 */
    @Excel(name = "系统输出V相电流")
    private BigDecimal sysVCurrent;

    /** 系统输出W相电流 */
    @Excel(name = "系统输出W相电流")
    private BigDecimal sysWCurrent;

    /** 电网频率 */
    @Excel(name = "电网频率")
    private BigDecimal dwFrequency;

    /** 单元1U相IGBT温度 */
    @Excel(name = "单元1U相IGBT温度")
    private BigDecimal uTemperature;

    /** 单元1V相IGBT温度 */
    @Excel(name = "单元1V相IGBT温度")
    private BigDecimal vTemperature;

    /** 单元1W相IGBT温度 */
    @Excel(name = "单元1W相IGBT温度")
    private BigDecimal wTemperature;

    /** 1#模块IGBT最高温 */
    @Excel(name = "1#模块IGBT最高温")
    private BigDecimal module1Temp;

    /** 2#模块IGBT最高温 */
    @Excel(name = "2#模块IGBT最高温")
    private BigDecimal module2Temp;

    /** 3#模块IGBT最高温 */
    @Excel(name = "3#模块IGBT最高温")
    private BigDecimal module3Temp;

    /** 4#模块IGBT最高温 */
    @Excel(name = "4#模块IGBT最高温")
    private BigDecimal module4Temp;

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

    public Long getId()
    {
        return id;
    }

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

    public Date getDataUpdateTime()
    {
        return dataUpdateTime;
    }

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

    public String getWorkStatus()
    {
        return workStatus;
    }

    public void setGridStatus(String gridStatus)
    {
        this.gridStatus = gridStatus;
    }

    public String getGridStatus()
    {
        return gridStatus;
    }

    public void setDeviceStatus(String deviceStatus)
    {
        this.deviceStatus = deviceStatus;
    }

    public String getDeviceStatus()
    {
        return deviceStatus;
    }

    public void setControlMode(String controlMode)
    {
        this.controlMode = controlMode;
    }

    public String getControlMode()
    {
        return controlMode;
    }

    public void setTotalActivePower(BigDecimal totalActivePower)
    {
        this.totalActivePower = totalActivePower;
    }

    public BigDecimal getTotalActivePower()
    {
        return totalActivePower;
    }

    public void setDailyAcChargeEnergy(BigDecimal dailyAcChargeEnergy)
    {
        this.dailyAcChargeEnergy = dailyAcChargeEnergy;
    }

    public BigDecimal getDailyAcChargeEnergy()
    {
        return dailyAcChargeEnergy;
    }

    public void setaPhaseVoltage(BigDecimal aPhaseVoltage)
    {
        this.aPhaseVoltage = aPhaseVoltage;
    }

    public BigDecimal getaPhaseVoltage()
    {
        return aPhaseVoltage;
    }

    public void setaPhaseCurrent(BigDecimal aPhaseCurrent)
    {
        this.aPhaseCurrent = aPhaseCurrent;
    }

    public BigDecimal getaPhaseCurrent()
    {
        return aPhaseCurrent;
    }

    public void setTotalReactivePower(BigDecimal totalReactivePower)
    {
        this.totalReactivePower = totalReactivePower;
    }

    public BigDecimal getTotalReactivePower()
    {
        return totalReactivePower;
    }

    public void setDailyAcDischargeEnergy(BigDecimal dailyAcDischargeEnergy)
    {
        this.dailyAcDischargeEnergy = dailyAcDischargeEnergy;
    }

    public BigDecimal getDailyAcDischargeEnergy()
    {
        return dailyAcDischargeEnergy;
    }

    public void setbPhaseVoltage(BigDecimal bPhaseVoltage)
    {
        this.bPhaseVoltage = bPhaseVoltage;
    }

    public BigDecimal getbPhaseVoltage()
    {
        return bPhaseVoltage;
    }

    public void setbPhaseCurrent(BigDecimal bPhaseCurrent)
    {
        this.bPhaseCurrent = bPhaseCurrent;
    }

    public BigDecimal getbPhaseCurrent()
    {
        return bPhaseCurrent;
    }

    public void setTotalApparentPower(BigDecimal totalApparentPower)
    {
        this.totalApparentPower = totalApparentPower;
    }

    public BigDecimal getTotalApparentPower()
    {
        return totalApparentPower;
    }

    public void setPcsModuleTemperature(BigDecimal pcsModuleTemperature)
    {
        this.pcsModuleTemperature = pcsModuleTemperature;
    }

    public BigDecimal getPcsModuleTemperature()
    {
        return pcsModuleTemperature;
    }

    public void setcPhaseVoltage(BigDecimal cPhaseVoltage)
    {
        this.cPhaseVoltage = cPhaseVoltage;
    }

    public BigDecimal getcPhaseVoltage()
    {
        return cPhaseVoltage;
    }

    public void setcPhaseCurrent(BigDecimal cPhaseCurrent)
    {
        this.cPhaseCurrent = cPhaseCurrent;
    }

    public BigDecimal getcPhaseCurrent()
    {
        return cPhaseCurrent;
    }

    public void setTotalPowerFactor(BigDecimal totalPowerFactor)
    {
        this.totalPowerFactor = totalPowerFactor;
    }

    public BigDecimal getTotalPowerFactor()
    {
        return totalPowerFactor;
    }

    public void setPcsEnvironmentTemperature(BigDecimal pcsEnvironmentTemperature)
    {
        this.pcsEnvironmentTemperature = pcsEnvironmentTemperature;
    }

    public BigDecimal getPcsEnvironmentTemperature()
    {
        return pcsEnvironmentTemperature;
    }

    public void setAcFrequency(BigDecimal acFrequency)
    {
        this.acFrequency = acFrequency;
    }

    public BigDecimal getAcFrequency()
    {
        return acFrequency;
    }

    public void setBranchStatus(String branchStatus)
    {
        this.branchStatus = branchStatus;
    }

    public String getBranchStatus()
    {
        return branchStatus;
    }

    public void setDischargeStatus(String dischargeStatus)
    {
        this.dischargeStatus = dischargeStatus;
    }

    public String getDischargeStatus()
    {
        return dischargeStatus;
    }

    public void setDcPower(BigDecimal dcPower)
    {
        this.dcPower = dcPower;
    }

    public BigDecimal getDcPower()
    {
        return dcPower;
    }

    public void setDcVoltage(BigDecimal dcVoltage)
    {
        this.dcVoltage = dcVoltage;
    }

    public BigDecimal getDcVoltage()
    {
        return dcVoltage;
    }

    public void setDcCurrent(BigDecimal dcCurrent)
    {
        this.dcCurrent = dcCurrent;
    }

    public BigDecimal getDcCurrent()
    {
        return dcCurrent;
    }

    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;
    }

    public void setDateMonth(Long dateMonth)
    {
        this.dateMonth = dateMonth;
    }

    public Long getDateMonth()
    {
        return dateMonth;
    }

    public void setDateDay(Long dateDay)
    {
        this.dateDay = dateDay;
    }

    public Long getDateDay()
    {
        return dateDay;
    }

    public void setTotalAcChargeEnergy(BigDecimal totalAcChargeEnergy)
    {
        this.totalAcChargeEnergy = totalAcChargeEnergy;
    }

    public BigDecimal getTotalAcChargeEnergy()
    {
        return totalAcChargeEnergy;
    }

    public void setTotalAcDischargeEnergy(BigDecimal totalAcDischargeEnergy)
    {
        this.totalAcDischargeEnergy = totalAcDischargeEnergy;
    }

    public BigDecimal getTotalAcDischargeEnergy()
    {
        return totalAcDischargeEnergy;
    }

    public void setAcChargeActivePower(BigDecimal acChargeActivePower)
    {
        this.acChargeActivePower = acChargeActivePower;
    }

    public BigDecimal getAcChargeActivePower()
    {
        return acChargeActivePower;
    }

    public void setAcCapacitiveReactivePower(BigDecimal acCapacitiveReactivePower)
    {
        this.acCapacitiveReactivePower = acCapacitiveReactivePower;
    }

    public BigDecimal getAcCapacitiveReactivePower()
    {
        return acCapacitiveReactivePower;
    }

    public void setAcDischargeActivePower(BigDecimal acDischargeActivePower)
    {
        this.acDischargeActivePower = acDischargeActivePower;
    }

    public BigDecimal getAcDischargeActivePower()
    {
        return acDischargeActivePower;
    }

    public void setAcInductiveReactivePower(BigDecimal acInductiveReactivePower)
    {
        this.acInductiveReactivePower = acInductiveReactivePower;
    }

    public BigDecimal getAcInductiveReactivePower()
    {
        return acInductiveReactivePower;
    }

    public void setMaxCapacitivePowerCapacity(BigDecimal maxCapacitivePowerCapacity)
    {
        this.maxCapacitivePowerCapacity = maxCapacitivePowerCapacity;
    }

    public BigDecimal getMaxCapacitivePowerCapacity()
    {
        return maxCapacitivePowerCapacity;
    }

    public void setMaxInductivePowerCapacity(BigDecimal maxInductivePowerCapacity)
    {
        this.maxInductivePowerCapacity = maxInductivePowerCapacity;
    }

    public BigDecimal getMaxInductivePowerCapacity()
    {
        return maxInductivePowerCapacity;
    }

    public void setMaxChargePowerCapacity(BigDecimal maxChargePowerCapacity)
    {
        this.maxChargePowerCapacity = maxChargePowerCapacity;
    }

    public BigDecimal getMaxChargePowerCapacity()
    {
        return maxChargePowerCapacity;
    }

    public void setMaxDischargePowerCapacity(BigDecimal maxDischargePowerCapacity)
    {
        this.maxDischargePowerCapacity = maxDischargePowerCapacity;
    }

    public BigDecimal getMaxDischargePowerCapacity()
    {
        return maxDischargePowerCapacity;
    }

    public void setAcSwitchStatus(String acSwitchStatus)
    {
        this.acSwitchStatus = acSwitchStatus;
    }

    public String getAcSwitchStatus()
    {
        return acSwitchStatus;
    }

    public void setDcSwitchStatus(String dcSwitchStatus)
    {
        this.dcSwitchStatus = dcSwitchStatus;
    }

    public String getDcSwitchStatus()
    {
        return dcSwitchStatus;
    }

    public void setRemoteControlStatus(String remoteControlStatus)
    {
        this.remoteControlStatus = remoteControlStatus;
    }

    public String getRemoteControlStatus()
    {
        return remoteControlStatus;
    }

    public void setSysUCurrent(BigDecimal sysUCurrent)
    {
        this.sysUCurrent = sysUCurrent;
    }

    public BigDecimal getSysUCurrent()
    {
        return sysUCurrent;
    }

    public void setSysVCurrent(BigDecimal sysVCurrent)
    {
        this.sysVCurrent = sysVCurrent;
    }

    public BigDecimal getSysVCurrent()
    {
        return sysVCurrent;
    }

    public void setSysWCurrent(BigDecimal sysWCurrent)
    {
        this.sysWCurrent = sysWCurrent;
    }

    public BigDecimal getSysWCurrent()
    {
        return sysWCurrent;
    }

    public void setDwFrequency(BigDecimal dwFrequency)
    {
        this.dwFrequency = dwFrequency;
    }

    public BigDecimal getDwFrequency()
    {
        return dwFrequency;
    }

    public void setuTemperature(BigDecimal uTemperature)
    {
        this.uTemperature = uTemperature;
    }

    public BigDecimal getuTemperature()
    {
        return uTemperature;
    }

    public void setvTemperature(BigDecimal vTemperature)
    {
        this.vTemperature = vTemperature;
    }

    public BigDecimal getvTemperature()
    {
        return vTemperature;
    }

    public void setwTemperature(BigDecimal wTemperature)
    {
        this.wTemperature = wTemperature;
    }

    public BigDecimal getwTemperature()
    {
        return wTemperature;
    }

    public void setModule1Temp(BigDecimal module1Temp)
    {
        this.module1Temp = module1Temp;
    }

    public BigDecimal getModule1Temp()
    {
        return module1Temp;
    }

    public void setModule2Temp(BigDecimal module2Temp)
    {
        this.module2Temp = module2Temp;
    }

    public BigDecimal getModule2Temp()
    {
        return module2Temp;
    }

    public void setModule3Temp(BigDecimal module3Temp)
    {
        this.module3Temp = module3Temp;
    }

    public BigDecimal getModule3Temp()
    {
        return module3Temp;
    }

    public void setModule4Temp(BigDecimal module4Temp)
    {
        this.module4Temp = module4Temp;
    }

    public BigDecimal getModule4Temp()
    {
        return module4Temp;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("dataUpdateTime", getDataUpdateTime())
                .append("workStatus", getWorkStatus())
                .append("gridStatus", getGridStatus())
                .append("deviceStatus", getDeviceStatus())
                .append("controlMode", getControlMode())
                .append("totalActivePower", getTotalActivePower())
                .append("dailyAcChargeEnergy", getDailyAcChargeEnergy())
                .append("aPhaseVoltage", getaPhaseVoltage())
                .append("aPhaseCurrent", getaPhaseCurrent())
                .append("totalReactivePower", getTotalReactivePower())
                .append("dailyAcDischargeEnergy", getDailyAcDischargeEnergy())
                .append("bPhaseVoltage", getbPhaseVoltage())
                .append("bPhaseCurrent", getbPhaseCurrent())
                .append("totalApparentPower", getTotalApparentPower())
                .append("pcsModuleTemperature", getPcsModuleTemperature())
                .append("cPhaseVoltage", getcPhaseVoltage())
                .append("cPhaseCurrent", getcPhaseCurrent())
                .append("totalPowerFactor", getTotalPowerFactor())
                .append("pcsEnvironmentTemperature", getPcsEnvironmentTemperature())
                .append("acFrequency", getAcFrequency())
                .append("branchStatus", getBranchStatus())
                .append("dischargeStatus", getDischargeStatus())
                .append("dcPower", getDcPower())
                .append("dcVoltage", getDcVoltage())
                .append("dcCurrent", getDcCurrent())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .append("siteId", getSiteId())
                .append("deviceId", getDeviceId())
                .append("dateMonth", getDateMonth())
                .append("dateDay", getDateDay())
                .append("totalAcChargeEnergy", getTotalAcChargeEnergy())
                .append("totalAcDischargeEnergy", getTotalAcDischargeEnergy())
                .append("acChargeActivePower", getAcChargeActivePower())
                .append("acCapacitiveReactivePower", getAcCapacitiveReactivePower())
                .append("acDischargeActivePower", getAcDischargeActivePower())
                .append("acInductiveReactivePower", getAcInductiveReactivePower())
                .append("maxCapacitivePowerCapacity", getMaxCapacitivePowerCapacity())
                .append("maxInductivePowerCapacity", getMaxInductivePowerCapacity())
                .append("maxChargePowerCapacity", getMaxChargePowerCapacity())
                .append("maxDischargePowerCapacity", getMaxDischargePowerCapacity())
                .append("acSwitchStatus", getAcSwitchStatus())
                .append("dcSwitchStatus", getDcSwitchStatus())
                .append("remoteControlStatus", getRemoteControlStatus())
                .append("sysUCurrent", getSysUCurrent())
                .append("sysVCurrent", getSysVCurrent())
                .append("sysWCurrent", getSysWCurrent())
                .append("dwFrequency", getDwFrequency())
                .append("uTemperature", getuTemperature())
                .append("vTemperature", getvTemperature())
                .append("wTemperature", getwTemperature())
                .append("module1Temp", getModule1Temp())
                .append("module2Temp", getModule2Temp())
                .append("module3Temp", getModule3Temp())
                .append("module4Temp", getModule4Temp())
                .toString();
    }
}
