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

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * 长者护理日志记录 DO
 *
 * @author 系统管理员
 */
@TableName("elderly_nursing_log_record")
@KeySequence("elderly_nursing_log_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class NursingLogRecordDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 护理日志ID
     */
    private Long nursingLogId;
    /**
     * 护理计划项ID
     */
    private Long nursingPlanItemId;
    /**
     * 护理项目名称
     */
    private String nurseItemName;
    /**
     * 护理项目图片
     */
    private String nurseItemImage;
    /**
     * 分类ID
     */
    private Long categoryId;
    /**
     * 分类名称
     */
    private String categoryName;
    /**
     * 频次
     */
    private Integer frequency;
    /**
     * 频次单位
     */
    private String frequencyUnit;
    /**
     * 操作方式
     */
    private String operatingMode;
    /**
     * 护理时间
     */
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
//    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
    private LocalDateTime nursingTime;

    /**
     * 护理ID
     */
    private Long caregiverId;

    /**
     * 护理人
     */
    private String caregiver;
    /**
     * 护理类型
     */
    private String type;
    /**
     * 操作方式
     */
    private Integer dataSource;

}