package com.xzzn.ems.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
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_site_setting
 *
 * @author xzzn
 * @date 2025-06-29
 */
public class EmsSiteSetting extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键 */
    private Long id;

    /** 站点名称 */
    @Excel(name = "站点名称")
    private String siteName;

    /** 站点简称 */
    @Excel(name = "站点简称")
    private String siteShortName;

    /** 站点地址 */
    @Excel(name = "站点地址")
    private String siteAddress;

    /** 运营时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "运营时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date runningTime;

    /** 纬度 */
    @Excel(name = "纬度")
    private BigDecimal latitude;

    /** 经度 */
    @Excel(name = "经度")
    private BigDecimal longitude;

    /** 装机容量 */
    @Excel(name = "装机容量")
    private BigDecimal installCapacity;

    /** 装机功率 */
    @Excel(name = "装机功率")
    private BigDecimal installPower;

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

    /** 授权状态：true-已授权，false-未授权 */
    private Boolean authorized;

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

    public Long getId()
    {
        return id;
    }

    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }

    public void setSiteShortName(String siteShortName)
    {
        this.siteShortName = siteShortName;
    }

    public String getSiteShortName()
    {
        return siteShortName;
    }

    public void setSiteAddress(String siteAddress)
    {
        this.siteAddress = siteAddress;
    }

    public String getSiteAddress()
    {
        return siteAddress;
    }

    public void setRunningTime(Date runningTime)
    {
        this.runningTime = runningTime;
    }

    public Date getRunningTime()
    {
        return runningTime;
    }

    public void setLatitude(BigDecimal latitude)
    {
        this.latitude = latitude;
    }

    public BigDecimal getLatitude()
    {
        return latitude;
    }

    public void setLongitude(BigDecimal longitude)
    {
        this.longitude = longitude;
    }

    public BigDecimal getLongitude()
    {
        return longitude;
    }

    public void setInstallCapacity(BigDecimal installCapacity)
    {
        this.installCapacity = installCapacity;
    }

    public BigDecimal getInstallCapacity()
    {
        return installCapacity;
    }

    public void setInstallPower(BigDecimal installPower)
    {
        this.installPower = installPower;
    }

    public BigDecimal getInstallPower()
    {
        return installPower;
    }

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

    public String getSiteId()
    {
        return siteId;
    }

    public void setAuthorized(Boolean authorized)
    {
        this.authorized = authorized;
    }

    public Boolean getAuthorized()
    {
        return authorized;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("siteName", getSiteName())
                .append("siteShortName", getSiteShortName())
                .append("siteAddress", getSiteAddress())
                .append("runningTime", getRunningTime())
                .append("latitude", getLatitude())
                .append("longitude", getLongitude())
                .append("installCapacity", getInstallCapacity())
                .append("installPower", getInstallPower())
                .append("remark", getRemark())
                .append("createBy", getCreateBy())
                .append("updateBy", getUpdateBy())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("siteId", getSiteId())
                .append("authorized", getAuthorized())
                .toString();
    }
}
