package com.zcxk.entity;

import com.baomidou.mybatisplus.annotation.*;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.zcxk.model.ProgramItem;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;

/**
 * sms_thingyear_setting
 * @author: WYY
 * @date 2020-12-28 15:18
 */
@Data
@TableName("sms_thingyear_setting")
public class ThingyearSettingEntity {

    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "主键")
	@TableId(type = IdType.AUTO)
    private Long id;

    /** 租户标识 */
    @ApiModelProperty(value = "租户标识")
    private String tenantId;

    /** 所属公司 */
    @ApiModelProperty(value = "所属公司")
    private Long companyOrgId;

    /** 所属部门 */
    @ApiModelProperty(value = "所属部门")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private Long deptOrgId;

    /** 所属公司 */
    @ApiModelProperty(value = "所属公司")
    @TableField(exist = false)
    private String companyOrgName;

    /** 所属部门 */
    @ApiModelProperty(value = "所属部门")
    @TableField(exist = false)
    private String deptOrgName;

    /** 物品类型 */
    @ApiModelProperty(value = "物品类型")
    private Integer thingType;

    /** 物品年代类型 */
    @ApiModelProperty(value = "物品年代类型")
    private Integer thingYearType;


    /** 物品个数 */
    @ApiModelProperty(value = "物品个数")
    private Integer thingCount;

    /**
     * 数据删除标识
     */
    @ApiModelProperty(value = "数据删除标识")
    @TableLogic
    @JsonIgnore
    private Integer status;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @JsonIgnore
    private String createBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "创建时间")
    @JsonIgnore
    private Date dateCreate;
    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    @JsonIgnore
    private String updateBy;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "更新时间")
    private Date dateUpdate;

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

    @ApiModelProperty(value="用户权限类型")
    @TableField(exist = false)
    @JsonIgnore
    private Integer permissonType;

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

}
