package com.yeejoin.amos.boot.module.tcm.api.dto;

import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 用户信息
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "TzsUseInfo", description = "用户信息")
public class TzsUserInfoDto extends BaseDto {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "证件类型")
    private String certificateType;

    @ApiModelProperty(value = "证件编号")
    private String certificateNum;

    @ApiModelProperty(value = "性别")
    private String gender;

    @ApiModelProperty(value = "岗位")
    private String post;

    @ApiModelProperty("新岗位（后期post迁移数组至此）")
    private String newPost;

    @ApiModelProperty(value = "岗位名称")
    private String postName;

    @ApiModelProperty(value = "联系电话")
    private String phone;

    @ApiModelProperty(value = "出生日期")
    private Date birthday;

    @ApiModelProperty(value = "学历")
    private String education;

    @ApiModelProperty(value = "专业")
    private String speciality;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "住址")
    private String address;

    @ApiModelProperty(value = "证件照片")
    private String identification;

    @ApiModelProperty(value = "头像")
    private String profile;

    @ApiModelProperty(value = "账户名")
    private String amosUserName;

    @ApiModelProperty(value = "单位名称")
    private String unitName;

    @ApiModelProperty(value = "单位编码")
    private String unitCode;

    @ApiModelProperty(value = "平台账号id")
    private String amosUserId;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "平台账号锁定状态")
    private String lockStatus;

    @ApiModelProperty(value = "设备类型")
    private String equipType;

    @ApiModelProperty(value = "设备绑定状态")
    private String state;

    @ApiModelProperty(value = "任命文件")
    private String appointDoc;

    @ApiModelProperty(value = "执业注册")
    private String practiceRegistration;

    @ApiModelProperty(value = "劳动合同")
    private String laborContract;

    @ApiModelProperty(value = "授权书")
    private String powerAttorney;

    @ApiModelProperty(value = "养老保险证明")
    private String pensionInsurance;

    @TableField(value = "检验人员证书")
    private String inspectorCert;

    @ApiModelProperty(value = "人员内部编码")
    private String innerPersonCode;

    @ApiModelProperty(value = "其他附件")
    private String otherAccessories;

    @ApiModelProperty(value = "验检验专用-资质数据json")
    private String permissionData;

    @ApiModelProperty(value = "检验资质json, 固定前缀permissionData,入库时数据存放到permissionData")
    private JSONArray permissionData66151;

    @ApiModelProperty(value = "检测资质json,固定前缀permissionData,入库时数据存放到permissionData")
    private JSONArray permissionData66152;

    @ApiModelProperty(value = "作业人员资质信息json,固定前缀permissionData,入库时数据存放到permissionData")
    private JSONArray permissionData6552;

    @ApiModelProperty(value = "职称")
    private String jobTitle;

    @ApiModelProperty(value = "菜单类型，具体见TzsUserInfoServiceImpl中的menuMap")
    private String menuType;

    // 需求调整 一个菜单整合所有人员
    // @ApiModelProperty(value = "菜单类型下的所有人员类型")
    // private List<String> menuTypeUnderPost;

    @ApiModelProperty("二维码状态0异常1正常")
    private String qrCodeState;

    @ApiModelProperty("岗位子类型（多个逗号分割）")
    private String subPost;

    @ApiModelProperty("岗位子类型名称（多个逗号分割）")
    private String subPostName;

    @ApiModelProperty(value = "人员转出标识（1：已转出，0：未转出，空值默认为未转出0）")
    protected String transferOut;

    @ApiModelProperty(value = "人员转出时间")
    protected Date transferOutTime;

    @ApiModelProperty(value = "更新时间")
    protected Date recDate;

    @ApiModelProperty(value = "创建时间")
    protected Date createDate;


    @ApiModelProperty(value = "单位名称")
    private String unitType;

    @ApiModelProperty(value = "人员所在企业类型：监管/行政审批局supervision;企业:company")
    protected String companyType;

}
