package com.ruoyi.web.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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

/**
 * 人员信息 视图
 *
 * @TableName person_info
 */
@Data
@ApiModel(value = "PersonInfoVO", description = "人员信息视图")
public class PersonInfoVO implements Serializable {
    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private Integer id;

    /**
     * 用户ID(关联SysUser表)
     */
    @ApiModelProperty(value = "系统用户ID")
    private Integer userId;

    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名")
    private String realname;
    private int userType;
    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    private String idCard;

    /**
     * 民族
     */
    @ApiModelProperty(value = "民族")
    private String ethnic;

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

    /**
     * 性别: 1-男, 2-女, 0-未知
     */
    @ApiModelProperty(value = "性别: 1-男, 2-女, 0-未知")
    private Integer gender;

    /**
     * 出生日期
     */
    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 人口类别：0-本村户籍 ，1-非本村户籍
     */
    @ApiModelProperty(value = "人口类别：0-本村户籍 ，1-非本村户籍")
    private Integer populationCategory;

    /**
     * 电话
     */
    @ApiModelProperty(value = "电话")
    private String phone;

    /**
     * 人口标签(标签 json 列表)
     */
    @ApiModelProperty(value = "人口标签(标签 json 列表)")
    private String populationTags;

    /**
     * 职业
     */
    @ApiModelProperty(value = "职业")
    private String occupation;

    /**
     * 所属网格
     */
    @ApiModelProperty(value = "所属网格")
    private String grid;

    /**
     * 文化程度
     */
    @ApiModelProperty(value = "文化程度")
    private String educationLevel;

    /**
     * 婚姻状况: 1-未婚, 2-已婚, 3-丧偶, 4-离婚
     */
    @ApiModelProperty(value = "婚姻状况: 1-未婚, 2-已婚, 3-丧偶, 4-离婚")
    private Integer maritalStatus;

    /**
     * 政治面貌
     */
    @ApiModelProperty(value = "政治面貌")
    private String politicalStatus;

    /**
     * 宗教信仰
     */
    @ApiModelProperty(value = "宗教信仰")
    private String religion;

    /**
     * 照片URL
     */
    @ApiModelProperty(value = "照片URL")
    private String photoUrl;

    /**
     * 户主姓名
     */
    @ApiModelProperty(value = "户主姓名")
    private String houseHoldHead;

    /**
     * 户籍关系
     */
    @ApiModelProperty(value = "户籍关系")
    private String householdRelation;

    /**
     * 房屋编号
     */
    @ApiModelProperty(value = "房屋编号")
    private String houseCode;

    /**
     * 门牌号
     */
    @ApiModelProperty(value = "门牌号")
    private String doorplateNumber;

    /**
     * 房主姓名
     */
    @ApiModelProperty(value = "房主姓名")
    private String houseOwnerName;

    /**
     * 特殊身份
     */
    @ApiModelProperty(value = "特殊身份")
    private String specialIdentity;

    /**
     * 负责人类型
     */
    @ApiModelProperty(value = "负责人类型")
    private List<Integer> type;

    /**
     * 是否是负责人
     */
    @ApiModelProperty(value = "是否是负责人")
    private boolean isLeader;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    private static final long serialVersionUID = 1L;
}