package cn.iocoder.yudao.module.system.dal.dataobject.biz;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.time.LocalDate;
import java.time.LocalTime;
import java.util.*;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;

/**
 * 生命体征 DO
 *
 * @author 源码
 */
@TableName("elderly_vital_signs")
@KeySequence("elderly_vital_signs_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElderlyVitalSignsDO {

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 长者ID
     */
    private Long elderId;
    /**
     * 长者名称
     */
    private String elderName;
    /**
     * 体温
     */
    private String temperature;
    /**
     * 脉搏/分
     */
    private String pulse;
    /**
     * 呼吸/分
     */
    private String respiratoryRate;
    /**
     * 大便
     */
    private String stool;
    /**
     * 小便
     */
    private String urinate;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 测量时间
     */
    @JsonFormat(pattern = FORMAT_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalTime measuringTime;
    /**
     * 测量日期
     */
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private Date measuringDate;
    /**
     * 血压收缩压
     */
    private String systolicPressure;
    /**
     * 血压舒张压
     */
    private String diastolicPressure;
    /**
     * 血氧饱和度，单位%
     */
    private String bloodOxygenSaturation;
    /**
     * 血糖mmol/L
     */
    private String bloodSugar;
    /**
     * 身高cm
     */
    private String height;
    /**
     * 体重kg
     */
    private String weight;
    /**
     * 测量人
     */
    private String measuringName;
    /**
     * 创建时间
     */
    private Date createdTime;
    /**
     * 创建人
     */
    private String createdBy;
    /**
     * 数据来源类型，1：人工  2：设备
     */
    private Integer dataSourceType;
    /**
     * 心率/分
     */
    private String heartRate;
    /**
     * 运动步数
     */
    private Integer step;
    /**
     * 运动次数
     */
    private Integer sportTimes;
    /**
     * 尿酸值umol/L
     */
    private String uricAcidValue;
    /**
     * 胆固醇
     */
    private String cholesterol;
    /**
     * 酸碱度值
     */
    private String phValue;
    /**
     * 白细胞值
     */
    private String leukocyteValue;
    /**
     * 亚硝酸盐值
     */
    private String nitriteValue;
    /**
     * 尿胆原值
     */
    private String urobilinogenValue;
    /**
     * 蛋白质值
     */
    private String proteinValue;
    /**
     * 红细胞值
     */
    private String erythrocyteValue;
    /**
     * 酮体值
     */
    private String ketoneValue;
    /**
     * 胆红素值
     */
    private String bilirubinValue;
    /**
     * 葡萄糖值
     */
    private String glucoseValue;
    /**
     * 维生素值
     */
    private String vitaminValue;
    /**
     * 睡眠总时长(秒)
     */
    private String allSleepTime;
    /**
     * 睡眠浅睡时长(秒)
     */
    private String lowSleepTime;
    /**
     * 睡眠深睡时长(秒)
     */
    private String deepSleepTime;
    /**
     * 睡眠清醒时长(秒)
     */
    private String wakeTime;
    /**
     * 睡眠快速眼动时长(秒)
     */
    private String remSleepTime;
    /**
     * 睡眠日期
     */
    private String sleepDate;
    /**
     * 设备序列号
     */
    private String snCode;
    /**
     * 设备名称
     */
    private String deviceName;


    private Long tenantId;


    @TableField(exist = false)
    private String bedName;

    @TableField(exist = false)
    private Integer elderSex;

    @TableField(exist = false)
    private String tenantName;

}