package cn.common.req;

import cn.common.common.validation.NotEmpty;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

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

/**
* 病历信息数据导入请求封装类
* @title: MedicalHistoryImportReq.java
* @author create by Singer - Singer email:singer-coder@qq.com
* @date
*/
@Data
public class MedicalHistoryImportReq implements Serializable {

    private static final long serialVersionUID = 1903979855396028962L;

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

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

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

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

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

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

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

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

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

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

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

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

    /**
     * 入院时间
     */
    @NotEmpty(message = "入院时间->不可为空")
    @ExcelProperty(value = "入院时间")
    private LocalDateTime admittedTime;

    /**
     * 记录时间
     */
    @NotEmpty(message = "记录时间->不可为空")
    @ExcelProperty(value = "记录时间")
    private LocalDateTime recordTime;

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

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

}
