package cn.common.req;

import cn.common.common.validation.NotEmpty;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.io.*;

/**
 * 健康档案表信息新增Req
 * @title: HealthArchivesAddReq.java
 * @author create by Singer - Singer email:singer-coder@qq.com
 * @date 2019/4/24 11:13
 */
@Data
public class HealthArchivesAddReq implements Serializable {

    private static final long serialVersionUID = 538159628191503706L;

    /**
     * 主键ID->ID
     */
    private Long id;

    /**
     * 业务主键ID->"healthArchivesId"
     */
    private String healthArchivesId;

    /**
     * 性别 1男 2女
     */
    @NotEmpty(message = "性别 1男 2女->不可为空")
    private Integer gender;

    /**
     * 生日
     */
    @NotEmpty(message = "生日->不可为空")
    private LocalDateTime birthday;

    /**
     * 真实姓名
     */
    @NotEmpty(message = "真实姓名->不可为空")
    private String realName;

    /**
     * 民族
     */
    @NotEmpty(message = "民族->不可为空")
    private String nation;

    /**
     * 职业
     */
    @NotEmpty(message = "职业->不可为空")
    private String occupation;

    /**
     * 住址
     */
    @NotEmpty(message = "住址->不可为空")
    private String address;

    /**
     * 身份证号
     */
    @NotEmpty(message = "身份证号->不可为空")
    private String idCardNum;

    /**
     * 联系人姓名
     */
    @NotEmpty(message = "联系人姓名->不可为空")
    private String contactsName;

    /**
     * 联系人电话
     */
    @NotEmpty(message = "联系人电话->不可为空")
    private String contactsPhone;

    /**
     * 体温
     */
    @NotEmpty(message = "体温->不可为空")
    private String temperature;

    /**
     * 身高
     */
    @NotEmpty(message = "身高->不可为空")
    private String stature;

    /**
     * 呼吸频率
     */
    @NotEmpty(message = "呼吸频率->不可为空")
    private String respiratoryRate;

    /**
     * 脉率
     */
    @NotEmpty(message = "脉率->不可为空")
    private Integer pulse;

    /**
     * 体重
     */
    @NotEmpty(message = "体重->不可为空")
    private String weight;

    /**
     * 左侧血压
     */
    @NotEmpty(message = "左侧血压->不可为空")
    private Integer leftBloodPressure;

    /**
     * 左侧血压
     */
    @NotEmpty(message = "左侧血压->不可为空")
    private Integer rightBloodPressure;

    /**
     * 常住类型 01户籍 02非户籍
     */
    @NotEmpty(message = "常住类型 01户籍 02非户籍->不可为空")
    private String residenceType;

    /**
     * 关联人员
     */
    @NotEmpty(message = "关联人员->不可为空")
    private String authUserId;

    /**
     * 结束时间
     */
    @NotEmpty(message = "结束时间->不可为空")
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime endTime;

    /**
     * 开始时间
     */
    @NotEmpty(message = "开始时间->不可为空")
    @JSONField(format="yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    private LocalDateTime beginTime;

    /**
     * 网格信息
     */
    @NotEmpty(message = "网格信息->不可为空")
    private String gridUnitId;

}
