package com.inspect.metadata.prodevmnt.domain.vo;

import com.inspect.base.core.annotation.Excel;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

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

public class BaseDataAreaProDeviceVO implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long areaId;
    private Long parentId;
    private Long areaParentId;
    private String areaIdString;
    private String parentIdString;
    private String areaFlag;
    private String areaName;
    private String orderNum;
    private String areaType;
    private String status;
    private String delFlag;
    private String parentName;
    private Long deviceId;
    private Long deviceParentId;
    @Excel(
            name = "设备编号"
    )
    private String deviceCode;
    @Excel(
            name = "设备名称"
    )
    private String deviceName;
    @Excel(
            name = "生产厂家"
    )
    private String manufacturer;
    @Excel(
            name = "设备类型ID"
    )
    private Long devicetypeId;
    @Excel(
            name = "设备类型名称"
    )
    private String devicetypeName;
    @Excel(
            name = "电力主设备标识-Yes:是；No：否"
    )
    private String powerMainEquFlag;
    @Excel(
            name = "设备型号"
    )
    private String deviceModel;
    @Excel(
            name = "实物ID"
    )
    private String phyassetId;
    @Excel(
            name = "场站编号",
            readConverterExp = "当=前实际站号编址"
    )
    private String stationNo;
    @Excel(
            name = "监控索引号：监控系统测点 ID，可用于数据的唯一标识"
    )
    private String monitorIndexNo;
    @Excel(
            name = "相数,0:无相；1：单项；3：三项"
    )
    private String phaseNum;
    @Excel(
            name = "相别，1: = A相 2: = B相 3: = C相，多个相位，采用“,”分隔"
    )
    private String phase;
    @Excel(
            name = "设备X坐标"
    )
    private String positionX;
    @Excel(
            name = "设备Y坐标"
    )
    private String positionY;
    @Excel(
            name = "设备Z坐标"
    )
    private String positionZ;
    @Excel(
            name = "设备长度"
    )
    private String deviceLength;
    @Excel(
            name = "设备宽度"
    )
    private String deviceWidth;
    @Excel(
            name = "设备高度"
    )
    private String deviceHigh;
    private List<BaseDataAreaProDeviceVO> children = new ArrayList();

    public BaseDataAreaProDeviceVO() {
    }

    public BaseDataAreaProDeviceVO(BaseDataAreaProDeviceVO baseDataAreaProDeviceVO) {
    }

    public Long getAreaId() {
        return this.areaId;
    }

    public void setAreaId(Long areaId) {
        this.areaId = areaId;
    }

    public Long getParentId() {
        return this.parentId;
    }

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

    public String getAreaFlag() {
        return this.areaFlag;
    }

    public void setAreaFlag(String areaFlag) {
        this.areaFlag = areaFlag;
    }

    @NotBlank(
            message = "部门名称不能为空"
    )
    @Size(
            min = 0,
            max = 30,
            message = "部门名称长度不能超过30个字符"
    )
    public String getAreaName() {
        return this.areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    @NotBlank(
            message = "显示顺序不能为空"
    )
    public String getOrderNum() {
        return this.orderNum;
    }

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

    public String getAreaType() {
        return this.areaType;
    }

    public void setAreaType(String areaType) {
        this.areaType = areaType;
    }

    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getDelFlag() {
        return this.delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getParentName() {
        return this.parentName;
    }

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

    public List<BaseDataAreaProDeviceVO> getChildren() {
        return this.children;
    }

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

    public Long getDeviceId() {
        return this.deviceId;
    }

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public String getDeviceCode() {
        return this.deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceName() {
        return this.deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getManufacturer() {
        return this.manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public Long getDevicetypeId() {
        return this.devicetypeId;
    }

    public void setDevicetypeId(Long devicetypeId) {
        this.devicetypeId = devicetypeId;
    }

    public String getDevicetypeName() {
        return this.devicetypeName;
    }

    public void setDevicetypeName(String devicetypeName) {
        this.devicetypeName = devicetypeName;
    }

    public String getPowerMainEquFlag() {
        return this.powerMainEquFlag;
    }

    public void setPowerMainEquFlag(String powerMainEquFlag) {
        this.powerMainEquFlag = powerMainEquFlag;
    }

    public String getDeviceModel() {
        return this.deviceModel;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public String getPhyassetId() {
        return this.phyassetId;
    }

    public void setPhyassetId(String phyassetId) {
        this.phyassetId = phyassetId;
    }

    public String getStationNo() {
        return this.stationNo;
    }

    public void setStationNo(String stationNo) {
        this.stationNo = stationNo;
    }

    public String getMonitorIndexNo() {
        return this.monitorIndexNo;
    }

    public void setMonitorIndexNo(String monitorIndexNo) {
        this.monitorIndexNo = monitorIndexNo;
    }

    public String getPhaseNum() {
        return this.phaseNum;
    }

    public void setPhaseNum(String phaseNum) {
        this.phaseNum = phaseNum;
    }

    public String getPhase() {
        return this.phase;
    }

    public void setPhase(String phase) {
        this.phase = phase;
    }

    public String getAreaIdString() {
        return this.areaIdString;
    }

    public void setAreaIdString(String areaIdString) {
        this.areaIdString = areaIdString;
    }

    public String getParentIdString() {
        return this.parentIdString;
    }

    public void setParentIdString(String parentIdString) {
        this.parentIdString = parentIdString;
    }

    public String getPositionX() {
        return this.positionX;
    }

    public void setPositionX(String positionX) {
        this.positionX = positionX;
    }

    public String getPositionY() {
        return this.positionY;
    }

    public void setPositionY(String positionY) {
        this.positionY = positionY;
    }

    public String getPositionZ() {
        return this.positionZ;
    }

    public void setPositionZ(String positionZ) {
        this.positionZ = positionZ;
    }

    public String getDeviceLength() {
        return this.deviceLength;
    }

    public void setDeviceLength(String deviceLength) {
        this.deviceLength = deviceLength;
    }

    public String getDeviceWidth() {
        return this.deviceWidth;
    }

    public void setDeviceWidth(String deviceWidth) {
        this.deviceWidth = deviceWidth;
    }

    public String getDeviceHigh() {
        return this.deviceHigh;
    }

    public void setDeviceHigh(String deviceHigh) {
        this.deviceHigh = deviceHigh;
    }

    public Long getAreaParentId() {
        return this.areaParentId;
    }

    public void setAreaParentId(Long areaParentId) {
        this.areaParentId = areaParentId;
    }

    public Long getDeviceParentId() {
        return this.deviceParentId;
    }

    public void setDeviceParentId(Long deviceParentId) {
        this.deviceParentId = deviceParentId;
    }

    public String toString() {
        return (new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)).append("deptId", this.getAreaId()).append("parentId", this.getParentId()).append("areaName", this.getAreaName()).append("orderNum", this.getOrderNum()).append("areaType", this.getAreaType()).append("status", this.getStatus()).append("delFlag", this.getDelFlag()).toString();
    }
}
