package com.mosty.base.model.entity.jcgl;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mosty.base.model.BaseEntity;
import com.mosty.common.base.entity.log.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.multipart.MultipartFile;

import java.io.Serializable;
import java.util.Date;

@Data
@ApiModel(value = "装备类别")
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@TableName("tb_jcgl_znzb")
public class TbJcglZnzb extends BaseEntity implements Serializable, Cloneable {

    @ApiModelProperty(value = "id")
    private String id;

    @ApiModelProperty(value = "设备编码")
    @Excel(name = "设备编码", sort = 3, headerColor = IndexedColors.RED1)
    private String sbbh;

    @ApiModelProperty(value = "设备名称")
    @Excel(name = "设备名称", sort = 4, headerColor = IndexedColors.RED1)
    private String sbmc;

    @ApiModelProperty(value = "设备分类")
    @Excel(name = "设备分类", sort = 5, dictType = "D_BZ_ZBLX_LZ", headerColor = IndexedColors.RED1)
    private String scode;

    @ApiModelProperty(value = "设备类型名称")
    private String sname;

    @ApiModelProperty(value = "设备IPv4")
    private String sbIpv4;

    @ApiModelProperty(value = "设备IPv6")
    private String sbIpv6;

    @ApiModelProperty(value = "设备Mac地址")
    @Excel(name = "设备Mac地址", sort = 6)
    private String sbMac;

    @ApiModelProperty(value = "设备IMEI码")
    @Excel(name = "设备Mac地址", sort = 7)
    private String sbImei;

    @ApiModelProperty(value = "生产厂商")
    @Excel(name = "设备Mac地址", sort = 8)
    private String sccs;

    @ApiModelProperty(value = "采购日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采购日期", width = 30, dateFormat = "yyyy-MM-dd", headerColor = IndexedColors.RED1)
    private Date cgrq;

    @ApiModelProperty(value = "到期时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd", headerColor = IndexedColors.RED1)
    private Date dqsj;

    @ApiModelProperty(value = "装备图片地址")
    private String zbTp;

    @ApiModelProperty(value = "型号")
    private String xh;

    @ApiModelProperty(value = "装备图片")
    @TableField(exist = false)
    private MultipartFile zbTpFile;

    @ApiModelProperty(value = "字典D_ZDY_SBZT（1 正常  2 临期 3 到期 4故障）")
    private String zbzt;

    @ApiModelProperty(value = "字典D_BZ_SF（0 否 1是）是否提醒，当用户处理提醒之后，需要将该字段置为null")
    private String sftx;

    @ApiModelProperty(value = "所属部门id")
    private String ssbmid;

    @ApiModelProperty(value = "所属部门")
    @Excel(name = "所属部门", width = 35, sort = 2)
    private String ssbm;

    @ApiModelProperty(value = "所属部门代码")
    @Excel(name = "所属部门代码", sort = 1, headerColor = IndexedColors.RED1)
    private String ssbmdm;

    @ApiModelProperty(value = "所属县公安局")
    private String ssxgaj;

    @ApiModelProperty(value = "所属县公安局id")
    private String ssxgajid;

    @ApiModelProperty(value = "所属县公安局代码")
    private String ssxgajdm;

    @ApiModelProperty(value = "所属市公安局id")
    private String sssgajid;

    @ApiModelProperty(value = "所属市公安局")
    private String sssgaj;

    @ApiModelProperty(value = "所属市公安局代码")
    private String sssgajdm;

    @ApiModelProperty(value = "当前页")
    @TableField(exist = false)
    private Integer pageNo;

    @ApiModelProperty(value = "每页条数")
    @TableField(exist = false)
    private Integer pageSize;

    @ApiModelProperty(value = "下发id 下发装备的id")
    private String xfid;

    @ApiModelProperty(value = "是否报损 0报损 1未报损")
    private String sfbs;

    @ApiModelProperty(value = "照片id")
    private String zpid;

    @ApiModelProperty(value = "是否支持通讯 0否 1支持")
    @Excel(name = "是否支持通讯",dictType = "D_BZ_SF",sort = 6)
    private String sfxt;

    @ApiModelProperty(value = "是否专业装备")
    @Excel(name = "是否专业装备",dictType = "D_BZ_SF",sort = 6)
    private String sfzy;

    @ApiModelProperty(value = "是否融合")
    @Excel(name = "是否融合",dictType = "D_BZ_SF",sort = 6)
    private String sfrh;

    @ApiModelProperty(value = "感知接入数")
    @TableField(exist = false)
    private Integer gzjr;

    @ApiModelProperty(value = "是否包含下级")
    @TableField(exist = false)
    private String isChild;

    @ApiModelProperty(value = "图片id")
    private String tpid;

    @ApiModelProperty(value = "领用人")
    private String lyr;

}
