package cn.common.req;

import cn.common.common.validation.NotEmpty;
import java.time.LocalDateTime;

import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.*;

/**
* 病历信息实体
* @title: MedicalHistoryUpdateReq.java
* @author create by Singer - Singer email:singer-coder@qq.com
* @date 2019/4/24 11:13
*/
@Data
public class MedicalHistoryUpdateReq implements Serializable {

    private static final long serialVersionUID = -5774126762369049334L;

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

    /**
     * 业务主键ID->"medicalHistoryId"
     */
    @NotEmpty(message = "业务主键ID->不可为空")
    private String medicalHistoryId;


    /**
     * 用户主键ID
     */
     @NotEmpty(message = "用户主键ID->不可为空")
     private String authUserId;

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

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

    /**
     * 年龄
     */
     @NotEmpty(message = "年龄->不可为空")
     private Integer age;

    /**
     * 婚姻
     */
     @NotEmpty(message = "婚姻->不可为空")
     private Integer marriage;

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

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

    /**
     * 出生地
     */
     @NotEmpty(message = "出生地->不可为空")
     private String birthPlace;

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

    /**
     * 工作单位
     */
     @NotEmpty(message = "工作单位->不可为空")
     private String workUnit;

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

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

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

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

    /**
     * 过敏状况
     */
     @NotEmpty(message = "过敏状况->不可为空")
     private String allergicCondition;

    /**
     * 病史叙述
     */
     @NotEmpty(message = "病史叙述->不可为空")
     private String historyNarrative;

}
