package com.hw.ems.record.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;

/**
 * 电实时数据对象 record_dnb_instant
 *
 * @author YinQ
 * @date 2023-04-07
 */
public class RecordDnbInstant extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long objid;

    /** 计量设备编号 */
    @Excel(name = "计量设备编号")
    private String monitorId;

    /** 计量设备名称 */
    @Excel(name = "计量设备名称")
    private String monitorName;

    /** 计量设备地址 */
//    @Excel(name = "计量设备地址")
    private String address;

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

    /** A项电压 */
    @Excel(name = "A项电压")
    private BigDecimal vA;

    /** B项电压 */
    @Excel(name = "B项电压")
    private BigDecimal vB;

    /** C项电压 */
    @Excel(name = "C项电压")
    private BigDecimal vC;

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

    /** B项电流 */
    @Excel(name = "B项电流")
    private BigDecimal iB;

    /** C项电流 */
    @Excel(name = "C项电流")
    private BigDecimal iC;

    /** 记录时间 */
    private Date recordTime;

    /** 功率因数 */
    @Excel(name = "功率因数")
    private BigDecimal glys;

    /** 正向有功 */
    @Excel(name = "正向有功")
    private BigDecimal zxyg;

    /** 有功功率 */
    @Excel(name = "有功功率")
    private BigDecimal activePower;

    /** 无功功率 */
    @Excel(name = "无功功率")
    private BigDecimal reactivePower;

    /** 电耗量 */
//    @Excel(name = "电耗量")
    private BigDecimal consumption;

    /** 采集方式 */
    @Excel(name = "采集方式", dictType="collect_type")
    private Long collectType;

    /** 权限标识（部门） */
//    @Excel(name = "权限标识", readConverterExp = "部=门")
    private Long deptId;

    /** 权限标识（用户） */
//    @Excel(name = "权限标识", readConverterExp = "用=户")
    private Long userId;


    /**
     * 查询子集
     */
    private String monitorSubset;

    /**
     * 在线状态
     */
    private Integer onlineState;

    private String startTime;
    private String endTime;

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public Integer getOnlineState() {
        return onlineState;
    }

    public void setOnlineState(Integer onlineState) {
        this.onlineState = onlineState;
    }

    public String getMonitorSubset() {
        return monitorSubset;
    }

    public void setMonitorSubset(String monitorSubset) {
        this.monitorSubset = monitorSubset;
    }

    public String getMonitorName() {
        return monitorName;
    }

    public void setMonitorName(String monitorName) {
        this.monitorName = monitorName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

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

    public Long getObjid()
    {
        return objid;
    }
    public void setMonitorId(String monitorId)
    {
        this.monitorId = monitorId;
    }

    public String getMonitorId()
    {
        return monitorId;
    }
    public void setCollectTime(Date collectTime)
    {
        this.collectTime = collectTime;
    }

    public Date getCollectTime()
    {
        return collectTime;
    }
    public void setVA(BigDecimal vA)
    {
        this.vA = vA;
    }

    public BigDecimal getVA()
    {
        return vA;
    }
    public void setVB(BigDecimal vB)
    {
        this.vB = vB;
    }

    public BigDecimal getVB()
    {
        return vB;
    }
    public void setVC(BigDecimal vC)
    {
        this.vC = vC;
    }

    public BigDecimal getVC()
    {
        return vC;
    }
    public void setIA(BigDecimal iA)
    {
        this.iA = iA;
    }

    public BigDecimal getIA()
    {
        return iA;
    }
    public void setIB(BigDecimal iB)
    {
        this.iB = iB;
    }

    public BigDecimal getIB()
    {
        return iB;
    }
    public void setIC(BigDecimal iC)
    {
        this.iC = iC;
    }

    public BigDecimal getIC()
    {
        return iC;
    }
    public void setRecordTime(Date recordTime)
    {
        this.recordTime = recordTime;
    }

    public Date getRecordTime()
    {
        return recordTime;
    }
    public void setGlys(BigDecimal glys)
    {
        this.glys = glys;
    }

    public BigDecimal getGlys()
    {
        return glys;
    }
    public void setZxyg(BigDecimal zxyg)
    {
        this.zxyg = zxyg;
    }

    public BigDecimal getZxyg()
    {
        return zxyg;
    }
    public void setActivePower(BigDecimal activePower)
    {
        this.activePower = activePower;
    }

    public BigDecimal getActivePower()
    {
        return activePower;
    }
    public void setReactivePower(BigDecimal reactivePower)
    {
        this.reactivePower = reactivePower;
    }

    public BigDecimal getReactivePower()
    {
        return reactivePower;
    }
    public void setConsumption(BigDecimal consumption)
    {
        this.consumption = consumption;
    }

    public BigDecimal getConsumption()
    {
        return consumption;
    }
    public void setCollectType(Long collectType)
    {
        this.collectType = collectType;
    }

    public Long getCollectType()
    {
        return collectType;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objid", getObjid())
            .append("monitorId", getMonitorId())
            .append("collectTime", getCollectTime())
            .append("vA", getVA())
            .append("vB", getVB())
            .append("vC", getVC())
            .append("iA", getIA())
            .append("iB", getIB())
            .append("iC", getIC())
            .append("recordTime", getRecordTime())
            .append("glys", getGlys())
            .append("zxyg", getZxyg())
            .append("activePower", getActivePower())
            .append("reactivePower", getReactivePower())
            .append("consumption", getConsumption())
            .append("collectType", getCollectType())
            .append("deptId", getDeptId())
            .append("userId", getUserId())
            .toString();
    }
}
