package com.yanzhu.manage.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yanzhu.common.core.annotation.Excel;
import com.yanzhu.common.core.web.domain.BaseEntity;
/**
 * 宇泛的设备信息对象 attendance_ubi_device
 * 
 * @author yanzhu
 * @date 2024-10-08
 */
public class AttendanceUbiDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 公司主键 */
    @Excel(name = "公司主键")
    private Long comId;

    /** 分包单位 */
    @Excel(name = "分包单位")
    private Long projectId;

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

    /** 设备标签 */
    @Excel(name = "设备标签")
    private String tag;

    /** 场景 Guid */
    @Excel(name = "场景 Guid")
    private String sceneGuid;

    /** 设备来源,字典ubi_device_source */
    @Excel(name = "设备来源,字典ubi_device_source")
    private String source;

    /** 设备序列号 */
    @Excel(name = "设备序列号")
    private String deviceNo;

    /** 扩展字段（uface 设备（recType 设备的识别方式, 默认为 1） */
    @Excel(name = "扩展字段", readConverterExp = "u=face,设=备（recType,设=备的识别方式,,默=认为,1=")
    private String addition;

    /** 是否绑定默认场景（场景 Guid 为空此字段生效） */
    @Excel(name = "是否绑定默认场景", readConverterExp = "场=景,G=uid,为=空此字段生效")
    private Integer bindDefaultScene;

    /** 是否清空设备数据，默认为false */
    @Excel(name = "是否清空设备数据，默认为false")
    private Integer forceEmptyDevice;

    /** 当forceEmptyDevice为true，传入设备密码 */
    @Excel(name = "当forceEmptyDevice为true，传入设备密码")
    private String password;

    /** 设备模式 */
    @Excel(name = "设备模式")
    private String deviceModel;

    /** 设备状态 */
    @Excel(name = "设备状态")
    private Long deviceState;

    /** 比对模式,1:本地识别 2:云端识别 */
    @Excel(name = "比对模式,1:本地识别 2:云端识别")
    private Long recType;

    /** 在线状态 */
    @Excel(name = "在线状态")
    private Long onlineState;

    /** 版本号 */
    @Excel(name = "版本号")
    private String versionNo;

    /** 最后激活时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后激活时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastActiveTime;

    /** 是否已注册 */
    @Excel(name = "是否已注册")
    private Long hasRegister;

    /** 状态 */
    @Excel(name = "状态")
    private Long state;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long isDel;

    private String compName;
    private String projectName;

    private int direction;
    private String channel;

    public int getDirection() {
        return direction;
    }

    public void setDirection(int direction) {
        this.direction = direction;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getCompName() {
        return compName;
    }

    public void setCompName(String compName) {
        this.compName = compName;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public String getSouceName() {
        return souceName;
    }

    public void setSouceName(String souceName) {
        this.souceName = souceName;
    }

    private String souceName;

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

    public Long getId() 
    {
        return id;
    }
    public void setComId(Long comId) 
    {
        this.comId = comId;
    }

    public Long getComId() 
    {
        return comId;
    }
    public void setProjectId(Long projectId) 
    {
        this.projectId = projectId;
    }

    public Long getProjectId() 
    {
        return projectId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setTag(String tag) 
    {
        this.tag = tag;
    }

    public String getTag() 
    {
        return tag;
    }
    public void setSceneGuid(String sceneGuid) 
    {
        this.sceneGuid = sceneGuid;
    }

    public String getSceneGuid() 
    {
        return sceneGuid;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setDeviceNo(String deviceNo) 
    {
        this.deviceNo = deviceNo;
    }

    public String getDeviceNo() 
    {
        return deviceNo;
    }
    public void setAddition(String addition) 
    {
        this.addition = addition;
    }

    public String getAddition() 
    {
        return addition;
    }
    public void setBindDefaultScene(Integer bindDefaultScene) 
    {
        this.bindDefaultScene = bindDefaultScene;
    }

    public Integer getBindDefaultScene() 
    {
        return bindDefaultScene;
    }
    public void setForceEmptyDevice(Integer forceEmptyDevice) 
    {
        this.forceEmptyDevice = forceEmptyDevice;
    }

    public Integer getForceEmptyDevice() 
    {
        return forceEmptyDevice;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

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

    public String getDeviceModel() 
    {
        return deviceModel;
    }
    public void setDeviceState(Long deviceState) 
    {
        this.deviceState = deviceState;
    }

    public Long getDeviceState() 
    {
        return deviceState;
    }
    public void setRecType(Long recType) 
    {
        this.recType = recType;
    }

    public Long getRecType() 
    {
        return recType;
    }
    public void setOnlineState(Long onlineState) 
    {
        this.onlineState = onlineState;
    }

    public Long getOnlineState() 
    {
        return onlineState;
    }
    public void setVersionNo(String versionNo) 
    {
        this.versionNo = versionNo;
    }

    public String getVersionNo() 
    {
        return versionNo;
    }
    public void setLastActiveTime(Date lastActiveTime) 
    {
        this.lastActiveTime = lastActiveTime;
    }

    public Date getLastActiveTime() 
    {
        return lastActiveTime;
    }
    public void setHasRegister(Long hasRegister) 
    {
        this.hasRegister = hasRegister;
    }

    public Long getHasRegister() 
    {
        return hasRegister;
    }
    public void setState(Long state) 
    {
        this.state = state;
    }

    public Long getState() 
    {
        return state;
    }
    public void setIsDel(Long isDel) 
    {
        this.isDel = isDel;
    }

    public Long getIsDel() 
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("comId", getComId())
            .append("projectId", getProjectId())
            .append("name", getName())
            .append("tag", getTag())
            .append("sceneGuid", getSceneGuid())
            .append("source", getSource())
            .append("deviceNo", getDeviceNo())
            .append("addition", getAddition())
            .append("bindDefaultScene", getBindDefaultScene())
            .append("forceEmptyDevice", getForceEmptyDevice())
            .append("password", getPassword())
            .append("deviceModel", getDeviceModel())
            .append("deviceState", getDeviceState())
            .append("recType", getRecType())
            .append("onlineState", getOnlineState())
            .append("versionNo", getVersionNo())
            .append("lastActiveTime", getLastActiveTime())
            .append("hasRegister", getHasRegister())
            .append("state", getState())
            .append("remark", getRemark())
            .append("isDel", getIsDel())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
