package com.zcxk.charge.api.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zcxk.core.common.pojo.ProgramItem;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * @description
 * @author  wangli
 * @data 2020-11-16 11:47
 */
@Data
@ApiModel("设备信息")
public class DeviceVo  {

    private static final long serialVersionUID = 7372833323037926558L;

    @ApiModelProperty(value = "主键id")
    private Long id;
    @ApiModelProperty(value = "租户标识")
    private String tenantId;

    @ApiModelProperty(value = "设备名称")
    private String deviceName;

    @ApiModelProperty(value = "设备编号")
    private String deviceCode;
    @ApiModelProperty(value = "设备类型")
    private Integer deviceTypeId;
    @ApiModelProperty(value = "所属公司")
    private Integer companyOrgId;
    @ApiModelProperty(value = "所属部门")
    private Integer deptOrgId;
    @ApiModelProperty(value = "一级所属场景")
    private Integer parentSceneId;
    @ApiModelProperty(value = "所属场景")
    private Integer sceneId;
    @ApiModelProperty(value = "经度")
    private BigDecimal pointX;
    @ApiModelProperty(value = "纬度")
    private BigDecimal pointY;
    @ApiModelProperty(value = "设备状态")
    private Integer enableState;
    @ApiModelProperty(value = "最后上报时间")
    private Date lastUpdateTime;
    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "数据删除标识")
    private Integer status;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间",example = "2020-12-12 12:12:12")
    private Date dateCreate;
    @ApiModelProperty(value = "创建人")
    private String createBy;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")
    private Date dateUpdate;
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    @ApiModelProperty("设备编号或名称")
    private String condition;
    @ApiModelProperty("场景名称")
    private String sceneName;
    @ApiModelProperty("厂商名称")
    private String manufacturerName;
    @ApiModelProperty("厂商id")
    private String manufacturerId;
    @ApiModelProperty("设备类型")
    private String deviceType;
    @ApiModelProperty("设备型号")
    private String deviceMode;
    @ApiModelProperty(value = "所属公司")
    private String companyOrgName;
    @ApiModelProperty(value = "所属部门")
    private String deptOrgName;
    @ApiModelProperty(value = "查询类型")
    @JsonIgnore
    private Integer searchType;

    @ApiModelProperty(value = "场景ids" ,hidden = true )
    private List<Long> sceneIds;

    @ApiModelProperty(value ="权限",hidden = true)
    @JsonIgnore
    private List<ProgramItem> programItems;

    @ApiModelProperty(value="用户权限类型",hidden = true)
    @JsonIgnore
    private Integer permissonType;

    /** 用户类型 */
    @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
    @JsonIgnore
    private String userType;

    /** 用户类型 */
    @ApiModelProperty(value = "用户类型ID",hidden = true)
    @JsonIgnore
    private Integer userId;

    @ApiModelProperty(value = "是否已经勾选")
    private Integer isCheck;

}



