package cn.iocoder.yudao.module.system.controller.admin.biz.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

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

@Schema(description = "管理后台 - 长者用药分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class MedicationPageReqVO extends PageParam {

    @Schema(description = "长者ID", example = "10415")
    private Long elderId;

    @Schema(description = "药品名称", example = "张三")
    private String drugName;

    @Schema(description = "登记药品ID", example = "5139")
    private Long byodRegistrationDrugId;

    @Schema(description = "剂量")
    private String dosage;

    @Schema(description = "频次")
    private String frequency;

    @Schema(description = "给药时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] administrationTime;

    @Schema(description = "给药途径")
    private String administrationRoute;

    @Schema(description = "启用时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] enabledTime;

    @Schema(description = "启用医生ID", example = "2946")
    private Long enableDoctorId;

    @Schema(description = "启用医生姓名", example = "张三")
    private String enableDoctorName;

    @Schema(description = "停用时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] 
downTime;

    @Schema(description = "停用医护姓名", example = "张三")
    private String stopUsingMedicalName;

    @Schema(description = "备注")
    private String remarks;

    @Schema(description = "类型，1.长期用药 2.短期用药", example = "2")
    private Integer type;

    @Schema(description = "状态，0.正常 1.停用", example = "1")
    private Integer status;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createdTime;

    @Schema(description = "创建人")
    private String createdBy;

    @Schema(description = "修改人")
    private String updateBy;

}