|
|
@@ -0,0 +1,97 @@
|
|
|
+package cn.iocoder.yudao.module.system.controller.admin.biz.vo.nursingrecord;
|
|
|
+
|
|
|
+import com.fasterxml.jackson.annotation.JsonFormat;
|
|
|
+import io.swagger.v3.oas.annotations.media.Schema;
|
|
|
+import lombok.Data;
|
|
|
+import org.springframework.format.annotation.DateTimeFormat;
|
|
|
+
|
|
|
+import javax.validation.constraints.DecimalMax;
|
|
|
+import javax.validation.constraints.DecimalMin;
|
|
|
+import javax.validation.constraints.Digits;
|
|
|
+import javax.validation.constraints.Max;
|
|
|
+import javax.validation.constraints.Min;
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
+import javax.validation.constraints.NotNull;
|
|
|
+import javax.validation.constraints.Size;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.time.LocalDate;
|
|
|
+
|
|
|
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
|
|
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
|
|
|
+
|
|
|
+@Schema(description = "管理后台 - 护理记录单新增/修改 Request VO")
|
|
|
+@Data
|
|
|
+public class NursingRecordSaveReqVO {
|
|
|
+
|
|
|
+ @Schema(description = "id(修改时必传)", example = "1")
|
|
|
+ private Long id;
|
|
|
+
|
|
|
+ @Schema(description = "机构ID", example = "1")
|
|
|
+ private Long tenantId;
|
|
|
+
|
|
|
+ @Schema(description = "长者ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1001")
|
|
|
+ @NotNull(message = "长者ID不能为空")
|
|
|
+ private Long elderId;
|
|
|
+
|
|
|
+ @Schema(description = "长者姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张桂英")
|
|
|
+ @NotBlank(message = "长者姓名不能为空")
|
|
|
+ @Size(max = 64, message = "长者姓名最长 64 字")
|
|
|
+ private String elderName;
|
|
|
+
|
|
|
+ @Schema(description = "性别 1-男 2-女", example = "2")
|
|
|
+ private Integer elderSex;
|
|
|
+
|
|
|
+ @Schema(description = "楼层房号床号", example = "3栋-2楼-201-1床")
|
|
|
+ @Size(max = 128, message = "楼层房号床号最长 128 字")
|
|
|
+ private String bedInfo;
|
|
|
+
|
|
|
+ @Schema(description = "记录日期", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026-09-17")
|
|
|
+ @NotNull(message = "记录日期不能为空")
|
|
|
+ @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
|
|
|
+ @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
|
|
|
+ private LocalDate recordDate;
|
|
|
+
|
|
|
+ @Schema(description = "记录时间 HH:mm", requiredMode = Schema.RequiredMode.REQUIRED, example = "08:00")
|
|
|
+ @NotBlank(message = "记录时间不能为空")
|
|
|
+ @Size(max = 8, message = "记录时间最长 8 字")
|
|
|
+ private String recordTime;
|
|
|
+
|
|
|
+ @Schema(description = "体温 ℃", example = "36.5")
|
|
|
+ @DecimalMin(value = "20", message = "体温不能小于 20")
|
|
|
+ @DecimalMax(value = "45", message = "体温不能大于 45")
|
|
|
+ @Digits(integer = 2, fraction = 1, message = "体温最多 1 位小数")
|
|
|
+ private BigDecimal temperature;
|
|
|
+
|
|
|
+ @Schema(description = "血氧 Spo2 %", example = "97")
|
|
|
+ @Min(value = 0, message = "血氧不能小于 0")
|
|
|
+ @Max(value = 100, message = "血氧不能大于 100")
|
|
|
+ private Integer bloodOxygen;
|
|
|
+
|
|
|
+ @Schema(description = "脉搏 次/分", example = "76")
|
|
|
+ @Min(value = 0, message = "脉搏不能小于 0")
|
|
|
+ @Max(value = 300, message = "脉搏不能大于 300")
|
|
|
+ private Integer pulse;
|
|
|
+
|
|
|
+ @Schema(description = "呼吸 次/分", example = "18")
|
|
|
+ @Min(value = 0, message = "呼吸不能小于 0")
|
|
|
+ @Max(value = 100, message = "呼吸不能大于 100")
|
|
|
+ private Integer respiration;
|
|
|
+
|
|
|
+ @Schema(description = "收缩压 mmHg", example = "128")
|
|
|
+ @Min(value = 0, message = "收缩压不能小于 0")
|
|
|
+ @Max(value = 300, message = "收缩压不能大于 300")
|
|
|
+ private Integer systolicPressure;
|
|
|
+
|
|
|
+ @Schema(description = "舒张压 mmHg", example = "78")
|
|
|
+ @Min(value = 0, message = "舒张压不能小于 0")
|
|
|
+ @Max(value = 300, message = "舒张压不能大于 300")
|
|
|
+ private Integer diastolicPressure;
|
|
|
+
|
|
|
+ @Schema(description = "病情观察及护理", example = "神志清楚,精神尚可,饮食正常。")
|
|
|
+ @Size(max = 500, message = "病情观察及护理最长 500 字")
|
|
|
+ private String observation;
|
|
|
+
|
|
|
+ @Schema(description = "签名(护理人员姓名)", example = "王护士")
|
|
|
+ @Size(max = 20, message = "签名最长 20 字")
|
|
|
+ private String signer;
|
|
|
+}
|