package org.dromara.ems.base.domain;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.ArrayList;
import java.util.List;

/**
 * 计量设备信息对象 ems_base_monitor_info
 *
 * @author Yinq
 * @date 2024-05-08
 */
@ExcelIgnoreUnannotated
public class EmsBaseMonitorInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增标识 */
    private Long objId;

    /** 计量设备编号 */
    @ExcelProperty(value = "计量设备编号")
    private String monitorCode;

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

    /** 计量设备位置 */
    @ExcelProperty(value = "计量设备位置")
    private String monitorAddr;

    /** 计量设备类型 */
    @ExcelProperty(value = "能源类型")
    private Long monitorType;

    /** 计量设备状态（0启用 1停用） */
    @ExcelProperty(value = "计量设备状态")
    private Long monitorStatus;

    /** 采集设备编号F */
    @ExcelProperty(value = "采集设备编号")
    private String collectDeviceId;

    /** 等级 */
    @ExcelProperty(value = "等级")
    private Long grade;

    /** 传感器仪表 */
    @ExcelProperty(value = "传感器仪表")
    private String meterTypeId;

    /** 修正值 */
    @ExcelProperty(value = "修正值")
    private Long correctValue;

    /** PT值 */
    @ExcelProperty(value = "PT值")
    private Long pt;

    /** CT值 */
    @ExcelProperty(value = "CT值")
    private Long ct;

    /** 是否虚拟（0是 1否） */
    @ExcelProperty(value = "是否虚拟")
    private String isAmmeter;

    /** 通断复位 */
    @ExcelProperty(value = "通断复位")
    private Long isKeyMonitor;

    /** 是否断路 */
    @ExcelProperty(value = "是否断路")
    private Long isCircuit;

    /** 公摊表类型 */
    @ExcelProperty(value = "公摊表类型")
    private Long publicShareType;

    /** 表具层级 */
    @ExcelProperty(value = "表具层级")
    private Long monitorHierarchy;

    private String energyName;

    private List<EmsBaseMonitorInfo> children = new ArrayList<EmsBaseMonitorInfo>();

    private String parentName;

    private Long parentId;

    private Integer orderNum;

    private String ancestors;

    private List<Long> monitorTypeList;

    public List<Long> getMonitorTypeList() {
        return monitorTypeList;
    }

    public void setMonitorTypeList(List<Long> monitorTypeList) {
        this.monitorTypeList = monitorTypeList;
    }

    public List<EmsBaseMonitorInfo> getChildren() {
        return children;
    }

    public void setChildren(List<EmsBaseMonitorInfo> children) {
        this.children = children;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public Long getParentId() {
        return parentId;
    }

    public void setParentId(Long parentId) {
        this.parentId = parentId;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public String getAncestors() {
        return ancestors;
    }

    public void setAncestors(String ancestors) {
        this.ancestors = ancestors;
    }

    public void setObjId(Long objId)
    {
        this.objId = objId;
    }

    public Long getObjId()
    {
        return objId;
    }

    public String getMonitorCode() {
        return monitorCode;
    }

    public void setMonitorCode(String monitorCode) {
        this.monitorCode = monitorCode;
    }

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

    public String getMonitorName()
    {
        return monitorName;
    }
    public void setMonitorAddr(String monitorAddr)
    {
        this.monitorAddr = monitorAddr;
    }

    public String getMonitorAddr()
    {
        return monitorAddr;
    }
    public void setMonitorType(Long monitorType)
    {
        this.monitorType = monitorType;
    }

    public Long getMonitorType()
    {
        return monitorType;
    }
    public void setMonitorStatus(Long monitorStatus)
    {
        this.monitorStatus = monitorStatus;
    }

    public Long getMonitorStatus()
    {
        return monitorStatus;
    }
    public void setCollectDeviceId(String collectDeviceId)
    {
        this.collectDeviceId = collectDeviceId;
    }

    public String getCollectDeviceId()
    {
        return collectDeviceId;
    }
    public void setGrade(Long grade)
    {
        this.grade = grade;
    }

    public Long getGrade()
    {
        return grade;
    }
    public void setMeterTypeId(String meterTypeId)
    {
        this.meterTypeId = meterTypeId;
    }

    public String getMeterTypeId()
    {
        return meterTypeId;
    }
    public void setCorrectValue(Long correctValue)
    {
        this.correctValue = correctValue;
    }

    public Long getCorrectValue()
    {
        return correctValue;
    }
    public void setPt(Long pt)
    {
        this.pt = pt;
    }

    public Long getPt()
    {
        return pt;
    }
    public void setCt(Long ct)
    {
        this.ct = ct;
    }

    public Long getCt()
    {
        return ct;
    }
    public void setIsAmmeter(String isAmmeter)
    {
        this.isAmmeter = isAmmeter;
    }

    public String getIsAmmeter()
    {
        return isAmmeter;
    }
    public void setIsKeyMonitor(Long isKeyMonitor)
    {
        this.isKeyMonitor = isKeyMonitor;
    }

    public Long getIsKeyMonitor()
    {
        return isKeyMonitor;
    }
    public void setIsCircuit(Long isCircuit)
    {
        this.isCircuit = isCircuit;
    }

    public Long getIsCircuit()
    {
        return isCircuit;
    }
    public void setPublicShareType(Long publicShareType)
    {
        this.publicShareType = publicShareType;
    }

    public Long getPublicShareType()
    {
        return publicShareType;
    }
    public void setMonitorHierarchy(Long monitorHierarchy)
    {
        this.monitorHierarchy = monitorHierarchy;
    }

    public Long getMonitorHierarchy()
    {
        return monitorHierarchy;
    }

    public String getEnergyName() {
        return energyName;
    }

    public void setEnergyName(String energyName) {
        this.energyName = energyName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objId", getObjId())
            .append("monitorName", getMonitorName())
            .append("monitorAddr", getMonitorAddr())
            .append("monitorType", getMonitorType())
            .append("monitorStatus", getMonitorStatus())
            .append("collectDeviceId", getCollectDeviceId())
            .append("grade", getGrade())
            .append("meterTypeId", getMeterTypeId())
            .append("correctValue", getCorrectValue())
            .append("pt", getPt())
            .append("ct", getCt())
            .append("isAmmeter", getIsAmmeter())
            .append("isKeyMonitor", getIsKeyMonitor())
            .append("isCircuit", getIsCircuit())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("publicShareType", getPublicShareType())
            .append("monitorHierarchy", getMonitorHierarchy())
            .toString();
    }
}
