package com.hw.ems.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hw.common.core.annotation.Excel;
import com.hw.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

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

/**
 * 公摊用户数据记录对象 base_public_user_record
 *
 * @author YinQ
 * @date 2023-06-25
 */
public class BasePublicUserRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键标识 */
    private Long objid;

    /** 公摊编号 */
    @Excel(name = "公摊编号")
    private String publicShareId;

    /** 公摊编号 */
    @Excel(name = "用户名称")
    private String publicUserName;

    /** 用户编号 */
//    @Excel(name = "用户编号")
    private Long publicUserId;

    /** 公摊表编号 */
    @Excel(name = "公摊表编号")
    private String publicMonitorIds;

    /** 公摊开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "公摊开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 公摊结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "公摊结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 分摊比例 */
    @Excel(name = "分摊比例")
    private BigDecimal allocationRatio;

    /** 公摊规则 */
    @Excel(name = "公摊规则")
    private String publicShareRule;

    /** 需公摊能耗 */
    @Excel(name = "需公摊能耗")
    private BigDecimal publicEnergyConsumption;

    /** 业主表能耗 */
    @Excel(name = "业主表能耗")
    private BigDecimal ownerEnergyConsumption;

    /** 能源类型 */
    @Excel(name = "能源类型")
    private Long energyType;

    /** 是否启用 */
    @Excel(name = "是否启用")
    private Long delStatus;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /**
     * 能耗合计
     */
    @Excel(name = "能耗合计")
    private BigDecimal sumEnergyConsumption;

    public BigDecimal getSumEnergyConsumption() {
        return sumEnergyConsumption;
    }

    public void setSumEnergyConsumption(BigDecimal sumEnergyConsumption) {
        this.sumEnergyConsumption = sumEnergyConsumption;
    }

    public String getPublicUserName() {
        return publicUserName;
    }

    public void setPublicUserName(String publicUserName) {
        this.publicUserName = publicUserName;
    }

    public String getPublicShareRule() {
        return publicShareRule;
    }

    public void setPublicShareRule(String publicShareRule) {
        this.publicShareRule = publicShareRule;
    }

    public void setObjid(Long objid)
    {
        this.objid = objid;
    }

    public Long getObjid()
    {
        return objid;
    }
    public void setPublicShareId(String publicShareId)
    {
        this.publicShareId = publicShareId;
    }

    public String getPublicShareId()
    {
        return publicShareId;
    }
    public void setPublicUserId(Long publicUserId)
    {
        this.publicUserId = publicUserId;
    }

    public Long getPublicUserId()
    {
        return publicUserId;
    }
    public void setPublicMonitorIds(String publicMonitorIds)
    {
        this.publicMonitorIds = publicMonitorIds;
    }

    public String getPublicMonitorIds()
    {
        return publicMonitorIds;
    }
    public void setStartTime(Date startTime)
    {
        this.startTime = startTime;
    }

    public Date getStartTime()
    {
        return startTime;
    }
    public void setEndTime(Date endTime)
    {
        this.endTime = endTime;
    }

    public Date getEndTime()
    {
        return endTime;
    }
    public void setAllocationRatio(BigDecimal allocationRatio)
    {
        this.allocationRatio = allocationRatio;
    }

    public BigDecimal getAllocationRatio()
    {
        return allocationRatio;
    }
    public void setPublicEnergyConsumption(BigDecimal publicEnergyConsumption)
    {
        this.publicEnergyConsumption = publicEnergyConsumption;
    }

    public BigDecimal getPublicEnergyConsumption()
    {
        return publicEnergyConsumption;
    }
    public void setOwnerEnergyConsumption(BigDecimal ownerEnergyConsumption)
    {
        this.ownerEnergyConsumption = ownerEnergyConsumption;
    }

    public BigDecimal getOwnerEnergyConsumption()
    {
        return ownerEnergyConsumption;
    }
    public void setEnergyType(Long energyType)
    {
        this.energyType = energyType;
    }

    public Long getEnergyType()
    {
        return energyType;
    }
    public void setDelStatus(Long delStatus)
    {
        this.delStatus = delStatus;
    }

    public Long getDelStatus()
    {
        return delStatus;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime)
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime()
    {
        return createdTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objid", getObjid())
            .append("publicShareId", getPublicShareId())
            .append("publicUserId", getPublicUserId())
            .append("publicMonitorIds", getPublicMonitorIds())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("allocationRatio", getAllocationRatio())
            .append("publicEnergyConsumption", getPublicEnergyConsumption())
            .append("ownerEnergyConsumption", getOwnerEnergyConsumption())
            .append("energyType", getEnergyType())
            .append("delStatus", getDelStatus())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
